劉 航,鮑晨晨,謝 婷,高 山
(1.大連理工大學 電子信息與電氣工程學部,遼寧 大連 116023;2.大連理工大學 遼寧省集成電路與生物醫學電子系統重點實驗室,遼寧 大連 116023; 3.大連理工大學 網絡與信息化中心,遼寧 大連 116023)
隨著云計算,大數據及其應用的興起,計算機機房乃至大型數據中心得到了迅速發展,不僅規模不斷增加,內部服務器的密度和集成化也不斷提高。目前,服務器內部高度集成的單顆芯片可以產生大約200 W/cm2的熱流密度,并且會隨著技術發展繼續增加[1]。在這種情況下,如果出現風扇失靈、通風不暢、長時間滿負荷運行等情況,服務器內部以及周圍會產生較高溫度,導致機房內部溫度分布不均衡,形成局部熱點區域。機房空調為了維持服務器設備正常運行的溫度,必然要增加制冷功率,這會消耗更多能耗用于制冷。若熱點不能及時被消除,高溫還會引起服務器宕機,甚至造成芯片的物理損壞。因此獲取機房內部溫度分布,監測、識別熱點區域有助于降低機房的能耗。
紅外熱像儀可獲取物體表面二維溫度分布,能夠間接反映服務器的運行狀態,具備直觀、快速、非接觸、精度高等優點。Mohd等人列舉了熱成像技術在診斷電氣設備上的各種應用[2],其中包括了各類熱異常及相應的測量方案。Amin等人將機器學習技術應用在引擎散熱器的紅外診斷上[3]。
本文提出的基于熱成像的熱點成因診斷方法通過采集服務器出風口的紅外圖像,從中發現熱點后,提取熱點溫度分布特征,最后利用機器學習識別熱點的成因。所用的機器學習方法主要包括支持向量機(SVM)和卷積神經網絡(CNN)[4]。
SVM是一種有監督機器學習算法,在小樣本、非線性分類問題上極具優勢[5],但是需要人工提取數據特征向量。特征向量的選取將直接影響分類的準確率,因此需要尋找并篩選出對服務器運行狀態敏感的溫度分布特征。
然而,在機房的實際運行中,被監測熱點主要由偶發事件產生,在有限時間內很難收集足夠多的熱點圖像。因此,訓練集的各類別樣本數量較少,且不均衡。然而,分類器在面對不同類別訓練樣本數不均衡的情況下,分類性能會顯著下降[10]。雖然數據增強技術(例如平移、剪切、旋轉等)能夠在一定程度上提升這種情況下的準確率,但是這些數據增強方法產生的數據相關性較大,不能從根本上解決問題[11]。
對抗生成網絡(GAN)是一種無監督類型的生成模型,在2014年由Good fellow提出[12]。GAN模型由生成網絡和判別網絡組成,生成網絡盡可能合成趨近真實樣本數據分布的偽樣本,判別網絡盡力去分辨真實樣本和偽樣本,通過零和博弈(Zero-sum Game)的對抗過程,最終達到納什均衡(Nash Equilibrium),在對抗過程中使得生成網絡獲得趨近真實數據分布的能力。零和博弈的公式如下:
minGmaxDV(D,G)=
Ex~Pdata[logD(x)]+Ez~pz(z)[log(1-D(G(z)))]
其中:D代表判別映射函數,G代表生成映射函數,Pdata代表真實樣本數據的分布,Z代表噪聲(即輸入數據),PZ代表噪聲分布。通過不斷迭代學習,生成網絡可根據真實數據樣本分布特征合成與其相近的偽樣本。因此,GAN模型可以生成非相關的樣本數據,且具有更強的解釋性。原始的GAN存在著訓練困難、生成器和判別器的loss無法指示訓練進程、生成樣本缺乏多樣性等問題。很多學者都在嘗試解決這些問題。其中,Wasserstein GAN(WGAN)的結果較為理想[13]。WGAN修改了原始GAN的實現流程,如在判別器最后一層去掉了sigmoid,生成器和判別器的loss不取log,每次更新判別器的參數之后把它們的絕對值截斷到不超過一個固定常數c等。WGAN徹底解決GAN訓練不穩定的問題,基本解決了模型崩潰問題,確保了生成樣本的多樣性。Chen等人提出的InfoGAN模型,不僅能夠很好地學習數據之間的類型差別,也能夠很好地學習到數據本身的一些易于區分的特點,而且生成模型對這些特點具有很好的泛化能力[14]。Alec等人提出的DCGAN也是對GAN較成功的改進,其改進主要是在網絡結構上。DCGAN極大的提升了GAN訓練的穩定性以及生成樣本質量[15]。
本文給出了與熱點成因相關的特征向量,介紹了利用SVM或AlexNet識別熱點成因的方法,并通過實驗對比分析了有無DCGAN增強訓練樣本集的診斷性能。
熱點成因診斷的基本流程,是通過熱像儀采集服務器出風口一側的紅外圖像,經過圖像標準化、熱點提取[16]、特征提取及機器學習等步驟,識別服務器所處工作狀態,如CPU負荷、各處風扇狀態、空氣流通情況等。為后續消除熱點操作提供決策支持。針對特征提取及機器學習過程,本文使用了兩種方法,并通過實驗對比了各自的性能。
采用SVM作為分類器模型時,需要首先對紅外圖像中的熱點區域的數據進行特征提取。根據每種特征對熱點成因診斷準確率的貢獻,利用特征選擇算法,從數據統計、圖像紋理、形態學三方面,篩選出了紅外圖像中熱點區域的有效特征,可用于熱點成因診斷。
(一)發病情況 墊江縣某鎮養殖戶飼養了2 000只種鴨,在小河邊(河中的水質較差)、樹林中放養,大部份種鴨開始產蛋。10月中下旬陸續有種鴨發病,曾用鴨瘟疫苗免疫注射過,用氟哌酸治療,效果不明顯,先后共死亡220只,死亡率為11%;附近農戶圈舍飼喂有鵝,雞未發病。
統計特征由表1所示,包括灰度概率密度、灰度均值、灰度方差、統計直方圖概率均值、熵、峰態、歪斜度等特征。相關公式如表1所示。其中,h和w分別表示圖像的長和寬,N表示像素數量,ni表示灰度值為i的像素個數,I為紅外灰度圖像。

