王百皓, 祝玉華, 李智慧
(河南工業大學信息科學與工程學院,鄭州 450001)
糧食存儲安全問題一直是糧食工作的重點之一,但是由于糧食品種繁多,全國不同省市的自然環境和儲存環境不一,很難制定一個統一的標準進行糧情監測。因此,如何根據不同的環境條件評估糧倉儲存安全狀態,并及時發現儲存異常問題已經成為了糧情監測的首要任務。但是糧情監測十分困難,主要表現為幾個方面。首先,糧倉規模巨大,除表層外的其他位置的糧食狀況很難監測。其次,糧倉所處環境差異明顯,例如位于東北的糧倉和位于江南的糧倉的環境因素差別巨大,這對糧倉糧情監控提出了巨大的挑戰。再次,糧倉儲存的環境影響條件眾多,有溫度、濕度、水分、含蟲量等,同時各個維度的數據間相互影響,加大了監測的難度。最后,現有的方法大多是基于推理的異常監測,方法的適用性與可遷移能力較低。基于上述問題,設計一個具有通用性的糧情融合監測方法是十分有必要的。
信息融合(informationfusion)最早于1973年由美國國防部提出。隨著硬件設備的發展以及傳感器的普及,信息融合進入到了一個飛速發展的階段。國內關于信息融合領域的研究最早從國防科技大學開始[1],主要關注于多元信息的協調管理。在糧情監測領域,甄彤等[2]進行了信息融合技術的研究,其提出的基于多參數、二級信息融合的糧情測控方法能夠有效的分析異質數據,推動了糧情監測技術的發展。
近年來,糧食安全問題受到國家的高度重視,糧情監控問題逐漸成為了學者研究的重點。早期,馬志等[3]通過簡單神經網絡對糧情監測進行研究,針對不確定信息的融合提出了一種BP神經網絡和D-S證據理論相結合的信息融合處理方法,是最早將神經網絡應用于糧倉安全信息融合領域的工作。張卓然[4]則進一步將神經網絡技術和自適應模糊推理系統進行結合。但是由于時代的局限性,簡單神經網絡盡管相較于傳統方法能夠更好地進行糧倉安全信息融合,但是仍然存在著一些問題,例如無法廣泛適用于不同的場景,需要大量糧情信息標注等。
除了基于神經網絡的糧情信息融合,眾多學者還基于D-S證據理論進行了研究。張花軍[5]總結了D-S算法在糧情監控信息融合系統中的應用,主要包括對多源數據進行特征提取、模式識別、關聯和數據合成等,但是該方法同樣不具備普適性,即很難應用到不同類型的糧倉的糧情監測之中。黃琦蘭等[6]對數據進行了自適應加權,能夠有效地剔除冗余信息,進一步提高了應用D-S證據理論進行信息融合的魯棒性。
傳統的基于證據理論和簡單神經網絡的信息融合方法都存在著不同的局限性,隨著深度學習網絡技術的發展,部分學者開始對基于深度神經網絡的信息融合技術進行探索。趙曉平等[7]將傳感器信息和其多域特征進行研究,提出了一種基于信息融合的卷積神經網絡,能夠有效的對時域信息進行特征提取,其識別準確度遠遠高于傳統方法。鄭誠等[8]則構建了一個GNN網絡來完成信息任務,其利用注意力機制捕捉到信息源的特征,進行特征提取之后能夠進一步分析數據間的依賴關系,提高信息融合的準確度。
但是上述基于深度神經網絡的信息融合方法都使用監督學習模型,因此信息標注的準確性極大的影響了糧情監測的準確度。研究針對糧倉傳感器多維監測數據,提出了一個無監督的Transformer模型,能夠快速的發現糧倉異常情況。同時基于自注意力機制,能夠很好地適用于不同類型、不同環境的糧倉糧情監測。
Transformer能夠在保證訓練時間的同時處理具備龐大序列的數據[9],適用于糧倉安全信息融合中的高維傳感器數據。同時傳感器數據天然具備時序特征,Transformer模型能夠很好地處理時序數據[10]。將糧倉安全信息融合系統的任務定義為異常檢測任務,因此需要構建一個無監督的深度學習網絡來完成自動化的異常檢測,針對于糧倉傳感器數據,則主要為將異常分數高的時間戳對應的糧倉位置標記為異常[11]。Transformer[12]模型所具備的編碼器-解碼器的結構往往較少用于傳感器時序數據的分析,Tuli等[13]開創性的提出了用于多元時間序列數據的異常檢測任務。但是這些異常監測的工作大多應用于自然語言處理領域或者圖形圖像領域,對于高維傳感器數據的信息融合和異常監測尚未有學者進行研究。此外,賈雪楓等[14]將transformer模型應用到風險態勢感知任務之中,為研究提供了啟發。
研究基于Transformer設計了一個能夠自動進行糧倉糧情異常監測的模型,該模型能夠快速的識別結構化糧情數據中的異常部分,以自注意力機制為切入口,提出了一種基于無監督的Transformer的深度學習模型來進行糧庫安全信息融合;在編碼解碼網絡中引入對抗訓練模塊,創新性的通過2個獨立的解碼器對時間序列數據進行重建;通過2個真實的不同類型的糧倉糧情數據對模型的有效性進行驗證,實驗證明研究的方法能夠很好的對糧情進行監測。
傳統的糧情信息融合主要通過對數據進行特征提取,將特征向量進行融合以實現決策的目的。這些數據融合方法能夠有效地解決部分限制場景的糧情監測問題,但是對于不同類型和不同環境下的糧倉,傳統的數據融合方法就有些捉襟見肘。因此,基于自注意力機制,提出了一種能夠適用于不同糧倉環境的信息融合深度學習網絡模型,具體結構如圖1所示。

