李盛新,葉豐華,李道童,張秀波,韓紅瑞
(浪潮電子信息產(chǎn)業(yè)股份有限公司,濟(jì)南 250101)
隨著我國(guó)計(jì)算機(jī)行業(yè)的空前發(fā)展,大數(shù)據(jù)、互聯(lián)網(wǎng)+、云計(jì)算等新興行業(yè)技術(shù)經(jīng)過(guò)不斷研究得到了廣泛的應(yīng)用。服務(wù)器隨著這些信息技術(shù)的發(fā)展,在各領(lǐng)域得到了越來(lái)越廣泛的應(yīng)用,如軍事、醫(yī)療、銀行、互聯(lián)網(wǎng)等領(lǐng)域[1-2]。若服務(wù)器底層硬件發(fā)生故障造成非預(yù)期的暫時(shí)停機(jī),可能會(huì)導(dǎo)致數(shù)據(jù)丟失、應(yīng)用中斷等后果[3-4]。這就要求服務(wù)器具備高效率的故障診斷、檢測(cè)和預(yù)警等技術(shù)的支持。因此,研究服務(wù)器硬件故障預(yù)警技術(shù),建立底層業(yè)務(wù)類硬件故障預(yù)測(cè)模型,對(duì)提高服務(wù)器的可靠性、可用性具有重要的實(shí)用價(jià)值[5]。近年來(lái),人工智能算法在各個(gè)科研工程領(lǐng)域的研究成果斐然,主要包括神經(jīng)網(wǎng)絡(luò)、仿生尋優(yōu)算法、決策樹、支持向量機(jī)等[6-9],其高效的非線性數(shù)據(jù)擬合能力為服務(wù)器硬件故障預(yù)警提供了有效途徑。尤其人工神經(jīng)網(wǎng)絡(luò)(ANNs,artificial neural networks)在工程應(yīng)用和理論研究中都是非常熱門的智能算法,被視為一個(gè)大規(guī)模、非線性化的數(shù)據(jù)融合處理系統(tǒng),具有不受模型約束、學(xué)習(xí)能力強(qiáng)等優(yōu)點(diǎn)。
文獻(xiàn)[10]基于智能算法提出一種使用時(shí)間序列聚類檢測(cè)服務(wù)器異常的方法,該方法雖然能夠檢測(cè)整個(gè)服務(wù)器系統(tǒng)是否異常,而無(wú)法定位檢測(cè)服務(wù)器異常硬件,尤其是晶體管密度及規(guī)模小的器件。同時(shí),時(shí)間序列聚類智能算法在可靠性方面存在一定劣勢(shì),不適用于服務(wù)器這種對(duì)可靠性要求極高的系統(tǒng)。ANNs作為一個(gè)多學(xué)科交叉的前沿技術(shù),正向模擬人類認(rèn)知的道路上更加深入發(fā)展,其與模糊系統(tǒng)、元啟發(fā)式優(yōu)化算法等結(jié)合對(duì)自身網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化是一個(gè)重要研究方向[11]。自適應(yīng)神經(jīng)模糊推理系統(tǒng)(ANFIS,adaptive neuro fuzzy inference system)充分利用了ANNs和模糊推理系統(tǒng)(FIS,fuzzy inference system)二者的優(yōu)良特性,與傳統(tǒng)智能算法相比[12-13],它的結(jié)構(gòu)更復(fù)雜,計(jì)算能力更高,具有如下優(yōu)點(diǎn):1) 收斂速度更快;2)泛化能力更強(qiáng);3)映射關(guān)系更穩(wěn)定,即訓(xùn)練結(jié)果不隨訓(xùn)練數(shù)據(jù)輸入的順序而改變。傳統(tǒng)的ANFIS采用了梯度下降法對(duì)隸屬度參數(shù)進(jìn)行調(diào)整。這種方法在每一步梯度計(jì)算時(shí)都可能會(huì)出現(xiàn)局部最小值的問(wèn)題,這會(huì)導(dǎo)致無(wú)法得到最優(yōu)的模型輸入和輸出數(shù)據(jù)之間的映射關(guān)系,最終造成服務(wù)器硬件故障預(yù)警的誤判和漏判問(wèn)題的產(chǎn)生。
元啟發(fā)式優(yōu)化算法是隨機(jī)算法與局部搜索算法相結(jié)合的產(chǎn)物[14-16],通過(guò)采用一定的策略接收相對(duì)劣質(zhì)解從而避免陷入局部最優(yōu)。但現(xiàn)有的許多元啟發(fā)式算法由于其自身的搜索策略設(shè)置,應(yīng)用于實(shí)際搜索時(shí)存在相應(yīng)的缺點(diǎn),如蟻群優(yōu)化算法計(jì)算量大耗時(shí)長(zhǎng)、模擬退火算法收斂速度慢且需手動(dòng)增加迭代次數(shù)等。粒子群優(yōu)化(PSO,particle swarm optimization)由于其搜索速度快、建模簡(jiǎn)單的特性被廣泛應(yīng)用[17],但其精度不高且在迭代后期粒子的速度受到一定限制不容易收斂[18]。2004年Sun等人[19]利用量子力學(xué)中的相關(guān)理論知識(shí),提出了量子行為粒子群優(yōu)化(QPSO,quantum-behavior particle swarm optimization)算法,參數(shù)設(shè)置比PSO算法少,在搜索能力上也更優(yōu)。然而QPSO算法也無(wú)法突破粒子群迭代更新后期,種群粒子的多樣性必然減少的限制[20],最終導(dǎo)致其對(duì)搜索全局最優(yōu)解的穩(wěn)定性不強(qiáng)。文獻(xiàn)[21]結(jié)合遺傳算法(GA,genetic algorithm)與BP神經(jīng)網(wǎng)絡(luò)提出了云服務(wù)器請(qǐng)求量預(yù)測(cè)模型,實(shí)驗(yàn)證明具有不錯(cuò)的穩(wěn)定性和準(zhǔn)確性。GA在全局最優(yōu)解的搜索上具有高效性,但該方法存在局部搜索能力弱,群體成熟早、效率低的問(wèn)題,并不適用于單獨(dú)搜索ANFIS隸屬度參數(shù)。
基于上述分析,為獲得更精確、更高效服務(wù)器預(yù)警模型[22],本文提出一種改進(jìn)的QPSO(IQPSO,improved QPSO)算法,并借鑒GA中的交叉變異思路設(shè)計(jì)一種新的混合元啟發(fā)算法IQPSO-GA對(duì)ANFIS參數(shù)進(jìn)行搜索,構(gòu)造IQPSO-GA-ANFIS模型結(jié)構(gòu),以獲得更優(yōu)的模型預(yù)測(cè)能力,進(jìn)而實(shí)現(xiàn)服務(wù)器故障預(yù)警功能。本文其余部分組織如下:第1節(jié)介紹了ANFIS結(jié)構(gòu)及參數(shù)訓(xùn)練過(guò)程;第2節(jié)提出了IQPSO算法,并描述了IQPSO-GA混合元啟發(fā)式優(yōu)化算法的實(shí)現(xiàn)步驟;第3節(jié)給出了基于IQPSO-GA調(diào)整ANFIS參數(shù)的流程方法;第4節(jié)通過(guò)實(shí)驗(yàn)數(shù)據(jù)驗(yàn)證了所提方法建立預(yù)警模型的優(yōu)越性;在第5節(jié)給出了本文的結(jié)論。
當(dāng)前業(yè)界應(yīng)用的服務(wù)器硬件檢測(cè)和預(yù)警技術(shù)主要有指標(biāo)監(jiān)控、日志分析、人工巡檢、預(yù)測(cè)模型4種方法,其中前3種方法只是檢測(cè)服務(wù)器的可觀測(cè)指標(biāo)參數(shù),不具備實(shí)質(zhì)上的預(yù)警意義。預(yù)測(cè)模型方法是通過(guò)歷史數(shù)據(jù)建立預(yù)測(cè)模型,由于服務(wù)器的硬件組成具備多樣性,且其中存在大量復(fù)雜非線性問(wèn)題,使其在實(shí)際應(yīng)用中還不夠成熟[23]。如在服務(wù)器運(yùn)行狀態(tài)下AI加速卡、以太網(wǎng)卡、RAID卡等電路單元重復(fù)性低,晶體管密度及規(guī)模小的器件,由于能夠監(jiān)測(cè)的參數(shù)不多,導(dǎo)致不容易尋找到合適的預(yù)警規(guī)律。
服務(wù)器中各部件單位時(shí)間內(nèi)所處理的信息量、部件的能耗(或端電流變化)和部件溫度是與硬件工作相關(guān)的重要參數(shù)。信息量是指數(shù)據(jù)中包含的有效信息的多少,不同的業(yè)務(wù)數(shù)據(jù)處理模式可能會(huì)產(chǎn)生不同的信息量;能耗是指服務(wù)器中各部件在處理數(shù)據(jù)時(shí)所消耗的電能,它與信息量有一定的關(guān)系,一般來(lái)說(shuō)處理更多或更復(fù)雜的信息需要更高的能耗;溫度是指服務(wù)器中各部件在運(yùn)行時(shí)所產(chǎn)生的熱量,消耗更多電能會(huì)導(dǎo)致溫度上升。在部件正常工作時(shí),實(shí)時(shí)監(jiān)測(cè)不同業(yè)務(wù)類型下的單位時(shí)間所處理的業(yè)務(wù)數(shù)據(jù)信息量進(jìn)行離散化取值,并實(shí)測(cè)對(duì)應(yīng)時(shí)間內(nèi)的部件能耗以及溫度變化信息。通過(guò)分析這些參數(shù)信息的變化規(guī)律以及響應(yīng)的實(shí)時(shí)性,對(duì)它們進(jìn)行標(biāo)準(zhǔn)化處理得到各業(yè)務(wù)類型下的樣本數(shù)據(jù)集。本文擬使用ANFIS對(duì)服務(wù)器不同業(yè)務(wù)模式下的數(shù)據(jù)集進(jìn)行訓(xùn)練建模,并使用訓(xùn)練好的參考模型對(duì)硬件參數(shù)進(jìn)行監(jiān)測(cè),一旦某一部件參數(shù)與參考模型輸出值相比較持續(xù)異常,則對(duì)該部件進(jìn)行硬件異常預(yù)警。
ANFIS是一種實(shí)用的人工智能方法,它模仿人類思維來(lái)解決不確定問(wèn)題,具有強(qiáng)大的智能化數(shù)據(jù)關(guān)聯(lián)、分類和推理能力。作為一種數(shù)據(jù)學(xué)習(xí)技術(shù),ANFIS使用模糊邏輯將高度互聯(lián)的神經(jīng)網(wǎng)絡(luò)處理函數(shù)和輸入特征信息轉(zhuǎn)換為所需的輸出。ANFIS結(jié)構(gòu)如圖1所示,圓圈表示固定節(jié)點(diǎn),正方形表示自適應(yīng)節(jié)點(diǎn)。ANFIS的結(jié)構(gòu)由五層組成,從輸入到輸出分別為模糊層、規(guī)則層、歸一化層、去模糊層和輸出層。
圖1 ANFIS的結(jié)構(gòu)
在ANFIS中,隸屬度函數(shù)的參數(shù)是通過(guò)樣本數(shù)據(jù)集進(jìn)行訓(xùn)練確定的,隸屬度函數(shù)相互組合或交互的方式稱為規(guī)則,這些規(guī)則分為前件參數(shù)和后件參數(shù)[24],其if-then形式的規(guī)則描述如下:
規(guī)則 1:
ifx=A1,y=B1,z=C1
thenf1=m1x+p1y+q1z+r1
規(guī)則 2:
ifx=A2,y=B2,z=C2
thenf2=m2x+p2y+q2z+r2
規(guī)則 3:
ifx=A3,y=B3,z=C3
thenf3=m3x+p3y+q3z+r3
式中,x、y和z是節(jié)點(diǎn)的輸入;f為輸出;Ai、Bi和Ci分別為與輸入x、y和z有關(guān)的模糊集合,i=1,2,3;mi、pi、qi和ri是結(jié)果參數(shù),通常稱為后件參數(shù)。
第一層:該層稱為模糊層,節(jié)點(diǎn)函數(shù)為隸屬度函數(shù),輸出值O1,i可以表示為:
(1)
式中,O1,i為該層輸出值;n為輸入信號(hào)數(shù)量;μAi、μBi和μCi為廣義鐘形隸屬函數(shù)(gbellmf),定義為:
(2)
式中,ai、bi和ci為前件參數(shù)。
第二層:該層稱為規(guī)則層,節(jié)點(diǎn)標(biāo)記為Π。輸出值O2,i是通過(guò)所有輸入成員函數(shù)相乘來(lái)計(jì)算得到的。
O2,i=wi=μAi(x)μBi(y)μCi(z),i= 1,2,…,n
(3)
式中,wi表示第i條規(guī)則的激勵(lì)強(qiáng)度。
第三層:該層稱為歸一化層,節(jié)點(diǎn)標(biāo)記為N。將前一層的輸出結(jié)果做歸一化處理,輸出值O3,i是處理后的激勵(lì)強(qiáng)度。
(4)
第四層:該層稱為去模糊層,在歸一化的激勵(lì)強(qiáng)度和結(jié)果函數(shù)之間創(chuàng)建一個(gè)自適應(yīng)關(guān)聯(lián)函數(shù),O4,i是第三層和第一層的值的乘積。
(5)
式中,mi、pi、qi和ri是結(jié)果參數(shù),通常稱為后件參數(shù)。
第五層:該層稱為輸出層,標(biāo)記為∑。它以所有輸入信號(hào)的總和來(lái)計(jì)算總輸出。
(6)
ANFIS中的模糊隸屬度函數(shù)參數(shù)(包括前件參數(shù)和后件參數(shù))是通過(guò)大量已知數(shù)據(jù)生成初始模糊模型再進(jìn)行訓(xùn)練獲得的。在該過(guò)程中常用的算法為最小二乘估計(jì)(LSE,least squares estimate)方法與梯度下降(GD,gradient descent)法結(jié)合的混合算法LSE-GD。
通過(guò)這種迭代自適應(yīng)學(xué)習(xí)過(guò)程對(duì)ANFIS進(jìn)行訓(xùn)練,F(xiàn)IS的前件和后件參數(shù)能夠被優(yōu)化調(diào)整,最后確定能夠擬合訓(xùn)練數(shù)據(jù)集的隸屬度函數(shù)參數(shù)值。在每次迭代訓(xùn)練中,實(shí)際輸出與預(yù)期輸出之間的誤差可以被減小,當(dāng)達(dá)到預(yù)定的訓(xùn)練次數(shù)或錯(cuò)誤率時(shí)停止訓(xùn)練過(guò)程[25]。
在ANFIS模型中LSE-GD為基于導(dǎo)數(shù)的優(yōu)化算法,極易陷入局部最優(yōu)。元啟發(fā)式算法在迭代過(guò)程引入隨機(jī)變量,因此有一定概率可以跳出局部最優(yōu)解,這是其與梯度下降或牛頓拉夫遜迭代最主要的區(qū)別。本文提出了一種混合元啟發(fā)算法IQPSO-GA,能夠準(zhǔn)確且穩(wěn)定地獲取全局最優(yōu)解。
PSO算法的進(jìn)化過(guò)程從隨機(jī)解或粒子群的選擇開始,每個(gè)粒子根據(jù)自身的速度、個(gè)體極值和全局極值更新自己的速度和位置。粒子的速度與位置的更新由如下方程確定:
(7)
式中,ω為慣性權(quán)重,其在算法的全局搜索和局部搜索中起著關(guān)鍵的平衡作用;vi,t表示種群中第i個(gè)粒子在第t次迭代時(shí)的速度向量。xi,t表示第i個(gè)粒子在第t次迭代時(shí)的位置向量;Pi,t-1為第i個(gè)粒子個(gè)體最優(yōu)位置;Gt-1為整個(gè)種群的全局最優(yōu)位置;c1和c2為加速度常數(shù);r1和r2為[0,1]之間服從均勻分布的隨機(jī)數(shù)。
PSO算法在迭代后期,粒子的速度受到一定限制,不能保證全局收斂。QPSO算法是在標(biāo)準(zhǔn)PSO算法的基礎(chǔ)之上,引入量子理論建立的尋優(yōu)進(jìn)化算法。主要思想是結(jié)合量子行為修改PSO算法中粒子更新位置的方式,具有量子行為的粒子在滿足種群空間范圍的條件下?lián)碛懈訌V泛的搜索尋優(yōu)能力[26]。在QPSO中,粒子位置由以下方程確定:
(8)
(9)
(10)
式中,Mbestt表示在第t次迭代時(shí)所有粒子最優(yōu)位置的平均值;N為種群粒子數(shù);D為粒子維度;pij,t為Pij,t和Gj,t之間的隨機(jī)位置;Pij,t表示種群第i個(gè)粒子的第j維在第t次迭代時(shí)的最優(yōu)位置;Gj,t表示種群的全局最優(yōu)解的第j維位置;φ1,φ2和uij,t均為[0,1]之間的隨機(jī)數(shù);xij,t表示第i個(gè)粒子的第j維在第t次迭代時(shí)的位置;βt為收縮-擴(kuò)張系數(shù),是用以控制QPSO算法收斂速度的重要參量,通常采用線性減小的方法變化。
βt=0.5(tmax-t)+0.5
(11)
式中,t表示當(dāng)前迭代次數(shù),tmax表示設(shè)定的最大迭代次數(shù)。
QPSO引入了Mbestt和pij,t的概念,提高了粒子間的協(xié)同工作和全局搜索能力,但同時(shí)也會(huì)影響到粒子的全局搜索效率。為提高粒子搜索效率,我們從粒子最優(yōu)位置和收縮-擴(kuò)張系數(shù)兩方面對(duì)粒子位置進(jìn)行調(diào)整。設(shè)置第t次迭代時(shí)所有粒子最優(yōu)位置的加權(quán)平均值。
(12)
式中,αij,t為每個(gè)粒子的權(quán)重系數(shù),設(shè)置如下
(13)
式中,F(xiàn)Gj,t表示全局最優(yōu)解Gt的第j維對(duì)應(yīng)粒子適應(yīng)度函數(shù)值,F(xiàn)ij表示第i個(gè)粒子的第j維的適應(yīng)度函數(shù)值。這樣,便可根據(jù)全局解和適應(yīng)度函數(shù)值對(duì)粒子位置進(jìn)行調(diào)整。
βt為QPSO算法中要控制的參數(shù),在算法運(yùn)行初期,βt值較大,收斂速度較慢,具有全局搜索能力,而局部搜索能力相對(duì)較弱;隨著迭代次數(shù)的增加,βt值逐漸減小,收斂速度加快,其全局搜索能力相對(duì)減弱,而局部搜索能力相對(duì)增強(qiáng)[27]。然而在實(shí)際應(yīng)用中,收縮-擴(kuò)張系數(shù)的這種調(diào)整方法并不能根據(jù)執(zhí)行過(guò)程進(jìn)行合理的變化,因此需要采用自適應(yīng)方法調(diào)整參數(shù),得到IQPSO算法。
定義誤差函數(shù)為:
(14)
式中,F(xiàn)i表示第i個(gè)粒子的適應(yīng)度函數(shù)值;FGbest表示全局最優(yōu)解Gt對(duì)應(yīng)粒子的適應(yīng)度函數(shù)值;可見Error_F表示粒子與粒子群中當(dāng)前最優(yōu)位置之間的距離關(guān)系。Error_F值越小,表示粒子與當(dāng)前全局最優(yōu)位置的距離越近,粒子搜索范圍變小,容易趨于早熟;Error_F值越大,表示粒子與當(dāng)前全局最優(yōu)位置的距離越遠(yuǎn),粒子搜索范圍變大,導(dǎo)致收斂速度變慢?;谡`差函數(shù)Error_F的定義,收縮-擴(kuò)張系數(shù)βt可以被調(diào)整如下。
κ=log10(Error_F)
(15)
(16)
式中,βi,t表示在第t次迭代時(shí)第i個(gè)粒子的收縮-擴(kuò)張系數(shù);當(dāng)Error_F較大時(shí),應(yīng)使βi,t取較小值,加快收斂速度;當(dāng)Error_F較小時(shí),應(yīng)使βi,t取較大值,擴(kuò)大搜索范圍,避免陷入局部最優(yōu)。這樣,便可將收縮-擴(kuò)張系數(shù)由原來(lái)的每次迭代線性減小,更改為在每次迭代中根據(jù)誤差函數(shù)來(lái)修正,提高了搜索最優(yōu)解的收斂速度和精度。
在上述IQPSO算法中,種群粒子的初始化是隨機(jī)的,在算法迭代的早期階段,種群搜索存在一定程度的盲區(qū),這不僅降低了算法的搜索效率,也影響了算法的穩(wěn)定性。此外,隨著IQPSO算法的不斷迭代更新,種群粒子的多樣性減少的問(wèn)題仍未得到解決。
GA算法通過(guò)利用自身的選擇算子、交叉算子和變異算子操作,對(duì)當(dāng)前種群中的所有染色體進(jìn)行更新操作,它具有較弱的局部搜索能力和較低的搜索效率,但在全局最優(yōu)解的搜索上具有高效性,且具有兼容性高的優(yōu)點(diǎn),可以與多種算法結(jié)合使用[28]?;诖耍疚奶岢龌旌显獑l(fā)式優(yōu)化算法IQPSO-GA,該算法具備高效的全局和局部搜索能力,算法流程如圖2所示。
圖2 IQPSO-GA算法流程圖
IQPSO-GA混合算法的詳細(xì)步驟如下所示:
1)設(shè)定IQPSO算法中的種群粒子個(gè)數(shù)和取值范圍并賦初值,確定尋優(yōu)參數(shù)的維數(shù)和變化范圍。
2)將IQPSO算法中當(dāng)前種群內(nèi)的全部粒子視作GA算法中的染色體,計(jì)算每個(gè)染色體對(duì)應(yīng)的適應(yīng)度值。
3)以適應(yīng)度值為評(píng)價(jià)指標(biāo),確定是否輸出最優(yōu)粒子。
4)利用IQPSO算法對(duì)當(dāng)前種群中的粒子進(jìn)行全局的初步搜索,通過(guò)式(10)對(duì)種群中粒子的位置進(jìn)行更新。
5)利用GA算法對(duì)4)中更新不充分的粒子進(jìn)行初始化編碼,并對(duì)編碼化的種群粒子進(jìn)行交叉算子操作、變異算子操作,并計(jì)算適應(yīng)度值。
6)根據(jù)5)計(jì)算的適應(yīng)度值產(chǎn)生新的種群,并根據(jù)適應(yīng)度值更新局部最優(yōu)值Pi,t和種群全局最優(yōu)值Gt。
7)以達(dá)到設(shè)定的最大迭代次數(shù)或全局最優(yōu)解誤差滿足系統(tǒng)需要為終止條件。滿足該條件,則輸出最優(yōu)解且算法終止;不滿足該條件,則重復(fù)4)~ 6)。
訓(xùn)練ANFIS隸屬度參數(shù)的目的是通過(guò)調(diào)整前件參數(shù)和后件參數(shù)集合獲得具備準(zhǔn)確映射能力的ANFIS規(guī)則,本文采用混合元啟發(fā)式算法IQPSO-GA來(lái)優(yōu)化ANFIS參數(shù),建立服務(wù)器故障預(yù)警模型,實(shí)現(xiàn)過(guò)程如圖3所示。
圖3 IQPSO-GA優(yōu)化ANFIS參數(shù)示意圖
IQPSO-GA算法優(yōu)化ANFIS模型的服務(wù)器故障預(yù)警具體步驟如下所示:
1)在使用優(yōu)化算法對(duì)ANFIS模式進(jìn)行訓(xùn)練前,需要選取模型期望輸出數(shù)據(jù)集,以及能夠輸出數(shù)據(jù)變化的特征信息作為模型輸入,本文采用服務(wù)器業(yè)務(wù)與硬件相關(guān)的3個(gè)關(guān)鍵參數(shù):部件所處理的信息量變化率、能耗變化率以及溫度變化率,經(jīng)過(guò)標(biāo)準(zhǔn)化處理后作為預(yù)測(cè)模型數(shù)據(jù)。
2)根據(jù)收集到的樣本數(shù)據(jù)集中的輸入數(shù)據(jù)和目標(biāo)輸出數(shù)據(jù),使用模糊聚類法獲得初始FIS結(jié)構(gòu),確定隸屬度函數(shù)的規(guī)則數(shù)量和初始參數(shù),該初始化過(guò)程取決于收集到的訓(xùn)練數(shù)據(jù)集質(zhì)量。
3)根據(jù)2)確定的ANFIS模型初始參數(shù),設(shè)置混合優(yōu)化算法IQPSO-GA中種群粒子個(gè)數(shù)和取值范圍,并對(duì)初始粒子進(jìn)行隨機(jī)賦值。
4)以粒子所對(duì)應(yīng)的均方根誤差,作為該粒子當(dāng)前適應(yīng)度值。每個(gè)粒子適應(yīng)度值的適應(yīng)度函數(shù)值計(jì)算表達(dá)式為:
(17)
5)使用IQPSO更新種群粒子位置,并通過(guò)GA算法使粒子之間進(jìn)行相互交叉和變異,增加種群粒子的多樣性。
6)產(chǎn)生一次優(yōu)化后的聚類參數(shù)值作為返回值,更新ANFIS的聚類參數(shù),計(jì)算網(wǎng)絡(luò)誤差。
7)以達(dá)到設(shè)定的最大迭代次數(shù)或全局最優(yōu)解誤差滿足系統(tǒng)需要為終止條件。滿足該條件,生成最終預(yù)測(cè)模型;不滿足該條件,則轉(zhuǎn)至4)。
8)通過(guò)7)得到的預(yù)測(cè)模型,以及經(jīng)過(guò)樣本數(shù)據(jù)訓(xùn)練得到均方根誤差,根據(jù)經(jīng)驗(yàn)公式,設(shè)置3倍均方根誤差為故障預(yù)警閾值,實(shí)現(xiàn)服務(wù)器硬件故障的預(yù)警功能。
綜上,該方法使用模糊聚類方法設(shè)置優(yōu)化問(wèn)題,基于收集的訓(xùn)練數(shù)據(jù)集初始化ANFIS結(jié)構(gòu),確定規(guī)則數(shù)量和隸屬度初始參數(shù)。優(yōu)化參數(shù)包括前件參數(shù)和后件參數(shù),它們構(gòu)成了一組由IQPSO-GA算法調(diào)整的變量,以提高ANFIS模型的預(yù)測(cè)性能。ANFIS模型的預(yù)測(cè)值產(chǎn)生的均方根誤差作為IQPSO-GA算法的適應(yīng)度值,IQPSO-GA算法的參數(shù)設(shè)置在后續(xù)實(shí)驗(yàn)中給出。
為驗(yàn)證所提基于IQPSO-GA優(yōu)化ANFIS模型的優(yōu)越性,以及服務(wù)器故障預(yù)警方法的有效性,本節(jié)使用一組后處理數(shù)據(jù)集作為樣本數(shù)據(jù)集進(jìn)行仿真實(shí)驗(yàn)。所使用的樣本數(shù)據(jù)集包含3組向量如圖4所示,前兩組分別為服務(wù)器部件所處理的信息量變化率和部件能耗變化率作為輸入數(shù)據(jù),另一組為部件溫度變化率作為輸出數(shù)據(jù),樣本數(shù)據(jù)集均通過(guò)歸一化處理映射到0~1之間。實(shí)驗(yàn)中所有算法均采用Matlab編碼,并在Intel Core i5-9400 CPU@2.90 GH計(jì)算機(jī)上運(yùn)行,進(jìn)行服務(wù)器部件數(shù)據(jù)線下仿真。
圖4 樣本數(shù)據(jù)集
數(shù)據(jù)集中共有500個(gè)數(shù)據(jù)點(diǎn),各樣本數(shù)據(jù)點(diǎn)為非周期性的采樣結(jié)果。將數(shù)據(jù)集分為兩部分:第一部分隨機(jī)取70%的數(shù)據(jù)點(diǎn)作為訓(xùn)練數(shù)據(jù),第二部分取剩余30%的數(shù)據(jù)作為測(cè)試數(shù)據(jù)。訓(xùn)練數(shù)據(jù)用來(lái)訓(xùn)練模型隸屬度參數(shù),測(cè)試數(shù)據(jù)用來(lái)檢驗(yàn)?zāi)P徒⒌臏?zhǔn)確性。
實(shí)驗(yàn)選擇為模糊C-均值聚類方法,表1給出了以迭代次數(shù)為終止條件的各優(yōu)化算法參數(shù)設(shè)置,這些參數(shù)的設(shè)置是根據(jù)本文團(tuán)隊(duì)在試錯(cuò)過(guò)程中的經(jīng)驗(yàn)而選擇的。表1中“選擇壓力”表示GA算法中最佳個(gè)體選中的概率與平均個(gè)體選中概率的比值;“Gamma”為在GA算法進(jìn)行交叉操作過(guò)程中,設(shè)置隨機(jī)數(shù)組時(shí)確定的數(shù)值范圍。文中所提的各元啟發(fā)算法粒子的編碼方式是實(shí)數(shù)編碼,基于采集的服務(wù)器樣本數(shù)據(jù)設(shè)置算法粒子初始值,每個(gè)粒子的位置表示空間中的一個(gè)候選解,通常用一個(gè)向量表示。同樣,每個(gè)粒子的速度也會(huì)用一個(gè)向量表示。在每次迭代中,粒子的速度和位置會(huì)根據(jù)公式進(jìn)行更新,更新后的粒子的適應(yīng)度值會(huì)被重新評(píng)估,并與個(gè)體最優(yōu)解和全局最優(yōu)解進(jìn)行比較,以更新個(gè)體最優(yōu)解和全局最優(yōu)解。
表1 優(yōu)化算法參數(shù)設(shè)置
在本實(shí)驗(yàn)中,我們使用預(yù)測(cè)誤差(PE,prediction error)作為主要性能指標(biāo),以詳細(xì)比較基于IQPSO-GA算法訓(xùn)練的ANFIS模型與基于LES-GD混合方法訓(xùn)練的ANFIS模型的預(yù)測(cè)結(jié)果。同時(shí),我們還使用一些眾所周知的統(tǒng)計(jì)工具作為輔助的尋優(yōu)評(píng)估指標(biāo),例如平均預(yù)測(cè)誤差(Error Mean)、誤差標(biāo)準(zhǔn)差(ESD,error standard deviation)、平均絕對(duì)誤差(MAE,mean absolute error)和均方根誤差(RMSE)。最后,通過(guò)使用決定系數(shù)(R2,coefficient of determination)將所提算法與其他元啟發(fā)式優(yōu)化算法進(jìn)行比較。決定系數(shù)R2的大小表征回歸方程對(duì)觀測(cè)值的擬合程度,取值范圍為0~1之間,R2的值越接近1,元啟發(fā)式算法得到的隸屬度參數(shù)越準(zhǔn)確,即預(yù)測(cè)值更接近實(shí)際值。反之,如果該值接近于0,則說(shuō)明擬合得到方程的參考價(jià)值越低,即獲得的隸屬度參數(shù)的可靠性較低。各性能評(píng)價(jià)指標(biāo)公式如下:
(18)
(19)
(20)
(21)
(22)
(23)
基于LES-GD算法與本文所提基于IQPSO-GA優(yōu)化算法對(duì)ANFIS隸屬度參數(shù)進(jìn)行訓(xùn)練和測(cè)試結(jié)果分析如圖5和圖6所示,兩種方法訓(xùn)練后得到的模型分別命名為ANFIS和ANFIS-IQPSO-GA。
圖5 ANFIS模型的訓(xùn)練和測(cè)試結(jié)果
從圖5和圖6可以清楚地看到,基于IQPSO-GA方法訓(xùn)練的IQPSO-GA-ANFIS模型與LES-GD方法得到ANFIS模型相比,前者具有更好擬合輸入-輸出數(shù)據(jù)的能力。通過(guò)測(cè)試數(shù)據(jù)分別對(duì)兩種訓(xùn)練方法得到模型的泛化能力進(jìn)行檢驗(yàn),結(jié)果表明:IQPSO-GA-ANFIS模型的MAE、RMSE分別為0.005和0.011,與傳統(tǒng)ANFIS模型的各指標(biāo)相比,IQPSO-GA-ANFIS模型擬合精度提高了47%以上。同時(shí),由圖5(b)和圖6(b)中的單步運(yùn)行時(shí)間(Single-step Run Time)可以看到,雖然在訓(xùn)練過(guò)程中,ANFIS模型和ANFIS-IQPSO-GA模型的參數(shù)求解過(guò)程復(fù)雜度不同,但完成訓(xùn)練的ANFIS模型與ANFIS-IQPSO-GA模型在進(jìn)行預(yù)測(cè)時(shí),具備同樣的計(jì)算速度,這是因?yàn)橛?xùn)練后的兩個(gè)模型僅是個(gè)參數(shù)的大小存在變化,其模型復(fù)雜度并無(wú)變化,故在實(shí)際應(yīng)用時(shí)無(wú)明顯區(qū)別。
為充分驗(yàn)證本文所提IQPSO-GA方法的優(yōu)越性,我們還使用了其他元啟發(fā)式算法對(duì)ANFIS模型的隸屬度參數(shù)進(jìn)行訓(xùn)練,如GA、PSO、QPSO、IQPSO、PSO-GA、QPSO-GA。由于元啟發(fā)式算法初始種群的選取具有隨機(jī)性,而初始種群的質(zhì)量對(duì)算法尋優(yōu)過(guò)程具有一定影響。故為了驗(yàn)證IQPSO-GA優(yōu)化ANFIS參數(shù)方法的穩(wěn)定性,我們應(yīng)用蒙特卡洛統(tǒng)計(jì)實(shí)驗(yàn)思想,將這些元啟發(fā)式算法均運(yùn)行100次,并對(duì)100次實(shí)驗(yàn)得到的各性能指標(biāo)的平均值進(jìn)行比較。在通過(guò)訓(xùn)練數(shù)據(jù)集訓(xùn)練ANFIS模型的過(guò)程中,各元啟發(fā)式優(yōu)化算法在每一次實(shí)驗(yàn)中都會(huì)得到一個(gè)隨迭代次數(shù)增加而收斂的適應(yīng)度函數(shù)值,不同元啟發(fā)式算法得到的平均適應(yīng)度值的收斂曲線如圖7所示。需要注意的是,為進(jìn)一步說(shuō)明實(shí)驗(yàn)結(jié)果并非偶然,我們?cè)诿看畏抡鎸?shí)驗(yàn)開始前,開源數(shù)據(jù)集中的所有數(shù)據(jù)點(diǎn)都會(huì)被重新隨機(jī)排序。
圖7 平均適應(yīng)度值的收斂過(guò)程
由圖7可以看出,與GA算法相比,PSO算法的適應(yīng)度函數(shù)的收斂速度更快,但由于GA算法具有更強(qiáng)的全局搜索能力,故隨著迭代次數(shù)的增加,GA算法的尋優(yōu)精度更高。同時(shí)也可以看到,QPSO和IQPSO算法相比PSO算法有更好的收斂速度和精度。這是因?yàn)镼PSO算法引入了量子行為力學(xué)理論,有助于提高粒子相互協(xié)作的能力。此外,由于GA算法的兼容性高的特點(diǎn),將GA算法與其他元啟發(fā)式優(yōu)化算法相結(jié)合,可以得到尋優(yōu)性能更好的混合優(yōu)化算法,如PSO-GA、QPSO-GA和IQPSO-GA。這3種混合優(yōu)化算法的收斂曲線明顯優(yōu)于單一元啟發(fā)式算法,其中本文所提的IQPSO-GA算法的尋優(yōu)性能更為突出。
實(shí)驗(yàn)使用測(cè)試數(shù)據(jù)集對(duì)通過(guò)各元啟發(fā)式優(yōu)化算法優(yōu)化后的ANFIS模型的泛化能力進(jìn)行了檢驗(yàn),圖8為使用測(cè)試數(shù)據(jù)對(duì)各優(yōu)化算法的檢驗(yàn)結(jié)果,圖中圓圈為通過(guò)實(shí)際值和預(yù)測(cè)值得到的標(biāo)記點(diǎn),直線表示對(duì)標(biāo)記點(diǎn)擬合得到的線性回歸方程。
圖8 各模型擬合性能的檢驗(yàn)結(jié)果
對(duì)比圖8中的各線性回歸方程以及R2的值,可以證明通過(guò)IQPSO-GA-ANFIS模型得到的預(yù)測(cè)值更接近實(shí)際值,即通過(guò)IQPSO-GA優(yōu)化算法訓(xùn)練得到的IQPSO-GA-ANFIS模型的隸屬度參數(shù)最準(zhǔn)確。通過(guò)上述仿真實(shí)驗(yàn),我們比較了不同元啟發(fā)式算法優(yōu)化ANFIS參數(shù)得到的相應(yīng)ANFIS模型的泛化能力,驗(yàn)證了IQPSO-GA-ANFIS模型的優(yōu)越性。
為驗(yàn)證所提基于IQPSO-GA優(yōu)化ANFIS模型的服務(wù)器的故障預(yù)警方法的有效性,我們?cè)趫D4所示樣本數(shù)據(jù)的基礎(chǔ)上,添加了若干異常誤差(包括高斯噪聲與野值噪聲)。設(shè)置誤差值如圖9(a)所示,在第450~490組樣本數(shù)據(jù)之間設(shè)置了野值突變?cè)肼?;通過(guò)建立的IQPSO-GA優(yōu)化后的ANFIS模型預(yù)測(cè)值與添加誤差后的實(shí)際值對(duì)比結(jié)果,以及預(yù)測(cè)誤差分別如圖9(b)、(c)所示。
圖9 服務(wù)器硬件故障預(yù)警仿真
圖9(a)的曲線為噪聲曲線,由該圖可以看到,多數(shù)誤差集中在-0.01~0.01之間,而在第450~490組樣本數(shù)據(jù)中存在大量異常誤差,如第455、456、460,464、476、481、484組樣本數(shù)據(jù)中的誤差較大,本節(jié)以第464和481組樣本數(shù)據(jù)對(duì)本文所提方法進(jìn)行詳細(xì)說(shuō)明。圖9(b)為使用本文所提方法對(duì)實(shí)際值的預(yù)測(cè)結(jié)果圖,可以看到所提基于IQPSO-GA優(yōu)化ANFIS模型的故障預(yù)警方法可以有效映射部件所處理的信息量變化率、能耗變化率與部件溫度變化率之間的動(dòng)態(tài)關(guān)系,其中在橫坐標(biāo)為464和481處的預(yù)測(cè)值與實(shí)際值之間偏差較大。為便于分析預(yù)測(cè)結(jié)果以及實(shí)時(shí)獲取監(jiān)察異常數(shù)據(jù),所提方法需處理預(yù)測(cè)值和實(shí)際值之間差值,并根據(jù)經(jīng)驗(yàn)公式,設(shè)置3倍的訓(xùn)練時(shí)獲得的均方根誤差為故障預(yù)警閾值0.03進(jìn)行服務(wù)器硬件故障的預(yù)警,如圖9(c)的橫坐標(biāo)464和481處所示,誤差分別為0.096 0和0.103 1,遠(yuǎn)超故障預(yù)警閾值。當(dāng)完成訓(xùn)練的IQPSO-GA-ANFIS模型預(yù)測(cè)誤差超過(guò)故障預(yù)警閾值時(shí),所提方法可以及時(shí)通過(guò)輸入信息觀測(cè)部件溫度變化率異常。即一旦某一部件能耗或溫度持續(xù)高于預(yù)警閾值,雖然此時(shí)部件功能仍可以使用,但需重點(diǎn)關(guān)注其接下來(lái)的工作狀態(tài),對(duì)該部件進(jìn)行硬件異常預(yù)警。
本文針對(duì)服務(wù)器部分業(yè)務(wù)類硬件無(wú)法進(jìn)行故障預(yù)警的難題,通過(guò)分析部件相關(guān)信息之間的映射關(guān)系,建立部件健康狀態(tài)下的處理信息、能耗、溫度變化率之間的動(dòng)態(tài)參考模型,同時(shí)從QPSO算法中粒子最優(yōu)位置求解方法著手,分析了收縮-擴(kuò)張系數(shù)對(duì)收斂速度及搜索能力的影響,設(shè)計(jì)了改進(jìn)的算法IQPSO,并引入GA的交叉和變異算子操作,提出了一種基于IQPSO-GA混合元啟發(fā)式算法優(yōu)化ANFIS模型進(jìn)行硬件故障預(yù)警的方法。實(shí)驗(yàn)結(jié)果表明,所提IQPSO-GA-ANFIS模型與傳統(tǒng)ANFIS模型相比,泛化精度提高了47%以上,驗(yàn)證了所提服務(wù)器硬件故障預(yù)警方法的有效性和優(yōu)越性。但在實(shí)際應(yīng)用中仍存在諸多限制問(wèn)題有待改進(jìn),如:1)神經(jīng)網(wǎng)絡(luò)的模型訓(xùn)練需要大量樣本數(shù)據(jù),且訓(xùn)練得到的模型應(yīng)該隨著數(shù)據(jù)不斷更新,僅訓(xùn)練一次便不更新的做法是不現(xiàn)實(shí)的;2)溫度監(jiān)測(cè)需考慮的指標(biāo)還有進(jìn)風(fēng)風(fēng)速和溫度的影響,本文為保障數(shù)據(jù)的穩(wěn)定性暫對(duì)其他參數(shù)進(jìn)行了恒定處理。在接下來(lái)的工作中將著重圍繞上述問(wèn)題展開研究。