表1 統計特征表
紋理特征包括Tamura特征和LBP_GLCM特征[16]。Tamura紋理特征包含的內容如表2所示。其中,粗糙度中Sbest(i,j)表示圖像(i,j)位置的像素的能得到最大領域均值差值的窗大小;對比度中μ4為圖像灰度的四階矩;方向度中HD表示方向梯度直方圖,k為直方圖峰值,np為直方圖所有峰值,Wk表示該峰值所包含的區間,Φk表示波峰的中心位置;線性度中PDd是方向共生矩陣,n為PDd的大小;規則度中r表示規范化因子,Scrs、Scon、Sdir、Slin分別表示粗糙度、對比度、方向度和線性度的標準差。LBP_GLCM紋理特征提取是通過使用局部二值化(LBP,Local Binary Patterns)特征描述算子計算得到LBP模式下的灰度子圖,然后基于LBP子圖計算灰度共生矩陣(GLCM,Gray-Level Co-Occurrence Matrix)特征,相關公式如表3所示。其中Hl(i,j)表示坐標(i,j)處的灰度概率密度,(μx,μy)和(σx,σy)分別表示水平方向和豎直方向的像素均值和標準差。
形態學的有效特征包括:熱點區域占服務器的面積比、服務器溫度重心位置、溫度最大值區域的重心的橫坐標,溫度最大值的面積比例、熱點區域的周長、歐拉數。

表2 Tamura紋理特征表

表3 LBP_GLCM紋理特征表
深度學習相關算法是基于大量數據訓練實現的。然而,由于沒有足夠多的熱點圖像樣本,熱點成因診斷的分類器訓練過程將面臨小數據樣本集問題,通常采用特征提取方式實現目標分類。相比傳統的卷積神經網絡,AlexNet增加了Dropout、Relu激活函數和數據增強,提高了傳統網絡的分類效果。
針對機房熱點紅外圖像樣本集的特點,將AlexNet網絡結構進行改進,如圖1所示。其結構包含5個二維卷積層、5個批歸一化處理層、4個最大池化層、3個Dropout層和一個全連接層,采用ReLU激活函數[17]。卷積層中卷積核的個數依次為32、64、128、256和512,大小均為3×3。全連接層使用線性分類函數,并增加Dropout函數避免過擬合問題。

圖1 改進的AlexNet模型結構圖
在DCGAN模型中生成網絡和判別網絡的結構都是卷積神經網絡,它的結構特點是:1)在兩個網絡中都使用了批歸一化處理;2)分別用局部卷積和帶步長的卷積替換了池化層;3)生成網絡采用ReLU激活函數;4)判別網絡使用LeakyReLU激活函數。與傳統的GAN模型相比,DCGAN模型改善了合成樣本的質量和多樣性,提高了收斂速度。
生成網絡的結構如圖2所示,包括一個全連接層、三個批歸一化處理層、兩個上采樣層和三個二維卷積層。其中,二維卷積層的核尺寸為3×3,padding為1,卷積步長為1。激活函數采用的是Tanh和LeakyReLU,其中LeakyReLU的負斜率為0.2。

