基于半监督模式的恒星光谱自动分类方法
姜霞*, 邱波, 王林倩, 郭小雨
河北工业大学电子信息工程学院, 天津 300401
*通讯作者 e-mail: xunjiang@hebut.edu.cn

作者简介: 姜 霞, 女, 1978年生, 河北工业大学电子信息工程学院讲师 e-mail: xunjiang@hebut.edu.cn

摘要

随着越来越多的大型光谱巡天计划的实施, 产生了海量的恒星光谱数据, 这对于恒星演化理论的研究具有重大意义, 但也给传统的光谱分类和处理带来极大挑战。 2021年发布的LAMOST DR7(v2.0版本)光谱数据集中, 恒星光谱总量为百万量级, 但其中O型星的数量仅为129条, 远远小于其他六类恒星光谱数量。 对于这种数据量大、 数据集严重不平衡的情况, 传统的机器学习分类方法达不到较好的效果, 因此多用于对相邻两类、 部分类或子类恒星光谱进行分类。 针对以上问题, 使用一维卷积神经网络(CNN)和一维生成对抗网络(GAN)相结合的半监督学习模式对七类恒星光谱进行全分类。 实验首先对每条光谱进行裁剪和去噪, 截取光谱波长范围为370.00~867.16 nm部分, 然后进行均匀采样和归一化, 生成大小为1×3 700的数据集样本, 送入CNN进行训练。 为了避免过拟合并提高模型对未知数据的预测能力, 在CNN的全连接层和池化层之间添加正则项Dropout。 使用该网络对除O型星以外的六类光谱进行分类, 平均分类准确率达到98.08%。 针对O型星数量严重偏少的问题, 采用GAN来扩充数据集。 GAN的输入是1×900大小的噪声信号, 经过生成器中全连接的三层跨步卷积运算, 输出大小为1×3 700的数据。 通过对生成器和判别器进行单独交替迭代训练使GAN收敛, 最终输出所需数量的O型星样本, 达到扩充数据集的目的。 和常见的通过过采样扩充数据集相比, 利用GAN扩充数据集, 结合一维CNN对恒星光谱进行全分类, 可以将O型星的分类准确率由72.92%提升至97.92%, 整个分类器的准确率达到96.28%。 实验结果表明, 使用这种半监督模式的恒星光谱自动分类方法可以实现对七类恒星光谱的快速、 准确分类, 也可以用于对标记为“Unknown”的未分类恒星光谱进行挖掘, 达到充分利用光谱的目的。

关键词: 恒星光谱; 自动分类; 卷积神经网络; 生成对抗网络; 半监督模式
中图分类号:P157.2 文献标志码:A
Automatic Classification Method of Star Spectra Based on Semi-Supervised Mode
JIANG Xia*, QIU Bo, WANG Lin-qian, GUO Xiao-yu
School of Electronics and Information Engineering, Hebei University of Technology, Tianjin 300401, China
*Corresponding author
Abstract

With the implementation of more and more large-scale spectral surveys, many star spectral data are generated, which is of great significance to the study of star evolution theory, but also brings great challenges to the traditional spectral classification and processing. In the LAMOST DR7 (v2.0 version) spectral data set released in 2021, the total spectrum of stars has reached the order of millions, but the number of O-type is only 129, and the data set is seriously unbalanced. Traditional machine learning classification methods cannot achieve good results for such a large amount of data and a serious imbalance of data sets. Therefore, they are mostly used to classify the spectra of adjacent stars of two types, partial types or subclasses. An automatic star spectrum classification method based on semi-supervised mode of one dimensional convolutional neural network (CNN) and one dimensional generative adversarial network (GAN) is used to solve this problem. Firstly, each spectrum is tailored and denoised, and the wavelength range of the spectrum is 370.00~867.16 nm. Then, uniform sampling and normalization are carried out to generate 1×3 700 data set samples, which are sent to one-dimensional CNN for training. In order to avoid overfitting and improve model's prediction ability for unknown data, dropout is applied between the full connection layer and the pooling layer. This one-dimensional CNN network is used to classify six kinds of spectra except for O-type, and the average classification accuracy is 98.08%. This experiment uses one-dimensional GAN network to solve the problem that the number of O-type is seriously small. The input of GAN is a noise signal whose size is 1×900.Through the fully connected three-layer convolution operation in the generator, the output size is 1×3 700. The separate alternating iterative training of the generator and discriminator finally outputs the required number of O-type star samples to expand the data set. Compared with oversampling, using data sets expanded by GAN to classify the star spectra can improve the classification accuracy of O-type stars from 72.92% to 97.92%, and the accuracy of the classifier can reach 96.28%. The experimental results show that the automatic star spectra classification method using this semi-supervised mode can realize the rapid and accurate classification of seven types of star spectra and can also be used to mine the unclassified spectra marked as “unknown”.

