滕祖?zhèn)?,周杰華
(中國(guó)聯(lián)合網(wǎng)絡(luò)通信有限公司湖北分公司,湖北 武漢 430020)
在智能運(yùn)維領(lǐng)域中,由于缺少異常樣本,有監(jiān)督方法的使用場(chǎng)景受限。因此,如何利用無(wú)監(jiān)督方法對(duì)海量KPI進(jìn)行異常檢測(cè)是智能運(yùn)維領(lǐng)域探索的方向之一。智能運(yùn)維就是采用機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘等方法,來(lái)解決異常小區(qū)檢測(cè)、故障根因分析、容量預(yù)測(cè)等運(yùn)維領(lǐng)域中的關(guān)鍵問(wèn)題。其中異常小區(qū)檢測(cè)是在運(yùn)維領(lǐng)域中非常重要的一個(gè)環(huán)節(jié)。
移動(dòng)網(wǎng)絡(luò)小區(qū)問(wèn)題類(lèi)型涉及多個(gè)方面,如無(wú)線覆蓋、干擾、容量等。傳統(tǒng)網(wǎng)優(yōu)一般采集PM、配置等數(shù)據(jù),再結(jié)合網(wǎng)優(yōu)工程師的專家知識(shí)和經(jīng)驗(yàn),對(duì)各項(xiàng)指標(biāo)分別設(shè)置閾值的方式,來(lái)發(fā)現(xiàn)網(wǎng)元是否存在高負(fù)荷、高干擾、覆蓋差等異常問(wèn)題。在網(wǎng)絡(luò)復(fù)雜化和業(yè)務(wù)多樣化的趨勢(shì)下,網(wǎng)元運(yùn)行指標(biāo)眾多,KPI數(shù)量一般達(dá)到30~60維度,傳統(tǒng)工作模式簡(jiǎn)單粗放,存在準(zhǔn)確率低、不能適應(yīng)網(wǎng)絡(luò)動(dòng)態(tài)調(diào)整的問(wèn)題。
本文提出了一種基于變分自編碼器的異常小區(qū)檢測(cè)方法,其基本原理是利用異常小區(qū)的KPI數(shù)據(jù)在通過(guò)變分自編碼器編碼與解碼過(guò)程中所產(chǎn)生的較大波動(dòng)來(lái)實(shí)現(xiàn)異常檢測(cè)。一般說(shuō)來(lái),在機(jī)器學(xué)習(xí)中不平衡的訓(xùn)練樣本會(huì)導(dǎo)致訓(xùn)練模型側(cè)重樣本數(shù)目較多的類(lèi)別,而“輕視”樣本數(shù)目較少類(lèi)別。在異常小區(qū)檢測(cè)場(chǎng)景中,普遍存在的現(xiàn)象是正常樣本數(shù)量遠(yuǎn)遠(yuǎn)大于異常樣本數(shù)量,因此,當(dāng)把不平衡的正常樣本和異常樣本都輸入機(jī)器學(xué)習(xí)算法一起訓(xùn)練時(shí),采用無(wú)監(jiān)督方法就能把異常值檢測(cè)出來(lái)。實(shí)驗(yàn)結(jié)果表明,該方法在樣本不平衡的情況下,通過(guò)合理設(shè)置重構(gòu)誤差閾值,能夠準(zhǔn)確地檢測(cè)出異常小區(qū),其成果已應(yīng)用于實(shí)際網(wǎng)優(yōu)工作。
要進(jìn)行異常小區(qū)檢測(cè),首先要給出異常小區(qū)的定義:凡容量、覆蓋、干擾等相關(guān)KPI指標(biāo)取值超過(guò)期望值一定范圍的小區(qū)就定義為異常小區(qū)。例如:
(a)容量類(lèi)異常小區(qū):凡是小區(qū)的最大連接用戶數(shù)超過(guò)100個(gè),或者下行業(yè)務(wù)流量超過(guò)10GB,或者下行PRB(Physical Resource Block,物理資源塊)利用率大于90%,就認(rèn)為是容量類(lèi)異常小區(qū);
(b)覆蓋類(lèi)異常小區(qū):凡是上行平均DTX(Discontinuous Transmission,不連續(xù)發(fā)射)占比超過(guò)20%,或者下行平均DTX占比超過(guò)30%,就認(rèn)為是覆蓋類(lèi)異常小區(qū);
(c)干擾類(lèi)異常小區(qū):凡是PUCCH干擾超過(guò)-105 dBm,或者PUSCH干擾超過(guò)-105 dBm,就認(rèn)為是干擾類(lèi)異常小區(qū)。
本文只對(duì)異常小區(qū)進(jìn)行檢測(cè),不對(duì)造成異常的原因進(jìn)行分析。
變分自編碼器是一種用于特征提取的神經(jīng)網(wǎng)絡(luò)模型,其設(shè)計(jì)思路是通過(guò)對(duì)輸入數(shù)據(jù)進(jìn)行壓縮和解壓縮來(lái)重建輸入數(shù)據(jù),試圖讓輸出和輸入保持一樣。它在設(shè)計(jì)架構(gòu)上有Encoder(編碼器)和Decoder(解碼器)兩個(gè)結(jié)構(gòu),其中,編碼器將輸入數(shù)據(jù)轉(zhuǎn)化為隱含空間中更小更緊湊的編碼表達(dá),而解碼器則將這一編碼重新恢復(fù)為原始輸入數(shù)據(jù)。由于它的隱含空間被設(shè)計(jì)為連續(xù)的分布以便進(jìn)行隨機(jī)采樣和插值,因此可以具有類(lèi)似正則化防止過(guò)擬合的作用。
變分自編碼器的處理過(guò)程如圖1所示:
①首先通過(guò)Encoder得到x的隱變量分布參數(shù)z_mean和z_log_var;
②然后從N(0,1)采樣得到取值很小的隨機(jī)數(shù)ε;
③接著把隨機(jī)數(shù)ε聯(lián)合隱變量分布參數(shù)z_mean和z_log_var得到隱變量z;
④最后利用Decoder將z重構(gòu)成原始輸入。
圖1 變分自編碼器處理過(guò)程示意圖
VAE(Variational auto-encoder,變分自編碼器)的參數(shù)通過(guò)兩個(gè)損失函數(shù)來(lái)進(jìn)行訓(xùn)練:一個(gè)是重構(gòu)損失(reconstruction loss),它是模型的輸入數(shù)據(jù)與輸出數(shù)據(jù)之間的均方誤差。在確定重構(gòu)誤差閾值時(shí),通常參考重構(gòu)誤差的箱型圖分布的上限值,例如,把箱型圖的上限值設(shè)定為重構(gòu)誤差閾值。此時(shí),將重構(gòu)誤差大于等于重構(gòu)誤差閾值的小區(qū)判斷為異常小區(qū),將重構(gòu)誤差小于重構(gòu)誤差閾值的小區(qū)判斷為正常小區(qū);另一個(gè)是正則化損失(regularization loss),它有助于學(xué)習(xí)具有良好結(jié)構(gòu)的潛在空間,并可以降低在訓(xùn)練數(shù)據(jù)上的過(guò)擬合。
基于變分自編碼器的異常小區(qū)檢測(cè)流程分為三個(gè)主要階段:數(shù)據(jù)采集階段、模型訓(xùn)練階段以及異常檢測(cè)階段。
(1)數(shù)據(jù)采集階段
從OMC采集4G移動(dòng)網(wǎng)小區(qū)的25個(gè)KPI數(shù)據(jù),涉及容量、覆蓋、干擾等類(lèi)型,具體包括:RRC連接用戶數(shù),RRC最大連接用戶數(shù),RRC建立嘗試次數(shù),下行平均DTX占比,下行每TTI調(diào)度用戶數(shù),上行每TTI調(diào)度用戶數(shù),下行每TTI激活用戶數(shù),上行每TTI激活用戶數(shù),下行業(yè)務(wù)流量,下行信令流量,上行業(yè)務(wù)流量,上行信令流量,下行用戶速率,上行用戶速率,隨機(jī)接入成功率,隨機(jī)接入嘗試次數(shù),UE功率受限比例,上行平均DTX占比,上行PRB利用率,下行PRB利用率,CQI小于等于6占比,平均CQI,PUSCH干擾,PUCCH干擾等。
(2)模型訓(xùn)練階段
首先,對(duì)小區(qū)KPI數(shù)據(jù)進(jìn)行歸一化處理,以消除不同標(biāo)度對(duì)數(shù)據(jù)所帶來(lái)的影響。
X_std=(X-X.min(axis=0))/(X.max(axis=0)-X.min(axis=0))
X_scaled=X_std/(max-min)+min
其中,
X.min(axis=0):每列中的最小值組成的行向量
X.max(axis=0):每列中的最大值組成的行向量
max:要映射到的區(qū)間最大值,默認(rèn)是1
min:要映射到的區(qū)間最小值,默認(rèn)是0
X_std:標(biāo)準(zhǔn)化結(jié)果
X_scaled:歸一化結(jié)果
然后,設(shè)定變分自編碼器模型網(wǎng)絡(luò)結(jié)構(gòu),并進(jìn)行模型參數(shù)訓(xùn)練。
(3)異常檢測(cè)階段
變分自編碼器在對(duì)通過(guò)編碼器后的數(shù)據(jù)進(jìn)行解碼還原時(shí),會(huì)產(chǎn)生一定的誤差。如果原始輸入數(shù)據(jù)中存在異常,則生成的誤差相比于常規(guī)誤差有較大波動(dòng)。因此,異常小區(qū)檢測(cè)算法的具體步驟如下:
首先,對(duì)小區(qū)KPI數(shù)據(jù)進(jìn)行歸一化處理,用以消除不同標(biāo)度對(duì)數(shù)據(jù)所帶來(lái)的影響。
然后,利用變分自編碼器模型參數(shù)對(duì)歸一化后的數(shù)據(jù)進(jìn)行平方誤差的計(jì)算。如果輸入樣本為:X=(X1,X2,X3,…,XN),經(jīng)過(guò)VAE重建的結(jié)果為則重構(gòu)誤差MSE為如果重構(gòu)誤差MSE值超過(guò)了預(yù)先設(shè)定的閾值,則判定小區(qū)KPI數(shù)據(jù)中存在異常。
采集武漢聯(lián)通4G網(wǎng)絡(luò)2019年4月18日—4月24日期間每隔1小時(shí)的25個(gè)KPI性能數(shù)據(jù),共得到43150個(gè)小區(qū)的24小時(shí)*25個(gè)KPI分布向量。下面根據(jù)上述小區(qū)的KPI分布向量來(lái)分析基于VAE的異常小區(qū)檢測(cè)方法的準(zhǔn)確性。
隨機(jī)挑選某異常小區(qū)25個(gè)性能KPI數(shù)據(jù)在一天24小時(shí)內(nèi)的取值分布,發(fā)現(xiàn)具有高維度(25*24=600維)、局部異常的特點(diǎn),如圖2所示:
圖2 異常小區(qū)性能KPI分布特征圖
因此,根據(jù)小區(qū)KPI數(shù)據(jù)的特征和數(shù)量,變分自編碼器模型的編碼器采用典型的4層卷積神經(jīng)網(wǎng)絡(luò),解碼器采用若干卷積層,并采用重構(gòu)損失和正則化損失函數(shù)來(lái)進(jìn)行訓(xùn)練模型。然后,把43150個(gè)小區(qū)的24*25維KPI向量進(jìn)行歸一化,并按照8:2進(jìn)行拆分得到訓(xùn)練集和測(cè)試集,其中,訓(xùn)練集用于訓(xùn)練變分自編碼器模型,測(cè)試集用于評(píng)估模型檢測(cè)準(zhǔn)確性。
在樣本不平衡的情況下,通過(guò)設(shè)定不同的重構(gòu)誤差門(mén)限,分別統(tǒng)計(jì)AE和VAE所檢測(cè)出的異常小區(qū)數(shù),驗(yàn)證檢測(cè)準(zhǔn)確率,如表1和表2所示。顯然,本文所用VAE方法檢測(cè)效果明顯優(yōu)于基于AE的異常小區(qū)檢測(cè)效果。根據(jù)表1和表2數(shù)據(jù)繪制AE和VAE的檢測(cè)準(zhǔn)確率對(duì)比效果圖,如圖3。
表1 基于AE的異常小區(qū)檢測(cè)準(zhǔn)確率統(tǒng)計(jì)
表2 基于VAE的異常小區(qū)檢測(cè)準(zhǔn)確率統(tǒng)計(jì)
圖3 AE和VAE檢測(cè)準(zhǔn)確性對(duì)比
從圖3可知:AE重構(gòu)誤差閾值越高,檢測(cè)準(zhǔn)確率呈上升趨勢(shì),但有少許波動(dòng),準(zhǔn)確率低于90%。而VAE重構(gòu)誤差閾值越高,檢測(cè)準(zhǔn)確率呈明顯上升趨勢(shì),特別是在VAE重構(gòu)門(mén)限達(dá)到9.00E-17后,VAE檢測(cè)準(zhǔn)確率持續(xù)高于90%,且檢測(cè)出的異常小區(qū)數(shù)最高能達(dá)到171個(gè)。兩者差異原因在于:AE模型容易過(guò)擬合,當(dāng)訓(xùn)練數(shù)據(jù)存在較多異常點(diǎn)的時(shí)候,可能模型的效果就不會(huì)特別好,也就是說(shuō)當(dāng)異常值占比較大的話,AE可能會(huì)過(guò)擬合(學(xué)習(xí)到異常模式)。而VAE學(xué)習(xí)到的是隱變量的分布(允許隱變量存在一定的噪聲和隨機(jī)性),因此可以具有類(lèi)似正則化防止過(guò)擬合的作用。
本文介紹了VAE模型以及基于VAE的異常小區(qū)檢測(cè)方法,在樣本不平衡的情況下,通過(guò)合理設(shè)置重構(gòu)誤差閾值,能準(zhǔn)確地檢測(cè)出異常小區(qū)。但該方法面臨一個(gè)問(wèn)題:需要設(shè)置重構(gòu)誤差閾值。因?yàn)闄z測(cè)異常是通過(guò)對(duì)比重構(gòu)后的結(jié)果與原始輸入的差距,而這個(gè)差距多少就算是異常需要人為定義,然而對(duì)于大量的不同類(lèi)型KPI,很難去統(tǒng)一設(shè)置閾值,這是采用VAE模型比較大的一個(gè)缺陷。