李書馨 趙學斌 陳 君 李偉夫 陳 洪 陳艷紅 崔延美 袁天嬌
1(中國科學院國家空間科學中心 北京 100190)
2(中國科學院大學 北京 100049)
3(中國科學院空間環(huán)境態(tài)勢感知技術重點實驗室 北京 100190)
4(華中農業(yè)大學理學院 武漢 430070)
太陽黑子是太陽光球層由熾熱氣體形成的帶有較強磁場的區(qū)域,表現(xiàn)為在太陽表面溫度更低,呈現(xiàn)黑色的區(qū)域,一般以黑子群的形式出現(xiàn)。一個發(fā)展成熟的黑子主要由中心較暗的黑色本影和邊緣較淺的半影兩部分組成。單個太陽黑子的壽命為幾小時到幾個星期,黑子群的壽命一般可達幾個月,黑子群的演化具有時間上的緩變性,即同一個黑子群的磁類型在一定時間內不會發(fā)生改變。太陽黑子既是活動區(qū)的核心,也是活動區(qū)最明顯的標志,一般將黑子經常出現(xiàn)的區(qū)域界定為太陽活動區(qū)。一般而言,黑子群出現(xiàn)的區(qū)域往往很大可能會出現(xiàn)耀斑、日冕物質拋射等太陽爆發(fā)性活動,這些活動嚴重時對地球通信、航天系統(tǒng)的正常運行等產生影響。總體而言,太陽黑子不僅代表一定時期內太陽活動的總體水平,還為揭示其他太陽活動提供了線索。
根據形態(tài)分布和磁場極性等特征對太陽黑子群進行分類,是太陽爆發(fā)預報研究的重要手段,目前對于太陽黑子群的分類,較為主流的有Wilson 山磁分類,Zurich 分類和McIntosh 分類[1]。
目前對于黑子群的分類方法主要依托人工識別,還沒有國際公認的自動識別方法。近年來,機器學習特別是深度學習在圖像識別領域取得了巨大的成功,并且空間物理的監(jiān)測數據大量增加,使得發(fā)展太陽黑子磁類型自動識別方法成為可能。機器學習可以利用海量數據,發(fā)現(xiàn)數據間的內隱關系,得到預期的結果。深度學習是機器學習的分支之一,可以看為是神經網絡的進階版。其中卷積神經網絡(Convolutional Neural Networks,CNN)是圖像識別方向最為流行的深度學習方法之一,通過此方法可以對圖像低層和高層的特征進行提取,識別出具有類似特征的新圖片。Padinhatteeri 等[2]提出了一種“太陽活動區(qū)監(jiān)視系統(tǒng)–磁δ 探測器”(SMART-DF)方法,該方法可以對δ黑子實現(xiàn)自動識別,并將其標記到可能的耀斑區(qū)域;Fu 等[3]基于R-FCN 的方法,Li 等[4]基于R-FCN 的方法和基于卷積神經網絡對McIntosh 黑子實現(xiàn)了自動識別與分類。Fang 等[5]構建了三層CNN 網絡實現(xiàn)了對Wilson 山磁類黑子的自動識別,但是該研究工作并未考慮黑子群演化的緩變性,在選取測試集時,通過隨機采樣的方法選擇,即在測試集中,會出現(xiàn)很多與訓練集極為相似的樣本,使得模型的誤準率較高。為了更好提升太陽黑子Wilson 山磁分類自動識別的準確性,本文嘗試了多種深度學習方法并進行評估,得到更優(yōu)的Wilson 山磁分類自動識別深度網絡。
Wilson 山磁分類法是由美國加利福尼亞州Wilson 天文臺于1919 年提出的根據黑子磁場的不同極性進行分類的一種方法[6]。此分類方法以雙極群黑子為基本類型(β型),從而衍生出不同類別的黑子群,典型的代表為三種類型,分別為單極群(α型)、雙極型(β型)和多極型(γ型)。多極型后來又衍生了多種類型,分別為β-γ,δ,β-δ,β-γ-δ,γ-δ,每種極型的釋義見表1。

表1 Wilson 黑子磁類型分類Table 1 Mount Wilson sunspots classification
Fang 等[5]基于美國海洋局空間天氣預報中心(NOAA/SWPC)每天發(fā)布的太陽活動區(qū)概況文件,統(tǒng)計了從2010 年5 月至2017 年5 月的1592 個活動區(qū)的黑子類型,共梳理出11306 個文件,α類型、β類型和其他類型黑子出現(xiàn)概率分別為31.6%,54.2%,10.1%。此外,Sammis 等[7]指出,磁類型更復雜的活動區(qū)黑子有更大的可能會爆發(fā)太陽活動。在本文中,對所識別的黑子類型Wilson 山磁分類做了簡化,簡單分為三類,分別記為單極型(α型)、雙極型(β型)和其他極型(β-x型),如圖1 所示。