圖1 糧情監控系統結構圖
模型主要由編碼器和解碼器組成,具體框架如圖2所示。

圖2 Transformer模型結構
數據序列在編碼器中會經過多次基于注意力的數據轉換,直到當前的數據達到焦點分數。基于自注意力的數據轉換是一個對焦點分數進行迭代的過程,通過不斷地訓練和學習,能夠更好的對數據特征進行提取。此外,在評估部分對自注意力模塊進行了消融實驗。
之后我們使用解碼器對數據進行解碼并輸出,其中解碼器輸出結果Q定義為:
Qi=Sigmoid[FeedForward(I)]
(1)
式中:I為編碼器的輸出。
在模型中每1個自注意力機制都包含1個前饋神經網絡層,自注意力層的輸出(矩陣)作為前饋神經網絡的輸入,前饋神經網絡定義為:
FFFN(x)=max(0,xW1+b1)W2+b2
(2)
式中:max為ReLU激活函數,其通過激活函數的方式,來強化模型的表達能力。即數值較大的部分進行加強,數值較小的部分進行抑制,從而使得相關的部分表達效果更好。
Transformer模型中的訓練過程主要分為2個階段。首先在第一階段,模型通過編碼-解碼網絡預測了每個輸入的時間序列數據的內容,為了能夠更好的捕捉到微小的異常狀況,將焦點分數和數據序列同時作為輸入,能夠有效的提高自注意力網絡對時間序列的提取,并將注意力更加集中在偏差較高的數據序列之中。
第二階段將重建損失作為焦點分數,并將其與給定輸入的偏差作為修改注意力權重的條件,進而提取短期時間趨勢。這種自我調節的方法能夠進一步放大數據異常內容的偏差程度,提高識別能力。訓練過程如下:
首先,初始化編碼器E、解碼器D1和D2的權重,并設置超參數ε和最大迭代N;
之后,以生成和輸入窗口近似的結構為目標,進行輸入重構。使得解碼器的輸出結果Q1和Q2更加接近于W;
最后,進行迭代訓練,通過損失函數L1和L2更新編碼器E、解碼器D1和D2的權重。
測試過程如下:
首先,獲取模型編碼器E、解碼器D1和D2的權重;
之后,引入閾值自動選擇方法,并根據輸入數據計算得分;
最后,輸出數據得分和異常標記情況。
為了能夠保持訓練的穩定性,設計了1個對抗訓練模塊,即通過2個獨立解碼器進行時間序列數據的重建,其中2個解碼器的定義為:
L1=||Q1-W||2
(3)
L2=||Q2-W||2
(4)
解碼器L2的目的是通過最大化特征差值。這促使解碼器L2在此階段生成與Q2相同的輸出,以匹配解碼器L1的輸入,即目標為:
(5)
因此,解碼器L1的目標是最小化自調節輸出的重建誤差,解碼器L2的目標是最大化該誤差。對抗訓練模塊可以更好的保證訓練的穩定性,即大幅度減少過擬合的可能性,同時使得模型能夠適用于不同類型的高維數據集。在評估階段對對抗訓練模塊進行了消融實驗,實驗表明對抗訓練模塊能夠有效的提高模型的準確性和穩定性。
此外,實驗引入了元學習模塊用來解決小規模數據集的訓練收斂問題,元學習模塊主要將算法、模型和特征一起學習。例如在數據融合過程中,通過多源異構數據得到一個相對最優的算法,再通過這個算法得到最優的特征融合結果。
Transformer是較流行的深度學習模型之一,被廣泛應用于計算機視覺領域,但是在時間序列數據的融合和異常檢測之中的相關工作較少。我們構建了一個基于自注意力機制的transformer模型來完成糧倉傳感器監測數據中的異常檢測任務。
首先在數據融合中需要進行特征提取,transformer屬于encoder-decoder框架,其核心特征提取器是Attention,即利用注意力機制在眾多信息中選擇對當前任務目標最為關鍵的信息。從編碼器輸入的每一個數據序列首先經過一個自注意力層(Self-Attention),其幫助編碼器關注當前數據周圍的相關數據,注意力機制具體思想如圖3所示:

