唐 倫 王 愷 張 月 周鑫隆 陳前斌
(重慶郵電大學(xué)通信與信息工程學(xué)院 重慶 400065)
(重慶郵電大學(xué)移動(dòng)通信重點(diǎn)實(shí)驗(yàn)室 重慶 400065)
網(wǎng)絡(luò)切片依托軟件定義網(wǎng)絡(luò)(Software-Defined Networking, SDN)和網(wǎng)絡(luò)功能虛擬化(Network Function Virtualization, NFV)成為5G網(wǎng)絡(luò)中的關(guān)鍵技術(shù),可實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)資源的靈活部署[1]。針對(duì)不同服務(wù)請(qǐng)求,按照特定順序?qū)⑻摂M網(wǎng)絡(luò)功能(Virtualized Network Function, VNF)通過虛擬鏈路連接構(gòu)成服務(wù)功能鏈(Service Function Chaining,SFC),可為網(wǎng)絡(luò)提供多樣化服務(wù)。SDN和NFV技術(shù)使網(wǎng)絡(luò)更靈活的同時(shí),網(wǎng)絡(luò)故障點(diǎn)及故障類型隨之增加,使得網(wǎng)絡(luò)管理環(huán)境更加復(fù)雜。因此,對(duì)網(wǎng)絡(luò)切片及時(shí)檢測(cè)、判斷其異常情況尤為重要[2]。
在動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境中,定制化網(wǎng)絡(luò)服務(wù)能否正常運(yùn)行依托于SFC的狀態(tài)。Sauvanaud等人[3]使用隨機(jī)森林對(duì)VNF的行為進(jìn)行分類,通過檢測(cè)其違反服務(wù)等級(jí)協(xié)議(Service-Level Agreement, SLA)的癥狀完成對(duì)VNF的故障檢測(cè)。Cotroneo等人[4]通過關(guān)聯(lián)SFC中VNF間的性能指標(biāo)來推斷該SFC的運(yùn)行狀況。Blaise等人[5]通過馬爾可夫鏈確定VNF順序,進(jìn)而使用K均值聚類算法確定SFC是否存在異常行為。
上述文獻(xiàn)均未考慮數(shù)據(jù)類不平衡的問題,因此考慮使用生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Networks, GAN)進(jìn)行異常檢測(cè),而現(xiàn)有方法大多用于圖像領(lǐng)域。Bashar等人[6]提出了基于GAN的時(shí)間序列異常檢測(cè)方法(Time series Anomaly detection with GAN, TAnoGAN),但在每次異常檢測(cè)時(shí)需要將數(shù)據(jù)重新映射到潛在空間中,計(jì)算復(fù)雜度高且計(jì)算量較大。
針對(duì)上述存在的問題,本文提出一種基于分布式GAN的時(shí)間序列異常檢測(cè)模型(Distributed Time Series GAN, DTSGAN)。本文的主要工作和創(chuàng)新點(diǎn)總結(jié)如下:
首先,使用GAN學(xué)習(xí)SFC中正常數(shù)據(jù)的特征,可解決在模型訓(xùn)練時(shí)SFC中數(shù)據(jù)類不平衡的問題,本文提出分布式GAN架構(gòu),通過構(gòu)建分布式生成器和單個(gè)鑒別器的網(wǎng)絡(luò)模型,使分布式生成器分別學(xué)習(xí)SFC中每個(gè)VNF的數(shù)據(jù)特征,從而可對(duì)數(shù)據(jù)重構(gòu),實(shí)現(xiàn)采用分布式生成器進(jìn)行異常檢測(cè)的目的。
其次,本文針對(duì)時(shí)間序列數(shù)據(jù)構(gòu)建了一種基于滑動(dòng)窗口數(shù)據(jù)特征提取器,通過提取數(shù)據(jù)的范數(shù)和曼哈頓距離這兩種衍生特性,捕獲數(shù)據(jù)時(shí)間窗內(nèi)和時(shí)間窗之間的特征,再通過提取平均值、最小值、最大值等8種統(tǒng)計(jì)特征以挖掘數(shù)據(jù)的深層次特征,得到原始數(shù)據(jù)的特征序列,易于模型學(xué)習(xí)數(shù)據(jù)特征。
最后,為使每個(gè)分布式生成器能夠?qū)W習(xí)并重構(gòu)正常數(shù)據(jù)的特征,提出時(shí)間卷積網(wǎng)絡(luò)(Temporal Convolutional Networks, TCN)與自動(dòng)編碼器(Auto Encoder, AE)構(gòu)建的3層編解碼器作為分布式生成器,分布式生成器可通過異常得分函數(shù)衡量重構(gòu)數(shù)據(jù)與輸入數(shù)據(jù)之間的差異以檢測(cè)VNF的狀態(tài),進(jìn)而完成對(duì)SFC的異常檢測(cè)。本文通過仿真驗(yàn)證了DTSGAN異常檢測(cè)模型的有效性。
網(wǎng)絡(luò)切片管理場(chǎng)景如圖1所示,在網(wǎng)絡(luò)切片場(chǎng)景中,一條SFC由多個(gè)VNF通過虛擬鏈路連接構(gòu)成。當(dāng)物理節(jié)點(diǎn)2發(fā)生異常時(shí),運(yùn)行在該節(jié)點(diǎn)上的VNF1和VNF2性能會(huì)受到影響,進(jìn)而會(huì)影響包含該VNF的SFC的性能。因此,采用分布式架構(gòu)對(duì)SFC中包含的每個(gè)VNF進(jìn)行獨(dú)立檢測(cè)十分重要。
圖1 網(wǎng)絡(luò)切片管理場(chǎng)景
在實(shí)際網(wǎng)絡(luò)中,正常數(shù)據(jù)量遠(yuǎn)多于異常數(shù)據(jù)量。為解決訓(xùn)練過程中SFC數(shù)據(jù)類不平衡的問題,同時(shí)對(duì)SFC中VNF的狀態(tài)進(jìn)行感知,本文使用GAN對(duì)數(shù)據(jù)特征進(jìn)行學(xué)習(xí),僅使用正常數(shù)據(jù)進(jìn)行訓(xùn)練以解決數(shù)據(jù)類不平衡的問題,并提出基于分布式GAN的異常檢測(cè)模型,該模型在每個(gè)VNF的網(wǎng)元管理器(Element Management, EM)中部署生成器模塊,在NFV管理與編排(MANagement and Orchestration, MANO)的虛擬化網(wǎng)絡(luò)功能管理器(VNF Manager, VNFM)中部署鑒別器模塊,為每個(gè)SFC構(gòu)造多個(gè)生成器和單個(gè)鑒別器的分布式GAN,通過檢測(cè)分布式VNF中的異常完成對(duì)與其相關(guān)聯(lián)的SFC的異常檢測(cè),DTSGAN模型架構(gòu)如圖2所示。
圖2 DTSGAN模型架構(gòu)
DTSGAN模型的整體流程如圖3所示,主要包含訓(xùn)練和測(cè)試兩個(gè)階段。
圖3 DTSGAN模型整體流程
在訓(xùn)練階段,DTSGAN模型只使用正常數(shù)據(jù)進(jìn)行訓(xùn)練。首先,在每個(gè)EM中使用特征提取器對(duì)原始時(shí)間序列進(jìn)行特征提取,計(jì)算數(shù)據(jù)中的衍生特性和統(tǒng)計(jì)特征。之后,將特征序列輸入到生成器模塊中,對(duì)數(shù)據(jù)進(jìn)行重構(gòu)。然后,將每個(gè)EM中產(chǎn)生的特征序列與重構(gòu)序列輸入到鑒別器模塊中,使用鑒別器對(duì)特征序列與重構(gòu)序列進(jìn)行鑒別,并反饋參數(shù)供生成器模塊優(yōu)化調(diào)整,使得每個(gè)EM中的生成器模塊能夠重構(gòu)正常數(shù)據(jù)特征,得到可識(shí)別正常數(shù)據(jù)特征的分布式生成器。
在測(cè)試階段,只使用每個(gè)EM的生成器模塊進(jìn)行異常檢測(cè)。將測(cè)試數(shù)據(jù)輸入至EM的生成器模塊中,若測(cè)試數(shù)據(jù)為正常數(shù)據(jù),則生成器模型能對(duì)其特征進(jìn)行重構(gòu),即獲得較低的異常得分;反之,重構(gòu)數(shù)據(jù)時(shí)會(huì)產(chǎn)生較大的偏差,獲得較高的異常得分,即可認(rèn)為EM中數(shù)據(jù)存在異常,從而完成對(duì)SFC中包含的每個(gè)VNF進(jìn)行獨(dú)立的異常檢測(cè)。
通常時(shí)間序列數(shù)據(jù)之間都具有相關(guān)性,是相互依賴的,通過滑動(dòng)窗口提取特征豐富的數(shù)據(jù)更有助于模型針對(duì)具代表性的特征進(jìn)行訓(xùn)練,提高模型的泛化能力[7]。
在本文中,特征提取器包含兩個(gè)步驟:計(jì)算衍生特性和計(jì)算統(tǒng)計(jì)特征。
3.2.1 計(jì)算衍生特性
為了更好地反映出每個(gè)時(shí)間窗中原始時(shí)間序列數(shù)據(jù)內(nèi)部和相鄰時(shí)間窗之間的關(guān)系,在每個(gè)時(shí)間窗內(nèi)計(jì)算原始時(shí)間序列數(shù)據(jù)的兩個(gè)衍生特性:范數(shù)(norm)和曼哈頓距離(Manhattan distance)。范數(shù)可以捕獲同一個(gè)時(shí)間窗口內(nèi)數(shù)據(jù)之間的特征,可對(duì)數(shù)據(jù)的大小及長度進(jìn)行度量,用NR表示。曼哈頓距離可衡量兩個(gè)時(shí)間窗之間的差異,用MD表示。
3.2.2 計(jì)算統(tǒng)計(jì)特征
根據(jù)文獻(xiàn)[7]中建議,為每個(gè)衍生特性選取8個(gè)統(tǒng)計(jì)特征對(duì)其進(jìn)行描述:平均值(MEAN)、最小值(MIN)、最大值(MAX)、第1四分位數(shù)(Q1)、第2四分位數(shù)(Q2)、第3四分位數(shù)(Q3)、標(biāo)準(zhǔn)差(STD)和極差(R),從而衡量數(shù)據(jù)的集中趨勢(shì)和離散程度。在本文中,分別為NR和MD計(jì)算上述8個(gè)統(tǒng)計(jì)特征,如圖4所示。
圖4 特征提取步驟
為檢測(cè)SFC中每個(gè)VNF的異常情況,DTSGAN模型在訓(xùn)練階段由部署在MANO上的鑒別模塊和VNF上EM的生成模塊交互執(zhí)行,訓(xùn)練過程需進(jìn)行多次全局迭代,具體包含如下步驟:
算法1 DTSGAN在MANO中的訓(xùn)練
本實(shí)驗(yàn)使用Python及Pytorch 1.7.1在基于CPU的計(jì)算機(jī)上實(shí)現(xiàn)DTSGAN模型的編寫和運(yùn)行,該計(jì)算機(jī)采用Intel(R) Core(TM) i7-6700 CPU。仿真過程中,在虛擬網(wǎng)絡(luò)層中的6個(gè)VNF的EM上部署生成器,并在NFV MANO中的VNFM上部署1個(gè)鑒別器,以構(gòu)建分布式生成對(duì)抗網(wǎng)絡(luò)DTSGAN模型。為驗(yàn)證本文所提模型的可行性,選擇開源的VNF數(shù)據(jù)集Clearwater作為實(shí)驗(yàn)數(shù)據(jù)集進(jìn)行試驗(yàn)評(píng)估[10],并使用準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1分?jǐn)?shù)(F1 Score)對(duì)所提模型的性能進(jìn)行驗(yàn)證。
算法2 DTSGAN在E Mi中的訓(xùn)練
4.1.1 DTSGAN模型設(shè)置
鑒別器D由MLP構(gòu)成,它由1個(gè)輸入層和1個(gè)輸出層組成,其中F和z分別有2個(gè)輸入通道(每個(gè)輸入通道包含128個(gè)神經(jīng)元),隱藏層包含128個(gè)神經(jīng)元,輸出層包含1個(gè)神經(jīng)元。
此外,本實(shí)驗(yàn)采用Adam優(yōu)化器對(duì)DTSGAN框架進(jìn)行訓(xùn)練,學(xué)習(xí)率和訓(xùn)練輪數(shù)分別為0.0003和500,訓(xùn)練批次大小為100。
4.1.2 對(duì)比方案設(shè)置
在本實(shí)驗(yàn)中,首先DTSGAN模型根據(jù)表1設(shè)置滑動(dòng)窗口尺寸并對(duì)比不同尺寸的性能指標(biāo)值,以找到最優(yōu)的滑動(dòng)窗口尺寸。進(jìn)一步,本實(shí)驗(yàn)將與雙向生成對(duì)抗網(wǎng)絡(luò)(Bidirectional Generative Adversarial Networks, BiGAN)[11]、長短期記憶自編碼器生成對(duì)抗網(wǎng)絡(luò)(Long Short-Term Memory-AE GAN,LSTM-AE GAN)以及深度卷積生成對(duì)抗網(wǎng)絡(luò)(Deep Convolutional Generative Adversarial Network,DCGAN)[12]3種網(wǎng)絡(luò)異常檢測(cè)方案的穩(wěn)定性進(jìn)行對(duì)比,并分別對(duì)比在有無特征提取時(shí)3種網(wǎng)絡(luò)的異常檢測(cè)性能。
表1 滑動(dòng)窗口尺寸設(shè)置
本實(shí)驗(yàn)在DTSGAN模型的訓(xùn)練過程中,部署在6個(gè)VNF的EM上的分布式生成器不斷與部署在VNFM上的鑒別器進(jìn)行對(duì)抗,鑒別器損失函數(shù)和生成器損失函數(shù)的變化情況如圖5所示。從中可看出,隨著訓(xùn)練輪次的增加,鑒別器損失在下降的過程中仍存在輕微的波動(dòng)。當(dāng)訓(xùn)練輪次達(dá)到500時(shí),鑒別器損失和生成器損失都逐漸趨于平穩(wěn),說明DTSGAN模型的損失函數(shù)在訓(xùn)練中可以很好地收斂,即經(jīng)過訓(xùn)練后該模型可獲得最優(yōu)的鑒別器和生成器用于網(wǎng)絡(luò)的異常檢測(cè)。
圖5 損失函數(shù)
為了找到DTSGAN模型中特征提取器的最優(yōu)滑動(dòng)窗口尺寸,本實(shí)驗(yàn)根據(jù)表1設(shè)置不同的滑動(dòng)窗口尺寸,并取6個(gè)VNF的均值表示SFC的性能。圖6為不同設(shè)置下網(wǎng)絡(luò)的準(zhǔn)確率、精確率、召回率和F1分?jǐn)?shù)。圖6橫坐標(biāo)中s表示衍生特性滑動(dòng)窗口尺寸,f表示統(tǒng)計(jì)特征滑動(dòng)窗口尺寸。從中可看出,隨著s和f的增加,網(wǎng)絡(luò)的準(zhǔn)確率、精確率、召回率及F1分?jǐn)?shù)4個(gè)性能指標(biāo)都呈現(xiàn)上升趨勢(shì),并且在s=14,f=10時(shí),4個(gè)性能指標(biāo)都達(dá)到最大值。在滑動(dòng)窗口尺寸繼續(xù)增加至s=14,f=12時(shí),4個(gè)性能指標(biāo)均呈現(xiàn)下降趨勢(shì)。由此可知,s和f的不同設(shè)置會(huì)影響網(wǎng)絡(luò)性能,當(dāng)設(shè)置為s=14,f=10時(shí),可使得模型的檢測(cè)性能最優(yōu)。
圖6 滑動(dòng)窗口尺寸對(duì)性能指標(biāo)的影響
圖7所示為未特征提取數(shù)據(jù)和特征提取數(shù)據(jù)分別在BiGAN, LSTM-AE GAN, DCGAN以及DTSGAN模型下,網(wǎng)絡(luò)的準(zhǔn)確率、精確率、召回率及F1分?jǐn)?shù)4個(gè)性能指標(biāo)。由圖可知,相比于網(wǎng)絡(luò)輸入數(shù)據(jù)為未進(jìn)行特征提取的數(shù)據(jù),采用經(jīng)過特征提取的數(shù)據(jù)作為輸入數(shù)據(jù),4個(gè)網(wǎng)絡(luò)模型的性能指標(biāo)能夠提升1.5%~4.9%,因此,在VNF異常檢測(cè)中使用含有豐富特征的數(shù)據(jù)能夠提升網(wǎng)絡(luò)的異常檢測(cè)性能。同時(shí),DTSGAN模型的準(zhǔn)確率、精確率、召回率及F1分?jǐn)?shù)4個(gè)性能均高于96%,且4個(gè)性能指標(biāo)都優(yōu)于其他3個(gè)對(duì)比方案。
圖7 4種方案性能指標(biāo)對(duì)比
在VNF的異常檢測(cè)中,異常檢測(cè)性能的穩(wěn)定性也十分重要。圖8分別展示了4種算法進(jìn)行10次測(cè)試的準(zhǔn)確率、精確率、召回率及F1分?jǐn)?shù)4個(gè)性能指標(biāo)。從中可看出,相比于DCGAN,其他3個(gè)網(wǎng)絡(luò)模型的4個(gè)性能指標(biāo)的波動(dòng)較小、較為穩(wěn)定,這是由于在DTSGAN, LSTM-AE和BiGAN中都使用了編解碼器提取數(shù)據(jù)的潛在表示并對(duì)其進(jìn)行重構(gòu),使得網(wǎng)絡(luò)模型能夠更好地學(xué)習(xí)到數(shù)據(jù)特征。同時(shí)DTSGAN模型采用TCN構(gòu)建的3層編解碼器作為生成器,可使得網(wǎng)絡(luò)的性能指標(biāo)的均值達(dá)96%以上。
圖8 算法穩(wěn)定性對(duì)比
本文在網(wǎng)絡(luò)切片場(chǎng)景下,針對(duì)SFC的異常檢測(cè)問題,提出一種基于分布式GAN的時(shí)間序列異常檢測(cè)模型。使用GAN學(xué)習(xí)SFC中正常數(shù)據(jù)的特征,解決在模型訓(xùn)練時(shí)SFC中數(shù)據(jù)類不平衡的問題,同時(shí),為獨(dú)立檢測(cè)SFC中每個(gè)VNF的狀態(tài),提出了分布式GAN架構(gòu),構(gòu)建基于滑動(dòng)窗口的數(shù)據(jù)特征提取器獲得原始數(shù)據(jù)的特征序列,使用TCN與AE構(gòu)建的3層編解碼器作為生成器,提取特征序列的潛在表示并對(duì)其進(jìn)行重構(gòu),通過生成器與鑒別器的不斷對(duì)抗提高生成器學(xué)習(xí)正常數(shù)據(jù)特征的能力,使用異常得分函數(shù)衡量重構(gòu)數(shù)據(jù)與輸入數(shù)據(jù)之間的差異以檢測(cè)VNF的狀態(tài),進(jìn)而完成對(duì)SFC的異常檢測(cè)。仿真結(jié)果表明,本模型有較好的穩(wěn)定性,同時(shí)能獲得較高的檢測(cè)精度。