基于双模型集成的太阳黑子磁类型分类

2022-11-16 01:42陈清源冯德华王云龙梁毅军
天文研究与技术 2022年6期
关键词:太阳黑子白光类别

陈清源,金 帆,冯德华,王云龙,梁毅军*

(1. 西安交通大学,陕西 西安 710049;2. 浙江科技学院,浙江 杭州 310023)

太阳黑子与太阳活动密切相关,太阳活动中最强烈的活动现象是太阳耀斑[1-2],主要爆发在太阳黑子上方的大气中。这些活动会扰乱地球大气层,影响地面无线电短波通信,并产生危害,如 “磁暴” 现象。世界各地的天文台一直在追踪所有可见的太阳黑子群,并对其进行分类和分析,以便及早发现耀斑。如果能够比较准确地实现太阳黑子群自动分类,我们可以更好地检测某些类别的太阳黑子群,对预警耀斑具有重要意义,同时提高对太阳周期、空间气候及其对地球气候系统影响的理解和预警能力。典型的黑子群分类方法可以分为基于传统数字图像处理算法、数学形态法和小波分析法,以及当下流行的基于数据驱动的机器学习方法。近年来,随着观测条件的进步,与太阳活动有关的数据迅速增长,基于深度学习方法的优势越来越显著。

文[3]采用McIntosh分类方法,提出了一种混合系统,该系统使用从太阳和太阳风层探测器/迈尔逊多普勒成像仪(Solar And Heliospheric Observatory/Michelson Doppler Imager, SOHO/MDI)磁图图像中提取的活动区数据,对白光图像上的黑子群进行自动检测。从白光图像中检测到黑子后,使用磁图图像对它们进行分组或聚类。通过集成图像处理和神经网络,自动对检测到的黑子进行分类。但系统存在分组错误和小型黑子漏检的缺陷。文[4]使用机器学习方法结合传统图像处理算法提取太阳黑子特征,改善了特征提取效果,但仍存在不同数据集间泛化性较差的问题。

文[5]采用改良后的七类Zurich分类方法,使用支持向量机(Support Vector Machine, SVM)实现对太阳全日面白光图像黑子群的自动分类。在数据预处理阶段,文[5]使用了边缘检测、噪声去除以及二值化分割黑子群和日面,再对黑子群进行无监督分割,将属于同一组的黑子合并,然后提取每个黑子组的属性,最后使用支持向量机进行分类。该方法精度对图片质量和失真程度有所要求,且分割过程对推断耗时有较大影响。

随着深度学习的发展和可训练数据量的增加,越来越多的人尝试基于卷积神经网络(Convolutional Neural Network, CNN)提取图像特征,以解决图像的分类[6-7]、分割[8-9]和检测[10-11]问题。文[12]使用卷积神经网络对黑子群的磁类型进行分类,在数据预处理阶段将图像分为3类,分别为白光图、磁图以及白光图和磁图的合成图像。将3类图像分别作为输入源输入卷积神经网络进行分类,结果显示,单独使用白光图的分类效果最佳。文[12]认为,相对白光图,磁图结构较为复杂,且磁图使用卷积神经网络不能很好地提取特征,是造成使用磁图分类不佳的主要原因之一。除此之外,3类图像样本数量不均衡带来的问题同样没有得到解决,存在Beta-x类过拟合现象。

文[13]提出一种双流卷积神经网络的太阳黑子磁类型分类方法。该模型通过双流结构解决了白光图和磁图的多元输入问题,在Alpha类上的分类准确率较高,但模型参数量较大,在Beta-x类上依然存在过拟合问题。除了分类问题,当下最优的太阳黑子检测模型同样存在小样本类别过拟合的问题,如文[14]提出的SunspotsNet太阳黑子检测模型依然无法解决类别不均衡问题。

本文提出的双模型集成算法通过两个模型分别承担Alpha类和Beta-x类的分类任务,即针对Alpha类和Beta-x类分别设计最适合的分类模型和训练策略,并辅以大量针对不均衡数据集训练的调优技巧,最终对两个模型的结果进行集成,从而能够最大程度地解决数据集中类别不均衡的问题。上述双模型集成算法与主流的集成算法不同[15-17],其中涉及的两个模型均有明确的任务分工,集成单元更少,效果更优。另外,本文提出的基于双模型集成的不平衡数据集定向分类模型取得了阿里天池太阳风暴识别和预警人工智能挑战赛的第二名,挑战赛地址:https://tianchi.aliyun.com/competition/entrance/531803/rankingList;代码也已开源:https://github.com/qingyuanchen1997/Dual-Model-Integration。