圖3 注意力機制
在模型中多元數據序列會進行矩陣變換,實驗定義了注意力機制中的3個標量,分別是Query(Q)、Key(K)和值Value(V)。注意力Attention定義為:
(6)

自注意力機制是指在內部元素之間進行的Attention變換,對于輸入矩陣Q,K和V,首先基于自注意力進行數據轉換,其中多頭自注意力MultiHead定義為:
MultiHead(Q,K,V)=Concat(H1,…,Hh)
(7)
式中:Hi=Attention(Qi,Ki,Vi),自注意力能夠使得模型在多個位置關注來自不同空間的信息。同時自注意力機制更容易捕捉到多維序列數據中不同維度數據間的依賴特征。
MultiHead注意力機制的實現如圖4所示。

圖4 多頭注意力機制
1.3.1 多源異構數據處理
多源異構數據的處理一直是信息融合研究的難點之一,傳統的方法需要大量的時間和精力對同類型傳感器數據的差異性進行辨別和標記。為了減少傳統信息融合方法的復雜性,提出的基于深度學習的方法能夠很好地對數據的細微差異特征進行識別,因此無需過多的考慮同類型傳感器的數據的差異性。
工作和傳統信息融合方法最本質的差別是方法能夠實現無監督的學習,即不需要大量時間進行人工識別和標注,只需要通過自注意力機制就能夠很好地對糧情數據的特征進行學習,并對異常情況進行檢測。
在模型中,高維傳感器數據無需進行預處理和標記,即多源異構數據的處理過程極其簡單,只需要對多個異構數據源進行簡單結合,生成一個單一的高維傳感器數據文件即可。
1.3.2 特征級信息融合
糧倉傳感器數據屬于多變量時序數據,即輸入數據是一個帶有時間戳、大小為T的序列:
T={x1,x1,…,xt}
(8)
實驗的任務是預測在時間序列T對應的數據異常時間戳。
為了讓模型更加穩定,首先,對多源傳感器數據進行歸一化:
(9)

特征級信息融合和以特征Q、K、V作為輸入,通過Concat函數(圖4)進行融合,多頭注意力機制提供并訓練了多個Q、K、V矩陣,這些矩陣將不同維度的數據投影到不同的表示子空間。式(6)顯示了每一個注意力模塊對信息處理的過程,本研究的特征級信息融合就是將每一個注意力模塊的輸出結果進行融合的過程。在模型訓練過程中,對多個并行的注意力層進行計算并獲得了多個不同的Z矩陣,這是模型將通過Concat函數進行拼接,并將拼接結果輸入到線性模型之中,這樣就完成了特征級的信息融合。即輸入為高維傳感器數據,輸出為經過線性變換之后的矩陣。如式(7)所示,在通過線性變換、注意力計算、特征融合之后的輸出結果即為特征級信息融合的結果。
與傳統信息融合方法的特征級信息融合步驟不同,本方法的特征級信息融合更加趨近于整體決策信息融合的一個組成部分,因此在特征級信息融合過程的直觀性較差。這也是基于深度學習網絡的信息融合方法與傳統信息融合方法的主要差異[7,8]。
1.3.3 決策級信息融合
在D-S理論中,決策融合是定義系統中所有可能出現的狀態,并將每一個可能的假設根據其特征質量賦予一個概率。決策級信息融合屬于對多源語義數據進行融合,信息融合本質上是一種對糧倉傳感器數據的融合機制,具體表現為每個節點只處理合成的語義信息。
多源決策級語義信息融合通常包含兩部分。首先是將多維傳感器數據轉換為語義信息,之后通過訓練為語義信息提供一個解釋。本文的模型將溫度、濕度等傳感器信息進行融合,而決策級信息融合則將經過特征及信息融合之后的結果進行解碼,進而實現決策級的信息融合。
在本模型中,我們將輸入的高維數據經過歸一化、線性變換、注意力變換等步驟進行處理和融合,最終輸出一個布爾常量,用來標記當前輸入數據是否為異常數據。本方法具備一個明顯優勢,具體為不局限于多源異構傳感器的數量和數據維度。具體來說,假設某糧倉具備溫度、濕度、蟲害數傳感器數據,后續有增設水分、CO2濃度傳感器,傳統方法對于決策及信息融合需要重新進行計算和分析,而本文方法的決策級信息融合只需將增設的傳感器數據輸入到模型之中即可完成決策級信息融合與糧情監測。
測試過程如算法2所示,將異常分數s定義為:
(10)
實驗使用了新港6號倉(小麥)和南寧5號倉(玉米)的場景差異較大的傳感器數據進行研究,其主要包括節點溫度、節點水分、節點濕度、環境溫度等數據維度。每行數據根據采樣位置不同分為3層,即分別位于糧倉頂部、中部和底部。
其中新港數據集共有數據41 526行(18組采樣傳感器),南寧數據集共有數據981行(9組采樣傳感器),我們分別以1∶1和5∶4的比例隨機選擇了訓練集和測試集。
模型為無監督模型,只需對測試數據進行標記,標記原則如表1所示。將較安全以及安全的糧情狀況標記為0,其余狀況標記為1。其中表1對糧情安全的評估標準參考了王峰等[18]的研究。

