序列異常檢測
序列在現實世界中是非常常見的一種資料形式,即在時間維度上感測器採集的資料流。我們最常見的序列資料像語音,自然語言,視訊等訊號,它們的共同點就是有很強的上下文。一般而言,任何高階有效的模型在處理這種資料時都會考慮這種上下文關係,充分挖掘潛藏的時空相關性,以對資料進行建模,比如混合動態紋理模型。而異常呢,一般在不同場景中有不同的定義,比如一個心臟跳動的訊號,在平穩中突然跳動。那麼這個跳動就是異常,任何高階的系統都會捕捉到異常並報警。無論是哪種異常,在計算機的世界裡,無非就是在特徵維度張成的空間中,根據相應的度量形式尋找遠離簇的孤立點。其實,異常檢測在現實世界中有著廣泛的應用,並在各領域扮演著重要的角色,比如網路入侵,欺詐檢測,視訊監控等。
本文主要討論在序列資料中如何建立有效的非監督模型去發現異常。非監督的框架在現實世界中更加有效,因為資料的標籤很難有效得到。總之,這類問題有3個挑戰:
- 噪聲:任何系統都存在噪聲,當然噪聲有不同的表現形式。正因為噪聲的存在,使得某些正常資料看似異常,給該類問題帶來挑戰。
- 時間相干性:由於存在很強的上下文關係,因此異常檢測會面臨相關性挑戰。另外,序列資料一般會隨著時間不斷演變進化;更有甚者,異常/正常也會隨著時間演變。比如,心臟跳動訊號,平穩中出現跳動,跳動中突然平穩。
- 資料維度:比如在視訊監控中,我們面臨的資料是高維的。設計的模型一方面能應對這種高維資料,一方面得有時間複雜度的把控。
下面介紹3篇文獻,學習他們的建模方法。其中,一篇基於傳統的類似混合動態紋理模型,另兩篇基於比較火的RNN和LSTM模型。
第一篇文獻是國內中山大學在視覺領域-前景檢測方面的研究成果,
表示在個連續幀中相同位置處的資料,其中表示在第幀的當前位置處提取的特徵向量。該特徵向量是在以該位置為中心的小立方體(比如 pixels)中提取類似於local ternary patterns (LTP)的特徵。在這個特徵向量空間中,作者採用了一組正交基
其中為係數,為誤差項。在係數層這個隱空間中,作者採用了矩陣來表徵資料的動態性,並刻畫序列資料的時間相干性:
最終的問題形式化為:
因此,解決這類問題的一個嚴峻挑戰-時間相干性,就轉化為了在觀測資料下,求解資料一致性矩陣和時間相干性矩陣。該問題的求解採用交替優化的策略, 和 ()。比如在當前資料下,求解:
上述問題可通過對的奇異值分解求解。對於:
檢測部分:當有新的資料