1 本文方法

1.1 数据集介绍与分析

深度学习由数据驱动,故本文首先介绍并分析实验所用数据集,进而引出后续算法。

本文实验所用数据集为SOLAR-STORM1,由空间环境人工智能预警创新工坊整理提供,可在天池实验室(https://tianchi.aliyun.com/dataset/)公开下载。该数据集基于威尔逊山(Mount Wilson)黑子群磁类型分类方案,该方案根据磁场极性对黑子群进行分类。数据集共包含Alpha, Beta和Beta-x 3个类别的太阳黑子数据样本,分别代表单极黑子群、极性之间具有简单且明确划分的双极黑子群和极性之间无明确划分的复杂双极黑子群,3个类别总计14 469个数据样本,每个数据样本包含两张图像:磁图和白光图,两者为一一对应关系,如图1。其中Alpha类太阳黑子的磁场图和白光图各4 709张,占32.54%;Beta类太阳黑子的磁场图和白光图各7 353张,占50.82%;Beta-x类太阳黑子的磁场图和白光图各2 407张,占16.64%。具体数据如表1。数据虽整体数量尚可,但3个类别的训练图像数量差异却十分巨大,其中Beta-x类图像的数量远小于Alpha和Beta两个类别;另经查阅资料得知,在观测过程中,Alpha类和Beta类的太阳黑子出现的概率也显著高于Beta-x类。

图1 Alpha(左1)、Beta(左2)和更复杂的Beta-x(左3、左4)磁类型的太阳黑子群磁场观测图像(行1)和白光观测图像(行2)

表1 Alpha, Beta和Beta-x黑子数据样本占训练集比重

1.2 双模型集成算法

由于数据集在万张量级,总计14 469组数据样本,为保证模型在验证集和测试集上取得可靠的结果,将样本按3∶1∶1的比例划分为训练集、验证集和测试集。另外,由于数据具有时间连续性,时间精度为96 min,即每间隔96 min对黑子群进行一次观测,且黑子群演化较为缓慢,故同一个黑子群在一定时间内通常保持同一种磁类型,且相似度较高。为避免训练集同验证集、

测试集在信息上重叠,实验基于时间段对数据集进行划分,将位于同一时间段内的不同样本统一放入训练集或验证集或测试集。文中所有实验均采用五折交叉验证,即将数据集切分为5份,1份作为验证集,1份作为测试集,剩余3份作为训练集。每组实验共进行5次,每次实验基于已切分的5份数据集子集重构训练集、验证集和测试集,最终结果取5次实验的平均值。为保证双模型集成的可操作性,在每一轮训练中两个模型使用相同的数据集。实验首先使用骨干网络(Backbone)作为ResNet50卷积层的网络在训练集上进行训练,并用训练的模型对训练集和验证集进行分类。

由表2可见,Beta-x类在训练集上的F1分数远高于在验证集上的,而Alpha类和Beta类在训练集上的F1分数只是略高于验证集上的,由此可见,基于ResNet50训练的模型对于训练图片数量较少的Beta-x类存在过拟合现象。

表2 使用ResNet50卷积层作为骨干网络,Alpha类、Beta类和Beta-x类在训练集和验证集上的F1分数

实验采用比ResNet50卷积层数更少的AlexNet卷积层作为骨干网络,从而得到更轻量级的网络模型,并重新进行训练和分类,结果如表3。更小更轻的网络解决了Beta-x类因数量较少造成的过拟合问题,且显著提高了Beta-x类在验证集上的F1分数。但由于此网络模型参数量较少,故模型的拟合能力较弱,导致训练图像数量较多的Alpha类和数量更多的Beta类出现了欠拟合现象,其F1分数低于ResNet50模型分类得到的F1分数。

表3 使用AlexNet作为骨干网络,Alpha类、Beta类和Beta-x类在训练集和验证集上的F1分数

由此可见,在分类数据集各类别数量极不平衡的情况下,我们无法找出单一的神经网络模型同时兼顾训练图像数量较多和较少的类别。即对于参数量较大的网络,拟合能力较强,但需要较多的训练图像,此类模型对分类问题中训练图像数量较多的类别更有利;而对于参数量较少的网络,拟合能力较弱,但需要较少的训练图像,此类模型对分类问题中训练图像数量较少的类别更有利。因此,本文确立的双模型集成理论上是有效的。

经过多个模型的测试,我们发现Alpha类和Beta-x类存在互不相干性。由表4可得,在所有模型的分类结果中,真实的Alpha类没有出现或极少出现误分为Beta-x类的情况,同样,真实的Beta-x类没有出现或极少出现误分为Alpha类的情况,两者的错误均是因为与Beta类混淆。另外将利用神经网络提取的三维特征在三维特征空间中显示,由图2可以看出,Alpha类和Beta-x类的样本点在特征空间中距离普遍较远,两者特征点极少发生混叠。上述实验结果确定了双模型集成的可行性,即不同模型的Alpha类与Beta-x类的结果互不影响,集成后的结果可以保留两个模型分别在Alpha类和Beta-x类上的分类精度。因此,本文确立的双模型集成理论是可行的。

表4 各网络模型对验证集的分类结果中Alpha类和Beta-x类相互误分的图像数量

图2 Alpha类(红)、Beta类(绿)和Beta-x类(蓝)特征空间分布示意图

综合上述情况,本文分别单独设计一重一轻两个模型,利用重模型的强拟合能力专注于数量较多的Alpha类太阳黑子分类;利用轻模型的抗过拟合能力专注于数量较少的Beta-x类太阳黑子分类,最后再利用Alpha类和Beta-x类的互不相干性,对两个模型的分类结果进行不损失精度的集成融合,用重模型分出的Alpha类和轻模型分出的Beta-x类夹逼出Beta类,即将未被标记类别的样本划归为Beta类,如图3。

图3 双模型集成示意图Fig.3 Schematic diagram of dual model integration

本文基于ResNet18设计了双通道并行网络paraResNet,将其作为参数较多的大模型针对训练图像数量较多的Alpha类;另外基于AlexNet设计了miniAlexNet模型,作为参数较少的小模型针对训练图像数量较少的Beta-x类。

1.3 Alpha-model: paraResNet

1.3.1 网络结构

在确立了双模型集成策略后,本文首先针对性设计承担Alpha类分类任务的模型。

比赛主办方提供的数据集中每个太阳黑子群类别均包含两种图像,磁场观测图像和白光观测图像,如图4。两图像尺寸相同,位深相同,故我们首先尝试将均为8位位深的单通道白光观测图像和磁场观测图像拼接成16位位深图像输入ResNet18网络进行训练和分类,但是由于纹理特征差异较大,拼接成的双通道图像不是一幅自然图像,分类效果并不理想。故根据此数据集拥有白光和磁场两种图像的特点,为充分提取白光图和磁场图的特征,本文采用与文[13]双流模型类似的方案,设计了双通道ResNet18并行网络以侧重在Alpha类上的分类性能;该网络的上下两个通道分别负责提取白光图和磁图的图像特征,而后将提取的特征拼接后输入全连接网络,网络结构如图5。

图4 (a)白光观测图像;(b)磁场观测图像

图5 paraResNet网络结构图Fig.5 Network structure diagram of paraResNet

在此基础上,本文实验参考文[18]在模型优化方面的工作,对ResNet18的下采样层进行改进,将原本同时兼顾减小特征图尺寸和改变特征张量深度的卷积层,替换成负责减小特征图尺寸的平均池化层和负责改变特征张量深度的步长为1的卷积层,通过任务分工减轻原卷积核的负担,提高下采样模块的精度。改进方案如图6。本文将网络结构称为parallel-ResNet18-D,缩写为paraResNet。

图6 ResNet18的下采样改进方案:ResNet-D

1.3.2 训练策略

在训练技巧上,本文首先使用单通道白光图和磁场图分别对两个单网络ResNet18模型进行预训练(不采用ImageNet预训练),再将两个预训练模型的卷积层迁移至双网络模型的并行卷积层。使用加权的交叉熵损失,样本较少的类别享有更大的权重,用于减小各类别样本数量不均衡带来的影响。

在数据增强方面,由于Alpha类和与其相邻的Beta类可用于训练的图像数量较多,故只采用对图像信息损失较小的水平镜像和竖直镜像的数据增强方法。若再使用其他数据增强方法,不仅无法提高模型分类正确率,反而影响训练时间。

1.4 Beta-x模型: miniAlexNet

1.4.1 网络结构

针对训练样本较少的Beta-x类,为减少参数量,本文未使用双通道并行网络结构,而是使用比ResNet18更为轻量级的AlexNet[19]的卷积层作为Beta-x模型的骨干网络,输入源为白光图和磁图的混合图像,即图像的第1个通道为白光图,第2个通道为磁图,为使用ImageNet数据集的预训练模型,需保证输入图像为常规三通道图像,故设置第3通道为白光图和磁图各按0.5权重的加权和,以引导网络学习白光图和磁图之间的纹理关联信息并填补通道空缺。为进一步减少后续全连接层的参数量,在最后一个卷积层后接一个输入大小为3 × 3的自适应池化层,最后将特征输入单层全连接,输出3个类别的置信度。同时,为了补偿网络提取图像特征的能力,为网络输入较高分辨率的图像,将原图像分辨率变换为 500 × 375,网络结构如图7。

图7 miniAlexNet网络结构图Fig.7 Network structure diagram of miniAlexNet

1.4.2 训练策略

首先,对数据集进行清洗。对于 Alpha类和Beta类的数据,鉴于时间轴连续性较差,全部保留。对于Beta-x类的数据,首先按照时间进行排序,根据该类数据集图像序列在时间轴上的强连续性,对Beta-x类的数据以3/4的下采样率进行数据清洗,大大降低了数据的冗余度和网络对重复信息进行无用学习的压力。

由于Beta-x类和Beta类之间的差异较小,故采用降温技巧,即降低原先输出的logit值,再通过softmax函数增加网络在学习各个类别的差异性,降低网络学习压力,提高收敛速度。

在数据增强方面,我们采用对图像信息影响较大但抗过拟合效果更佳的图像随机角度旋转对训练集进行增广,旋转角度控制在90°以内。

最后,通过分析对验证集的logit输出分布,我们发现当Beta-x输出头的logit值同Beta输出头的logit值的差值在[0, 0.5]区间时,存在7%的Beta类样本误判为Beta-x类。故当两者代表的输出头的logit值的差值在[0, 0.5]区间内时,增大Beta类输出头的logit值,进行概率校正。

1.5 模型集成

基于1.3节讨论的Alpha类和Beta-x类的不相干性,将paraResNet模型得到的分类结果同miniAlexNet模型的分类结果融合,即采用前者的Alpha类分类结果和后者的Beta-x类分类结果,将未标记类别的样本划归为Beta类,从而夹逼出Beta类的分类结果。

2 实验与结果分析

2.1 参数设置

在针对Alpha类的模型训练过程中,本文实验采用Adam自适应优化器[20],初始学习率定为2 × 10-6;作为随机梯度下降(Stochastic Gradient Descent, SGD)的扩展,Adam Optimizer能够根据每个参数的先前梯度,自适应地调整梯度的系数,适用于数据量较大的情况。即对各个类别的交叉熵损失施加权重,所加权重Alpha类为1.56,Beta类为1.0,Beta-x类为3.05。该权重基于Alpha类、Beta类和Beta-x类在训练集中的样本数量比例进行设置,在该比例的基础上根据验证集分类效果进行微调,从而能够在损失层降低训练数据类别不均衡带来的影响。

在针对Beta-x类的模型训练过程中,实验采用带有动量的随机梯度下降策略,学习率为0.000 8,动量参数为0.9。另外,本实验做了两个额外的数据集预处理操作,首先因Beta-x类样本数据量本身较小,故将输入图像分辨率修改为500 × 375,尽可能保留数据集信息;其次对训练集中的冗余信息进行滤除,即对Beta-x类中在时间轴上连续的图像样本序列进行以4为步长的下采样,最终保留891个训练样本。

2.2 评价指标

实验采用F1分数作为太阳黑子三分类任务的衡量指标,它是精确率和召回率的调和平均数,最大为1,最小为0;F1分数接近1代表模型在该类别上的分类性能较好,接近0则代表模型在该类别上的分类性能较差。F1分数计算公式为

(1)

其中,P为精确率;R为召回率。数据集共有Alpha,Beta和Beta-x 3个类别,每个类别对应一个F1分数,因为Beta类太阳黑子在现实中出现概率最高,故实验将Beta类的F1分数作为首要考虑对象,其次为Alpha类和Beta-x类。

2.3 消融实验

本文针对训练数据不平衡的特性,采用针对性的双模型融合算法,即使用双通道并行ResNet18进行针对性训练得到较好的Alpha类分类模型,使用miniAlexNet进行针对性训练得到较好的Beta-x类分类模型。最后再基于Alpha类和Beta-x类的不相干性,将前者的Alpha类分类结果同后者的Beta类分类结果进行融合,得到最终的三分类结果。

本文对分类模型的评价指标同比赛方要求相同,使用综合了精确率和召回率的F1分数以衡量模型在测试集上的分类性能。

2.3.1 Alpha类模型

本文首先对Alpha类的模型进行消融实验,以验证各项策略的有效性。由表5可见,每一项技巧对模型的分类性能有了显著提高。数据增强(水平镜像+竖直镜像)在对图像信息影响较小的基础上弥补了训练集较小的问题,增强了抗过拟合能力。双通道网络更好地提取太阳黑子的白光图像和磁场图像的特征,更多的参数也带来更强的拟合能力。损失加权平衡了Alpha类和Beta类在训练数据量上的不平衡关系;下采样模块精度提高进一步提升了网络提取特征的有效性。最为关键的是,针对性训练后的双通道并行模型paraResNet对Alpha类的分类效果非常好。

表5 各项技巧为Alpha模型带来的F1分数提高

2.3.2 Beta-x模型

我们对Beta-x类的模型进行消融实验,验证各项策略的有效性。

由表6可见,每一项技巧对模型的分类性能有了显著提高。数据增强(随机角度旋转)降低了Beta-x类数据量过小带来的不利影响,降低了小数据量带来的过拟合风险;将更高分辨率的图像进行网络训练,弥补了小网络特征提取能力的不足;降温和概率性校正则通过人为调整干预,提升了模型对复杂分类边界的拟合能力;而小巧的网络和较少的参数使miniAlexNet模型对训练数据量较少的Beta-x类的分类效果相比双通道网络更好。

表6 各项技巧为Beta-x模型带来的F1分数提高

2.3.3 双模型集成

模型最终将paraResNet和miniAlexNet集成,即将前者的Alpha类分类结果同后者的Beta-x类分类结果进行融合,将未标记类别的样本划归为Beta类,最终得到三分类结果。

由表7可以看出,融合后的模型完全保留了双通道并行模型paraResNet在Alpha类上得到的F1分数和miniAlexNet模型在Beta-x类上得到的F1分数,从而夹逼出比两者都高的Beta类的F1分数,最终在测试集上,Alpha类、Beta类和Beta-x类的F1分数分别为0.970,0.946和0.877。

表7 双模型集成在测试集上带来的F1分数提高

2.4 与其他算法比较

本文对文[12]和文[13]设计的网络结构以及当下主流网络结构ResNet[21]在使用翻转增强和损失加权的基础上,在SOLAR-STORM1数据集上进行实验验证。

对比实验结果如表8,从表8可以看出,本文的paraResNet模型在Alpha类上取得了非常优异的效果,F1分数达0.970;同样的,本文的miniAlexNet网络在Beta-x类上取得了优异的性能,F1分数达到0.877。将paraResNet模型和miniAlexNet模型集成后,保留了前者在Alpha类的性能和后者在Beta-x类的性能,取得了最优的Beta类分类结果,Beta类的F1分数达到0.946,远超所有单网络模型。

表8 多种模型实验结果Table 8 Experimental results of various models

3 结 论

本文对太阳黑子数据集进行分析,在论证双模型集成有效性和可行性的基础上,通过分别训练针对Alpha类的双通道并行模型paraResNet和针对Beta-x类的miniAlexNet模型,并将两者结果融合夹逼Beta类的方法,巧妙地避免了重模型在少样本类别的过拟合问题和轻模型在多样本类别拟合能力不足的问题,且保留了两者在各自优势类别上的优异性能,从全新的角度降低了类别不均衡问题带来的影响,最终在SOLAR-STORM1数据集的3个类别取得的平均F1分数超越了所有单网络模型。

双模型集成算法不仅对太阳黑子分类任务有效,其余任何三分类任务均可参考此集成方法,此算法对所有基于机器学习的、各类别样本数量不均衡的分类任务具有启发意义。

为了进一步减小模型的复杂度、减少参数量和前向推理耗时,并降低模型的部署难度,未来我们可以考虑通过知识蒸馏和小样本学习的方式,使单网络模型能够同时兼顾在多样本类别和少样本类别的分类性能,从而替代双模型结构。

猜你喜欢
太阳黑子白光类别
贵州绥阳张喜山祠 :石文化经典之作
太阳黑子
太阳黑子自动识别与特征参量自动提取
为什么太阳会长斑?
壮字喃字同形字的三种类别及简要分析
白云与太阳黑子的故事
西夏刻本中小装饰的类别及流变
白光LED无线通信的研究进展
白光(选页)
从白光的花鸟画中感悟写意精神