洪麗華 楊錦濤 許婷婷 張靜敏 艾霖嬪 周衛(wèi)紅,4(1 云南民族大學(xué)數(shù)學(xué)與計算機科學(xué)學(xué)院昆明650500)(2 廈門軟件職業(yè)技術(shù)"/>
杜利婷> 洪麗華 楊錦濤 許婷婷 張靜敏 艾霖嬪 周衛(wèi)紅,4
(1 云南民族大學(xué)數(shù)學(xué)與計算機科學(xué)學(xué)院昆明650500)
(2 廈門軟件職業(yè)技術(shù)學(xué)院軟件工程系廈門361000)
(3 廣州大學(xué)天體物理中心廣州510006)
(4 中國科學(xué)院天體結(jié)構(gòu)與演化重點實驗室昆明650011)
隨著巡天項目的快速發(fā)展, 如斯隆數(shù)字巡天(Sloan Digital Sky Survey, SDSS)[1],LAMOST (Large Sky Area Multi-Object Fiber Spectroscopy Telescope)光譜巡天[2], 每年產(chǎn)生海量天文數(shù)據(jù), 天文大數(shù)據(jù)為天文學(xué)家研究銀河系及一般星系的形成與演化提供了有力的基礎(chǔ)性數(shù)據(jù), 如何對海量的恒星光譜數(shù)據(jù)進行準(zhǔn)確識別分類成為一大難題.
2017年6月, LAMOST圓滿完成了為期5 yr的第1期低分辨率(R=1800,R為光譜分辨率)光譜巡天任務(wù), 2017年12月31日, LAMOST Data Release 5 (DR5)數(shù)據(jù)集正式發(fā)布, 共包括4154個觀測天區(qū), 發(fā)布了901萬條光譜, 其中高質(zhì)量光譜數(shù)(信噪比大于10)達到了777萬條, 遠超過全世界光譜巡天項目獲取的光譜數(shù)總和; 同時, DR5發(fā)布的數(shù)據(jù)中還有一個包括636萬組恒星光譜參數(shù)的星表, 成為目前全世界最大的恒星參數(shù)星表.2017年9月至2018年6月, LAMOST處于中分辨率(R= 7500)測試觀測期, 即低分辨率光譜巡天和中分辨率測試觀測交替進行的觀測模式. 2019年3月發(fā)布的包含先導(dǎo)巡天及前6 yr正式巡天的LAMOST Data Release 6(DR6)數(shù)據(jù)集包括常規(guī)低分辨率光譜數(shù)據(jù)和中分辨率測試光譜數(shù)據(jù), 共4902個觀測天區(qū)、1125萬條光譜, 其中低分辨率光譜數(shù)據(jù)總數(shù)991萬條, 中分辨率非時域光譜數(shù)據(jù)50萬條, 中分辨率時域光譜數(shù)據(jù)84萬條; 信噪比大于10的高質(zhì)量光譜數(shù)量達到了937萬條, 至此, 巡天7 yr的LAMOST成為世界上第1個獲取光譜數(shù)突破千萬量級的光譜巡天項目, 標(biāo)志著LAMOST光譜發(fā)布正式進入千萬量級時代.
深度學(xué)習(xí)是機器學(xué)習(xí)中非常接近人工智能的領(lǐng)域, 其動機在于建立模擬人腦進行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò), 優(yōu)點是面對大樣本數(shù)據(jù)學(xué)習(xí)能力強, 隨著深度學(xué)習(xí)的不斷發(fā)展, 其應(yīng)用面也不斷擴大, 也包括對恒星光譜的分類.
1943年, McCulloch等[3]提出并給出了人工神經(jīng)網(wǎng)絡(luò)的概念及人工神經(jīng)元的數(shù)學(xué)模型, 從而開創(chuàng)了神經(jīng)網(wǎng)絡(luò)研究的時代. 到1958年, Rosenblatt首次提出了可以模仿人類感知能力的機器, 并稱之為感知機[4], 感知機是有單層計算單元的神經(jīng)網(wǎng)絡(luò), 由線性元件及閾值元件組成, 最大作用就是對輸入的樣本分類, 故它可以作為分類器, 是整個神經(jīng)網(wǎng)絡(luò)的基礎(chǔ). 1982年, 誤差反向傳播(Back Propagation, BP)算法解決了感知機隱含層的權(quán)值問題, 它的基本思想: 學(xué)習(xí)過程由信號的正向傳播與誤差的反向傳播兩個過程組成, Bailer-Jones等[5-6]采用主成分分析(Principal Component Analysis, PCA)降維并結(jié)合BP神經(jīng)網(wǎng)絡(luò)對恒星光譜進行了系統(tǒng)分類, 識別結(jié)果較好; Qin等[7]采用PCA方法對恒星光譜數(shù)據(jù)進行分類, 實驗結(jié)果表明, 該方法可以達到與摩根-基南(Morgan-Keenan, MK)系統(tǒng)[8]分類準(zhǔn)則相當(dāng)?shù)男阅埽?可作為天文領(lǐng)域的一個基準(zhǔn). 基于樹的機器學(xué)習(xí)算法是一類有監(jiān)督的機器學(xué)習(xí)算法, 具有模型結(jié)構(gòu)相對簡單、運算量相對較小,同時準(zhǔn)確率相對較高等優(yōu)點. 其中, Chen等[9]提出的極端梯度提升(eXtreme Gradient Boosting, XGBoost)算法是一種迭代型樹類算法, 其更容易實現(xiàn)并行處理、運算處理速度更快、比傳統(tǒng)決策樹算法準(zhǔn)確性更高, 因而備受矚目成為一種流行的機器學(xué)習(xí)算法.Zhang等[10]對源于LAMOST Data Release 4 (DR4)的B、A、F、M型恒星光譜進行分類. 首先對光譜數(shù)據(jù)計算譜線指數(shù)從而使其得到降維處理, 過濾冗余信息, 然后通過XGBoost算法得到分類器模型再對降維后的光譜數(shù)據(jù)進行分類. 通過實驗可以發(fā)現(xiàn), 在固定參數(shù)下, XGBoost所得的模型有一定的自適應(yīng)性, 總體準(zhǔn)確率可達88.5%; 潘景昌等[11]提出了基于Lick線指數(shù)的貝葉斯光譜分類方法, 首先基于Hadoop平臺計算各類光譜的Lick線指數(shù)作為特征向量, 然后利用貝葉斯分類算法對F、G、K三類恒星光譜進行分類. 2006年, Hinton提出了針對深層網(wǎng)絡(luò)訓(xùn)練中梯度消失問題的解決方案: 無監(jiān)督預(yù)訓(xùn)練對權(quán)值進行初始化和有監(jiān)督訓(xùn)練微調(diào), 其主要思想是先通過自學(xué)習(xí)的方法學(xué)習(xí)到訓(xùn)練數(shù)據(jù)的結(jié)構(gòu)(自動編碼器(Auto Encoder, AE)), 然后在該結(jié)構(gòu)上進行有監(jiān)督訓(xùn)練微調(diào). 許婷婷等[12-13]利用深度信念網(wǎng)絡(luò)(Deep Belief Network, DBN)對F、G、K型恒星光譜進行分類研究, 分類準(zhǔn)確率達到93.03%. 2012年, Hinton為了證明深度學(xué)習(xí)的潛力,首次參加ImageNet圖像識別比賽, 通過他構(gòu)建的AlexNet卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)一舉奪得冠軍, 其分類性能完全碾壓了獲得第2名的支持向量機(Support Vector Machine, SVM)方法. Shi等[14]針對恒星光譜自動分類問題, 提出了一種基于CNN的K和F型恒星光譜自動分類方法, 并與SVM和BP算法進行對比, 對比實驗結(jié)果表明, CNN算法明顯優(yōu)于SVM和BP算法.
文中結(jié)構(gòu)如下: 第2節(jié)介紹膠囊網(wǎng)絡(luò); 第3節(jié)介紹實驗步驟的設(shè)計; 第4節(jié)為實驗結(jié)果的分析; 最后為結(jié)語.
深度學(xué)習(xí)中的CNN, 其權(quán)值共享網(wǎng)絡(luò)結(jié)構(gòu)可以顯著降低模型復(fù)雜度, 減少權(quán)值數(shù)量;圖片可以直接作為網(wǎng)絡(luò)的輸入, 自動提取特征, 在圖像處理中具有很大的優(yōu)勢, 但是也有許多不足之處: 首先, CNN無法從新的視角去理解對象, 當(dāng)圖片角度發(fā)生變化時CNN就無法識別, CNN如果通過數(shù)據(jù)增強方式構(gòu)成新的視角(數(shù)據(jù)增強方式包括將圖片進行翻轉(zhuǎn)、旋轉(zhuǎn)等操作)就會造成數(shù)據(jù)量非常大, 從而降低訓(xùn)練速度; 其次, 難以精確識別空間關(guān)系, 如果將圖片中的某個要素移動位置后, CNN可能就無法識別; 最后, CNN中的最大池化雖然可以通過減少網(wǎng)絡(luò)空間大小來獲得計算量更小的優(yōu)勢, 但是同時也造成了大量的信息丟失, 最終導(dǎo)致分類準(zhǔn)確率下降. 因此, 針對CNN以上不足, 提出了膠囊網(wǎng)絡(luò).
膠囊網(wǎng)絡(luò)的一般結(jié)構(gòu)包括輸入層、卷積層、主膠囊(PrimaryCaps)層、數(shù)字膠囊(DigitCaps)層、全連接層、輸出層. 首先, 在輸入層放入數(shù)據(jù)集, 進行相關(guān)的預(yù)處理; 其次, 在卷積層處用卷積核提取特征得到特征圖; 在主膠囊處, 一般會擁有多個膠囊, 每個膠囊都是包含多個神經(jīng)元的載體, 每個神經(jīng)元表示圖像中出現(xiàn)的特定實體的各種屬性,比如位置、大小、方向等, 即將膠囊類比于向量, 長度代表特定實體在圖像某個位置存在的概率, 方向代表特定實體的一些參數(shù), 比如位置、大小、轉(zhuǎn)角等, 卷積層處得到的特征圖進入主膠囊層后會在每個膠囊中用相同的卷積核再次對特征圖進行特征提取, 形成新的特征圖并以向量形式表示; 然后進入數(shù)字膠囊層, 主膠囊層與數(shù)字膠囊層是全連接的, 但是以向量形式相連, 使用動態(tài)路由算法完成權(quán)重更新和實現(xiàn)從主膠囊層到數(shù)字膠囊層的輸出, 通過計算向量模的大小來衡量某個實體出現(xiàn)的概率, 模值越大概率越大; 在全連接層處進行重構(gòu); 最后輸出相關(guān)結(jié)果. 卷積神經(jīng)網(wǎng)絡(luò)和膠囊網(wǎng)絡(luò)的一般結(jié)構(gòu)如圖1所示, 在卷積神經(jīng)網(wǎng)絡(luò)中的convolution 1表示卷積處理; 膠囊網(wǎng)絡(luò)中的convolution 1表示卷積處理, ReLu表示激活函數(shù).
在膠囊網(wǎng)絡(luò)中, 低級別特征(主膠囊層)通過改變權(quán)重cij將其輸出向量發(fā)送到高級別特征(數(shù)字膠囊層)處, 其中i表示主膠囊層處的膠囊序號,j表示數(shù)字膠囊層層處的膠囊序號,cij即表示膠囊i激活膠囊j的權(quán)重分布, 在這個過程中, 權(quán)重的更新是由迭代動態(tài)路由算法來實現(xiàn), 動態(tài)路由算法的步驟如表1, 其中涉及到的公式如下:
圖1 卷積神經(jīng)網(wǎng)絡(luò)和膠囊網(wǎng)絡(luò)的結(jié)構(gòu)對比Fig.1 Structure comparison of convolutional neural network and capsule networks
表1 動態(tài)路由算法Table 1 Dynamic routing algorithm
在(1)式中,ui表示低層特征, 即膠囊i的輸入,wij表示低層特征與高層特征的空間關(guān)系, 通過反向傳播進行學(xué)習(xí),uj|i表示由低層特征推出的高層特征; 在(2)式的歸一化函數(shù)中,cij表示權(quán)重, 它的特點有4個, 分別為均為非負標(biāo)量, 所有權(quán)重之和為1, 權(quán)重個數(shù)為膠囊數(shù)量, 權(quán)重由迭代路由算法確定;k表示膠囊i內(nèi)的神經(jīng)元個數(shù); 在(3)式中, 進行一個加權(quán)求和; 在(4)式中, 利用壓縮函數(shù)對sj進行壓縮,vj是膠囊j的輸出向量,sj是它的全部輸入; 在(5)式中, 利用相似函數(shù)對bij進行更新.
動態(tài)路由算法邏輯解釋:
第1行: 迭代次數(shù)r(文中為3), 在l層輸入ui的輸出uj|i; 第2行: 初始化所有bij為0,bij表示從膠囊i應(yīng)該耦合到膠囊j的對數(shù)先驗概率, 取決于膠囊i與j的類型與位置, 與當(dāng)前輸入圖像無關(guān); 第3行: 執(zhí)行4到7行3次; 第4行: 對l層的低層特征, 將bij用softmax轉(zhuǎn)化成權(quán)重cij, softmax函數(shù)產(chǎn)出是非負數(shù)且總和為1, 這使得cij是一組概率變量; 第5行: 對l+1層的高層特征,加權(quán)求和得到sj;第6行:對l+1層的高層特征,利用squash壓縮sj得到vj, squash函數(shù)(壓縮函數(shù))確保向量sj和vj的方向相同, 且vj長度不超過1; 第7行: 根據(jù)uj|i和vj的點積來更新bij, 兩者相似, 點積就越大,bij就越大, 低層特征連接高層特征的可能性就變大; 反之, 兩者相異, 點積就越小,bij就越小, 低層特征連接高層特征的可能性就變小.
3.1.1 1維卷積網(wǎng)絡(luò)
CNN屬于人工神經(jīng)網(wǎng)絡(luò)的一種, 神經(jīng)網(wǎng)絡(luò)的基本組成包括輸入層、隱藏層、輸出層. CNN的特點在于隱藏層分為卷積層和池化層, 卷積過程可以用來消除噪聲、增強特征, 池化層減少參數(shù)進而降低網(wǎng)絡(luò)的復(fù)雜度. 對于2維CNN結(jié)構(gòu), 輸入的是2維矩陣, 這種結(jié)構(gòu)經(jīng)常用在圖像識別上, 因為圖像有寬和高2個維度, 但是對于1維的恒星光譜數(shù)據(jù),2維CNN無法使用, 所以對恒星光譜數(shù)據(jù)進行只包括輸入層、卷積層、輸出層的1維卷積過程處理, 其卷積核只在一個方向上進行滑窗操作, 即在寬方向或高方向上進行加權(quán)求和, 且進行填充以保持光譜數(shù)據(jù)原有維度不變, 從而相應(yīng)特征也保留, 繼而減少在短時傅里葉變換采樣過程中造成的信息損失.
在1維卷積結(jié)構(gòu)處, 首先在輸入層輸入恒星光譜數(shù)據(jù)F5、G5、K5各1000條; 而在卷積層處, 我們設(shè)置了數(shù)量為1, 尺寸為3 × 1, 權(quán)值為1、1、1, 步長為1的卷積核, 并進行填充, 起到平滑的效果. 具體計算過程如圖2; 最后在輸出層輸出經(jīng)過卷積層后的結(jié)果.
圖2 1維卷積的運算Fig.2 Operation of one-dimensional convolution
3.1.2 短時傅里葉變換
傅里葉變換(Fourier Transformation, FT)通過將信號分解成正余弦函數(shù), 將時域信號轉(zhuǎn)化為頻域信號, 并提取到在空域上不易提取到的特征. 但是不足之處是其只適用于平穩(wěn)信號, 在頻域圖上不能獲得對應(yīng)頻率的時間信息, 為此提出短時傅里葉變換(Short Time Fourier Transform, STFT), 設(shè)置窗格, 認為窗格內(nèi)的信號是平穩(wěn)信號, 對窗格內(nèi)的信號分段進行傅里葉分析, 得到一系列頻域信號的變化結(jié)果, 將這些結(jié)果排開便得到一個2維的表象, 進而再用相關(guān)工具去分析, 得到某個時段上的頻率特征, 實現(xiàn)時頻局部化. STFT的公式如下:
其中,u為某個時間段,Z(u)為源信號,g*(u-t)是一個中心為t的窗函數(shù),f是信號函數(shù)中的基頻率,q為虛數(shù)單位.
實驗利用STFT的Specgram函數(shù)將1維恒星光譜數(shù)據(jù)轉(zhuǎn)換成2維傅里葉譜圖像, 形成新的特征分布且保留了更多特征, 有利于后續(xù)的分類研究. Specgram函數(shù)如下:
其中,a是輸入信號的向量; window是窗函數(shù), 默認為nsc, nsc表示海明窗的長度; noverlap是每相鄰兩個窗口的重疊率; nfft是每個窗口的快速傅里葉變換采樣點數(shù); fs是采樣頻率(本文為5);S是信號a的短時傅里葉變換;F是在輸入變量中使用F頻率變量;T是頻譜圖計算的時刻點;P是能量譜密度.
實驗中使用Python對恒星光譜數(shù)據(jù)依次進行1維卷積處理和STFT. 一條原始F5型恒星光譜數(shù)據(jù)以及該條恒星光譜數(shù)據(jù)經(jīng)過STFT后生成的2維傅里葉譜圖像如圖3所示.
圖3 原始恒星光譜數(shù)據(jù)和其經(jīng)過STFT后生成的2維傅里葉譜圖像Fig.3 Original star spectral data and its two-dimensional Fourier spectrum image generated after STFT
將F5、G5、K5型恒星光譜數(shù)據(jù)對應(yīng)的2維傅里葉譜圖像作為膠囊網(wǎng)絡(luò)的輸入, 依次經(jīng)過卷積層、主膠囊層、數(shù)字膠囊層、全連接層, 最后得到分類結(jié)果. 在本實驗中, 卷積層處設(shè)置256個步長為1的9× 9的卷積核; 在主膠囊層處設(shè)置8個膠囊, 32個步長為2的9× 9× 256的卷積核; 在數(shù)字膠囊處會輸出16× 3的矩陣, 3是因為有F5、G5、K5 3個類別, 每個元素是1× 16的向量; 接下來進入3個全連接層, 在最后一個全連接層處, 得到重整后重建1920× 1440的解碼圖像, 損失函數(shù)為重建圖像和輸入圖像之間的歐氏距離, 最后得到分類結(jié)果.
在AMD A8的處理器下進行, 實驗平臺為Python 3.0.
文中實驗數(shù)據(jù)來源于LAMOST DR5, 從中隨機選取各1000條共3000條F5、G5、K5型恒星光譜數(shù)據(jù), 信噪比>20, 每條光譜數(shù)據(jù)的波長范圍是3700-9100°A.
在文獻[15-16]中, 張靜敏等人通過短時傅里葉變換(STFT)將1維恒星光譜數(shù)據(jù)轉(zhuǎn)換成新的特征譜圖像, 再利用Inception v3模型對2維傅里葉譜圖像進行分類實驗, 實驗數(shù)據(jù)來源于LAMOST DR5中的F型、G型、K型各10000條, 最終的分類準(zhǔn)確率為92.9%;在之前的實驗中, 提出在利用短時傅里葉變換(STFT)之前, 先將來自LAMOST DR5的各1000條F5、G5、K5型恒星光譜數(shù)據(jù)做1維卷積處理, 以減少在短時傅里葉變換的采樣過程中造成的特征損失, 然后再利用STFT將恒星光譜數(shù)據(jù)轉(zhuǎn)化為2維傅里葉譜圖像, 最后利用Inception v3模型對2維傅里葉譜圖像進行分類, 分類準(zhǔn)確率為99%.
基于文獻[15-16]與之前實驗中的分類器都是屬于CNN中的經(jīng)典模型Inception v3,但CNN在圖像處理中存在許多不足, 而膠囊網(wǎng)絡(luò)正好可以解決這些不足, 因此將分類器替換成膠囊網(wǎng)絡(luò), 結(jié)果如表2所示.
表2 結(jié)果比對Table 2 The comparison of results
通過對比我們可以發(fā)現(xiàn), 膠囊網(wǎng)絡(luò)對恒星光譜數(shù)據(jù)的分類準(zhǔn)確率高于Inception v3,提高了恒星光譜的分類準(zhǔn)確率, 驗證了膠囊網(wǎng)絡(luò)相較于CNN具有的優(yōu)勢, 能對恒星光譜數(shù)據(jù)進行有效分類.
相較于經(jīng)典的CNN, 膠囊網(wǎng)絡(luò)實現(xiàn)了3個不同: 首先是在對象部件間的分層位姿關(guān)系建模上的區(qū)別. 在CNN中, 通過訓(xùn)練神經(jīng)元來檢測不同的實體, 即使是同一實體的不同角度, 這樣使得卷積核的個數(shù)和層數(shù)越來越多, 而在膠囊網(wǎng)絡(luò)中, 其通過一個膠囊就能夠識別同一類實體, 膠囊輸出向量的長度代表目標(biāo)存在的概率估計, 向量的方向代表實體的屬性; 其次是設(shè)置動態(tài)路由算法有所不同. 其采用新型非線性向量激活函數(shù)squash來實現(xiàn)權(quán)重更新和從主膠囊層到數(shù)字膠囊層的輸出; 最后是使用膠囊網(wǎng)絡(luò)取代了CNN中的最大池化, 在減少了數(shù)據(jù)空間的同時, 又盡量保障了重要信息的傳遞. 這兩個創(chuàng)新之處加強了對圖像特征的提取并保留了更多的信息, 而實驗結(jié)果也證實了相對于CNN, 膠囊網(wǎng)絡(luò)有效提高了恒星光譜的分類準(zhǔn)確率.
本文在對已有的恒星光譜分類方法進行深入研究和總結(jié)的基礎(chǔ)上, 提出了基于膠囊網(wǎng)絡(luò)的恒星光譜分類方法, 對LAMOST DR5的F5、G5、K5型恒星光譜數(shù)據(jù)進行分類,分類準(zhǔn)確率達到99.67%, 從而驗證膠囊網(wǎng)絡(luò)能對恒星光譜數(shù)據(jù)進行有效分類. 但是, 本實驗也存在不足, 比如膠囊網(wǎng)絡(luò)目前的參數(shù)是否是最優(yōu)還有待進一步驗證; 其次是膠囊網(wǎng)絡(luò)對計算機配置的要求較高, 計算量大導(dǎo)致耗費時間較長等不足. 在接下來的工作中,將進一步對膠囊網(wǎng)絡(luò)進行探究, 以提高分類準(zhǔn)確率, 進而完備恒星光譜的數(shù)據(jù)庫, 為研究恒星以及銀河系的形成與演化提供支持.