圖1 (a)為α 類型的太陽黑子群磁場觀測圖像,(b)為β 類型的太陽黑子群磁場觀測圖像,(c)和(d)為β-x 類型太陽黑子群磁場觀測圖像,(e)為(a)相應的α 類型太陽黑子群白光觀測圖像,(f)為(b)相應的β 類型太陽黑子群白光觀測圖像,(g)和(h)為(c)和(d)相應的β-x 類型太陽黑子群白光觀測圖像Fig.1 (a) Magnetogram of sunspots group of α, (b) magnetogram of sunspots group of β, (c)(d) magnetograms of sunspots group of β-x, (e) the image of sunspots group of α corresponding to (a),(f) the image of sunspots group of β corresponding to (b),(g)(h) the images of sunspots group of β-x corresponding to (c)(d)
本文所使用的數據來自太陽動力學觀測臺(Solar Dynamics Observatory,SDO)衛(wèi)星的日震及磁場成像儀(Helioseismic and Magnetic Imager,HMI)觀測到的SHARP(SpaceWeather HMI Active Region Patches)磁圖和白光圖數據集。SHARP 數據的時間精度為12 min,每條數據可獲得所有太陽活動區(qū)的局部圖片,活動區(qū)有獨立的編號。從白光圖像可清晰看出黑子的本影和半影部分以及黑子群的分布,磁圖可以看出黑子的不同極性。本文使用的是2010 年5 月至2017 年5 月期間的觀測數據*http://jsoc.stanford.edu/。
根據Fang 等[5]人工標記過的磁類型信息[5],篩選了2010 年5 月至2017 年5 月間具有磁圖和白光圖的黑子數據共15641 張,其中α類型5276 張,β類型7849 張,β-x類型2516 張。由于出現(xiàn)在一個活動區(qū)的黑子群的演變較緩慢,同一個黑子群在一定時間內不會出現(xiàn)磁類型的變化,為保證數據的多樣性,選擇數據時間精度為96 min。在劃分訓練集、驗證集和測試集時,將2010 年5 月至2015 年5 月間的雙通道數據作為輸入訓練(包含4709 個α類型,7353 個β類型,2407 個β-x類型),將2015 年6 月至2017 年5 月間的雙通道數據作為測試集(包含567 個α類型,496 個β類型,109 個β-x類型)。輸入訓練數據中按照8:2 的比例分為訓練集和驗證集,其中訓練集包含3767 個α類型,5882 個β類型,1926 個β-x類型;驗證集包含942 個α類型,1471 個β類型,481 個β-x類型,具體情況見表2。

表2 訓練、驗證、測試集的分布Table 2 Distribution of training,validation and test sets
神經網絡的設計一般遵循深度優(yōu)先的原則,但是越深的神經網絡越難以訓練。2015 年He 等[8]提出了ResNet 模型,其核心思想是在學習x到其特征H(x)的映射時,機器不再學習這兩者間的基本映射關系,而是學習其間的差異,也就是殘差。假如定義殘差F(x)=H(x)–x,那么該網絡開始學習F(x)+x而不是H(x)。實踐證明顯示ResNet 網絡可以避免深度神經網絡中的梯度消失問題,從而可以構建層數更深的網絡。常用的ResNet 模型包括ResNet34、ResNet50、ResNet101 等。
與ResNet 網絡追求更深的層數不同,Inception[9]網絡是在不犧牲計算成本的前提下構建更寬的網絡,Inception 的核心思想是通過精心的設計,將大小不同的卷積層組合在一起,矩陣經過這些大小不同卷積層處理后,可以形成一個更深的矩陣。這樣做的優(yōu)點是可以在深度和寬度兩個維度對網絡進行擴充,從而使得Inception 網絡既提高了模型的準確性,又防止過擬合現(xiàn)象的發(fā)生。
Xception 是在Inception 基礎上發(fā)展而來的。Xception[10]網絡是Google 在2017 年提出的對Inception v3 網絡的改進,也被稱為是一種極端的Inception。其核心思想是使用深度可分離卷積去觀察輸入數據,與傳統(tǒng)方法相比,在網絡寬度相同的情況下可大大降低參數量,加快網絡的訓練速度。但是提出Xception 的目的并不是在于對模型進行壓縮,而是要提高模型的性能。
MobileNet[11]網絡同樣也是由Google 公司于2017 年提出的卷積神經網絡模型,可稱之為輕量級網絡中的Inception。MobileNet 具有與Xception 相同的網絡模塊結構,都用到了大量的深度可分離卷積,但兩者主要的目的不同。在Xception 模型中將普通卷積替換成深度可分離卷積主要是為了分類效果,并不是為了訓練速度。而MobileNet 的目的恰好相反,該模型并沒有加寬網絡,而是通過深度可分離卷積對參數量進行壓縮和提升訓練速度,以便于實際應用。然而MobileNet 在實際使用時還存在例如模型訓練完后發(fā)現(xiàn)有不少卷積核為空,以及模型在低維度上效果不好等問題。針對這些問題,Google 提出了將ReLU 替換成線性激活函數以及引入倒置殘差模塊。基于這兩點改進,Google 公司于2018 年提出第二代MobileNet 模型,即MobileNetV2[12]模型。
為了評估模型在每一類黑子上的分類能力,計算單類樣本的評估指數時將三分類問題簡化為二分類問題。表3 為對α類型黑子使用混淆矩陣定量評價模型的結果。其中,T表示真陽性(Ture Positive),F(xiàn)表示假陰性(False Negative),N表示假陽性(False Positive),C表示真陰性(True Negative)。
從表3 進一步計算可以得到召回率(Recall)R,精確率(Precision)P和F1分數:

