王莉莉, 屠良平, 李雙川
(遼寧科技大學理學院, 鞍山 114051)
郭守敬望遠鏡(large sky area multi-object fiber spectroscopy telescope)是大天區(qū)面積多目標光纖光譜巡天望遠鏡,于2012年9月啟動之后,光譜數據量急速增加,目前最新釋放的LAMOST-DR9的數量已超過千萬量級。面對如此龐大的光譜數據量,如何精準預測光譜的科學參數成為天文光譜學分析的研究熱點之一[1]。恒星大氣參數主要包括有效溫度、表面重力、金屬豐度和微觀湍流速度,這些參數不僅是造成恒星光譜差異的原因也是參數測量的主要內容。目前,參數測量常用的機器學習算法包括支持向量回歸[2]、貝葉斯回歸[3]和隨機森林[4]等被用于恒星大氣參數預測,但這些機器學習算法在面對大量高維、強相關性及高冗余的恒星光譜數據時會存在一定的局限性。由于恒星在參數空間中分布廣泛,不同的光譜特征對大氣參數具有不同的敏感性,因此很難依靠單一的方法來推導具有高精度的恒星大氣參數。
近年來,有研究者使用多種算法結合的方法進行恒星大氣參數測量。Xiang等[5]開發(fā)的LAMOST恒星參數管道,基于模板匹配技術從LAMOST光譜中確定恒星參數(徑向基速度、有效溫度、表面重力和金屬豐度),實驗結果表明基于模板匹配技術得到的參數精度較高。Lu等[6]使用最小絕對收縮和選擇算子(least absolute shrinkage and selection operator,LASSO)算法,選擇部分候選特征作為光譜特征,估算恒星大氣參數。Yang等[7]提出了一種利用自動編碼器提取恒星光譜的代表性特征,通過反向傳播網絡估計恒星大氣參數,結果表明該方案在估計恒星大氣參數方面具有良好的性能。
深度學習作為目前流行的算法之一,也逐漸應用在恒星大氣參數測量中,潘儒揚等[8]基于深度學習理論,提出深度學習在恒星大氣參數測量方面的應用,提出了一個5層棧式自編碼深度神經網絡,對恒星大氣參數進行自動估計,結果表明棧式自編碼深度神經網絡精度較好。鄧詩語等[9]利用可變形卷積神經網絡(deformable convolutional network,DCN)方法對恒星大氣參數進行分析,驗證了DCN算法在參數測量上效果的優(yōu)越性。這些方法更多考慮的是光譜數據的物理特征與科學參數之間的關聯,但深度學習在研究恒星大氣參數測量這一方面的內容相對較少,另外在面對精度差,測量時間長以及深度學習不能直接進行一維光譜參數測量等問題亟待解決。因此,現通過將一維光譜變成二維的形式,充分利用卷積神經網絡對圖像優(yōu)秀的特征提取能力進行參數測量。它通過提取光譜數據中更高層次的非顯性參數特征,進而達到提高精度的目的。
卷積神經網絡(convolutional neural network)主要由輸入層、卷積層、池化層、全連接層和輸出層5個部分構成[10],如圖1所示。但并未用到完整的結構網絡,只是利用了CNN的卷積和池化層對圖像優(yōu)秀的特征提取能力。
卷積層通過卷積核按照特定的步長在輸入矩陣上滑動,直到遍歷整個區(qū)域的特征后得到輸出矩陣,該過程可以用數學模型描述為
(1)
池化層設置在卷積層之后,可以通過向下采樣壓縮輸入而不影響輸入質量[11],降低特征維度。CNN選擇最大池化方法對特征進行降維處理,在卷積層和池化層之間設置BN(batch normalization)層,BN層可以解決因數據分布的變化需要調節(jié)權重而導致的訓練速度減慢的問題,它會將上層輸出的數據特征進行批歸一化再輸出,以獲取更加集中有效的特征信息。
隨機森林(random forest, RF)是Breiman[12]提出的一種基于決策樹組合的可用于分類、回歸以及多維數據處理的機器學習算法,不僅能夠平衡樣本中分布不均勻數據的誤差,而且對異常值和噪聲有很好的容忍度[13]。RF不僅可以處理大型多維數據,而且適用于非線性問題。更重要的是,RF對每一棵樹都使用了自助抽樣技術。相對于單顆決策樹,RF方法可以在自助采樣后對每棵決策樹進行單獨訓練并生成平均結果,從而減少了過擬合問題。因此RF算法具有預測效率好和可解釋性等諸多優(yōu)點。更重要的是RF算法并不需要過多的調參,得到的精度較高。鑒于此特點,現選擇RF算法作為恒星大氣參數測量的回歸器,其組成如圖2所示。
考慮到機器學習出現的弊端以及深度學習在圖像特征提取方面的優(yōu)勢,現設計一種CNN和RF的組合算法對恒星大氣參數進行測量,簡記為CNN-RF,如圖3所示。CNN通過卷積和池化不斷的進行交替操作,恒星光譜數據中的隱含特征得以被提取,然后基于恒星光譜數據產生的特征圖進行壓平(Flatten)作為下一個算法的輸入。卷積池化之后,在特征輸出節(jié)點間設置展平層,將提取到的光譜特征輸入到RF特征篩選層,通過特征重要性計算,過濾掉無用特征,剩余特征作為RF的輸入向量。最后將提取好的特征展平輸入到RF里進行訓練和測試,計算出3個恒星大氣參數的預測值。
圖1 卷積神經網絡結構圖Fig.1 Convolutional neural network structure
CNN對預處理好的恒星生成的“偽二維光譜圖”進行特征提取之后,通過模型訓練得到恒星光譜數據參數的預測值與真實值作差,通過二者之間的差值計算損失函數,并反向傳播以訓練模型參數,訓練完成后用測試數據進行模型測試,驗證模型的精確度。若出現誤差太大,及時停止并通過網格搜索對網絡的超參數(卷積核的大小、網絡深度、神經元的個數、學習率等)進行優(yōu)化。最終設置3組卷積層和池化層,其中卷積核個數分別為64 128和256,大小為9×9,卷積步長為1×1,模型的詳細參數如表1所示。同時與典型回歸算法中決策樹(classification and regression tree, CART)、支持向量回歸(support vector regression, SVR)、RF的預測結果進行對比。
RF回歸層使用網格搜索優(yōu)化參數進行優(yōu)化,通過調整決策樹的數量以及單棵決策樹的特征數量來提高隨機森林模型的性能,通過網格搜索并結合k折交叉驗證(k=5)得到最終參數。根據實驗結果比較,確定了形成隨機森林樹的數量(n_estimators=200)、形成葉節(jié)點(n_tree=10)所需的最小數據量以及損失函數(criterion=mse)。
RF的特征篩選層是基于后向(或前向)選擇的貪婪算法,通過反復構建基層模型,選擇一定比例重要性評分,排序靠后的變量進行剔除,直至達到某一標準或獲得指定數量的變量個數。利用R2評分進行特征重要性的選擇,它可以描述回歸模型對因變量隨輸入變量變化的解釋程度,其計算公式為
表1 模型結構參數Table 1 Model structural parameters
圖3 CNN-RF網絡結構圖Fig.3 CNN-RF network structure diagram
(2)
SVR模型的參數是利用網格搜索進行優(yōu)化進而選擇了徑向基函數(radial basis function),懲罰函數C和核函數參數Gamma。CART算法中的參數設置由學習曲線和網格參數進行調節(jié)。各預測模型的參數設置情況如表2所示。
表2 其他參數模型Table 2 Other prediction model parameters
CNN-RF算法的具體步驟如下。
(1)批量讀取預處理之后的光譜數據,輸入到CNN特征提取網絡中。
(2)用一定大小的卷積核以固定步長讀取整個“偽二維光譜圖像”,將第一次卷積層得到的“偽二維光譜圖像”下采樣生成池化層;重復此步驟;再用池化后的二維光譜數據變?yōu)橐痪S,從而獲得訓練樣本和測試樣本的特征向量。
(3)將CNN特征提取網絡生成的特征向量作為RF回歸器的輸入特征,并劃分為測試集與訓練集;利用RF中的自助采樣法在訓練集上采樣,對每個決策樹生成其對應的訓練子集,并對決策樹進行訓練,在每個內部節(jié)點上選擇最優(yōu)屬性進行分裂。
(4)對于測試集,用RF回歸器進行測試,得到其中一個恒星大氣參數的預測結果。另外兩個恒星大氣參數的結果預測進行相同操作。
本文要處理的光譜屬于一維形式(如圖4所示),其形式可以看作是一個由高達數千個屬性構成的向量。所用的數據來自于中國科學院國家天文臺運營的郭守敬望遠鏡(LAMOST)項目。從LAMOST官網中下載所需的一維光譜文件,該文件存儲方式為fits格式,同時下載對應的星表文件。從中篩選出信噪比r波段大于等于20的數據共56 683條,隨機選擇兩萬條作為本文實驗數據。
圖4 一維光譜圖Fig.4 One-dimensional spectrogram
光譜數據處理過程如下。
(1)首先利用MATLAB將fits文件和星表文件進行匹配,讀取fits文件的流量和波長以及所對應的3個恒星大氣參數。
(2)對一維光譜進行數據預處理,包括初步篩選、插值和歸一化,將數據變成4 096個分量。歸一化處理的目的是將數據特征映射到同一尺度中,有利于網絡的訓練,從而提升精度。本文選擇min-max歸一化法,也叫離差標準化,是對原始數據的線性變換,即
(3)
式(3)中:F′為標準化之后的恒星光譜流量;F為原始恒星光譜流量;Fmax和Fmin為原始恒星光譜流量的最大值和最小值,將恒星光譜流量轉化為0~1的區(qū)間,測試數據也做類似的處理。
(3)為了能夠利用CNN來處理該一維光譜,使用文獻[14]所提出的S型折疊方法將一維光譜轉換成“偽二維光譜”,可以看作是一種保留一維光譜所有信息的偽圖像。將歸一化后的光譜通過“S”型折疊轉換為64×64的二維矩陣,形成“偽二維光譜圖”,如圖5所示。
(4)最后隨機選擇20 000條數據進行訓練和測試,每次實驗時都是隨機選擇總光譜的70%作為訓練數據,其余的30%作為測試數據。本文所選實驗數據中三大參數本身的覆蓋區(qū)間范圍為:Teff:3822.52-8471.59 K、Logg:-0.054~4.9 dex、Fe/H:-2.473-0.757 dex。
本文使用的預測模型均基于python語言實現:使用pytorch深度學習框架搭建CNN-RF和CNN模型,其他對比模型是用scikit-learn庫搭建。處理器為Intel(R)Core(TM)i5-7500 CPU @2.90 GHz。系統類型:Windows 10旗艦版64位。
圖5 一維光譜數據變成“偽二維光譜圖”Fig.5 One-dimensional spectral data becomes “pseudo-two-dimensional spectral map”
為了準確評價上述模型的預測性能,引入平均絕對誤差(mean absolute error, MAE),標準差(standard deviation, SD)作為預測性能的評價指標,MAE直觀反映了預測值與實際值的偏差,其數值越小,模型的預測性能越好;SD反映回歸預測的離散程度,表達式為
(4)
(5)
圖6~圖8所示為CNN-RF、RF、SVR、CART的回歸模型預測的有效溫度(Teff)、表面重力(Log g)、金屬豐度(Fe/H)估計值和真實值對比圖以及每個參數測量誤差的分布直方圖。4種模型的Teff、Logg、Fe/H的平均絕對誤差、標準差和R2的實驗結果如表3所示。
(1)有效溫度(Teff)的預測結果對比圖和殘差分布直方圖:從表3可以看到CNN-RF、RF、SVR、CART的有效溫度的平均絕對誤差分別為123.65、131.95、130.49、151.04 K,CNN-RF最小。從圖6所示測量結果對比圖和誤差直方圖中,可以看到CNN-RF的預測值和真實值均勻地分布在y=x上,并且在殘差圖中可以看到CNN-RF基本上都接近零點中心。與對比實驗的圖相比,有明顯的聚合性且離散程度較小,但因4種算法之間的平均絕對誤差相對較小,因此在圖中的直觀中反應并沒有很大的差別。
表3 4種算法的MAE和SD以及R2統計表Table 3 MAE, SD and R2 statistics of the four algorithms
圖7 4種算法下Logg的預測值和真實值對比圖和誤差統計直方圖Fig.7 Comparison of predicted and true Logg values and histogram of error statistics under the four algorithms
圖8 4種算法下Fe/H的預測值和真實值對比圖和誤差統計直方圖Fig.8 Comparison of predicted and true Fe/H values and histogram of error statistics under the four algorithms
(2)表面重力(Logg)預測結果對比圖和殘差分布直方圖:由表3中可以看到CNN-RF、RF、SVR、CART的表面重力(Logg)的平均絕對誤差分別為0.205 5、0.244 2、0.243 2、0.269 1 dex,CNN-RF的精度最高。因為Log g數據本身的分布范圍相對較小,所以整體的差別并不是很大。從圖7所示預測值和真實值對比圖和殘差分布圖的結果中可以看出,數據基本上分布在y=x附近,殘差圖分布比較緊湊,離散程度較低。
(3)金屬豐度(Fe/H)預測結果對比圖和誤差直方圖:由表3中可以看到CNN-RF、RF、SVR、CART的金屬豐度(Fe/H)的平均絕對誤差分別為0.148 6、0.175 9、0.204 4、0.202 4 dex,從圖8中可以看出,CNN-RF的結果與經典回歸擬合算法相比,精度較高。從圖8所示預測值和真實值對比圖和殘差分布圖的結果中可以看出,RF、SVR、CART預測的表面重力均帶有不同程度的離散,并沒有均勻的分布在y=x這條直線上,效果相對較差。
由表4可以看出CNN-RF相比于RF、SVR、CART在3個參數上均有提升,從而驗證了本文算法的有效性。另外從表3中可以看出RF在測量3個參數時的MAE相較于SVR、CART相對來說精度較高,從側面驗證了RF算法的優(yōu)越性,進而表明了CNN和RF的結合在一定程度上是可行的。
最后,實驗結果表明本文提出的CNN-RF算法在三大物理參數Teff、Logg、Fe/H的測量結果評價指標中相對于其他3種傳統算法都有較大的提升,一定程度上說明了CNN-RF算法能夠較好地應用于恒星大氣參數的自動測量。在模型泛化性能方面,CNN-RF的R2在Teff和Fe/H結果中最優(yōu),Logg次之,說明本文提出的CNN-RF模型回歸預測綜合性能最優(yōu),模型的有效性及擬合能力得到驗證。從預測值和真實值的對比圖和誤差直方圖來看, CNN-RF算法大部分數據對比結果都均勻的分布在基準線y=x上,說明模型的擬合能力相對較好,而誤差直方圖顯示出CNN-RF的系統誤差相對更接近于零,從而說明本文方法預測結果分布更為合理。
表4 精度提升百分比統計表Table 4 Accuracy improvement percentage statistical table
針對恒星大氣參數自動測量問題的現實需求,利用CNN對二維圖像的優(yōu)秀特征提取能力和經典回歸網絡的回歸擬合能力,提出了一種卷積神經網絡和隨機森林相結合的恒星大氣參數測量算法CNN-RF。該方法得到的預測結果擬合程度更好并且具備更小的誤差,能夠利用光譜數據準確有效的對恒星大氣參數進行測量。為了驗證構建CNN-RF回歸預測模型的有效性以及泛化性能,與3種經典的機器學習算法SVR、RF、CART模型進行了性能對比,實驗結果驗證了本文方法具有更高的精度,證明了本文方法能夠有效用于恒星大氣科學參數的自動測量。