Keyword: Star spectra; Automatic classification; Convolutional neural networks; Generative adversarial networks; Semi-supervised mode
引言

近年来, 越来越多的大型光谱巡天计划已经完成或正在观测, 产生了海量的天体光谱数据, 这为天文学各个领域研究的蓬勃发展提供了新的契机, 也给传统的光谱分析和处理方法带来极大挑战[1]。 天文学家可以通过分析具有统计意义的赫罗图进行恒星的演化分析, 对于恒星演化理论的研究具有重大意义。 目前的恒星分类方法— — Morgan-Kenan系统[2]按照恒星温度从高到低将恒星光谱分为O、 B、 A、 F、 G、 K和M七大类。 2021年, 作为目前光谱获取率最高的大型巡天望远镜, LAMOST发布了DR7(V 2.0)光谱数据集, 恒星光谱数据达到了百万量级[3]。 对这些海量恒星光谱进行快速、 准确的自动识别与分类是天文学大数据分析与处理领域的研究热点之一[4]

机器学习方法可以通过学习大量光谱的特征训练识别光谱的能力, 从而对无标签的光谱进行自动分类, 已经被越来越多的应用于天文光谱数据的分析与处理。 Schierscher和Paunzen[5]首先提出将人工神经网络(ANN)用于天文学中, 作为光谱分类工具, 但随着输入空间的维数和隐藏层数的增加, 训练的过程非常复杂。 Liu[6]等使用支持向量机(SVM)对LAMOST恒星光谱进行分类, 实验结果表明该方法对A, F, G和M型恒星可以准确地分类, 但对B型和K型恒星分类准确率较低, 验证了该方法在光谱分类上的可行性。 Kheirdastan[7]等提出了基于概率神经网络的恒星光谱分类方法, 分类效果优于SVM和K均值(K-means)算法。 石超君[8]等提出一种基于卷积神经网络(CNN)的K和F型恒星光谱分类方法, 并与SVM、 误差反向传播算法(BP)对比, 证明了CNN的优越性。 Wen[9]等将u、 g、 r、 i、 z、 J和H的光度做为机器学习的特征, 用KNN、 决策树、 随机森林和SVM等机器学习方法对G、 K、 M、 F、 A类恒星光谱进行分类, 比较各自的性能。 许婷婷[10]等人采用了深度信念网络对光谱数据进行分层特征学习, 采用BP算法对整个模型进行微调, 将其应用在F、 G和K 三种恒星光谱的分类中。 Du[11]等采用贝叶斯支持向量机方法对M型星光谱子类数据进行分类。

上述分类方法都是针对相邻两类、 部分类或者子类恒星光谱进行分类, 原因是O型星光谱数量远远小于其他类型光谱数量, 造成数据集严重不平衡, 用传统的机器学习方法和卷积神经网络进行全分类效果不佳。 Zheng[12]等尝试使用1D SGAN扩充O型星样本, 选取高信噪比O型星光谱作为模板光谱, 得到O型星分类准确率为88.5%。 本文使用一维卷积神经网络和一维生成对抗网络相结合的半监督学习模式对七类恒星光谱进行全分类, 进一步提高了O型星光谱的分类准确率。

1 光谱数据处理
1.1 光谱裁剪

考虑到光谱信息主要存在的波段范围, 对光谱进行裁剪, 波长覆盖范围为370.00~867.16 nm, 并重新采样以保证数据格式相同。 经过预处理后, 每个光谱都是一个1× 3 700的数组。 用数据集中的行数表示其包含的光谱数, 每个数据集是一个二维矩阵, 方便深度学习模型后续的预处理操作和计算过程。

