燕 敏,阮秀琴,趙 陽,鄭宏濤
(1. 西安石油大學信息中心,陜西 西安 710065;2. 西安理工大學信息化管理處,陜西 西安 710048)
物聯(lián)網(wǎng)主要由感知層、網(wǎng)絡層與應用層構成。其中,感知層位于物聯(lián)網(wǎng)的最底層,包含多種傳感器與控制器,是物聯(lián)網(wǎng)信息采集的關鍵組件[1-2]。感知層返回的數(shù)據(jù)是物聯(lián)網(wǎng)決策的根本依據(jù),也決定著物聯(lián)網(wǎng)狀態(tài)的好壞。通過研究可知,物聯(lián)網(wǎng)異常狀態(tài)主要包含兩個因素,其一是外界干擾破壞與復雜部署環(huán)境的影響,導致物聯(lián)網(wǎng)節(jié)點軟、硬件發(fā)生故障或者消耗大量能源,致使物聯(lián)網(wǎng)狀態(tài)異常;其二是物聯(lián)網(wǎng)節(jié)點部署環(huán)境區(qū)域發(fā)生特定事件。如何精準的修正物聯(lián)網(wǎng)異常狀態(tài),成為現(xiàn)今物聯(lián)網(wǎng)應用領域重點研究課題之一。
物聯(lián)網(wǎng)異常狀態(tài)檢測需具備一定的特征,要求時間與空間復雜程度較低,但在現(xiàn)有物聯(lián)網(wǎng)異常狀態(tài)算法檢測過程中,大多數(shù)利用時空相關性原理,其導致現(xiàn)有算法存在著修正正確率低下、算法時延較長等缺陷,故提出基于小樣本學習的物聯(lián)網(wǎng)異常狀態(tài)修正算法研究。小樣本學習為模型訓練階段只需要一個或者多個已標記的訓練樣本,能夠降低計算的過程,有利用提升算法的修正正確率,減少算法的時延,為物聯(lián)網(wǎng)的穩(wěn)定運行提供更加有效的保障。
為精確檢測與修正物聯(lián)網(wǎng)異常狀態(tài),獲取物聯(lián)網(wǎng)異常狀態(tài)小樣本為關鍵,即物聯(lián)網(wǎng)異常狀態(tài)特征,可以反映出物聯(lián)網(wǎng)異常狀態(tài)下局部差異性信息[3]。根據(jù)物聯(lián)網(wǎng)節(jié)點互相關系數(shù),獲取物聯(lián)網(wǎng)異常節(jié)點空間相關性特征,具體過程如下。
物聯(lián)網(wǎng)節(jié)點互相關系數(shù)運算如圖1所示。
圖1 物聯(lián)網(wǎng)節(jié)點互相關系數(shù)運算
如圖1所示,Ωi為物聯(lián)網(wǎng)某一節(jié)點;Ωi+1為利用空間物理距離尋找出與Ωi距離最近的節(jié)點;FΩi,t與FΩi+1,t為設置觀測時間序列。
通過上述兩個觀測時間序列之間的互相關運算獲取節(jié)點Ωi關于節(jié)點Ωi+1的互相關系數(shù),計算公式為
(1)
式(1)中,Ck(a)(τ)表示的是節(jié)點之間的互相關系數(shù);?表示的是計算規(guī)則。
依據(jù)式(1)獲取的節(jié)點互相關系數(shù)Ck(a)(τ),提取物聯(lián)網(wǎng)節(jié)點的空間相關特征。以式(1)為基礎,得到節(jié)點互相關系數(shù)Ck(a)(τ)與時延τ的變化曲線如圖2所示。
圖2 節(jié)點互相關系數(shù)Ck(a)(τ)與時延τ變化曲線圖
將上述三個幾何特征作為物聯(lián)網(wǎng)節(jié)點的一組空間相關特征φ(x),反映節(jié)點與相近節(jié)點的空間相關程度,將其作為物聯(lián)網(wǎng)異常狀態(tài)小樣本,以此為依據(jù)來反映物聯(lián)網(wǎng)異常狀態(tài)的局部差異性信息。
以上述獲取的物聯(lián)網(wǎng)異常狀態(tài)小樣本為基礎,采用歐式度量方法完成小樣本學習,為后續(xù)小樣本學習網(wǎng)絡搭建做準備[6]。
(2)
以式(2)的結果作為類原型,用于表示物聯(lián)網(wǎng)異常狀態(tài)類別。
歐式度量方法可以直接在特征空間上計算物聯(lián)網(wǎng)節(jié)點距離,計算公式為
(3)
采用softmax對式(3)結果進行相應處理,以此來降低向量中異常值對向量的影響,處理公式為
(4)
式(4)中,k表示的是類別數(shù)量。
通過softmax處理后,物聯(lián)網(wǎng)節(jié)點距離數(shù)值范圍被歸一化為[0,1]。若式(4)結果越大,表明物聯(lián)網(wǎng)異常狀態(tài)類型屬于對應類別的概率越大。
以上述小樣本度量學習結果為基礎,搭建小樣本學習網(wǎng)絡,獲取物聯(lián)網(wǎng)異常狀態(tài)檢測結果,為最終物聯(lián)網(wǎng)異常狀態(tài)修正做基礎[8]。
小樣本學習網(wǎng)絡具備明顯的block結構,每個block結構均包含歸一化層、卷積層、池化層與激活層[9]。為更加精準的檢測與修正物聯(lián)網(wǎng)異常狀態(tài),對小樣本學習網(wǎng)絡參數(shù)進行詳細設置,具體如表1所示。
表1 小樣本學習網(wǎng)絡參數(shù)設置表
為使小樣本學習網(wǎng)絡能夠學習到泛化性較好的參數(shù),將距離損失表示為
arg min-lgΦk(y=k|x)
(5)
式(5)中,Φk(y=k|x)由式(4)中的樣本x是標簽為k的樣本概率。
以式(5)結果構建任務迭代最小化目標函數(shù),通過一定次數(shù)的迭代,獲得最佳泛化性的網(wǎng)絡參數(shù)。
以上述搭建的小樣本學習網(wǎng)絡為依據(jù),執(zhí)行小樣本學習算法獲取物聯(lián)網(wǎng)異常狀態(tài)數(shù)據(jù),利用RBF神經(jīng)網(wǎng)絡修正物聯(lián)網(wǎng)異常狀態(tài)數(shù)據(jù),具體修正過程如下所示:
RBF神經(jīng)網(wǎng)絡是基于函數(shù)逼近理論構建的前饋性網(wǎng)絡,其結構為三層,包含輸入層、隱含層與輸出層。將物聯(lián)網(wǎng)異常狀態(tài)數(shù)據(jù)作為RBF神經(jīng)網(wǎng)絡的輸入量,RBF神經(jīng)網(wǎng)絡的輸出量即為異常狀態(tài)修正數(shù)值[10]。RBF神經(jīng)網(wǎng)絡輸出結果表示為
(6)
式(6)中,y表示的是RBF神經(jīng)網(wǎng)絡輸出量;n表示的是輸入層節(jié)點數(shù)量;ωi表示的是隱含層第i個節(jié)點與輸出層之間的權值;Ri(x)表示的是隱含層第i個徑向基函數(shù);x=[x1,x2,…,xn]T表示的是RBF神經(jīng)網(wǎng)絡輸入量。
為了保障物聯(lián)網(wǎng)異常狀態(tài)數(shù)據(jù)的修正精度,確定RBF神經(jīng)網(wǎng)絡各層節(jié)點數(shù)量及其相關參數(shù)。
其中,輸入層節(jié)點數(shù)量由輸入數(shù)據(jù)維數(shù)確定,而輸出層數(shù)值為修正數(shù)據(jù),故節(jié)點數(shù)量為1。隱含層節(jié)點數(shù)量決定著模型的運行效率,故利用試湊法來確定其節(jié)點數(shù)量[11]。
徑向基函數(shù)決定著模型的修正準確程度,選取高斯函數(shù)作為徑向基函數(shù),表達式為
(7)
RBF神經(jīng)網(wǎng)絡修正模型訓練結構如圖3所示。
圖3 RBF神經(jīng)網(wǎng)絡修正模型訓練結構圖
如圖3所示,ωi表示的是隱含層節(jié)點與輸出層之間的權值向量;ai表示的是每個節(jié)點在模型集群中占據(jù)的比重。
在確定RBF神經(jīng)網(wǎng)絡各層節(jié)點數(shù)量及其相關參數(shù)基礎上,進行物聯(lián)網(wǎng)異常狀態(tài)數(shù)據(jù)修正,其步驟如下:
步驟一:構建RBF神經(jīng)網(wǎng)絡修正模型,將其模型結構設置為多輸入單輸出形式[12]。加載物聯(lián)網(wǎng)異常狀態(tài)數(shù)據(jù),將其作為RBF神經(jīng)網(wǎng)絡修正模型的輸入;
步驟二:構建訓練樣本,并對其進行歸一化處理,接著對訓練樣本進行劃分,將其分布至不同網(wǎng)絡節(jié)點上,同時對模型進行訓練;
步驟三:經(jīng)過步驟二的訓練,將輸入量輸入RBF神經(jīng)網(wǎng)絡修正模型,獲得一組對應的輸出值,將其作為異常狀態(tài)數(shù)據(jù);
步驟四:在物聯(lián)網(wǎng)異常狀態(tài)修正后,通過相對誤差確定修正效果。相對誤差計算公式為
(8)
式(8)中,Zf表示的是修正后物聯(lián)網(wǎng)狀態(tài)數(shù)據(jù);Z表示的是原始物聯(lián)網(wǎng)異常狀態(tài)數(shù)據(jù)。
通過上述過程實現(xiàn)物聯(lián)網(wǎng)異常狀態(tài)的修正,減少物聯(lián)網(wǎng)異常狀態(tài)修正的時間,為物聯(lián)網(wǎng)的應用與運行提供更加有效的保障。
為驗證提出算法與現(xiàn)有算法的性能差異,采用MATLAB軟件設計仿真對比實驗,具體實驗過程如下:
為保障實驗的順利進行,對實驗數(shù)據(jù)、參數(shù)等進行充分準備。實驗采用3.10GHz的Intel Core與Windows 7操作系統(tǒng)作為實驗硬件、軟件環(huán)境。
現(xiàn)今,國內(nèi)并沒有通用的物聯(lián)網(wǎng)數(shù)據(jù)集,并且獲取大量數(shù)據(jù)的物聯(lián)網(wǎng)運行數(shù)據(jù)難度較大。為此,利用仿真序列產(chǎn)生器,產(chǎn)生物聯(lián)網(wǎng)異常狀態(tài)數(shù)據(jù),并將其存儲在文檔中,供仿真使用。
仿真序列產(chǎn)生器產(chǎn)生的物聯(lián)網(wǎng)異常狀態(tài)數(shù)據(jù)波動與真實物聯(lián)網(wǎng)異常狀態(tài)數(shù)據(jù)波動情況如圖4所示。
圖4 仿真數(shù)據(jù)與真實數(shù)據(jù)的一致性對比
如圖4所示,仿真序列產(chǎn)生器產(chǎn)生的物聯(lián)網(wǎng)異常狀態(tài)數(shù)據(jù)波動方差與真實物聯(lián)網(wǎng)異常狀態(tài)數(shù)據(jù)波動方差具有一致性,說明本次仿真所得數(shù)據(jù)具有較高精度,為后續(xù)實驗結果的準確做基礎。
依據(jù)上述實驗準備數(shù)據(jù)進行物聯(lián)網(wǎng)異常狀態(tài)修正仿真,通過修正正確率以及算法時延反映算法性能,具體實驗結果分析過程如下:
3.2.1 修正正確率分析
為得到客觀的實驗結論,分別在物聯(lián)網(wǎng)異常狀態(tài)程度10%與60%背景下進行仿真,得到異常狀態(tài)修正正確率數(shù)據(jù)如表2、表3所示。
表2 物聯(lián)網(wǎng)異常狀態(tài)程度10%背景下不同算法修正正確率數(shù)據(jù)表
表3 物聯(lián)網(wǎng)異常狀態(tài)程度60%背景下不同算法修正正確率數(shù)據(jù)表
如表2和表3數(shù)據(jù)顯示,隨著物聯(lián)網(wǎng)異常狀態(tài)程度的增加,算法修正正確率呈現(xiàn)下降的趨勢。與現(xiàn)有算法相比較,提出算法修正正確率更加穩(wěn)定與一致。以修正正確率平均數(shù)值為依據(jù),與現(xiàn)有算法數(shù)據(jù)相比較,提出算法在物聯(lián)網(wǎng)異常狀態(tài)程度10%背景下,修正正確率平均數(shù)值上升了20.02%;在物聯(lián)網(wǎng)異常狀態(tài)程度60%背景下,修正正確率平均數(shù)值上升了24.87%。
3.2.2 算法時延分析
算法時延為物聯(lián)網(wǎng)異常狀態(tài)修正的時間長短。在物聯(lián)網(wǎng)異常狀態(tài)程度10%與60%背景下,得到算法時延數(shù)據(jù)如表4、表5所示。
表4 物聯(lián)網(wǎng)異常狀態(tài)程度10%背景下不同算法時延數(shù)據(jù)表
表5 物聯(lián)網(wǎng)異常狀態(tài)程度60%背景下不同算法時延數(shù)據(jù)表
如表4、表5數(shù)據(jù)顯示,隨著物聯(lián)網(wǎng)異常狀態(tài)程度的增加,算法時延呈現(xiàn)上升的趨勢。以算法時延平均數(shù)值為依據(jù),與現(xiàn)有算法數(shù)據(jù)相比較,提出算法在物聯(lián)網(wǎng)異常狀態(tài)程度10%背景下,算法時延平均數(shù)值下降了1.33s;在物聯(lián)網(wǎng)異常狀態(tài)程度60%背景下,算法時延平均數(shù)值下降了1.48s。
上述實驗結果顯示:與現(xiàn)有算法相比較,提出算法修正正確率更高、算法時延更短,充分說明提出算法的修正性能更好。
本文基于小樣本學習提出新的物聯(lián)網(wǎng)異常狀態(tài)修正算法。實驗驗證了該算法提升了修正正確率,縮短了算法時延,為物聯(lián)網(wǎng)的穩(wěn)定運行提供更加有效的保障。