表3 二分類混淆矩陣Table 3 Definition of confusion matrix on binary classification

一般來說,召回率和精確率是一對矛盾的度量,精確率越高,召回率就越低;召回率越高,精確率就越低。例如,若希望將α 類型黑子盡可能多地識別出來,則可以將所有的黑子預測為α類,那么α類型黑子的召回率為1,這樣精確率就會很低。若希望α類型的黑子識別精確率高,則可將最有可能是α類型的黑子識別為α類,但這樣會導致一些α類型黑子被漏選,使得召回率較低。因此,綜合考慮召回率和精確率,采用式(3)的F1分數來評估模型的準確性。F1分數越高,說明學習器的性能越好。
在具體的實驗中,由于原始太陽黑子圖片的大小不一致,不能直接輸入網絡模型。為滿足網絡輸入要求,首先對原始太陽黑子圖片變換為相同的像素大小(160 pixel×320 pixel)。此外,考慮到黑子的磁類型識別主要是基于黑子群的形狀進行識別,對其進行旋轉等操作并不會改變其磁類型。為此,在訓練時考慮使用數據擴充的策略(對訓練樣本進行旋轉,翻轉和縮放等操作)來增加訓練樣本的數量以及多樣性,提升模型魯棒性。損失函數選擇交叉熵損失,一次訓練所抓取的數據樣本數量設定為8,迭代輪次設定為30,每個迭代輪次迭代1000 步。檢驗集上損失最小的模型當作最優(yōu)模型。
在做預測時,采用了測試時增強(TTA)[13]算法,通過犧牲測試時間來提高模型的準確率。TTA 算法的核心思想是通過對原始圖像通過水平和垂直翻轉的方法進行擴充,然后將多個版本的圖像雙通道分別輸入模型得到多個預測值,并將多個預測值的平均值作為最終的預測值。這樣做可以幫助模型進一步提取圖片的重要特征,從而提高模型的準確率。
為了驗證提出策略(數據擴充和TTA)的有效性,進行了如下4 組消融試驗:(1)無數據擴充無TTA 的深度學習模型,(2)無數據擴充有TTA 的深度學習模型,(3)有數據擴充無TTA 的深度學習模型,(4)有數據擴充有TTA 的深度學習模型。其中,深度學習模型包括當前較為流行的Xception、MobileNetV2、MobileNet、ResNet50、Inception ResNetV2 網絡。此外,本文采用了Fang 等[5]的網絡架構作為實驗對比。不同網絡模型在測試集上的F1分數如表4 所示。實驗結果表明,加數據擴充和TTA 策略后,絕大部分網絡模型都有一定的性能提升。其中Xception 網絡加數據擴充和TTA 策略后在測試集上α,β和β-x的F1分數分別達到了96.50%,93.20%,84.65%,在α和β類型黑子分類上達到最優(yōu)。與之對比,MobileNetV2 網絡在加數據擴充和TTA 策略后在測試集上α,β和β-x的F1分數分別達到了95.44%,92.57%,86.54%,在β-x類型黑子分類上有較好的效果。其他深度網絡架構MobileNet、ResNet50、Inception ResNetV2 在太陽黑子分類上雖然不如Xception、MobileNetV2 網絡的效果好,但在測試集上α,β和β-x的F1分數也能分別達到90%,90%,80%以上,遠超過Fang 等[5]的三層網絡架構(三類F1分數均未達到70%)。這表明了使用深度網絡模型的有效性。此外,為證明輸入雙通道數據的有效性,分別使用白光圖作為單通道輸入和磁圖作為單通道輸入訓練Xception 模型。實驗結果表明僅使用白光圖當作輸入,Xception 網絡在測試集上α,β和β-x的F1分數分別達到95.21%,90.03%,75.86%。然而,僅使用磁圖當作輸入,Xception 網絡的F1分數可達到91.53%,86.09%,76.84%。雙通道效果相對于白光圖單通道輸入的網絡在α,β和β-x三種類型上分別提升1.29%,3.17%,8.79%;相對于磁圖單通道輸入的網絡在α,β和β-x三種類型上分別提升4.97%,7.11%,7.81%。這表明使用雙通道數據能夠提升網絡性能。需要指出的是,本文的3 層CNN 網絡的準確率并未達到Fang 等[5]的準確率,這是由于本文基于黑子演化時間的緩變性,將數據訓練集和測試集按照時間劃分,這樣訓練出來的模型是真實可信且可使用的,而Fang 等[5]在劃分數據集時是隨機劃分的,這樣做會導致模型的假準確率較高,即將新數據輸入CNN 模型后的實際分類準確率并不高,即模型的泛化性能不高。