1.2 光谱去噪

光谱数据中的噪声会严重影响光谱特征提取, 降低光谱分类的精度。 中值滤波可以有效去除脉冲噪声, 并已成功应用于SDSS和LAMOST中的碳星搜索[13]。 本文使用宽度为0.3 nm的中值滤波来去除光谱数据中狭窄的天光线和脉冲噪声, 如图1所示。 可以看出, 天光线和脉冲噪声在一定程序上被去除了。

图1 中值滤波去除光谱噪声Fig.1 A spectrum filtered by a median filter

1.3 归一化

由于宇宙中各天体的亮度和距离不同, 观测天体时天文望远镜所获得的能量也不相同, 所以恒星光谱数据差异很大, 需要进行归一化处理, 以保证模型训练的稳定性。 常见的数据归一化方法见式(1)— 式(3)。 其中x=(x1, x2, …, xn)表示一个光谱的特征向量, x* 表示归一化光谱, μ σ x的均值和方差。

x* =x-xminxmax-xmin(1)

x* =x-μσ(2)

x* =xxmax(3)

文中用Nmax-min表示最大最小归一化法, 用NZ-score表示Z-score归一化法, 用Nmax表示最大归一化法。 原始光谱及归一化后的结果如图2所示。 可以看出, 归一化后, 恒星光谱数据的所有通量值都映射到同一数量级的特定范围内, 同时保留原始光谱数据中特征之间的相对大小关系。

图2 原始光谱和归一化光谱Fig.2 The original spectrum and the normalized spectrum

2 对除O型星外的六类光谱分类
2.1 CNN分类器结构及参数

考虑到光谱的特殊性, 本文设计了一维CNN作为分类器, 使用了不同的卷积核大小、 特征图数目和卷积层数。 此外为了避免过拟合并提高模型对未知数据的预测能力, 在全连接层和池化层之间添加正则项Dropout。 图3显示了本文设计的一维CNN的网络结构和参数。

图3 CNN分类网络结构和参数Fig.3 The structure and parametes of CNN classification network

网络输入层大小为1× 3 700, 最后输出为一个1× 6的向量, 对应恒星光谱除O型星以外的六个类别。 卷积核对权重矩阵(ω (m))和偏置向量(b(m))进行卷积运算, 利用Relu激活函数(σ (· ))生成特征图, 其个数为m,

h(m)=σi=04j=04xi, jωi, j(m)+b(m)(4)

为了降低计算复杂度, 使用最大池化操作 Oi, j=maxmaxhq, rm实现特征压缩, 这里 q,  r(2i,  2j),  (2i+1,  2j),  (2i,  2j+1),  (2i+1,  2j+1)所有的特征图经过四层的卷积和池化操作后, 输出为一个一维向量, 然后再经过一个全连接网络yc,

yc=ϕj=0f-1fjωj, c+bc(5)

式(5)中, bc为偏置, ω 为权重矩阵。 最后通过Softmax函数输出一个能够代表光谱类型的一维分类向量, 这样整个卷积神经网络完成一次迭代过程。 通过多次迭代, 网络模型不断更新内部的权重矩阵, 当模型的分类准确率收敛到一定程度时, 将模型的参数保存下来。

2.2 基于CNN的六类恒星光谱分类

数据集: 随机选择的光谱来自LAMOST于2021年9月底发布的DR7数据集(v2.0版本)。 其中B、 A、 G、 F、 K和M每类各1 000条, 总共6 000条作为训练样本, 每类各400条, 总共2 400条作为验证样本。

实验参数: 网络结构及参数设置如图3所示。 训练的最小批量为500, 训练迭代次数为3 000次, 学习率为1× 10-4。 通过超参数调整, 最终得到三种归一化方法对应的分类准确率如图4所示。

图4 三种归一化方法对应的准确率Fig.4 The accuracy of three normalization methods

可以看出, 三种归一化方法对六类恒星光谱的分类准确率都在95%以上, 分类效果良好。 最大最小归一化法和最大归一化法在准确率和损失上都非常接近。 而Z-score归一化法准确率最高, 损失最小, 并且收敛速度最快。

