燕 敏,阮秀琴,趙 陽,鄭宏濤
(1. 西安石油大學信息中心,陜西 西安 710065;2. 西安理工大學信息化管理處,陜西 西安 710048)
物聯網主要由感知層、網絡層與應用層構成。其中,感知層位于物聯網的最底層,包含多種傳感器與控制器,是物聯網信息采集的關鍵組件[1-2]。感知層返回的數據是物聯網決策的根本依據,也決定著物聯網狀態的好壞。通過研究可知,物聯網異常狀態主要包含兩個因素,其一是外界干擾破壞與復雜部署環境的影響,導致物聯網節點軟、硬件發生故障或者消耗大量能源,致使物聯網狀態異常;其二是物聯網節點部署環境區域發生特定事件。如何精準的修正物聯網異常狀態,成為現今物聯網應用領域重點研究課題之一。
物聯網異常狀態檢測需具備一定的特征,要求時間與空間復雜程度較低,但在現有物聯網異常狀態算法檢測過程中,大多數利用時空相關性原理,其導致現有算法存在著修正正確率低下、算法時延較長等缺陷,故提出基于小樣本學習的物聯網異常狀態修正算法研究。小樣本學習為模型訓練階段只需要一個或者多個已標記的訓練樣本,能夠降低計算的過程,有利用提升算法的修正正確率,減少算法的時延,為物聯網的穩定運行提供更加有效的保障。
為精確檢測與修正物聯網異常狀態,獲取物聯網異常狀態小樣本為關鍵,即物聯網異常狀態特征,可以反映出物聯網異常狀態下局部差異性信息[3]。根據物聯網節點互相關系數,獲取物聯網異常節點空間相關性特征,具體過程如下。
物聯網節點互相關系數運算如圖1所示。

圖1 物聯網節點互相關系數運算
如圖1所示,Ωi為物聯網某一節點;Ωi+1為利用空間物理距離尋找出與Ωi距離最近的節點;FΩi,t與FΩi+1,t為設置觀測時間序列。

通過上述兩個觀測時間序列之間的互相關運算獲取節點Ωi關于節點Ωi+1的互相關系數,計算公式為

(1)
式(1)中,Ck(a)(τ)表示的是節點之間的互相關系數;?表示的是計算規則。
依據式(1)獲取的節點互相關系數Ck(a)(τ),提取物聯網節點的空間相關特征。以式(1)為基礎,得到節點互相關系數Ck(a)(τ)與時延τ的變化曲線如圖2所示。

圖2 節點互相關系數Ck(a)(τ)與時延τ變化曲線圖

將上述三個幾何特征作為物聯網節點的一組空間相關特征φ(x),反映節點與相近節點的空間相關程度,將其作為物聯網異常狀態小樣本,以此為依據來反映物聯網異常狀態的局部差異性信息。
以上述獲取的物聯網異常狀態小樣本為基礎,采用歐式度量方法完成小樣本學習,為后續小樣本學習網絡搭建做準備[6]。


(2)
以式(2)的結果作為類原型,用于表示物聯網異常狀態類別。
歐式度量方法可以直接在特征空間上計算物聯網節點距離,計算公式為

(3)

采用softmax對式(3)結果進行相應處理,以此來降低向量中異常值對向量的影響,處理公式為
(4)
式(4)中,k表示的是類別數量。
通過softmax處理后,物聯網節點距離數值范圍被歸一化為[0,1]。若式(4)結果越大,表明物聯網異常狀態類型屬于對應類別的概率越大。
以上述小樣本度量學習結果為基礎,搭建小樣本學習網絡,獲取物聯網異常狀態檢測結果,為最終物聯網異常狀態修正做基礎[8]。
小樣本學習網絡具備明顯的block結構,每個block結構均包含歸一化層、卷積層、池化層與激活層[9]。為更加精準的檢測與修正物聯網異常狀態,對小樣本學習網絡參數進行詳細設置,具體如表1所示。

表1 小樣本學習網絡參數設置表
為使小樣本學習網絡能夠學習到泛化性較好的參數,將距離損失表示為
arg min-lgΦk(y=k|x)
(5)
式(5)中,Φk(y=k|x)由式(4)中的樣本x是標簽為k的樣本概率。
以式(5)結果構建任務迭代最小化目標函數,通過一定次數的迭代,獲得最佳泛化性的網絡參數。
以上述搭建的小樣本學習網絡為依據,執行小樣本學習算法獲取物聯網異常狀態數據,利用RBF神經網絡修正物聯網異常狀態數據,具體修正過程如下所示:
RBF神經網絡是基于函數逼近理論構建的前饋性網絡,其結構為三層,包含輸入層、隱含層與輸出層。將物聯網異常狀態數據作為RBF神經網絡的輸入量,RBF神經網絡的輸出量即為異常狀態修正數值[10]。RBF神經網絡輸出結果表示為
(6)
式(6)中,y表示的是RBF神經網絡輸出量;n表示的是輸入層節點數量;ωi表示的是隱含層第i個節點與輸出層之間的權值;Ri(x)表示的是隱含層第i個徑向基函數;x=[x1,x2,…,xn]T表示的是RBF神經網絡輸入量。
為了保障物聯網異常狀態數據的修正精度,確定RBF神經網絡各層節點數量及其相關參數。
其中,輸入層節點數量由輸入數據維數確定,而輸出層數值為修正數據,故節點數量為1。隱含層節點數量決定著模型的運行效率,故利用試湊法來確定其節點數量[11]。
徑向基函數決定著模型的修正準確程度,選取高斯函數作為徑向基函數,表達式為