圖2 DCGAN模型生成網絡結構圖
判別網絡的結構如圖3所示,包括4個二維卷積層,4個Dropout層,三個批歸一化層和一個全連接層。其中,二維卷積層的核尺寸為3×3,padding為1,卷積步長為2。激活函數采用的是Sigmoid 和LeakyReLU,其中LeakyReLU的負斜率為0.25。為了避免過擬合現象,在判別層網絡增加了Dropout層,神經元停止工作的概率設為0.25。
DCGAN的結構如圖4所示。生成網絡的輸入是高斯噪聲,范圍在[0,1]。因此,為了在判別網絡中能對真實圖像和合成圖像匹配判斷,需要將真實數據集在輸入判別網絡前進行歸一化。判別網絡的輸入是真實圖像或者生成圖像,通過卷積操作可得到輸入可能為真實圖像的概率。判別網絡的學習經驗被反饋至生成網絡,用于生成網絡的下一步優化。通過多次迭代,生成網絡將生成接近真實圖像的生成圖像。由于使用了Adam優化器,DCGAN網絡模型的收斂更快,并可避免過擬合現象。根據文獻[18],Adam優化器的學習率可分別設置為2E-4,一階和二階動量梯度衰減率可設置為0.5和0.999。

圖4 對抗生成網絡結構圖
實驗在大連理工大學的網絡與信息化中心的機房進行。通過控制DELL 720服務器的軟硬件工作狀態,以及對周圍環境的設置,模擬了5種可產生熱點的場景,分別是CPU長時間60%負荷、CPU長時間100%負荷、主風扇損壞、CPU風扇損壞、服務器進氣口處空氣流通不暢。出現熱點后,利用FLIR E8手持熱像儀采集服務器出風口一側的紅外圖像。
實驗共采集5類1 350張紅外圖像,如圖5所示。考慮到拍攝角度會引起溫度分布發生形變,首先提取服務器在圖像的區域,然后利用透視變換得到具有標準長寬比的服務器溫度分布(如圖6)。利用同態濾波增強算法和一維最大熵分割算法得到服務器熱點區域的溫度分布(如圖7)。

圖5 服務器運行狀態下紅外圖
診斷過程分別使用了SVM和AlexNet分類器。SVM使用統計特征、紋理特征、形態學特征作為分類器的輸入特征集;AlexNet采用卷積核自動提取圖像特征。
采用DCGAN作為生成器合成樣本時,模型采用Pytorch按照圖2、3的結構進行搭建。模型的輸入為1×100的高斯噪聲向量,設置模型的epoch為200,batch size為12,按照圖4的計算結構進行訓練。將1 350張真實熱點圖像隨機劃分為訓練集(900張)和測試集(450張),分別記為集合SR0和SR1。將SR0輸入至DCGAN進行圖像生成訓練,每種類別下生成496張圖像,總計生成2 480張合成熱點圖像(如圖8),記為集合SD。

圖8 DCGAN合成圖片
實驗按照有無合成圖像、診斷模型的類別分為4組,如表4所示。每組實驗在訓練得到分類器模型后,均使用SR1測試其診斷準確率。各組實驗的準確率如表5所示。

表4 各組實驗使用的訓練集和分類器模型

表5 各組實驗的準確率 %
通過對比實驗一和實驗三的結果可以發現,SVM和AlexNet使用真實數據集,即在小樣本數據集,訓練得到的模型,在診斷準確率方面沒有顯著的差異,均能達到90%左右。SVM能夠達到這一效果的前提是繁雜的特征選擇工作;AlexNet能夠自動地提取樣本有效特征。通過對比實驗二與實驗三的結果可以發現,利用DCGAN增強訓練數據集后再訓練這兩種模型,SVM的訓練集準確率提升到95.01%,但是測試集準確率相較之前下降了2.22%;而AlexNet的訓練集和測試診斷集準確率均有所提升,其中測試集準確率比實驗三提升了5.11%。
通過實驗結果可以看出,使用DCGAN增強訓練數據集的策略不是對任何分類器模型都有效。DCGAN會使SVM出現過擬合的問題,致使診斷性能下降;使AlexNet顯著提升診斷性能。因此,針對本文提出的基于熱成像的熱點成因診斷問題,利用DCGAN增強訓練集合,并選擇AlexNet作為分類器模型,可以得到更優的診斷性能。
本文研究了基于熱成像的機房熱點的成因診斷方法。針對服務器上熱點的溫度分布,在計算出特征集合后,利用SVM可以對熱點成因進行識別。本文給出了經篩選的與熱點成因關聯的特征集合。利用卷積神經網絡,如AlexNet,自動提取分布特征并識別也可以實現熱點成因的診斷。
針對機房中無法在短時間內收集足夠多的熱點圖像用于訓練,本文提出利用對抗神經網絡,如DCGAN,合成出更多的熱點溫度分布圖,用于增強訓練樣本集。
通過4組實驗對比了SVM和AlexNet在有或無DCGAN增強訓練樣本的情況下對熱點成因診斷的準確率。從實驗結果發現, DCGAN可以提升AlexNet的診斷性能,而對SVM無效。由此,本文選擇AlexNet+DCGAN組合作為熱點成因的診斷方法。該組合構建的模型優勢主要有兩點:一是由于服務器紅外圖像信噪比低,圖像有效特征較難準確提取,而通過卷積核自動提取特征能夠有效簡化特征選擇的難度;二是借助DCGAN擴展原始數據集,能夠將AlexNet分類模型的性能進一步提升,能夠很好地應對工程實踐中樣本數量較少的情況。