图5是Z-score归一化法的训练准确率和验证准确率随迭代次数的变化曲线, 迭代初期验证准确率上升很快, 但当迭代数次接近500时, 出现了比较明显的过拟合现象, 这对训练CNN网络用于提升恒星分类准确率, 并应用于数据挖掘是不利的。 此外, 考虑到用GAN网络扩充O型星时的数据统一要求, 后续的CNN网络采用最大最小归一化方法。

图5 Z-score归一化准确率随迭代次数的变化Fig.5 The accuracy of Z-score normalization varies with iterations

表1是对B、 A、 G、 F、 K和M六类恒星光谱进行分类的结果。 以B型星为例, P指被正确分类为B型星的光谱条数与模型分类结果中B型星光谱条数的比值, R指被正确分

类为B型星的光谱条数与验证集中B型星光谱条数的比值, F1-score是PR的调和平均值, 计算公式为

F1score=2PR(P+R)(6)

表1可见, 该CNN分类效果良好, 平均分类准确率达到98.08%, 明显高于其他分类网络[8]

表1 分类实验结果 Table 1 Classification experiment result
3 恒星光谱全分类

LAMOST DR7(v2.0版本)中O型星光谱数量仅为129条, 而其他类型恒星的光谱数量可以达到几十万甚至上百万条, 导致数据集严重不平衡, 因此必须使用平衡后的数据集对分类器进行训练。

3.1 GAN网络

因为过采样不能有效避免训练的过度拟合, 本节采用GAN来扩充少类样本, GAN的结构及相关参数如图6所示。

图6 GAN结构图及参数Fig.6 The structure and parametes of GAN network

GAN的训练过程如下: 首先向生成器(Generator)中输入噪声数据, 训练过程中发现将噪声的维度设置为1× 900较为合适, 因为维度较高时系统容易崩溃, 而维度较低时生成的光谱质量较差。 噪声数据经过生成器中的全连接的三层跨步卷积运算, 最终输出为一批大小为1× 3 700的数据, 意味着生成器完成一次训练。 将生成的O型星光谱标记为“ 0” , 真实的O型星光谱标记为“ 1” , 送入判别器。 在标记过程中, 为使网络的收敛更加容易, 采用双边标记平滑的操作。 在每一次迭代中, 为了保证网络的稳定性和快速收敛性, 采用分别对判别器和发生器进行一次和两次训练。 迭代次数设置为5 000次, 通过这样的单独交替迭代训练, 最终生成需要数量的O型星样本。

考虑到信噪比对光谱特性的影响, 本文把O型星光谱信噪比分为0— 20、 20— 50和> 50三个区间, 每个区间选择三条光谱作为模板光谱, 分别计算其与生成光谱之间的欧氏距离, 以此衡量生成光谱与真实光谱的相似度。 图7显示了生成的O型星光谱与真实光谱之间的比较, 两条光谱在连续谱和吸收谱上都很相似。

图7 真实光谱和生成光谱的比较Fig.7 The comparison between real spectrum and generated spectrum

3.2 七类恒星光谱分类

把2.1节设计的CNN分类器的输出向量改为1× 7, 分别对原始数据集、 过采样扩充的数据集和GAN扩充的数据集进行七类光谱分类, 其分类准确率如表2所示。 原始数据集中O型星的数量极少, 选择81条用于训练, 48条用于验证, 分类准确率只有72.92%。

表2 不同数据集分类准确率(%) Table 2 Classification accuracy (%) of different data sets

上述实验中, 除O型星外的六类光谱的数据集不变。 对原始数据集直接分类时使用的都是真实的O型星样本, 但由于样本数过少, 分类准确率较低。 从表2中的数据可以看出, 利用过采样扩充数据集, 将O型星分类准确率提高到91.83%, 而利用GAN扩充数据集使得O型星分类准确率达到97.92%, 平均分类准确率达到96.28%, 均高于文献[12]中的结果。 这也说明GAN网络生成的O型星样本与真实样本相似度很高, 可以有效提升稀少类样本的分类准确率。 从表中得出这几种分类结果的平均分类准确率都高于95%, 证明2.1节设计的CNN模型具有较高精度和鲁棒性, 可以用于未知类别的天文光谱挖掘。

