中科院在讀美女博士帶你全面了解「異常檢測」領域

2021-10-09 23:59:37 字數 3312 閱讀 6672

基於標籤的可獲得性劃分異常檢測:

基於傳統方法的異常檢測模型

基於深度學習的異常檢測模型

deep clustering

autoencoder

generative models

predictability modeling

基於遷移學習的異常檢測方法

基於deep metric learning的異常檢測方法

不同於常規模式下的問題和任務,異常檢測針對的是少數、不可**或不確定、罕見的事件,它具有獨特的複雜性,使得一般的機器學習和深度學習技術無效。

異常檢測面臨的挑戰:

異常的種類:

異常檢測資料集分為三種:

異常檢測的應用領域:關於異常檢測方法有很多綜述,這裡列舉一些我看過的 [2,3,12,19] 。

deep one class

簡單介紹一下該類的典型方法:deep svdd [11] 、oc-nn [20]。

採用深度學習的聚類方法一般是用神經網路對輸入資料進行編碼,然後認為最後的編碼序列可以代表神經網路的很多特徵,然後我們對編碼序列進行聚類就可以達成聚類的目的。該類方法被用於異常檢測的包括:cae-l2 cluster [15] 、dae-dbc [18]。

cae-l2 cluster

cae-l2 cluster:在autoencoder中間加入了l2標準化以及k-means。

dae-dbc:先利用autoencoder降維,然後通過聚類方法判別異常值。

乙個通用的自動編碼器由編碼器和解碼器組成,編碼器將原始資料對映到低維特徵空間,而解碼器試圖從投影的低維空間恢復資料。這兩種網路的引數通過重構損失函式來學習。為了使整體重構誤差最小化,保留的資訊必須盡可能與輸入例項(如正常例項)相關。

將自動編碼器用於異常檢測是基於正常例項比異常例項能從壓縮的特徵空間更好地被重構這一假設。 判別方式是計算重構誤差d(x

)=∥x

−f(g

(x))

∥d(x) = \left \| x - f(g(x)) \right \|

d(x)=∥

x−f(

g(x)

)∥,如果d(x

)>la

mbda

d(x) > lambda

d(x)

>la

mbda

,則x

xx為異常,反之正常,λ

\lambda

λ 是需要定義的閾值。這裡說一下閾值的計算方法有很多,可以通過訓練集結果的正態分佈計算,或者計算訓練集結果的min-max標準化等等。

典型案例:稀疏自動編碼器(sparse ae)、去噪自動編碼器(denoising ae)、收縮自動編碼器(contractive ae)、魯邦自動編碼器(robust deep ae)等。這類方法太多了,在這裡就不舉例了,基本原理很簡單。

該類方法的優點是能夠通過非線性方法捕捉複雜特徵,試圖找到正常例項的一種通用模式,缺點是如何選擇正確的壓縮程度,以及如何解決「過擬合」的問題(網路擬合的太好以至於異常例項也「潛伏」在低維特徵空間中)。為了解決這個缺點,有研究者使用正則化或者記憶矩陣等等方法。

generative models

這種方法通常旨在學習生成網路g的潛在特徵空間,使潛在空間能夠很好地捕捉到給定資料背後的常態。

將生成模型用於異常檢測是基於在生成網路的潛在特徵空間中正常例項比異常例項能夠更準確地被產生這一假設。實際例項和生成例項之間的殘差被定義為異常分數。

典型案例:anogan、ganomaly、wasserstein gan、 cycle gan、vae等。

該類方法的關鍵問題是如何設計合適的生成器和目標函式。

predictability modeling

基於**模型的異常檢測方法通過使用時間窗內的歷史例項**當前例項來學習特徵表示,這些特徵表示能夠捕捉時間或序列的依賴關係,正常例項通常能夠保持良好的依賴關係,可以很好地被**,而異常例項通常會違反這些依賴關係,使得不可**。

**將**模型用於異常檢測是基於在與時間相關的序列中,正常例項比異常例項更容易被**這一假設。 ****序列與實際序列之間的殘差被定義為異常分數。

典型案例:自回歸模型(autoregressive)、convlstm**模型、slow feature analysis(sfa)等。

也有一些結合的重構和**的異常檢測模型,例如composite lstm [13] 、composite convlstm [14] 。

基於遷移學習的異常檢測方法

遷移學習中資料遷移和特徵遷移能夠被用於異常檢測,基於資料遷移:通過data augmentation生成合成資料擴大訓練集數量,從而更好地進行正常例項的表徵學習。基於特徵遷移:representation transfer,從相關問題中提取一些表徵層來提高異常檢測模型精度。

基於deep metric learning的異常檢測方法

通過度量學習的方法能夠讓同類樣本之間的距離變小,異類樣本之間的距離變大,在異常檢測方法中可以將資料對映到meric空間中,從而更好地分離異常值,並減少維度災難。目前的方法有:scdml [17]、addml [16]等 。

scdml : 為了提取更多的判別特徵來優化聚類模型,在第一階段使用siamese網路,度量學習的損失函式為對比損失( contrastive loss)。在第二階段使用k近鄰標籤更新策略,將未標記資料動態轉換為有標記資料,充分發揮未標記資料的貢獻。

addml:該方法通過最小化相似度誤差將資料對映到低維空間,目的是在度量空間中讓相似的例項更近。在測試階段,利用例項到中心的距離計算異常分數。

中科院實習(6)

顯然,我不笨!magic文件十分之不豐富,很多東西都考自己摸索。上午,靈感迸發,連續總結 領悟出兩個要點,糾正了前兩天的錯誤猜測,更新了ppt文件。興奮之餘,打了兩個響指 哇咔咔 既然不笨,下午就開始看magic的原理性acm文件了,裡面講得比較詳細,一面向下看,一面印證著我以前的一些猜測,行雲流水...

中科院實習(8)

轉移到人大的朋友這邊來了,又是乙個新環境,早上自然又醒的很早了。這裡沒有農大涼快,不過比起武漢的溫度,我已經很感恩了!昨天跟hey,tm,逛過一下午動物園之後雙腳是完全不行了,到了 都只有乙個念頭 坐一下吧 但她們兩位卻彷彿沒有什麼事兒一樣 昨天晚上吹了一晚上的電扇,這貌似也是在北京第一次吹電扇了,...

中科院實習(5)

先說早上的乙個馬路偶見 過北四環馬路,一男一女,互不相識,車流從左到右,男靠左,在女之後。此男意欲速過馬路,正向前,突然減速,曲線變道,轉向女士右邊.乙個微妙地動作,卻看到了人性真實的猥瑣面 嘆息 照例和老師打過招呼,開終端。同時在紙上寫下今日計畫 我很nb地想,這個上午應該可以輕鬆搞定吧。事實證明...