表1 測試數據標記原則
為了驗證模型的有效性,將模型與MERLIN[16]、DAGMM[17]和USAD[11]模型進行比較。研究使用PyTorch-1.7.1訓練模型。使用精度(precision)、召回率(recall)、特征曲線和F1分數來評估上述模型的性能。
圖5顯示了模型的平均訓練損失值,可以看出。模型在訓練過程中的loss值和val_loss值整體趨勢都是相對穩定的,表明了模型在糧倉傳感器數據集中的訓練穩定。
在異常檢測階段還關注了不同維度數據的異常傳遞情況。多頭注意力模式允許模型同時關注多個維度信息,使其更加適用于檢測多維數據的關聯異常。表現為某一維度的異常可能導致后續一系列維度的異常產生。本模型能夠精確地檢測并定位這些特定維度的異常內容。同時實驗結果表明能夠極大地改善異常監測的效果。
在測試過程中發現模型對較小異常的識別效果明顯,即對于傳遞性數值異常的敏感度較高,即模型能夠學習到數據維度之間的關系特征,并根據特征對異常狀態進行識別。
此外,為了驗證工作的有效性,還進行了不同模型的對比。可以看出模型在異常監測準確度、特征曲線和F1分數上都有優勢。MRTLIN模型可能與本實驗數據集不匹配導致效果較差,DAGMM和USAD模型在測試集中有90%以上的準確度,而模型準確度能夠達到94%以上。
同時,模型的F1分數為0.967 971,高于DAGMM模型的0.959 163和USAD模型的0.949 486,證明我們的模型在糧倉糧情異常檢測中與當前階段流行的深度學習模型相比更加有優勢。
實驗結果表明,方法能夠有效地預測不同情況下的糧倉異常問題,能夠將高維傳感器數據進行信息融合。同時強大的自注意力模式能夠自動化的學習出傳感器數據中的異常內容。與同類型的異常檢測模型相比,本模型訓練時間更短,準確率更高。
為了進一步探究模型中不同的模塊對實驗結果的影響程度,還進行了消融實驗。首先用前饋網絡替代transformer的編碼器解碼器結構進行實驗;其次,去掉自注意力模塊,即將焦點分數固定;再次,去掉對抗訓練模塊,只使用訓練階段的重建損失函數;最后,去掉元學習(meta-learning)模型進行實驗。具體結果如表3所示。

表3 消融實驗
前饋網絡替換transformer網絡:實驗結果表明,用前饋網絡替換Transformer網絡之后,總體模型性能下降明顯,說明了在模型中,Transformer的編碼器/解碼器結構對傳感器數據特征的學習能力更強。
刪除自注意力模塊:實驗結果表明,刪除自注意力模塊之后的網絡性能有小幅度下降。固定焦點分數對模型的識別結果有一定程度影響,通過自注意力模塊迭代更新焦點分數能夠更好地對異常情況進行檢測。
刪除對抗訓練模塊:實驗發現,只是用訓練階段的重建損失函數對于模型性能有較大的影響,異常檢測準確度下降明顯,說明實驗的對抗訓練模塊能夠加強模型對特征的學習,這也說明了實驗模型能夠捕捉到較微弱的局部特征信息。
刪除元學習模型:實驗結果表明,元學習模型對總體模型的性能影響巨大,元學習模型能夠使得模型獲取一種學會學習調參的能力,能夠更好地完成無監督的學習任務,這也說明了實驗模型能夠更好地適應不同環境下的糧倉糧情異常情況檢測。
研究提出了一種基于自注意力機制的Transformer模型來完成糧倉糧情信息融合和監測任務。基于編碼器-解碼器的Transformer模型能夠快速完成大規模高維傳感器數據的訓練和異常內容檢測,同時具備較高的準確性和穩定性。同時,模型還能有效的識別數據趨勢,因此在小規模數據集上同樣有較好的效果。
研究提出的糧倉糧情安全信息融合方法能夠有效地對多種不同類型、不同環境的糧倉的糧情進行監測,同時無監督的模型能夠極大的減少人工干預造成的誤差。研究方法和傳統的基于D-S的信息融合方法相比,適用性更廣,準確度更高。