为了更好地分析恒星光谱全分类时各类之间的关系, 图8给出了采用原始数据集、 过采样扩充数据集和GAN扩充数据集对7类恒星进行分类的混淆矩阵。 从图中可以看出, 光谱分类结果较好地集中在对角线上, 说明分类网络CNN已经收敛。 从分类数值上可以看出, 绝大多数样本预测分类结果都和实际类别值一致, 说明该CNN模型对7类恒星光谱分类具有较高的准确率, 错分的光谱几乎都是相邻型, 这是因为相邻型光谱具有相似性。 把图8的分类结果和表2中的数值相比较可以看出, 加入O型星数据集后, B型星分类准确率有较明显下降, 这是因为B型星的大多数谱线都很弱, 更容易受到相邻光谱型的影响产生错分。

图8 不同数据集的混淆矩阵
(a): 原始数据集; (b): 过采样扩充数据集; (c): GAN扩充数据集
Fig.8 The confusion matrices for different data sets
(a): Original data set; (b): Expanded data set by oversampling; (c): Expanded data set by GAN

4 结论

针对恒星光谱中O型星数量稀少导致数据集严重不平衡的问题, 使用GAN生成O型星光谱扩充数据集, 结合CNN分类网络, 实现对LAMOST DR7恒星光谱的全分类, 大大提高稀少类的分类准确率。 对于不包含O型星的B、 A、 F、 G、 K和M型星, 总的分类准确率为98.08%。 使用GAN平衡数据集后, O型星分类准确率从72.92%提升到97.92%, 总的分类准确率达到96.28%。 表明比起过采样, 本文采用的基于半监督模式的分类模型可以有效提升光谱的利用率, 提高恒星光谱的分类准确率, 据此可以建立一种通用的光谱挖掘方案, 为天文学家提供更多有价值的光谱数据。

参考文献
[1] Li Xiangru, Pan Ruyang, Duan Fuqing. Research in Astronomy and Astrophysics, 2017, 17(4): 36. [本文引用:1]
[2] Morgan W, Keenan P. Annual Review of Astronomy and Astrophysics, 1973, 11: 29. [本文引用:1]
[3] Du Bing, Luo A-li, Zhang Shuo, et al. Research in Astronomy and Astrophysics, 2021, 21(8): 202. [本文引用:1]
[4] Fan J, Han F, Liu H. Nationanl Science Review, 2014, 1(2): 293. [本文引用:1]
[5] Schierscher F, Paunzen E. Astronomische Nachrichten, 2011, 332(6): 597. [本文引用:1]
[6] Liu C, Cui W Y, Zhang B, et al. Research in Astronomy and Astrophysics, 2015, 15(8): 1137. [本文引用:1]
[7] Kheirdastan S, Bazarghan M. Astrophysics and Space Science, 2016, 361(9): 304. [本文引用:1]
[8] SHI Chao-jun, QIU Bo, ZHOU Ya-tong, et al(石超君, 邱波, 周亚同, ). Spectroscopy and Spectral Analysis(光谱学与光谱分析), 2019, 39(4): 1312. [本文引用:2]
[9] Wen Xiaoqing, Yang Jinmeng. Chinese Journal of Physics, 2021, 69: 303. [本文引用:1]
[10] XU Ting-ting, MA Chen-ye, ZHANG Jing-min, et al(许婷婷, 马晨晔, 张静敏, ). Acta Astronomica Sinica(天文学报), 2019, 60(2): 11. [本文引用:1]
[11] Du Changde, Luo Ali, Yang Haifeng. New Astronomy, 2017, 51: 51. [本文引用:1]
[12] Zheng Zipeng, Qiu Bo, Luo A-li, et al. Publications of the Astronomical Society of the Pacific, 2020, 132: 024504. [本文引用:2]
[13] Si Jianmin, Li Yinbi, Luo A-li, et al. Research in Astronomy and Astrophysics, 2015, 15(10): 1671. [本文引用:1]