表4 不同深度學習模型的F1 分數(%)Table 4 F1 score (%) of different classification methods
通過對大量的Wilson 山磁分類的太陽黑子的白光圖和磁圖分析,發(fā)現(xiàn)α類一般出現(xiàn)在單個太陽黑子中,且α類的黑子結構較為單一,所以識別的準確率較高;β類一般在一個相對規(guī)則的黑子群中,并且有較為明顯的相反極性之間的劃分界限,但也有一些結構特殊的β類型黑子,圖2 給出了兩種容易被誤判的β類黑子。從白光圖2(a)中只能看到一個較為明顯的有本影和半影的黑子結構,從磁圖2(c)中可以看到存在兩個相反的極型,但此處的負極性黑子(黑色陰影)群的部分在白光圖中并不明顯,所以對于此種β類型的黑子,很容易被誤判為α類型。另外從白光圖2(b)中可以看到存在多個黑子群,從磁圖2(d)中可以看到不同極性黑子之間的界限并不明顯,容易被誤判為β-x類型。這部分特殊結構的β型黑子會影響模型對β類型分類的準確率,這也是β類型的F1分數沒有α類型的F1分數高的原因;β-x主要出現(xiàn)在一個相對較大且分布不規(guī)則的太陽黑子群中,在本實驗中,由于β-x的樣本數量較少,還不到α類數量的一半,所以在測試集上的準確率不如前兩種分類準確率;此外β-x類的黑子結構越復雜,出現(xiàn)誤判的可能性就越大。

圖2 兩種特殊的β 類黑子圖像。(a)(b)為白光圖,(c)(d)為磁圖(頂部標注為相應的活動區(qū)信息)Fig.2 Two kinds of special β-type sunspot images.(a) (b) are white light diagrams,(c) (d) are magnetograms.The top notes are activity area information
值得一提的是,對于β-x的分類問題,在測試集上不使用TTA 數據增強策略會進一步提高準確率,且使用MobileNetV2 網絡的效果優(yōu)于Xception。由于深度學習是黑盒模型,難以探究其背后的真正原因。但是,因為Xception 在α和β類黑子的分類的F1分數均優(yōu)于MobileNetV2,且這兩類黑子的數據量更多,所以,在一定程度上可以認為Xception 網絡對黑子磁類型分類的綜合性能是最好的。
本文基于多種深度學習網絡構造太陽黑子Wilson 山磁分類的自動識別模型,使用2010 年5 月至2015 年5 月的SDO/HMI 磁圖和白光圖作為輸入數據學習模型,2015 年6 月至2017 年5 月的雙通道圖片對模型進行測試。實驗結果表明,Xception 模型能進行最優(yōu)的Wilson 山磁分類,α,β和β-x的F1得分分別達到了97.05%,93.74%,84.65%。其中β-x的F1得分較低的主要原因是其數據量較少。
在深度學習模型的構建中,選擇適合的網絡模型和策略(數據擴充、TTA 等)對黑子磁類型的分類精度有很大的提升。盡管對圖片進行旋轉操作來擴充數據,可能對于活動區(qū)物理過程的研究不合理,但本文主要任務是根據靜態(tài)圖片來識別黑子的磁類型,從這個角度上來說旋轉圖片增加數據量是可行的。
在下一步工作中,計劃使用融合集成策略與注意力機制來進一步提高模型精度,尤其是β-x類型的分類準確率,并且嘗試從可解釋性機器學習的角度去解決黑子磁分類問題。
致謝磁圖和白光圖數據由SDO/HMI 衛(wèi)星提供;FITS文件由http://jsoc.stanford.edu/提供;SRS 文件由美國海洋局空間天氣預報中心(NOAA/SWPC)網站(https://www.swpc.noaa.gov/)提供;數據資源由國家科技基礎條件平臺–國家空間科學數據中心(http://www.nssdc.ac.cn)提供。