洪舒欣鄒志強? 徐靈哲
(1 南京郵電大學計算機學院南京 210023)
(2 江蘇省大數據安全與智能處理重點實驗室南京 210023)
(3 中國科學院國家天文臺南京天文光學技術研究所望遠鏡新技術研究室南京 210042)
從古至今,人類對宇宙的探索就從未停止過,從人類觀察天象、天體開始算起,天文學已經有5000多年的歷史了.隨著科技的進步,當前的大型天文望遠鏡已經可以同時觀測數千個天體目標,每個觀測夜晚可以采集到數萬條天體光譜.我國的郭守敬望遠鏡(Large Sky Area Multi-object Fiber Spectroscopic Telescope,LAMOST)可以同時獲得4000條天體光譜,是當今世界上光譜獲取率最高的天文望遠鏡[1].LAMOST光譜巡天主要包含兩個部分:LAMOST河外巡天(LEGAS)和LAMOST銀河系巡天(LEGUE)[2].2019年3月,LAMOST Data Release 6 (DR6)數據集對海內外研究者正式公布,該數據集一共包含了4902個觀測天區(qū),收集了1125萬條光譜數據,可供專家學者分析和研究.面對海量的天文光譜數據[3],LAMOST的數據處理管道軟件(Pipeline)對所有光譜進行了分類.然而該Pipeline采用的是基于交叉相關的模版匹配方法,盡管較好地完成了光譜分類任務,但該方法運算量大、對模板的依賴大,在處理低質量光譜時有一定的困難,迫切需要研究出能夠高效準確地識別、分析和處理天文光譜數據的自動化方法.
本文分為以下幾個部分:第2節(jié)主要介紹了天體分類的相關研究.第3節(jié)描述了實驗使用的數據集和相應的數據預處理,并詳細介紹了使用的理論和設計的模型.第4節(jié)介紹了實驗驗證與性能評估,將實驗結果和其他模型進行了對比討論.第5節(jié)是我們的結論和對未來工作的展望.
天文光譜分類是天文研究的重要組成部分,恒星是構成星系和宇宙的基本單元.恒星的分類,不僅有助于了解恒星物理學,而且可以推動對銀河系的整體結構和演化的研究.當前對恒星光譜分類的方法主要有兩大類:模式匹配方法和機器學習方法.
模式匹配方法是通過肉眼比較光譜與少量標準恒星樣本來完成的,目前最通用的恒星分類方式是由美國天文學家摩根和基南在20世紀40年代提出的MK (Morgan-Keenan)分類系統(tǒng),它的判別依據是恒星光譜中的特征譜線、譜帶以及這些譜線和譜帶的相對強度.盡管已經通過開發(fā)自動軟件努力使MK分類過程自動化(例如Gray等[4]),但是由于巡天項目采集到的恒星光譜信噪比范圍很廣,使得光譜特征不像少數觀測良好的高質量標準光譜那樣清晰,所以觀測到的恒星光譜很難與標準光譜進行匹配.而且標準恒星樣本通常非常明亮且位于太陽附近,而新的光譜研究可以探測深空目標,因此當前的標準恒星庫并不完整[5].
機器學習[6]方法可以通過學習大量光譜的特征訓練識別光譜的能力,從而對無標簽的光譜進行自動分類.隨著機器學習研究與應用的深入,越來越多的機器學習方法被用于天文光譜數據的分析與處理[7–8].Liu等[5]將支持向量機(SVM)應用到恒星光譜分類中,發(fā)現A和G型恒星的分類完備性高達90%;而OB和K型恒星的分類,由于完備性低至約50%,導致大約40%的OB型和K型恒星分別被誤分類為A型和G型恒星.此外,Elting等[9]和Saglia等[10]描述了SVM在星系-類星體分類中的應用.但是SVM算法對大規(guī)模樣本數據訓練比較困難,且在解決多分類問題時存在一定的局限.Folkes等[11]在1996年使用人工神經網絡(ANN)模型對星系樣本進行了分類.Bailer-Jones等[12]在1997年將ANN用于恒星光譜分類,對矮星和巨星在光度類型分類上準確率達到95%.
由于機器學習算法用來提取特征的層數較少,無法提取恒星光譜的更高層特征,所以機器學習的一個分支–深度學習[13–14]也已經應用到恒星光譜分類問題中[15–16].Fabbro等[17]、Zou等[18]構建了深度神經網絡,使用卷積[19–20]的方法來對光譜數據進行分類,得到了比一般神經網絡更好的效果.Hon等[21]使用一維卷積神經網絡對紅巨星進行分類,準確率達到99%.Liu等[22]建立了9層卷積網絡,對F型、G型和K型星的分類準確率分別達到90%、93%和97%.隨著模型深度的加深,提取的特征更深入,然而這樣會帶來梯度彌散或梯度爆炸的問題,殘差網絡[23]的提出解決了這一問題,可以構建極深的神經網絡,并極快地加速網絡訓練,戴加明等[24]已將深度殘差網絡用于星系形態(tài)分類.注意力機制[25–26]可以提高模型在訓練中的針對性,它能夠自動關注對分類有利的特征,而忽略無效特征.2020年,Zou等[27]提出了基于殘差和注意力機制的卷積網絡,對天體光譜的分類準確率高達98.92%.
從以上的討論可以看出,當前恒星光譜分類算法仍存在一些問題.模式匹配方法受限于目前的標準恒星庫,對質量較差的恒星光譜或者與模板沒有類似譜線特征的恒星都無法進行分類判斷.傳統(tǒng)的機器學習算法難以處理高維的海量恒星光譜數據,且對特征的提取不夠深入.由于神經網絡可以挖掘數據深層的隱式特征,所以一般的神經網絡可以實現恒星光譜型分類的任務,但是,目前仍然缺乏同時兼顧恒星光譜型和光度型的二元分類模型,故本文提出了一種基于卷積神經網絡的恒星光譜型和光度型分類模型(Classification model of Stellar Spectral type and Luminosity type based on Convolution Neural Network,CSSL-CNN).不同于一般的分類模型,CSSL-CNN分類模型針對海量高維的恒星光譜數據,構建了卷積神經網絡來提取恒星光譜的深層特征,利用注意力模塊學習重要的光譜特征,并設計了池化層對高維特征進行壓縮降維,將處理后的數據輸入Softmax分類器,最終通過訓練分類器使得我們的CSSL-CNN模型實現了對恒星在光譜型和光度型兩個維度上進行分類的功能.
本節(jié)的組織結構如下:3.1節(jié)介紹了本文工作的整體框架,3.2節(jié)詳細介紹了使用的數據集和對數據進行的預處理步驟,3.3節(jié)詳細介紹了本文CSSL-CNN分類模型的組成結構和各部分的作用.
圖1描述了我們工作的整體流程,包含以下3個部分:
圖1 整體框架Fig.1 Overall framework
(1)恒星光譜數據的獲取及預處理.LAMOST給出的天文光譜數據中包含了恒星、星系、類星體和未知4大類,本文的研究對象是其中的恒星,因此要從下載的數據集中篩選出我們需要的恒星光譜數據.由于天文光譜數據具有高維、分布不均等特點,所以要對收集到的恒星光譜數據進行壓縮、歸一化等操作,對標簽進行One-hot編碼以保持其獨立性,為后續(xù)的模型提供優(yōu)良的數據集;
(2)分類模型的構建與訓練.面對高維非線性的恒星光譜特征,采用了卷積神經網絡模型對步驟(1)中處理好的恒星光譜數據進行深層特征提取,使用反向傳播算法訓練和優(yōu)化模型;
(3)分類模型的驗證與評估.使用訓練好的模型對無標簽的恒星光譜進行分類,并且對分類結果進行評估.
我們使用的數據集來自LAMOST DR5數據集,可以在官網1http://dr5.lamost.org/中的Fits Download里進行查詢和下載.數據集里共包含71282條恒星光譜數據,每條數據都有兩個標簽,在光譜型上可以是F型、G型或K型,在光度型上可以是巨星(記為I)、亞巨星(記為III)或矮星(記為V).所有的數據共可分為9類:(F,I)、(F,III)、(F,V)、(G,I)、(G,III)、(G,V)、(K,I)、(K,III)、(K,V).每條光譜包含了3910個左右的特征,波長覆蓋了3699–9100°A的范圍,圖2是一個G型恒星的光譜示意圖,其中橫坐標是光譜波長,縱坐標是對應位置的通量.
考慮到(F,I)、(F,III)、(F,V)、(G,I)、···、(K,V)標簽是離散、無序的,如果對這9個標簽直接進行數字化處理,即僅用0、1、2、3、···、8這樣的數字來分別代表(F,I)、(F,III)、(F,V)、(G,I)、···、(K,V),則破壞了這9種類型之間的獨立性,因為數值大小會影響到權重矩陣的計算,而One-hot編碼采取M位狀態(tài)寄存器來對M個狀態(tài)進行編碼,每一個狀態(tài)都有它獨立的寄存器位,并且在任意時候只有一位是有效的.因此,本文使用了One-hot編碼,既可以保留這種編碼的獨立性使距離計算更加合理,又能使損失函數的計算變得非常方便.在經過One-hot處理后,9種標簽的編號分別為(100000000,010000000,001000000,000100000,···,000000001).
不同于一般的數據,恒星光譜數據之間的差異極大,不同波長對應的光強差別很大,因此必須要對恒星光譜數據進行歸一化處理,否則模型將會把關注點放在高強度的特征上,而忽視強度低的特征.歸一化就是將我們需要的數據經過處理后限制在0~1的范圍內,在后續(xù)使用梯度下降法求解最優(yōu)化問題時,歸一化后可以加快梯度下降的求解速度,即提升模型的收斂速度.此外,這里的歸一化處理還可以消除特征數據之間的量綱影響,解決特征指標之間的可比性問題.常用的歸一化方法有min-max標準化、z-score標準化和L2范數歸一化等,我們采用的是L2范數歸一化,這是因為L2范數是對向量各元素的平方和求平方根,它可以防止過擬合,還可以保證天體光線在傳播過程中的衰減不會影響到模型的學習[27].具體的形式化描述為:
其中,xi表示第i條光譜數據,‖xi‖2表示第i條光譜數據的L2范數,表示歸一化后的第i條光譜數據.
為了快速高效地處理海量高維的恒星光譜數據,本文提出了一種基于卷積神經網絡的CSSL-CNN分類模型,下面將對這個模型的各部分進行詳細說明.
CSSL-CNN分類模型是一種有監(jiān)督分類模型,它通過學習大量有標簽的恒星光譜數據獲得識別光譜類別的能力,從而對給出的無標簽恒星光譜數據進行高準確率的分類.
我們構建的CSSL-CNN分類模型由4個卷積層、4個注意力塊、2個池化層、2個全連接層組成,如圖3所示.
圖3 CSSL-CNN分類模型結構Fig.3 Structure of CSSLCNN
圖3中卷積層中的卷積核數量逐層增加,前兩個卷積層中各有64個長度為16的卷積核,后兩個卷積層中各有128個長度為16的卷積核,從而可以提取到更深層的特征.卷積層后的池化層壓縮了特征,提取出主要特征.最后有兩個全連接層,分別包含128和9個神經元,以0.5的概率丟棄掉其中部分神經元,防止過擬合.最終根據全連接層的計算結果輸出恒星分類結果.
在輸入時,首先要提供input-shape,每條恒星光譜包含的特征個數不一致,在3910左右,為保持數據長度一致,且考慮到實際情況,LAMOST的光譜在減天光時,在紅端有些天光殘留較多有些殘留較少,這會對模型訓練產生較大影響.如果保留這些數據,它們帶來的干擾可能比從它們中獲得的特征還要大,所以在實驗中統(tǒng)一保留前3600個特征.
卷積層用來對特征進行提取和映射.卷積的過程基于一個卷積核,卷積核相當于一個過濾器,完成恒星光譜分類的特征提取.卷積核內的每一個值都是我們需要訓練的神經元參數,起初會有個初始值,在訓練網絡的過程中,網絡會通過反向傳播不斷地更新這些參數值,直到尋找到最佳參數值.當卷積核掃描整個數據時,卷積核的參數值是固定不變的,即所有數據都共享相同的權值,這大大削減了卷積核中的參數個數.由于恒星光譜數據是一維數據,所以使用一維卷積.
由于神經網絡的權值、偏置都是線性變化,而線性模型的表達能力不夠,所以需要使用激活函數來加入非線性因素.我們使用的激活函數是ReLU函數,表達式如下所示:
其中,max是取最大值的函數,x表示上一層網絡的輸出.
注意力機制能夠使模型聚焦于對分類任務有重要作用的特征上.人腦在進行閱讀、看圖時,會自動忽略低價值的信息,優(yōu)先獲取大腦認為有用的信息,即重要的局部特征.類似地在識別光譜數據時,由于光譜信息受天光背景影響較大,特別是某些特定波段,因此模型需要識別出這些受影響更大的波段,適當降低權重,并且更加關注能提供重要特征的波段.在卷積運算中,每個卷積濾波器生成一個信道,傳統(tǒng)的卷積神經網絡認為每個信道攜帶的信息對后續(xù)分類的貢獻相同,然而實際上,有些特征對分類有很大的貢獻,有些特征只有很小的貢獻,甚至會產生負面影響.因此,我們引入注意力塊來為不同的信道分配權重,重要的信道可以得到更高的權重,使得模型能抓住重點進行學習,從而優(yōu)化分類結果.
卷積操作后,很多特征信息被提取出來,但是相鄰區(qū)域會有相似特征信息,如果全部保留就造成了信息冗余,增加了計算難度,這時候就需要進行池化操作來降維,壓縮數據和參數數量,降低過擬合風險.
由于恒星光譜數據的特征維度很高,所以要用池化層來壓縮輸入的特征,使特征矩陣變小,一方面能夠簡化網絡運算的復雜性,另一方面又可以提取出恒星光譜數據的主要特征.在本實驗中,采用的池化方法是Max Pooling,在一個局部區(qū)域中,取該區(qū)域的最大值來代替該區(qū)域,滑過整個區(qū)域之后,就得到一個比之前小很多的矩陣.
經過前面多次卷積、激勵和池化的操作之后,將提取好的特征輸入全連接層.全連接層在卷積神經網絡中起“分類器”的作用,它將前面高度抽象化后的特征進行了整合,將學到的特征表示映射到樣本空間中,使用分類器Softmax對各種分類情況都計算出一個概率,最終輸出分類結果.Softmax是將N分類的問題,轉化為一個N×1維的向量,向量的每行代表屬于該類別的概率,N個概率和為1,最終輸出最大概率對應的類別.Softmax的表達式如下所示:
其中,n表示類別的個數,mj表示第j個節(jié)點的輸出值,ml表示第l個節(jié)點的輸出值,e是自然常數.
在全連接層之前,若神經元數目過大,學習能力強,也許會出現過擬合問題.因此,可以引入dropout操作,來隨機舍棄神經網絡中的部分神經元,解決此問題.
模型訓練使用的優(yōu)化器是Adam優(yōu)化器,學習率是0.001.在訓練過程中,采用了反向傳播(Back Propagation,BP)算法.BP算法的核心是對整個網絡所有可能的路徑重復使用鏈式規(guī)則,將輸出與真實標簽之間的損失值一層一層反向傳遞回輸入層,這樣可以讓每個層神經元間的權值得到修正,從而最大限度減小誤差.反向傳播在經過全連接層時,會根據全連接層的權重分配誤差,權重越大的,反向傳播誤差就會分配到越多.反向傳播算法強大的地方在于它是動態(tài)規(guī)劃的,可以重復使用中間結果計算損失函數對于每個權重的梯度,從而對每層的參數進行更新,直到輸出中的偏差減小到可接受范圍內或者到達預設的訓練次數為止.
實驗中使用的損失函數是交叉熵損失函數,表達式如下所示:
其中,ykc是第k個數據的真實標簽,Pkc是第k個數據屬于類別c的預測概率,即Softmax求出的值.
為了使損失函數盡可能的小,我們使用一種叫梯度下降的技巧來調整神經元之間的權重,從而達到最佳的結果.在微積分里梯度的幾何意義就是函數變化最快的方向,所以沿著梯度向量相反的方向,就可以更快地找到損失函數的最小值.
我們在一臺CPU型號為Intel?Core (TM) i7-9750H CPU (2.60 GHz),運行內存為8 GB,SSD (固態(tài)硬盤)大小為512 GB的電腦上進行了實驗.
CSC-Model (Celestial bodies Spectral Classification Model)和CSSL-CNN訓練過程中,訓練集和測試集的比例設為8:2,批處理大小為16,訓練輪數為10.
在這一部分中,兩種經典的方法被用來做對比,我們做了以下實驗:
實驗1:在光譜型分類上,使用CSC-Model[18]和CSSL-CNN進行對比實驗;
實驗2:在光譜型和光度型二元分類上,使用MKCLASS程序[4]和CSSL-CNN進行對比實驗.
4.2.1 實驗1:光譜型分類
在光譜型分類上,本文對比了CSC-Model,CSC-Model是自編碼器加多層感知機的模型,其中自編碼器用于提取特征和降維,多層感知機用于分類.使用F、G、K、M型恒星光譜各10000條進行了實驗,accuracy指標用于對模型的性能進行評估.
CSC-Model和CSSL-CNN在恒星光譜型分類上的實驗結果如表1所示.
表1 光譜型分類實驗結果Table 1 Experimental results of spectral classification
CSC-Model和CSSL-CNN的訓練過程分別見圖4和圖5.
圖4 CSC-Model光譜型分類訓練過程Fig.4 Training process of spectral classification of CSC-Model
圖5 CSSL-CNN光譜型分類訓練過程Fig.5 Training process of spectral classification of CSSL-CNN
CSC-Model花費時間25 min,CSSL-CNN需要303 min.圖中train-loss指的是訓練過程中模型的損失值,train-acc指的是訓練過程中模型的分類準確率,val-loss指的是測試過程中模型的損失值,val-acc指的是測試過程中模型的分類準確率.橫坐標Epoch代表訓練的輪數,縱坐標代表每次訓練的準確率(Accuracy)和損失值(Loss).從圖中可以看出,隨著訓練次數的增加,損失逐漸減小準確率逐漸上升,最終平緩地趨于擬合.CSC-Model的準確率最終達到87.54%,CSSL-CNN的準確率最終達到92.04%.CSC-Model中的自編碼器將特征從3000壓縮到750,大大減少了訓練時間,但是也因此丟失了部分重要信息,導致分類準確率不如CSSL-CNN高.
4.2.2 實驗2:光譜型和光度型二元分類
在光譜型和光度型分類上,本文對比了MKCLASS軟件,MKCLASS是用C語言實現的自動對恒星光譜進行分類的程序,它本質上是模式匹配方法.使用帶有二元標簽的恒星光譜數據共71282條進行實驗,數據集構成見表2.
表2 數據集構成Table 2 Data set composition
MKCLASS和CSSL-CNN在恒星光譜型和光度型二元分類上的對比實驗結果如表3所示.
表3 二元分類實驗結果Table 3 Experimental results of spectral and luminosity classification
從表中可以看出,MKCLASS在LAMOST DR5數據上分類準確率較低,這是因為MKCLASS在面對低信噪比的恒星光譜或者通量出現負值的光譜時就無法給出分類結果.MKCLASS使用腳本來對恒星光譜進行批處理,花費時間約1070 min.
CSSL-CNN在恒星光譜型和光度型的二元分類上訓練過程如圖6所示.
圖6 CSSLCNN二元分類訓練過程Fig.6 Training process of spectral and luminosity classification of CSSL-CNN
訓練一開始損失值較大,說明模型的預測結果與真實標簽有較大差別.隨著訓練輪數的增加,損失值有了大幅度的降低,準確率則一直平穩(wěn)上升,最終達到83.91%.
CSSL-CNN分類結果的混淆矩陣如圖7所示.
圖7 CSSL-CNN二元分類的混淆矩陣Fig.7 Confusion matrix of spectral and luminosity classification of CSSL-CNN
可以看出絕大部分預測結果都與標簽一致,通過分析,可以知道分類出錯的兩大主要原因分別是:
(1)相鄰的光譜型之間特征差異不大,由于光譜型是連續(xù)變化的溫度序列,相鄰兩個類型分類錯誤其實不一定是錯的,比如A9和F2很接近,比A1和A9還接近,如果把F2分成A9在某種程度上不算錯誤.從混淆矩陣中可以看出,有很多分類錯誤的都是光度級沒錯,光譜型錯誤判斷成了相鄰光譜型,比如F型亞巨星(F III)有7.64%錯誤分類成G型亞巨星(G III),F型矮星(F V)有8.17%錯誤分類成G型矮星(G V),K型亞巨星(K III)有14.29%錯誤分類成G型亞巨星(G III);
(2)巨星(I)和亞巨星(III)之間的特征差異也相對較小.從混淆矩陣可以看出,光度類型上分類錯誤的大部分是巨星和亞巨星相互出錯,比如F型亞巨星(F III)有29.5%錯誤分類成F型巨星(F I),有10.2%錯誤分類成F型矮星(F V),G型巨星(G I)有9.95%錯誤分類成G型亞巨星(G III),G型亞巨星(G III)有13.3%錯誤分類成G型巨星(G I).
隨著大型天文望遠鏡收集到海量的天文光譜,傳統(tǒng)的模式匹配方法出現了效率低,標準星少等問題,使用模式匹配方法對海量天文光譜進行分類變得不切實際.傳統(tǒng)的機器學習方法也存在對大規(guī)模數據訓練困難、訓練深度不足等問題.隨著深度學習在各個領域的應用越來越廣泛,本文利用深度學習的方法,在天文學領域進行了應用研究,優(yōu)化了一般的深度學習模型,提出了一種基于卷積神經網絡的二元分類模型.該模型同時兼顧了恒星光譜型和光度型的分類,不僅避免了對標準恒星庫的依賴,而且可以提取數據中隱藏的深層特征,最后在LAMOST DR5數據集上進行了驗證實驗,實驗結果表明,相對目前的研究結果,我們的方法能夠取得較高的分類準確率.但是我們的CSSL-CNN模型仍然存在一些不足,由于每條光譜的特征很多,導致訓練時間較長,以后可以通過一些方法對特征進行進一步的篩選和壓縮.還可以把天文學家的專業(yè)知識,加入到我們的模型中,以取得更高的分類準確率.
致謝LAMOST是由國家發(fā)展和改革委員會資助,由中國科學院承建的國家重大科學工程項目,并由中國科學院國家天文臺負責運行和管理.感謝審稿人對文章提出的寶貴建議,使得文章的質量有了顯著的提高.