序列異常檢測
序列在現實世界中是非常常見的一種資料形式,即在時間維度上感測器採集的資料流。我們最常見的序列資料像語音,自然語言,影片等訊號,它們的共同點就是有很強的上下文。一般而言,任何高階有效的模型在處理這種資料時都會考慮這種上下文關係,充分挖掘潛藏的時空相關性,以對資料進行建模,比如。而異常呢,一般在不同場景中有不同的定義,比如一個心臟跳動的訊號,在平穩中突然跳動。那麼這個跳動就是異常,任何高階的系統都會捕捉到異常並報警。無論是哪種異常,在計算機的世界裡,無非就是在特徵維度張成的空間中,根據相應的度量形式尋找遠離簇的孤立點。其實,異常檢測在現實世界中有著廣泛的應用,並在各領域扮演著重要的角色,比如網路入侵,欺詐檢測,影片監控等。
本文主要討論在序列資料中如何建立有效的非監督模型去發現異常。非監督的框架在現實世界中更加有效,因為資料的標籤很難有效得到。總之,這類問題有3個挑戰:
噪聲:任何系統都存在噪聲,當然噪聲有不同的表現形式。正因為噪聲的存在,使得某些正常資料看似異常,給該類問題帶來挑戰。
時間相干性:由於存在很強的上下文關係,因此異常檢測會面臨相關性挑戰。另外,序列資料一般會隨著時間不斷演變進化;更有甚者,異常/正常也會隨著時間演變。比如,心臟跳動訊號,平穩中出現跳動,跳動中突然平穩。
資料維度:比如在影片監控中,我們面臨的資料是高維的。設計的模型一方面能應對這種高維資料,一方面得有時間複雜度的把控。
下面介紹3篇文獻,學習他們的建模方法。其中,一篇基於傳統的類似,另兩篇基於比較火的RNN和LSTM模型。
第一篇文獻是國內中山大學在視覺領域-前景檢測方面的研究成果,。總的來說,提出的方法最核心的思想即是在一個定義的隱空間中考慮時間相干性;並提出了模型在線上檢測中的更新機制。我們具體看一下建模過程:
其中
最終的問題形式化為:
因此,解決這類問題的一個嚴峻挑戰-時間相干性,就轉化為了在觀測資料下,求解資料一致性矩陣
上述問題可透過對
檢測部分:當有新的資料
第二篇文獻為TIP2017年上的文章。這個工作與上一個工作有著異曲同工之妙,同樣是在隱層空間中考慮時間相關性;上一篇用矩陣
透過上圖可知,該模型包含兩部分:去噪自動編碼器(DAE)和迴圈神經網路(RNN)。其中DAE主要用來提取特徵,捕捉正常資料和異常資料間最本質的區別;RNN則充分利用上下文,並使學習器應對時間維度上的演變更加穩健。
h層為自動編碼器的隱層,這裡不做詳細介紹。下面我們主要看RNN,與標準的迴圈神經網路不同,作者簡化了其形式,即當前狀態僅取決於上一個狀態:
在各狀態間同樣權值共享。那麼
最終的損失函式:
上述即為模型的整個圖結構(graph)。訓練過程如下:
首先,單獨訓練DAE,學習引數
然後,根據損失函式,學習引數
最終,fine-tune,透過損失函式,學習所有引數。
在測試階段,只需根據DAE的重構誤差來判斷是否異常。
第三篇文獻為ICCV2015年上的文章Unsupervised Extraction of Video Highlights Via Robust Recurrent Auto-encoders。這個工作與上一個工作類似,同樣是在隱層空間中考慮時間相關性;用LSTM而不是迴圈神經網路來非線性刻畫。模型的層級結構如下:
上圖中(a)為影片幀序列,在一段時間內用3D CNN提取特徵;紅色虛線上是自動編碼器,而在自動編碼器的隱層(d)用LSTM刻畫時間維度上的相干性。異常是否的判斷同樣考慮重構誤差。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1795/viewspace-2801188/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [譯] 時間序列異常檢測演算法演算法
- 異常檢測
- 華為AGC提包檢測報告:檢測異常GC
- 準實時異常檢測系統
- AI賦能一鍵自動檢測:頁面異常、控制元件異常、文字異常AI控制元件
- 異常點檢測演算法小結演算法
- 寶信利用Spark Analytics Zoo對基於LSTM的時間序列異常檢測的探索Spark
- 基於多模態對抗學習的無監督時間序列異常檢測
- Redis 反序列化異常Redis
- 白話異常檢測演算法Isolation Forest演算法REST
- 異常檢測(Anomaly Detection)方法與Python實現Python
- [譯] 時間順序的價格異常檢測
- MV-Sketch介紹--網路流量異常檢測
- [python] 基於PyOD庫實現資料異常檢測Python
- 【機器學習】李宏毅——Anomaly Detection(異常檢測)機器學習
- 5個專注於檢測和預測異常的Java工具分享Java
- 異常-自定義異常的實現和測試
- Kafka+Flink 實現準實時異常檢測系統Kafka
- 深度模型的日誌異常檢測,還有誰不會?模型
- 軟體伺服器異常怎麼解決,軟體伺服器異常怎麼檢測和解決伺服器
- 吳恩達機器學習筆記 —— 16 異常點檢測吳恩達機器學習筆記
- 如何在實際場景中使用異常檢測?阿里雲Prometheus智慧檢測運算元來了阿里Prometheus
- idou老師教你學Istio :5分鐘簡析Istio異常檢測
- 複雜異常檢測如何快速落地?看看百度怎麼做
- 自動化時序異常檢測的可擴充套件通用框架套件框架
- HIDS 常見檢測原理
- 多角度分析,通訊時序資料的預測與異常檢測挑戰
- 【Java面試】請簡單說一下你對受檢異常和非受檢異常的理解Java面試
- 心跳異常檢測大賽:2020年,向健康再邁進一步!
- 異常測試實踐與梳理
- Flutter異常監測與上報Flutter
- 在Linux中,如何檢視和審計系統日誌檔案以檢測異常活動?Linux
- 汙水常規五項檢測
- 同濟大學曹楠“互動式視覺異常檢測及其應用”視覺
- 基於知識圖譜與異常檢測的PG資料庫故障定位資料庫
- 異常和異常呼叫鏈
- 異常篇——異常記錄
- 異常篇——異常處理