(7)
RBF神經網絡修正模型訓練結構如圖3所示。

圖3 RBF神經網絡修正模型訓練結構圖
如圖3所示,ωi表示的是隱含層節點與輸出層之間的權值向量;ai表示的是每個節點在模型集群中占據的比重。
在確定RBF神經網絡各層節點數量及其相關參數基礎上,進行物聯網異常狀態數據修正,其步驟如下:
步驟一:構建RBF神經網絡修正模型,將其模型結構設置為多輸入單輸出形式[12]。加載物聯網異常狀態數據,將其作為RBF神經網絡修正模型的輸入;
步驟二:構建訓練樣本,并對其進行歸一化處理,接著對訓練樣本進行劃分,將其分布至不同網絡節點上,同時對模型進行訓練;
步驟三:經過步驟二的訓練,將輸入量輸入RBF神經網絡修正模型,獲得一組對應的輸出值,將其作為異常狀態數據;
步驟四:在物聯網異常狀態修正后,通過相對誤差確定修正效果。相對誤差計算公式為

(8)
式(8)中,Zf表示的是修正后物聯網狀態數據;Z表示的是原始物聯網異常狀態數據。
通過上述過程實現物聯網異常狀態的修正,減少物聯網異常狀態修正的時間,為物聯網的應用與運行提供更加有效的保障。
為驗證提出算法與現有算法的性能差異,采用MATLAB軟件設計仿真對比實驗,具體實驗過程如下:
為保障實驗的順利進行,對實驗數據、參數等進行充分準備。實驗采用3.10GHz的Intel Core與Windows 7操作系統作為實驗硬件、軟件環境。
現今,國內并沒有通用的物聯網數據集,并且獲取大量數據的物聯網運行數據難度較大。為此,利用仿真序列產生器,產生物聯網異常狀態數據,并將其存儲在文檔中,供仿真使用。
仿真序列產生器產生的物聯網異常狀態數據波動與真實物聯網異常狀態數據波動情況如圖4所示。

圖4 仿真數據與真實數據的一致性對比
如圖4所示,仿真序列產生器產生的物聯網異常狀態數據波動方差與真實物聯網異常狀態數據波動方差具有一致性,說明本次仿真所得數據具有較高精度,為后續實驗結果的準確做基礎。
依據上述實驗準備數據進行物聯網異常狀態修正仿真,通過修正正確率以及算法時延反映算法性能,具體實驗結果分析過程如下:
3.2.1 修正正確率分析
為得到客觀的實驗結論,分別在物聯網異常狀態程度10%與60%背景下進行仿真,得到異常狀態修正正確率數據如表2、表3所示。

表2 物聯網異常狀態程度10%背景下不同算法修正正確率數據表

表3 物聯網異常狀態程度60%背景下不同算法修正正確率數據表
如表2和表3數據顯示,隨著物聯網異常狀態程度的增加,算法修正正確率呈現下降的趨勢。與現有算法相比較,提出算法修正正確率更加穩定與一致。以修正正確率平均數值為依據,與現有算法數據相比較,提出算法在物聯網異常狀態程度10%背景下,修正正確率平均數值上升了20.02%;在物聯網異常狀態程度60%背景下,修正正確率平均數值上升了24.87%。
3.2.2 算法時延分析
算法時延為物聯網異常狀態修正的時間長短。在物聯網異常狀態程度10%與60%背景下,得到算法時延數據如表4、表5所示。

表4 物聯網異常狀態程度10%背景下不同算法時延數據表

表5 物聯網異常狀態程度60%背景下不同算法時延數據表
如表4、表5數據顯示,隨著物聯網異常狀態程度的增加,算法時延呈現上升的趨勢。以算法時延平均數值為依據,與現有算法數據相比較,提出算法在物聯網異常狀態程度10%背景下,算法時延平均數值下降了1.33s;在物聯網異常狀態程度60%背景下,算法時延平均數值下降了1.48s。
上述實驗結果顯示:與現有算法相比較,提出算法修正正確率更高、算法時延更短,充分說明提出算法的修正性能更好。
本文基于小樣本學習提出新的物聯網異常狀態修正算法。實驗驗證了該算法提升了修正正確率,縮短了算法時延,為物聯網的穩定運行提供更加有效的保障。