作者简介: 韩博冲, 1991年生, 中国科学院大学国家天文台博士研究生 e-mail: hbc@nao.cas.cn
近年来, 随着各大光谱巡天项目的陆续实施, 观测得到的天体光谱数据急剧增长。 大型光谱巡天项目对光谱的自动分类和分析提出了更高的要求。 采用多尺度特征融合模块来获取光谱在不同尺度上的光谱特征, 结合CNN网络在分类任务上的优势, 提出了一种基于多尺度特征融合的恒星光谱分类模型(MSFnet), 对恒星光谱进行光谱型预测。 主要包含多尺度特征融合模块和一个含4个卷积层, 2个最大池化层, 1个全连接层的卷积神经网络。 为了防止出现过拟合的问题, 添加了dropout, 添加dropout后可以使得模型不依赖某些局部特征, 防止过拟合, 优化网络的鲁棒性。 实验中的数据集均来自LAMOST DR9数据库, 在输入到模型进行训练之前, 需要对光谱数据进行预处理: 重新对光谱进行均匀采样, 之后进行最大最小值归一化。 该实验的编程语言为python 3.9, 引入了Pytorch深度学习框架来构建网络。 实验部分为两部分: 第一部分是研究卷积神经网络的层数、 特征图个数与准确率的关系; 第二部分将本文提出的MSFnet模型和Resnet18模型的结果对比实验, 从精准率 P、 召回率 R、 调和平均值 F1、 准确率 A、 运行时间等指标来对两个模型进行对比评估。 两个模型所采用的训练集、 验证集和测试集均按6∶2∶2的比例进行分配, 保证了两个模型的训练样本一致。 结果表明, 采用4个卷积层、 特征图数量为16的卷积神经网络的准确率最高。 基于此结论, 本文提出了特征融合模块与卷积神经网络的组合MSFnet模型, 相对于18层的残差神经网络模型, 该模型的结构更简单, 在上述指标的表现上也与Resnet18模型相当, 并且在A、 F、 K型光谱的分类效果更好, 速度更快。 MSFnet模型在测试集上的准确率接近97%, 比传统的CNN和Resnet18模型的准确率更高, 表明了MSFnet模型有助于提升光谱自动分类的准确性。
In recent years, there has been a significant increase in the number of observed astronomical spectra. This has led to greater demands for automatic classification and analysis of spectra in large-scale spectroscopic surveys. In this study, we introduce a multi-scale feature fusion-based stellar spectral classification model (MSFnet) that leverages the strengths of Convolutional Neural Networks (CNNs) in classification tasks and employs a multi-scale feature fusion module to extract spectral features at various scales for the prediction of stellar spectral types. The proposed MSFnet architecture consists primarily of a multi-scale feature fusion module and a CNN with four convolutional layers, two max-pooling layers, and one fully connected layer. To mitigate overfitting, dropout is incorporated into the model, enhancing its robustness by reducing dependence on specific local features. The dataset employed in this study is derived from the LAMOST DR9 database. Before training, data preprocessing is performed, which includes uniform resampling of spectra and min-max normalization. The experiment uses Python 3.9 and the PyTorch deep learning framework to build the network. The experimental section is divided into two parts: the first part investigates the relationship between the number of layers in the CNN, the number of feature maps, and the classification accuracy; the second part compares the performance of the proposed MSFnet model and the Resnet18 model using evaluation metrics such as precision ( P), recall ( R), and F1 score. Both models' training, validation, and test sets are split according to a 6∶2∶2 ratio to maintain consistency in training samples. Results demonstrate that the highest accuracy is achieved using a CNN with four convolutional layers and 16 feature maps. Based on this finding, we propose the MSFnet model, which combines the feature fusion module with the CNN. Compared to the 18-layer residual neural network model, the MSFnet model has a more straight forward structure and performs similarly on the evaluation metrics. The performance in the metrics above is on par with that of the Resnet18 model. Furthermore, it demonstrates superior classification efficacy for spectra types A, F, and K, accompanied by enhanced speed. With an accuracy of nearly 97% on the test set, the MSFnet model outperforms traditional CNN and Resnet18 models, indicating its potential to improve the accuracy of automatic spectral classification significantly.
LAMOST是一个带有4000根光纤并且视场达到20平方度的4 m施密特望远镜, 又称“ 郭守敬望远镜” [1]。 随着LAMOST大规模巡天观测任务的执行, 数据也在快速不断的积累。 2018年10月, LAMOST开始了二期巡天任务, 包括低分辨和中分辨光谱巡天。 2020年6月, LAMOST发布了第八次数据集(DR8), 1723万条光谱数据, 其中提供了1 121万条低分辨光谱, 中分辨率非时域光谱147万条和中分辨时域数据455万条(DR8数据详情见: http://www.lamost.org/dr8/)。 从2020年9月到2021年6月, LAMOST第九次巡天结束, 并在2022年3月发布了DR9数据共发布1944万条光谱, 其中低分辨光谱1122万条, 中分辨光谱822万条(DR9数据详情见: http://www.lamost.org/dr9/)。 面对如此海量的光谱数据实现精准的自动分类提出了新的考验, 近来研究人员依然采用摩根· 肯那分类法(MK分类法), 此方法主要按照有效温度(Teff)的高低把恒星光谱大致分成七大类, O、 B、 A、 F、 G、 K和M型恒星光谱。
对于这些光谱的自动分类任务从未停止, 当前对于光谱自动分类, 相对主流的方法有三种, (1)基于距离度量的分类, (2)基于机器学习的分类, (3)基于模糊逻辑知识系统的专家系统。 随着算力的增强, 越来越多的学者将深度学习模型用到恒星分类任务上。 Singh等应用PCA来降低光谱的维数, 并应用多层BP网络(MBPN)实现分类过程的自动化[2]。 Daniel等提出将局部线性嵌入(LLE)应用到恒星光谱分类中, 发现LLE分类效果比PCA更好[3]。 Schierscher和Paunzen采用人工神经网络(ANN)来对SDSS的DR7恒星光谱进行分类[4]。 刘超等提出了使用线指数与支持向量机的方法对LAMOST发布的恒星光谱进行MK分类[5]。 Liu等提出了1D SSCNN模型来对恒星光谱进行分类[6]。 王楠楠等采用了带有四层卷积神经网络的模型对恒星光谱进行分类[7]。 后续还有学者参照He[8]等在机器视觉领域提出的残差神经网络来实现恒星光谱次型的预测。 Tan等采用深度学习模型对热亚矮星进行光谱分类[9]。 深度学习模型在天文上的应用并不局限于恒星光谱分类, 还有测量恒星参数[10], 从大样本中搜寻特殊星体的恒星光谱进行研究(比如钡星[11])等方面, 在本文中不做研究。
近些年来, 深度学习在图片识别与分类、 语音识别和医疗等领域都得到了广泛的应用。 在卷积神经网络中, 它在特征提取方面有很大的优势, 所以目前在恒星光谱分类领域中的应用也比较广泛。
卷积神经网络(convolutional neural networks, CNN)是神经网络中的一种, 是理解图像内部的最佳学习算法之一, 并且在图像分割、 分类、 检测和检索等任务中表现异常出色。
卷积神经网络模型主要由卷积层、 激活层、 池化层、 全连接层四部分组成。 用在光谱上, 第一个卷积层使用形状为1* 3的较小的卷积核来提取光谱的特征, 并使用核大小为1* 2的最大池化层进行特征筛选。 最大池化层可以在尽可能保留特征的同时减少参数, 防止过拟合, 提高模型的泛化能力。 对于后面卷积层的卷积核形状的选择, 由于不同的卷积提取的特征是不同的, 对于1* 3大小的卷积核可以提取一些细节特征, 使用大的卷积核可以提取一些结构特征和全局特征, 对卷积核的形状设计可以通过实验来确定。
在光谱数据输入到模型之前, 经过对光谱数据进行均匀采样的处理之后, 由于光谱数据采用的都是相对流量值, 还需要对数据做归一化的预处理, 变换到同一尺度上。 这样模型可以更快的收敛。 归一化的主要方式有零均值标准化、 最大最小值归一化和绝对值最大标准化等, 本文采用的归一化(规范化)是最大最小值归一化, 即
式(1)中, S为输入的光谱数据, Min、 Max分别为光谱数据集中流量的最小值和最大值, sn为输入数据经过归一化后的结果。
模型采用GELU作为激活函数, 可根据光谱数据分布进行非线性激活, 表达式可以近似为
在经过最后一个卷积层之后使用最大池化层对特征图进行非线性变换, 再输入到全连接层中, 输出结果为对输入光谱类型的一个预测结果。 对光谱数据进行多尺度融合的预处理, 处理流程如图1所示。
本文的实验环境配置为: Intel(R) Xeon(R) W-2145 CPU @3.70GHz、 128G RAM、 GeForce GTX 1080 Ti、 11G显存、 Python 3.9和Pytorch1.7.1。 由于在LAMOST巡天任务期间, 获得的O型恒星光谱数据量较少, 不方便训练, 所以本文中的实验数据集为LAMOST的DR9中的B、 A、 F、 G、 K、 M型恒星光谱数据中信噪比> 60的数据, 这些数据从星表中随机抽样, 选取了共11527条恒星光谱数据, 并去除了红移或者在u、 g、 r、 i、 z波段信噪比存在异常的光谱。 同时还与不同信噪比的数据进行了对比试验。 本文使用到的数据集按6∶ 2∶ 2划分为训练集、 验证集和测试集, 划分结果如表1所示。
![]() | 表1 各类型恒星光谱数据集 Table 1 Stellar spectral data set |
将经过多尺度融合模块预处理的数据, 示意图如图2所示, 划分后的训练集数据输入到四层卷积神经网络模型中, 这两部分组合起来称为多尺度特征融合神经网络(MSFnet), 并通过测试集进行超参数的优化调整, 最后对测试集的结果与CNN和Resnet18模型进行评估对比。
![]() | 表2 数据在Resnet18模型上的性能表现 Table 2 Resnet18 classification performance |
在CNN和MSFnet模型中, batch_size代表一次训练选取样本的大小, 其值在常用的32、 64、 128、 256中选取, 本文采用128。 learning_rate代表模型的学习率, 学习率大小在常用的1× 10-2、 1× 10-3、 1× 10-4、 1× 10-5中选取, 本文采用1× 10-2。
本文测试了卷积层个数、 特征图个数、 卷积核尺寸大小与准确率之间的关系, 结果如图3和图4所示, 可以看到采用带有四个卷积层并且特征图数量为16的神经网络模型能取得更高的准确率。
利用精准率P、 召回率R、 调和平均值F1等指标对模型的分类性能进行评估, 其中的P代表的是经过模型训练后, 光谱被正确分类为某个类型的个数在被分为该类型恒星光谱中的占比(例如被正确分类为B型光谱数在预测标签为B型光谱中的占比), R代表的是被正确分类为某一类型光谱的个数在原本为该类型的恒星光谱中的占比(例如被正确分类为B型光谱数在真实标签为B型光谱中的占比)。 F1值是P和R的调和平均值, 计算公式为
式(3)中, P、 R分别为精准率和召回率。
通过表3中的数据可以看出MSFnet模型在测试集上的测试结果。
![]() | 表3 数据通过MSFnet模型的性能表现 Table 3 MSFnet classification performance |
将MSFnet模型与四层卷积神经网络和十八层残差神经网络(Resnet18)模型的实验结果进行对比, 并由准确率A来进行评估, 准确率的定义为: 在测试数据集上正确分为某一类光谱数在测试集中某一类光谱总数的占比。 此对比实验中依然采用60%的光谱作为训练数据集, 20%的光谱作为验证数据集, 剩下的20%光谱作为测试数据集。 实验结果如表3所示。
由表2、 表3和表4可以明显看出, MSFnet模型对B、 A、 F、 G、 K和M型恒星光谱的分类效果与复杂的18层残差神经网络模型相比具有相似的精准率P、 召回率R和调和平均值F1, 并且在A、 F、 K型光谱分类方面具有更高的准确率。 由表5可以明显地看出, 对于不同信噪比范围的数据, 通过MSFnet模型的性能都表现出较高的准确率, 且由于MSFnet的结构更简单, 运行速度也更快。 这表明, MSFnet模型用简单的网络结构来对光谱型的分类, 且取得了相对准确的结果。
![]() | 表4 实验结果对比 Table 4 Comparison of experimental results |
![]() | 表5 不同信噪比下的实验结果对比 Table 5 Comparison of experimental results at different SNR |
本文证明在卷积神经网络中采用带有四个卷积层并且feature map个数为16的卷积神经网络来进行分类时具有更高的准确率。 随着网络的加深, 可能会导致某些浅层的网络学习能力下降或者过分关注光谱上的某些细节特征, 使得分类任务的准确率降低。 从模型方面来说, 为了进一步提高以CNN模型为代表的神经网络模型来对光谱型进行分类的准确率, 以恒星光谱为研究对象, 充分利用了多尺度特征融合的方法, 来提取不同尺度上的光谱特征和CNN模型在自动分类方面的优势, 由此, 提出了本文中的MSFnet模型来对LAMOST DR9中的光谱进行光谱型分类, 将分类结构与18层的残差神经网络进行对比。 结果表明, 本文中提出的简单网络结构的模型与复杂网络结构对光谱分类能力相当, 并且对K型光谱分类方面更具有优势。 同时, 对比了两个模型在不同信噪比数据上的表现, 结果表明, MSFnet在兼备准确率的同时, 速度也更快。 由于未在其他数据来源的光谱进行分类, 具体结果有待进一步的研究。
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|