張靜敏 馬晨曄 王 璐 杜利婷 許婷婷 艾霖嬪 周衛(wèi)紅
(1 云南民族大學(xué)數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院昆明650500)
(2 云南農(nóng)業(yè)職業(yè)技術(shù)學(xué)院經(jīng)濟(jì)管理學(xué)院昆明650031)
(3 廣州大學(xué)物理與電子工程學(xué)院廣州510006)
(4 中國科學(xué)院天體結(jié)構(gòu)與演化重點實驗室昆明650011)
大天區(qū)面積多目標(biāo)光纖光譜天文望遠(yuǎn)鏡(the Large Sky Area Multi-Object Fiber Spectroscopic Telescope, LAMOST)[1]也稱為郭守敬望遠(yuǎn)鏡, 是一架橫臥南北方向的中星儀式反射施密特望遠(yuǎn)鏡.自2011年啟動大視場、多光纖光譜巡天觀測, LAMOST已順利走完8 yr的巡天之路.2017年6月, LAMOST第1期低分辨率巡天圓滿結(jié)束.2017年9月1日開始, LAMOST開始了第2期中分辨率巡天, 目前獲得的中分辨率的高質(zhì)量光譜數(shù)據(jù)已達(dá)140萬條左右.2019年3月27日, 包含先導(dǎo)巡天及前6 yr正式巡天的LAMOST Data Release 6 (DR6)數(shù)據(jù)集正式面向國內(nèi)天文學(xué)家和國際合作者發(fā)布.LAMOST DR6共包含1125萬條光譜, 其中高質(zhì)量光譜達(dá)到了937萬條, 約是國際上其他巡天項目發(fā)布光譜數(shù)之和的2倍, LAMOST成為了全世界獲取光譜數(shù)第1個超過千萬量級的巡天項目.
LAMOST的科學(xué)目標(biāo)[2]之一是建立完善正確的恒星演化理論, 因此將恒星按照正確的特征進(jìn)行分類至關(guān)重要.LAMOST巡天項目的快速發(fā)展對恒星光譜的自動分類和高效處理提出了更高的要求, 光譜特征提取[3]是恒星光譜自動分類的關(guān)鍵步驟, 信息豐富且無冗余的特征利于構(gòu)建有效的特征空間進(jìn)行分類識別.Chen等[4]采用K-means聚類算法, 利用AstroStat軟件對LAMOST光譜的線指數(shù)進(jìn)行聚類.利用線指數(shù)分析天文光譜是對低分辨率光譜進(jìn)行特征提取的有效方法, 線指數(shù)能代表恒星的主要光譜特征, 結(jié)果表明對線指數(shù)聚類可以有效檢查數(shù)據(jù)質(zhì)量和識別罕見對象.Wang等[5]則提出了一種新的自動光譜特征提取方法, 并基于此采用深度神經(jīng)網(wǎng)絡(luò)模型應(yīng)用到光譜分類研究和缺陷譜恢復(fù)研究中.
在恒星光譜數(shù)據(jù)的分類研究方面, 劉中田等[6]提出一種恒星自動識別方法對SDSS(the Sloan Digital Sky Survey) DR4的光譜數(shù)據(jù)進(jìn)行測試, 最后的測試結(jié)果顯示M型星的分類精度高達(dá)98%; Zhong等[7]提出了一種模板匹配方法自動識別LAMOST晚期K型和M型矮星; 潘景昌等[8]利用貝葉斯方法對恒星光譜進(jìn)行分類, 提高了恒星光譜數(shù)據(jù)的處理效率; Liu等[9]則計算了恒星光譜數(shù)據(jù)的線指數(shù), 基于支持向量機(jī)(Support Vector Machine, SVM)進(jìn)行分類, 結(jié)果顯示A型和G型星的分類精度在90%以上, K型和OB型星的分類精度則低于50%, 有待提升.
面對快速增長的LAMOST巡天數(shù)據(jù), 需要更高效智能的方法和工具去提高LAMOST望遠(yuǎn)鏡的科學(xué)產(chǎn)出.近年來, 機(jī)器學(xué)習(xí)尤其是深度學(xué)習(xí)在天體光譜分類上得到了廣泛應(yīng)用, 并取得一系列研究成果.Bai等[10]綜合Pan-STARRS (Panoramic Survey Telescope And Rapid Response System) 1和WISE (Wide-field Infrared Survey Explorer)發(fā)布的ALLWISE數(shù)據(jù), 應(yīng)用機(jī)器學(xué)習(xí)對GAIA (Global Astrometric Interferometer for Astrophysics) DR2中85613922個數(shù)據(jù)對象進(jìn)行分類識別, 并將分類結(jié)果與Simbad數(shù)據(jù)庫進(jìn)行了交叉匹配, 最終得到的分類準(zhǔn)確率為91.9%.為測量500 m口徑球面射電望遠(yuǎn)鏡(FAST)反射器上2226個節(jié)點的位置, Zhang等[11]采用帶候選區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)對圖片中的節(jié)點進(jìn)行檢測, 實驗結(jié)果表明識別率高達(dá)91.5%, 高于傳統(tǒng)邊緣檢測的識別率.石超君等[12]基于卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建了一個分類器, 對F型和K型星光譜自動分類, 并與SVM、誤差反向傳播算法對比, 采用交叉驗證方法驗證分類器性能.可見在圖像視覺領(lǐng)域廣泛應(yīng)用的卷積神經(jīng)網(wǎng)絡(luò)同樣適用于天體光譜分類任務(wù).
本文采用了深度學(xué)習(xí)中一種經(jīng)典且有效的深度卷積網(wǎng)絡(luò)Inception v3, 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)[13]是一種具有局部連接、權(quán)重共享、匯聚特性的深層前饋神經(jīng)網(wǎng)絡(luò), 一般由卷積層、匯聚層和全連接層交叉堆疊而成.在CNN的卷積運算中, 1維卷積經(jīng)常用于信號處理, 2維卷積則常用于圖像處理, CNN在圖像的分類識別上已經(jīng)取得了長足的發(fā)展.由于恒星光譜數(shù)據(jù)是1維的, 為了充分利用CNN在圖像處理上的優(yōu)勢, 提出一種新的基于2維傅里葉譜圖像的特征提取方式, 通過短時傅里葉變換(Short-Time Fourier Transform, STFT)將原始1維光譜數(shù)據(jù)變換成2維傅里葉譜圖像,由于變換形成新的能量分布, 構(gòu)建了新的圖像特征.為驗證此特征提取方法的性能, 選取30000條LAMOST DR5中的F、G和K型3種恒星光譜數(shù)據(jù), 將原始恒星光譜數(shù)據(jù)變換成2維傅里葉譜圖像, 并采用CNN中的Inception v3網(wǎng)絡(luò)進(jìn)行圖像分類, 得到了較高的恒星光譜數(shù)據(jù)分類精度.
文章安排如下: 第2節(jié)介紹新的光譜數(shù)據(jù)特征生成方法; 第3節(jié)中我們采用CNN方法對新生成的特征圖像進(jìn)行了分類研究和實驗; 第4節(jié)對分類實驗結(jié)果進(jìn)行了分析討論;第5節(jié)為結(jié)語.
作為頻域分析的基本工具, 傅里葉變換是信號在時域和頻域運算的溝通橋梁, 但信號在傅里葉變換后丟失了時域信息.STFT在傅里葉分析的基本變換函數(shù)前乘上一個時間有限的時限函數(shù), 即窗函數(shù), 從而把一個較長的時間信號分成相同長度的更短的信號段, 在每個信號段上進(jìn)行傅里葉變換, 實現(xiàn)了時域上的局部化.STFT定義了一個有效的時間和頻率分布類, 利用STFT可以通過時間窗內(nèi)的1段信號表示某一時刻的信號特征.對信號Z(u)進(jìn)行STFT的公式如下:
其中, Z(u)為時間段u上的源信號, g(u ?t)為以時刻t為中心的窗函數(shù), 當(dāng)t取不同值時g(u ?t)在信號Z(u)上滑動, j是虛數(shù)單位, ω是信號函數(shù)中的基頻.STFT先把一個函數(shù)和窗函數(shù)相乘, 再進(jìn)行傅里葉變換, 并通過窗函數(shù)的滑動得到一系列的頻譜函數(shù), 將這些結(jié)果依次展開可以得到一個2維時頻圖.本文利用STFT的這一特性將1維的恒星光譜數(shù)據(jù)變換成2維傅里葉譜圖像.
本文實驗樣本為取自LAMOST DR5數(shù)據(jù)庫中的30000條恒星光譜數(shù)據(jù)(信噪比大于20), 這些數(shù)據(jù)在LAMOST 5D pipeline下被歸類為F、G和K型光譜.其中, 每種恒星光譜數(shù)據(jù)各10000條.這些恒星光譜數(shù)據(jù)的波長范圍在3700–9100之間, 每1條恒星光譜數(shù)據(jù)包含了恒星在不同波長下的一系列輻射強(qiáng)度值, 即流量強(qiáng)度值.
同一條恒星光譜數(shù)據(jù)在不同波長下的流量值可能存在巨大的差異, 影響后續(xù)的數(shù)據(jù)處理和分析, 因此需要對原始數(shù)據(jù)進(jìn)行歸一化處理, 以消除流量值變化區(qū)間處于不同數(shù)量級的問題.本文采用以下歸一化方法:
其中, b=(b1,b2,...,bn)表示一條原始恒星光譜數(shù)據(jù), b1,b2,··· ,bn表示給定波長下所對應(yīng)的n個流量值, bnorm表示歸一化后的恒星光譜數(shù)據(jù), bmax表示b1,b2,··· ,bn中的最大值,即在某一波長下的流量值達(dá)到最大.歸一化處理后, 恒星光譜數(shù)據(jù)中的所有流量值均映射到[0, 1]之間, 數(shù)量級相同, 且仍然保留了原始光譜數(shù)據(jù)中各特征間的相對大小關(guān)系.在LAMOST DR5數(shù)據(jù)庫中, 每1條光譜都有唯一的天體編號OBSID, 一條F型星光譜數(shù)據(jù)(OBSID: 492302245)在歸一化處理前后的對比圖如圖1所示.
圖1 原始恒星光譜數(shù)據(jù)和歸一化后的恒星光譜數(shù)據(jù)Fig.1 Original stellar spectral data and normalized stellar spectral data
在圖像分類上, CNN通過卷積提取對分類識別有效的圖像特征.對于1維恒星光譜數(shù)據(jù), 要想充分利用CNN的優(yōu)勢, 就不能直接作為數(shù)據(jù)輸入.對此, 提出一種新的基于STFT的特征提取方式, 利用STFT的時頻解析性質(zhì), 把歸一化后的1維恒星光譜數(shù)據(jù)變換成2維傅里葉譜圖像.
對于恒星光譜數(shù)據(jù), 將不同波長下所對應(yīng)的流量強(qiáng)度值按照波長大小有序排列, 呈現(xiàn)出的是一幅不斷上下波動的能量分布圖.基于此, 將恒星光譜數(shù)據(jù)看作某種意義上的能量信號, 并進(jìn)行STFT.實驗利用Python中核心是STFT的specgram函數(shù)來得到恒星光譜數(shù)據(jù)的2維傅里葉譜圖像.
Python中的specgram函數(shù)中的主要參數(shù)如下:
其中, x是信號, 為1維數(shù)組或序列, window是窗函數(shù), noverlap是幀重疊點數(shù), nfft是傅里葉點數(shù), fs是采樣率.利用specgram函數(shù)可計算并繪制x中數(shù)據(jù)的2維譜圖.其關(guān)鍵是利用窗函數(shù)將x中的數(shù)據(jù)分成nfft個數(shù)據(jù)段, 并分別計算每部分的頻譜, 最后以彩圖的形式繪制出頻譜圖.其中, window窗口將應(yīng)用于每段數(shù)據(jù), 每段數(shù)據(jù)的重疊量用noverlap指定.對于1維恒星光譜數(shù)據(jù), 在經(jīng)過歸一化處理后通過specgram函數(shù)(采樣率設(shè)為2)可變換成2維傅里葉譜圖像, 如圖2所示.
圖2 歸一化后的1維恒星光譜數(shù)據(jù)和生成后的2維傅里葉譜圖像, f是流量值在單位波長內(nèi)變化的次數(shù).Fig.2 Normalized one-dimensional stellar spectral data and generated two-dimensional Fourier spectral image, f means the changing times of fluxes in a unit wavelength.
圖2中第1列是歸一化后的恒星光譜數(shù)據(jù), 第2列是對上述歸一化后的恒星光譜數(shù)據(jù)進(jìn)行STFT后所生成的對應(yīng)2維傅里葉譜圖像, 可以看到其中出現(xiàn)了新的特征.譜圖像是恒星光譜的一種新的譜線能量分布, 用2維平面表達(dá)3維信息; 與STFT傳統(tǒng)的時頻域應(yīng)用不同, 譜圖像的橫坐標(biāo)是和LAMOST觀測譜線波長范圍(3700–9100)對應(yīng)的連續(xù)譜采樣點, 原始的譜線數(shù)據(jù)約為4000個采樣點, 圖中所示為進(jìn)行了2次采樣后采樣點(約2000個)的譜線能量分布圖(2次采樣是為了降低數(shù)據(jù)維度, 也可以不進(jìn)行2次采樣),為處理方便, 采樣點編號從0開始; 縱坐標(biāo)是流量值在單位波長內(nèi)變化的次數(shù), 2維平面上的坐標(biāo)點值為光譜在某一波長下的能量強(qiáng)度, 能量值的大小通過顏色來表示, 顏色越深越亮表示該點能量越強(qiáng).圖2中3條恒星光譜數(shù)據(jù)的OBSID分別為: 492302245 (上)、15005130 (中)、546402094 (下).
大數(shù)據(jù)時代的來臨推動了深度學(xué)習(xí)以及神經(jīng)網(wǎng)絡(luò)的快速發(fā)展, 作為深度學(xué)習(xí)中的一種神經(jīng)網(wǎng)絡(luò), CNN主要應(yīng)用于圖像以及視頻分析等任務(wù), 尤其是在處理諸如圖像這種2維結(jié)構(gòu)的數(shù)據(jù)上, CNN取得了巨大的成功.經(jīng)典的CNN網(wǎng)絡(luò)有LeNet-5、AlexNet、GoogLeNet等.Inception網(wǎng)絡(luò)最早的v1版本就是非常著名的GoogLeNet, 并贏得了2014年ImageNet圖像分類競賽的冠軍.
深度學(xué)習(xí)的優(yōu)勢在于非線性關(guān)系的探索以及表現(xiàn)上, 理論上足夠深層次的神經(jīng)網(wǎng)絡(luò)可以擬合任何復(fù)雜的關(guān)系函數(shù).因此一般來說, 提升網(wǎng)絡(luò)性能最直接的方式就是增加網(wǎng)絡(luò)的大小, 即增加網(wǎng)絡(luò)的深度或者寬度, 但這樣的簡單處理容易致使網(wǎng)絡(luò)陷入過擬合、梯度消失、網(wǎng)絡(luò)計算量增大等問題.對此, 深度卷積網(wǎng)絡(luò)中的Inception網(wǎng)絡(luò)構(gòu)建了Inception模塊來提升訓(xùn)練效果.在Inception模塊中, 一個卷積層實現(xiàn)了多個不同大小的卷積并行操作, 在相同的計算量下能提取到更多的特征, 更高效地利用了計算資源, 提升了訓(xùn)練效果.Inception網(wǎng)絡(luò)有多個改進(jìn)版本, 其中較有代表性的是Inception v3網(wǎng)絡(luò).Inception v3網(wǎng)絡(luò)將大的卷積核替換成多層的小卷積核, 以減少計算量和參數(shù)量, 同時保持感受野不變.Inception v3的網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示.
圖3 Inception v3結(jié)構(gòu)Fig.3 Structure diagram of the Inception v3
Inception v3模型共46層, 由11個Inception模塊以及少量匯聚層堆疊而成, 包含卷積層(Convolution)、最大池化層(MaxPool)、均值池化層(AvgPool)、連接層(Concat)、屏蔽層(Dropout)、激活層(Softmax)、全連接層(Fully connected), 圖3中方框所標(biāo)注出來的結(jié)構(gòu)就是一個Inception模塊.在卷積神經(jīng)網(wǎng)絡(luò)中, 不同的卷積核相當(dāng)于不同的特征提取器, Inception v3網(wǎng)絡(luò)以并聯(lián)的方式將不同的卷積層結(jié)合起來, 即同時使用不同尺寸的卷積核, 最后將得到的矩陣拼接起來, 從而更加靈活地進(jìn)行特征提取.
通過STFT將30000條恒星光譜數(shù)據(jù)生成2維傅里葉譜圖像后, 譜圖像形成了新的特征.為驗證該特征提取方法的性能, 采用深度卷積網(wǎng)絡(luò)中的Inception v3網(wǎng)絡(luò)對2維譜圖像進(jìn)行分類識別.其中, 學(xué)習(xí)率為0.05, 迭代次數(shù)為4000, 驗證集3000條, 測試集3000條.訓(xùn)練過程中, 每次隨機(jī)訓(xùn)練100個樣本, 每訓(xùn)練100次在驗證集上進(jìn)行一次數(shù)據(jù)驗證, 不同迭代次數(shù)下的驗證集分類準(zhǔn)確率如圖4所示.
圖4 不同迭代次數(shù)下的驗證集分類準(zhǔn)確率Fig.4 Classification accuracy of the validation set under different iterations
由圖4可知, 隨著迭代次數(shù)的增加, 驗證集分類準(zhǔn)確率也隨之上升.圖中顯示驗證集分類準(zhǔn)確率曲線一直呈上升趨勢, 從最初的快速增長到趨于平緩, 最后驗證集分類準(zhǔn)確率穩(wěn)定在90%以上, 可見隨著訓(xùn)練次數(shù)的增加, Inception v3網(wǎng)絡(luò)的訓(xùn)練效果越來越好;在訓(xùn)練驗證交叉進(jìn)行的過程完成后, 在測試集數(shù)據(jù)上得到高達(dá)92.90%的分類準(zhǔn)確率.
Wang等[5]提出了一種光譜特征提取方法, 對原始數(shù)據(jù)提取了721個光譜特征, 基于此訓(xùn)練了兩種深度神經(jīng)網(wǎng)絡(luò), 分別表示為PILDNN (表示基于偽逆學(xué)習(xí)算法的深度神經(jīng)網(wǎng)絡(luò))和PILDNN* (表示將每條光譜作為輸入向量時分為4個階段并基于偽逆學(xué)習(xí)算法的深度神經(jīng)網(wǎng)絡(luò)),選取了LAMOST DR1數(shù)據(jù)庫中的50000條F、G和K型3種恒星光譜進(jìn)行分類實驗.作為對比, 我們將文獻(xiàn)[5]中的實驗與本實驗分類結(jié)果作對比, 分類結(jié)果見表1.
雖然本實驗與文獻(xiàn)[5]中的實驗樣本數(shù)目不同, 但樣本數(shù)據(jù)都是選取自LAMOST數(shù)據(jù)庫, 數(shù)據(jù)類型都是F、G和K型3種恒星光譜數(shù)據(jù).由表1可知, 基于我們的傅里葉譜圖像特征及Inception v3網(wǎng)絡(luò)的實驗在分類精度上有較大提升.
由于光譜數(shù)據(jù)是典型的高維數(shù)據(jù), 在已有的大多數(shù)光譜分類算法中, 大多先采用一定的算法(比如利用線指數(shù)特征、偽逆學(xué)習(xí)特征以及采用PCA (Principal Component Analysis)等方法)將光譜數(shù)據(jù)進(jìn)行降維、提取特征, 然后再采用相應(yīng)的算法進(jìn)行分類等應(yīng)用.我們將1維的LAMOST恒星光譜數(shù)據(jù)進(jìn)行短時傅里葉變換, 生成一種新的2維特征譜圖像, 再結(jié)合CNN在2維圖像分類中無與倫比的性能優(yōu)勢, 提出一種全新的光譜圖像特征變換提取和構(gòu)造方法, 實驗結(jié)果證明了方法的有效性.
表1 與文獻(xiàn)[5]分類結(jié)果比較Table 1 Compared with the classification results in Ref.[5]
從原理上分析, 已有的很多算法對數(shù)據(jù)的處理都是首先進(jìn)行降維.降維雖然減少了后續(xù)數(shù)據(jù)處理的復(fù)雜性和計算量, 但降維的同時毫無疑問丟失了一定的數(shù)據(jù)特征信息,將不可避免地造成分類精度下降.相反, 我們提出的短時傅里葉變換特征譜圖像方法, 對數(shù)據(jù)進(jìn)行了升維, 將1維的光譜數(shù)據(jù)升到2維的傅里葉譜圖像.該光譜特征提取方法不但沒有丟失特征信息, 并且由于光譜通過傅里葉變換形成了新的能量分布, 構(gòu)成了新的適合分類的圖像特征, 結(jié)合CNN在2維圖像分類上的優(yōu)勢, 大大提高了分類精度.我們提出的新方法為海量天體光譜數(shù)據(jù)的處理提供了一種新思路, 具有一定的開創(chuàng)意義.
本文提出一種新的基于2維傅里葉譜圖像的恒星光譜特征提取方法, 通過此方法將1維恒星光譜數(shù)據(jù)變換成2維傅里葉譜圖像, 構(gòu)造出新的特征空間; 結(jié)合CNN在2維圖像分類上的優(yōu)勢, 提出一種新的光譜數(shù)據(jù)分類方法.針對LAMOST的F、G和K型3種恒星光譜數(shù)據(jù), 通過STFT將恒星光譜數(shù)據(jù)生成2維傅里葉譜圖像, 并基于此采用卷積神經(jīng)網(wǎng)絡(luò)中的Inception v3網(wǎng)絡(luò)對得到的2維傅里葉譜圖像進(jìn)行分類, 最后得到的分類精度為92.90%, 結(jié)果驗證了該特征提取方法的優(yōu)越性能.