李书馨 赵学斌 陈 君 李伟夫 陈 洪 陈艳红 崔延美 袁天娇
1(中国科学院国家空间科学中心 北京 100190)
2(中国科学院大学 北京 100049)
3(中国科学院空间环境态势感知技术重点实验室 北京 100190)
4(华中农业大学理学院 武汉 430070)
太阳黑子是太阳光球层由炽热气体形成的带有较强磁场的区域,表现为在太阳表面温度更低,呈现黑色的区域,一般以黑子群的形式出现。一个发展成熟的黑子主要由中心较暗的黑色本影和边缘较浅的半影两部分组成。单个太阳黑子的寿命为几小时到几个星期,黑子群的寿命一般可达几个月,黑子群的演化具有时间上的缓变性,即同一个黑子群的磁类型在一定时间内不会发生改变。太阳黑子既是活动区的核心,也是活动区最明显的标志,一般将黑子经常出现的区域界定为太阳活动区。一般而言,黑子群出现的区域往往很大可能会出现耀斑、日冕物质抛射等太阳爆发性活动,这些活动严重时对地球通信、航天系统的正常运行等产生影响。总体而言,太阳黑子不仅代表一定时期内太阳活动的总体水平,还为揭示其他太阳活动提供了线索。
根据形态分布和磁场极性等特征对太阳黑子群进行分类,是太阳爆发预报研究的重要手段,目前对于太阳黑子群的分类,较为主流的有Wilson 山磁分类,Zurich 分类和McIntosh 分类[1]。
目前对于黑子群的分类方法主要依托人工识别,还没有国际公认的自动识别方法。近年来,机器学习特别是深度学习在图像识别领域取得了巨大的成功,并且空间物理的监测数据大量增加,使得发展太阳黑子磁类型自动识别方法成为可能。机器学习可以利用海量数据,发现数据间的内隐关系,得到预期的结果。深度学习是机器学习的分支之一,可以看为是神经网络的进阶版。其中卷积神经网络(Convolutional Neural Networks,CNN)是图像识别方向最为流行的深度学习方法之一,通过此方法可以对图像低层和高层的特征进行提取,识别出具有类似特征的新图片。Padinhatteeri 等[2]提出了一种“太阳活动区监视系统–磁δ 探测器”(SMART-DF)方法,该方法可以对δ黑子实现自动识别,并将其标记到可能的耀斑区域;Fu 等[3]基于R-FCN 的方法,Li 等[4]基于R-FCN 的方法和基于卷积神经网络对McIntosh 黑子实现了自动识别与分类。Fang 等[5]构建了三层CNN 网络实现了对Wilson 山磁类黑子的自动识别,但是该研究工作并未考虑黑子群演化的缓变性,在选取测试集时,通过随机采样的方法选择,即在测试集中,会出现很多与训练集极为相似的样本,使得模型的误准率较高。为了更好提升太阳黑子Wilson 山磁分类自动识别的准确性,本文尝试了多种深度学习方法并进行评估,得到更优的Wilson 山磁分类自动识别深度网络。
Wilson 山磁分类法是由美国加利福尼亚州Wilson 天文台于1919 年提出的根据黑子磁场的不同极性进行分类的一种方法[6]。此分类方法以双极群黑子为基本类型(β型),从而衍生出不同类别的黑子群,典型的代表为三种类型,分别为单极群(α型)、双极型(β型)和多极型(γ型)。多极型后来又衍生了多种类型,分别为β-γ,δ,β-δ,β-γ-δ,γ-δ,每种极型的释义见表1。
表1 Wilson 黑子磁类型分类Table 1 Mount Wilson sunspots classification
Fang 等[5]基于美国海洋局空间天气预报中心(NOAA/SWPC)每天发布的太阳活动区概况文件,统计了从2010 年5 月至2017 年5 月的1592 个活动区的黑子类型,共梳理出11306 个文件,α类型、β类型和其他类型黑子出现概率分别为31.6%,54.2%,10.1%。此外,Sammis 等[7]指出,磁类型更复杂的活动区黑子有更大的可能会爆发太阳活动。在本文中,对所识别的黑子类型Wilson 山磁分类做了简化,简单分为三类,分别记为单极型(α型)、双极型(β型)和其他极型(β-x型),如图1 所示。
图1 (a)为α 类型的太阳黑子群磁场观测图像,(b)为β 类型的太阳黑子群磁场观测图像,(c)和(d)为β-x 类型太阳黑子群磁场观测图像,(e)为(a)相应的α 类型太阳黑子群白光观测图像,(f)为(b)相应的β 类型太阳黑子群白光观测图像,(g)和(h)为(c)和(d)相应的β-x 类型太阳黑子群白光观测图像Fig.1 (a) Magnetogram of sunspots group of α, (b) magnetogram of sunspots group of β, (c)(d) magnetograms of sunspots group of β-x, (e) the image of sunspots group of α corresponding to (a),(f) the image of sunspots group of β corresponding to (b),(g)(h) the images of sunspots group of β-x corresponding to (c)(d)
本文所使用的数据来自太阳动力学观测台(Solar Dynamics Observatory,SDO)卫星的日震及磁场成像仪(Helioseismic and Magnetic Imager,HMI)观测到的SHARP(SpaceWeather HMI Active Region Patches)磁图和白光图数据集。SHARP 数据的时间精度为12 min,每条数据可获得所有太阳活动区的局部图片,活动区有独立的编号。从白光图像可清晰看出黑子的本影和半影部分以及黑子群的分布,磁图可以看出黑子的不同极性。本文使用的是2010 年5 月至2017 年5 月期间的观测数据*http://jsoc.stanford.edu/。
根据Fang 等[5]人工标记过的磁类型信息[5],筛选了2010 年5 月至2017 年5 月间具有磁图和白光图的黑子数据共15641 张,其中α类型5276 张,β类型7849 张,β-x类型2516 张。由于出现在一个活动区的黑子群的演变较缓慢,同一个黑子群在一定时间内不会出现磁类型的变化,为保证数据的多样性,选择数据时间精度为96 min。在划分训练集、验证集和测试集时,将2010 年5 月至2015 年5 月间的双通道数据作为输入训练(包含4709 个α类型,7353 个β类型,2407 个β-x类型),将2015 年6 月至2017 年5 月间的双通道数据作为测试集(包含567 个α类型,496 个β类型,109 个β-x类型)。输入训练数据中按照8:2 的比例分为训练集和验证集,其中训练集包含3767 个α类型,5882 个β类型,1926 个β-x类型;验证集包含942 个α类型,1471 个β类型,481 个β-x类型,具体情况见表2。
表2 训练、验证、测试集的分布Table 2 Distribution of training,validation and test sets
神经网络的设计一般遵循深度优先的原则,但是越深的神经网络越难以训练。2015 年He 等[8]提出了ResNet 模型,其核心思想是在学习x到其特征H(x)的映射时,机器不再学习这两者间的基本映射关系,而是学习其间的差异,也就是残差。假如定义残差F(x)=H(x)–x,那么该网络开始学习F(x)+x而不是H(x)。实践证明显示ResNet 网络可以避免深度神经网络中的梯度消失问题,从而可以构建层数更深的网络。常用的ResNet 模型包括ResNet34、ResNet50、ResNet101 等。
与ResNet 网络追求更深的层数不同,Inception[9]网络是在不牺牲计算成本的前提下构建更宽的网络,Inception 的核心思想是通过精心的设计,将大小不同的卷积层组合在一起,矩阵经过这些大小不同卷积层处理后,可以形成一个更深的矩阵。这样做的优点是可以在深度和宽度两个维度对网络进行扩充,从而使得Inception 网络既提高了模型的准确性,又防止过拟合现象的发生。
Xception 是在Inception 基础上发展而来的。Xception[10]网络是Google 在2017 年提出的对Inception v3 网络的改进,也被称为是一种极端的Inception。其核心思想是使用深度可分离卷积去观察输入数据,与传统方法相比,在网络宽度相同的情况下可大大降低参数量,加快网络的训练速度。但是提出Xception 的目的并不是在于对模型进行压缩,而是要提高模型的性能。
MobileNet[11]网络同样也是由Google 公司于2017 年提出的卷积神经网络模型,可称之为轻量级网络中的Inception。MobileNet 具有与Xception 相同的网络模块结构,都用到了大量的深度可分离卷积,但两者主要的目的不同。在Xception 模型中将普通卷积替换成深度可分离卷积主要是为了分类效果,并不是为了训练速度。而MobileNet 的目的恰好相反,该模型并没有加宽网络,而是通过深度可分离卷积对参数量进行压缩和提升训练速度,以便于实际应用。然而MobileNet 在实际使用时还存在例如模型训练完后发现有不少卷积核为空,以及模型在低维度上效果不好等问题。针对这些问题,Google 提出了将ReLU 替换成线性激活函数以及引入倒置残差模块。基于这两点改进,Google 公司于2018 年提出第二代MobileNet 模型,即MobileNetV2[12]模型。
为了评估模型在每一类黑子上的分类能力,计算单类样本的评估指数时将三分类问题简化为二分类问题。表3 为对α类型黑子使用混淆矩阵定量评价模型的结果。其中,T表示真阳性(Ture Positive),F表示假阴性(False Negative),N表示假阳性(False Positive),C表示真阴性(True Negative)。
从表3 进一步计算可以得到召回率(Recall)R,精确率(Precision)P和F1分数:
表3 二分类混淆矩阵Table 3 Definition of confusion matrix on binary classification
一般来说,召回率和精确率是一对矛盾的度量,精确率越高,召回率就越低;召回率越高,精确率就越低。例如,若希望将α 类型黑子尽可能多地识别出来,则可以将所有的黑子预测为α类,那么α类型黑子的召回率为1,这样精确率就会很低。若希望α类型的黑子识别精确率高,则可将最有可能是α类型的黑子识别为α类,但这样会导致一些α类型黑子被漏选,使得召回率较低。因此,综合考虑召回率和精确率,采用式(3)的F1分数来评估模型的准确性。F1分数越高,说明学习器的性能越好。
在具体的实验中,由于原始太阳黑子图片的大小不一致,不能直接输入网络模型。为满足网络输入要求,首先对原始太阳黑子图片变换为相同的像素大小(160 pixel×320 pixel)。此外,考虑到黑子的磁类型识别主要是基于黑子群的形状进行识别,对其进行旋转等操作并不会改变其磁类型。为此,在训练时考虑使用数据扩充的策略(对训练样本进行旋转,翻转和缩放等操作)来增加训练样本的数量以及多样性,提升模型鲁棒性。损失函数选择交叉熵损失,一次训练所抓取的数据样本数量设定为8,迭代轮次设定为30,每个迭代轮次迭代1000 步。检验集上损失最小的模型当作最优模型。
在做预测时,采用了测试时增强(TTA)[13]算法,通过牺牲测试时间来提高模型的准确率。TTA 算法的核心思想是通过对原始图像通过水平和垂直翻转的方法进行扩充,然后将多个版本的图像双通道分别输入模型得到多个预测值,并将多个预测值的平均值作为最终的预测值。这样做可以帮助模型进一步提取图片的重要特征,从而提高模型的准确率。
为了验证提出策略(数据扩充和TTA)的有效性,进行了如下4 组消融试验:(1)无数据扩充无TTA 的深度学习模型,(2)无数据扩充有TTA 的深度学习模型,(3)有数据扩充无TTA 的深度学习模型,(4)有数据扩充有TTA 的深度学习模型。其中,深度学习模型包括当前较为流行的Xception、MobileNetV2、MobileNet、ResNet50、Inception ResNetV2 网络。此外,本文采用了Fang 等[5]的网络架构作为实验对比。不同网络模型在测试集上的F1分数如表4 所示。实验结果表明,加数据扩充和TTA 策略后,绝大部分网络模型都有一定的性能提升。其中Xception 网络加数据扩充和TTA 策略后在测试集上α,β和β-x的F1分数分别达到了96.50%,93.20%,84.65%,在α和β类型黑子分类上达到最优。与之对比,MobileNetV2 网络在加数据扩充和TTA 策略后在测试集上α,β和β-x的F1分数分别达到了95.44%,92.57%,86.54%,在β-x类型黑子分类上有较好的效果。其他深度网络架构MobileNet、ResNet50、Inception ResNetV2 在太阳黑子分类上虽然不如Xception、MobileNetV2 网络的效果好,但在测试集上α,β和β-x的F1分数也能分别达到90%,90%,80%以上,远超过Fang 等[5]的三层网络架构(三类F1分数均未达到70%)。这表明了使用深度网络模型的有效性。此外,为证明输入双通道数据的有效性,分别使用白光图作为单通道输入和磁图作为单通道输入训练Xception 模型。实验结果表明仅使用白光图当作输入,Xception 网络在测试集上α,β和β-x的F1分数分别达到95.21%,90.03%,75.86%。然而,仅使用磁图当作输入,Xception 网络的F1分数可达到91.53%,86.09%,76.84%。双通道效果相对于白光图单通道输入的网络在α,β和β-x三种类型上分别提升1.29%,3.17%,8.79%;相对于磁图单通道输入的网络在α,β和β-x三种类型上分别提升4.97%,7.11%,7.81%。这表明使用双通道数据能够提升网络性能。需要指出的是,本文的3 层CNN 网络的准确率并未达到Fang 等[5]的准确率,这是由于本文基于黑子演化时间的缓变性,将数据训练集和测试集按照时间划分,这样训练出来的模型是真实可信且可使用的,而Fang 等[5]在划分数据集时是随机划分的,这样做会导致模型的假准确率较高,即将新数据输入CNN 模型后的实际分类准确率并不高,即模型的泛化性能不高。
表4 不同深度学习模型的F1 分数(%)Table 4 F1 score (%) of different classification methods
通过对大量的Wilson 山磁分类的太阳黑子的白光图和磁图分析,发现α类一般出现在单个太阳黑子中,且α类的黑子结构较为单一,所以识别的准确率较高;β类一般在一个相对规则的黑子群中,并且有较为明显的相反极性之间的划分界限,但也有一些结构特殊的β类型黑子,图2 给出了两种容易被误判的β类黑子。从白光图2(a)中只能看到一个较为明显的有本影和半影的黑子结构,从磁图2(c)中可以看到存在两个相反的极型,但此处的负极性黑子(黑色阴影)群的部分在白光图中并不明显,所以对于此种β类型的黑子,很容易被误判为α类型。另外从白光图2(b)中可以看到存在多个黑子群,从磁图2(d)中可以看到不同极性黑子之间的界限并不明显,容易被误判为β-x类型。这部分特殊结构的β型黑子会影响模型对β类型分类的准确率,这也是β类型的F1分数没有α类型的F1分数高的原因;β-x主要出现在一个相对较大且分布不规则的太阳黑子群中,在本实验中,由于β-x的样本数量较少,还不到α类数量的一半,所以在测试集上的准确率不如前两种分类准确率;此外β-x类的黑子结构越复杂,出现误判的可能性就越大。
图2 两种特殊的β 类黑子图像。(a)(b)为白光图,(c)(d)为磁图(顶部标注为相应的活动区信息)Fig.2 Two kinds of special β-type sunspot images.(a) (b) are white light diagrams,(c) (d) are magnetograms.The top notes are activity area information
值得一提的是,对于β-x的分类问题,在测试集上不使用TTA 数据增强策略会进一步提高准确率,且使用MobileNetV2 网络的效果优于Xception。由于深度学习是黑盒模型,难以探究其背后的真正原因。但是,因为Xception 在α和β类黑子的分类的F1分数均优于MobileNetV2,且这两类黑子的数据量更多,所以,在一定程度上可以认为Xception 网络对黑子磁类型分类的综合性能是最好的。
本文基于多种深度学习网络构造太阳黑子Wilson 山磁分类的自动识别模型,使用2010 年5 月至2015 年5 月的SDO/HMI 磁图和白光图作为输入数据学习模型,2015 年6 月至2017 年5 月的双通道图片对模型进行测试。实验结果表明,Xception 模型能进行最优的Wilson 山磁分类,α,β和β-x的F1得分分别达到了97.05%,93.74%,84.65%。其中β-x的F1得分较低的主要原因是其数据量较少。
在深度学习模型的构建中,选择适合的网络模型和策略(数据扩充、TTA 等)对黑子磁类型的分类精度有很大的提升。尽管对图片进行旋转操作来扩充数据,可能对于活动区物理过程的研究不合理,但本文主要任务是根据静态图片来识别黑子的磁类型,从这个角度上来说旋转图片增加数据量是可行的。
在下一步工作中,计划使用融合集成策略与注意力机制来进一步提高模型精度,尤其是β-x类型的分类准确率,并且尝试从可解释性机器学习的角度去解决黑子磁分类问题。
致谢磁图和白光图数据由SDO/HMI 卫星提供;FITS文件由http://jsoc.stanford.edu/提供;SRS 文件由美国海洋局空间天气预报中心(NOAA/SWPC)网站(https://www.swpc.noaa.gov/)提供;数据资源由国家科技基础条件平台–国家空间科学数据中心(http://www.nssdc.ac.cn)提供。