雷恒林,古蘭拜爾·吐?tīng)柡椋I日旦·吾守爾,張東梅
新疆大學(xué) 信息科學(xué)與工程學(xué)院,烏魯木齊830046
異常檢測(cè)是數(shù)據(jù)分析中的一個(gè)領(lǐng)域,它被具體分為離群檢測(cè)(正常點(diǎn)和異常點(diǎn)都在訓(xùn)練的數(shù)據(jù)中)和新奇檢測(cè)(在構(gòu)建訓(xùn)練模型時(shí)僅使用正常點(diǎn),再用訓(xùn)練好的模型對(duì)新到來(lái)的數(shù)據(jù)點(diǎn)進(jìn)行分類)。
新奇檢測(cè)在數(shù)據(jù)智能方面具有重要的作用。21世紀(jì),數(shù)據(jù)正在成為一項(xiàng)重要的資產(chǎn),通過(guò)對(duì)數(shù)據(jù)進(jìn)行分析和建模,從中提取有用信息,并以此為基礎(chǔ)來(lái)構(gòu)建智能化系統(tǒng),使社會(huì)運(yùn)作更有效率。隨著智能化的推進(jìn),正在賦予機(jī)器更多的權(quán)力,客機(jī)的自動(dòng)駕駛系統(tǒng)已應(yīng)用多年,而近年無(wú)人汽車駕駛技術(shù)也在蓬勃發(fā)展。這些自動(dòng)系統(tǒng)是否異常,對(duì)于智能機(jī)器做出正確的判斷有重要的作用。新奇檢測(cè)是一類重要的異常檢測(cè)方法,其在實(shí)際生活中具有廣泛的應(yīng)用,比如自動(dòng)識(shí)別橋梁渦激共振信號(hào)[1]以及汽車自動(dòng)駕駛時(shí)進(jìn)行目標(biāo)檢測(cè)[2]。
新奇檢測(cè)極大地彌補(bǔ)了離群檢測(cè)在面對(duì)新類型異常點(diǎn)時(shí)存在的不足:機(jī)器在遇到一個(gè)前所未有的異常數(shù)據(jù)時(shí),離群點(diǎn)檢測(cè)會(huì)將它歸類到和它最相似的已知類中,這樣通常會(huì)得到錯(cuò)誤的結(jié)果,因?yàn)閷?shí)際上它并不屬于該類。希望模型能將未見(jiàn)過(guò)的異常歸為新的異常類,這正是新奇檢測(cè)的特點(diǎn)所在。
新奇檢測(cè)更加適合當(dāng)下大多數(shù)智能系統(tǒng)所面臨的一個(gè)常態(tài):處于正常狀態(tài)的時(shí)間要比處于異常狀態(tài)的時(shí)間多,甚至核電站之類的系統(tǒng),可能幾十年才會(huì)遇到一次嚴(yán)重的異常狀態(tài),這就導(dǎo)致在實(shí)際情況中,系統(tǒng)得到的正常數(shù)據(jù)遠(yuǎn)多于異常數(shù)據(jù)。當(dāng)面對(duì)的是這樣一種不平衡數(shù)據(jù)時(shí),如果想要把這些正常數(shù)據(jù)充分利用起來(lái),新奇檢測(cè)就具有優(yōu)勢(shì)。
新奇檢測(cè)以其良好的異常歸類能力和在不平衡數(shù)據(jù)集上的良好表現(xiàn),在實(shí)際生活中具有較高的應(yīng)用價(jià)值,目前國(guó)外已有學(xué)者從不同的角度,對(duì)新奇檢測(cè)進(jìn)行了綜述。Markou等人[3-4]分別從統(tǒng)計(jì)和神經(jīng)網(wǎng)絡(luò)兩大方面對(duì)新奇檢測(cè)進(jìn)行了具體闡述。Kerr等人總結(jié)了新奇檢測(cè)在累積學(xué)習(xí)機(jī)器人任務(wù)中的應(yīng)用情況[5]。Miljkovi?從聚簇類、最近鄰、統(tǒng)計(jì)和分類四個(gè)方面描述新奇檢測(cè)的應(yīng)用[6]。Pimentel等人在文獻(xiàn)[7]中詳細(xì)論述了新奇檢測(cè)領(lǐng)域的各種算法和原理。Domingues等人[8]對(duì)離散數(shù)據(jù)類型中的新奇檢測(cè)方法進(jìn)行了對(duì)比實(shí)驗(yàn),來(lái)尋找最有效方法。但這些論文有的年代較為久遠(yuǎn),有的討論的檢測(cè)方法和領(lǐng)域較為局限,同時(shí)最近幾年新奇檢測(cè)又產(chǎn)生了新的理論和新的應(yīng)用。于是緊跟技術(shù)的發(fā)展,對(duì)新奇檢測(cè)算法和其應(yīng)用進(jìn)行了擴(kuò)展總結(jié)。
本文的組織如下:首先介紹了各種常用新奇檢測(cè)方法的基本原理和具體應(yīng)用,然后介紹了新奇檢測(cè)實(shí)驗(yàn)的基本步驟、常用評(píng)估標(biāo)準(zhǔn)以及在經(jīng)典數(shù)據(jù)集上的效果,最后對(duì)經(jīng)典新奇檢測(cè)方法的優(yōu)缺點(diǎn)和應(yīng)用進(jìn)行總結(jié)分析并對(duì)新奇檢測(cè)的未來(lái)研究趨勢(shì)進(jìn)行展望。
基于距離的新奇檢測(cè)方法主要包括K最近鄰(KNearest Neighbor,KNN)算法和聚簇類算法(比如Kmeans算法)。該類方法通過(guò)計(jì)算點(diǎn)與點(diǎn)之間的距離來(lái)估計(jì)樣本點(diǎn)的聚集程度并設(shè)定閾值,其中聚集程度高于閾值的點(diǎn),被視為正常點(diǎn),反之則為異常點(diǎn)。
KNN算法:KNN屬于監(jiān)督學(xué)習(xí)方法。在一般情況下使用KNN來(lái)檢測(cè)異常類時(shí),首先計(jì)算各個(gè)點(diǎn)和它K個(gè)近鄰之間距離的平均值,其中距離較大的點(diǎn)是異常點(diǎn)。如圖1所示,當(dāng)Neighbor設(shè)置為3時(shí),異常點(diǎn)A1到相鄰點(diǎn)的距離之和的平均值要大于正常點(diǎn)N1。如果要把KNN算法應(yīng)用到新奇檢測(cè)中需要進(jìn)行一些改變。比如,可以通過(guò)設(shè)置新到來(lái)的點(diǎn)到與它相鄰點(diǎn)的距離極值來(lái)進(jìn)行新奇檢測(cè),若超過(guò)極值則被劃分為新奇點(diǎn)。常用的距離評(píng)判標(biāo)準(zhǔn)有歐式距離、曼哈頓距離、夾角余弦等。這類算法通常不太擅長(zhǎng)處理高維數(shù)據(jù),計(jì)算開(kāi)銷較大,因而不適合在大規(guī)模數(shù)據(jù)和實(shí)時(shí)應(yīng)用中使用。
圖1 KNN算法示意圖
K均值(K-means)算法:該算法根據(jù)點(diǎn)與點(diǎn)之間的距離,將距離集中的點(diǎn)定為一個(gè)簇。算法第一步在數(shù)據(jù)集中隨機(jī)產(chǎn)生聚簇中心,第二步將點(diǎn)劃分到和它距離最近的聚簇中心,同時(shí)更新聚簇中心的位置(因?yàn)橛行碌狞c(diǎn)加入簇,簇的中心改變),重復(fù)第二步,直到所有點(diǎn)都被歸類到簇中,具體過(guò)程如圖2所示。同為聚簇類算法的還有使用馬哈諾比斯距離的Gustafson-Kessel模糊聚類算法(fuzzy Gustafson-Kessel clustering,GK),在該算法中,每個(gè)數(shù)據(jù)點(diǎn)同時(shí)屬于所有聚類簇,但是每個(gè)簇對(duì)它們的吸引力不同,點(diǎn)最終被歸屬到對(duì)它吸引力最強(qiáng)的簇中。Viegas等人[9]利用GK算法首先對(duì)一組合法消費(fèi)者的電力使用數(shù)據(jù)進(jìn)行聚類,以構(gòu)建合法用電行為的原型。然后,將原型應(yīng)用于基于距離的新穎性檢測(cè)中。和原型相比差異較大的情形,則可能是用戶在偷電,或是出故障的設(shè)備正在維修。實(shí)驗(yàn)證明,該方法優(yōu)于目前在電力反盜竊研究中表現(xiàn)最優(yōu)的算法(基于SVM),成功地挽回了電力傳輸過(guò)程中的非技術(shù)性損失。
圖2 K-means聚簇過(guò)程示意圖
這類新奇檢測(cè)方法的數(shù)學(xué)基礎(chǔ)是概率,通過(guò)在已知觀察序列上建模,推測(cè)序列背后的狀態(tài)。該類方法主要包括基于高斯分布假設(shè)的高斯模型和隱馬爾可夫模型。
高斯混合模型(Gaussian Mixture Model,GMM):假設(shè)輸入的數(shù)據(jù)符合高斯分布(根據(jù)定理,任何曲線都可由幾個(gè)正態(tài)分布線性表示,如圖3所示,y4可由y1、y2、y3表示),在給定的數(shù)據(jù)集上,計(jì)算每個(gè)特征的u和σ2。這時(shí)如果出現(xiàn)一個(gè)新的數(shù)據(jù)點(diǎn),計(jì)算出其在各個(gè)特征下的偏差之和p(x),假設(shè)異常的閾值為ε,如果p(x)<ε,則判定點(diǎn)為異常,反之為正常。
圖3 曲線由正態(tài)分布表示示例
一類支持向量機(jī)是在醫(yī)療領(lǐng)域使用較多的新奇檢測(cè)方法,但是其在分類過(guò)程中只構(gòu)建了全局的概率邊界,這不太適合多類分類問(wèn)題。為了解決這個(gè)問(wèn)題,Yang等人[10]提出了半監(jiān)督變分的高斯混合模型(Semi-supervised Variational Gaussian Mixture Model,SsVGMM)。該模型使用高斯混合分布,同時(shí)對(duì)預(yù)定義的類和未定義的類進(jìn)行建模。從每一個(gè)類的概率密度出發(fā),利用二維合成數(shù)據(jù)生成概率邊界。SsVGMM已被用于甲狀腺疾病數(shù)據(jù)的分類,其還可以被用于其他醫(yī)療數(shù)據(jù)的多類分類新奇檢測(cè)。
隱馬爾可夫模型(Hidden Markov Model,HMM):該模型包含觀察序列和隱含序列,觀察序列用于推測(cè)隱含序列的狀態(tài)。先對(duì)正常數(shù)據(jù)進(jìn)行模型訓(xùn)練,求得HMM模型的參數(shù)估計(jì),然后在已訓(xùn)練好的模型上運(yùn)行測(cè)試數(shù)據(jù),看結(jié)果是否超出閾值。Fagiani等人[11]將HMM應(yīng)用到智能水網(wǎng)和天然氣網(wǎng)的泄漏檢測(cè)中,通過(guò)和GMM模型對(duì)比,發(fā)現(xiàn)HMM模型有更好的效果。Schmidt等人[12]用HMM模型在波動(dòng)工況下對(duì)齒輪箱進(jìn)行新奇檢測(cè)。該方法能夠在只有單個(gè)傳感器振動(dòng)數(shù)據(jù)的情況下檢測(cè)和定位齒輪故障。該團(tuán)隊(duì)認(rèn)為在旋轉(zhuǎn)機(jī)器診斷探測(cè)領(lǐng)域,HMM比高斯混合模型和高斯分布具有更好的區(qū)分能力。
該方法先確定一個(gè)邊界或域,然后使用邊界分離正常類和異常類。其主要包括支持向量機(jī)、一類支持向量機(jī)和支持向量數(shù)據(jù)描述。
支持向量機(jī)(Support Vector Machine,SVM):通過(guò)選擇最優(yōu)的一個(gè)超平面來(lái)對(duì)數(shù)據(jù)進(jìn)行劃分,劃分的原則是使各類與超平面之間的間隔最大化,最終轉(zhuǎn)化為一個(gè)凸二次規(guī)劃問(wèn)題來(lái)求解。關(guān)于SVM在新奇檢測(cè)中的應(yīng)用原理在文獻(xiàn)[13]中有具體描述。Chen等人[14]提出了兩種新的SVM改進(jìn)算法,稱為帶有負(fù)例樣本的SVDD(SVDD with negative examples,R-SVDD)和在負(fù)例樣本使用ε不靈敏損失函數(shù)的SVDD(SVDD using the ε-insensitive loss function in negative samples,εNRSVDD)。這兩種算法用正例構(gòu)建模型,提高模型對(duì)噪聲、異常數(shù)據(jù)的魯棒性。宋玉丹等人[15]面對(duì)大部分?jǐn)?shù)據(jù)正常樣本較多,異常樣本較少,且大部分異常分類算法只考慮了正常樣本,忽略了異常樣本的實(shí)際情況,提出了基于少量異常數(shù)據(jù)的最大間隔支持向量機(jī)算法。在使用正常樣本構(gòu)建SVM模型的同時(shí),也加入了異常樣本,以此使構(gòu)建的超平面更加貼合正常樣本的邊界,達(dá)到更好的判斷效果。
一類支持向量機(jī)(One Class SVM,OCSVM):當(dāng)訓(xùn)練集中只有一類數(shù)據(jù),測(cè)試集中卻包含第二類數(shù)據(jù)時(shí),使用一類支持向量機(jī)對(duì)測(cè)試集進(jìn)行分類較為合適。此外,定義邊界域的形狀取決于所選的內(nèi)核,其原理是在訓(xùn)練時(shí)構(gòu)建一個(gè)超平面,把所有的訓(xùn)練樣本包含進(jìn)去。在進(jìn)行測(cè)試時(shí),如果樣本落在球體外面,則判定該樣本為第二類數(shù)據(jù)。在圖4中顯示了OCSVM在確定邊界后對(duì)數(shù)據(jù)的分類效果。有關(guān)OCSVM用于新奇檢測(cè)的詳細(xì)信息在文獻(xiàn)[16]中有具體介紹。Burnaev等人[17]通過(guò)在訓(xùn)練階段添加惡意軟件的特權(quán)信息,將松弛變量重新建模,再結(jié)合傳統(tǒng)的OCSVM,提高了對(duì)惡意軟件的檢測(cè)能力。Delgado-Prieto等人[18]提出先對(duì)機(jī)電系統(tǒng)數(shù)據(jù)進(jìn)行收集,再用主成分分析(Principal Component Analysis,PCA)降維,最后用正常數(shù)據(jù)對(duì)OCSVM建模,使檢測(cè)精度有了顯著提升。Delgado-Prieto等人認(rèn)為該方法能用于其他工業(yè)機(jī)器的故障檢測(cè)。周葉[19]選擇健康狀態(tài)的水電機(jī)組進(jìn)行建模,對(duì)水電機(jī)組的常態(tài)數(shù)據(jù)進(jìn)行特征提取,最后利用OCSVM實(shí)現(xiàn)對(duì)水電機(jī)組故障的診斷。
圖4 一類支持向量機(jī)
支持向量數(shù)據(jù)描述(Support Vector Data Description,SVDD)通過(guò)把原始的數(shù)據(jù)映射到高維空間,然后在高維空間中找一個(gè)超球體,該球體盡可能小,但是又要盡量包含更多的點(diǎn)。這時(shí)把超球體逆映射到原始的數(shù)據(jù)空間,就可以得到一個(gè)更加準(zhǔn)確的正常數(shù)據(jù)范圍。如果新來(lái)的點(diǎn)落在范圍之外,則為異常點(diǎn),關(guān)于SVDD的深入學(xué)習(xí)可以參考文獻(xiàn)[20]。傳統(tǒng)SVDD的決策函數(shù)用內(nèi)核擴(kuò)展表示,導(dǎo)致運(yùn)算速度與支持向量的數(shù)量呈線性關(guān)系,為了滿足快速響應(yīng)程序的需要,研究者提出了快速SVDD(Fast-SVDD,F(xiàn)-SVDD)算法,將決策函數(shù)的時(shí)間復(fù)雜度控制在常數(shù)級(jí),并已在液晶顯示器微缺陷檢查中得到應(yīng)用[21]。針對(duì)原始SVDD運(yùn)行速度慢的問(wèn)題,孫文柱等人[22]提出了改進(jìn)型的SVDD(Improved Support Vector Data Description,I-SVDD),通過(guò)縮小SVDD核矩陣的尺寸,提高了運(yùn)行速度,且保證了精度,并成功應(yīng)用在了飛行器飛行參數(shù)的異常檢測(cè)。曲建嶺等人[23]提出一種啟發(fā)式約減支持向量數(shù)據(jù)描述(Heuristic Reduction Support Vector Data Description,HR-SVDD),用啟發(fā)式的方法從原數(shù)據(jù)集中挑選出部分?jǐn)?shù)據(jù)集,再在部分?jǐn)?shù)據(jù)集上進(jìn)行運(yùn)算,在基本保持運(yùn)算精度的情況下,加快了運(yùn)行速度。實(shí)驗(yàn)結(jié)果表明,對(duì)于大樣本數(shù)據(jù),HR-SVDD有較好的分類效果。
1.4.1 神經(jīng)網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)是當(dāng)下機(jī)器學(xué)習(xí)領(lǐng)域非常熱門的一種方法,其是對(duì)人類大腦神經(jīng)元處理信息過(guò)程的一種模仿,通過(guò)訓(xùn)練框架,讓網(wǎng)絡(luò)不斷自主學(xué)習(xí)來(lái)修改神經(jīng)元之間連接的權(quán)重,直到達(dá)到最佳的訓(xùn)練效果。研究者們很早便開(kāi)始使用神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行新奇點(diǎn)檢測(cè)。神經(jīng)網(wǎng)絡(luò)可以被用于時(shí)間序列數(shù)據(jù)類型的異常識(shí)別,常用的有長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Long Short Term Memory Network,LSTM)[24]、遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network,RNN)等。
LSTM模型解決了RNN無(wú)法記住較久遠(yuǎn)信息的弊端,通過(guò)一種特殊設(shè)計(jì)的“門”結(jié)構(gòu)(包括遺忘門、輸入門、輸出門),實(shí)現(xiàn)節(jié)點(diǎn)對(duì)數(shù)據(jù)的選擇性保留。Nguyen等人[25]構(gòu)建了帶有隨機(jī)層的RNN作為時(shí)間序列建模的框架,在聲音異常檢測(cè)方面達(dá)到了目前最優(yōu)的效果。LSTM和自動(dòng)編碼器的搭配還被用于檢測(cè)預(yù)防未知的核電站安全事故[26]。
利用生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)進(jìn)行新奇檢測(cè),其在圖形領(lǐng)域的運(yùn)用流程如圖5所示。GAN屬于深度學(xué)習(xí),其包含一個(gè)生成器和一個(gè)辨別器,可以利用辨別器對(duì)新奇點(diǎn)進(jìn)行鑒別,再利用生成器生成新奇點(diǎn),克服了新奇點(diǎn)數(shù)量少的缺點(diǎn)。關(guān)于GAN的詳細(xì)內(nèi)容可以參考文獻(xiàn)[27]。研究者已經(jīng)嘗試在分類的同時(shí)進(jìn)行異常檢測(cè),辨別器中新出現(xiàn)的類被認(rèn)為是異常類[28]。Sim?o等人[29]利用GAN新生成的數(shù)據(jù)在線擴(kuò)充數(shù)據(jù)集,同時(shí)使用隨機(jī)目標(biāo)向量來(lái)提高新奇檢測(cè)精度,GAN存在的一個(gè)問(wèn)題最優(yōu)參數(shù)不好調(diào)控以及在不同數(shù)據(jù)集上的驗(yàn)證還不太充分。
圖5 生成對(duì)抗網(wǎng)絡(luò)示意圖
自編碼器(Auto Encoder)使用神經(jīng)網(wǎng)絡(luò)來(lái)對(duì)輸入數(shù)據(jù)進(jìn)行高效表示,可用于降維或者生成與訓(xùn)練數(shù)據(jù)相似的數(shù)據(jù),其重構(gòu)過(guò)程如圖6所示。從其結(jié)構(gòu)可知,在面對(duì)低維度的數(shù)據(jù)時(shí)其表現(xiàn)不是很好[30]。在文獻(xiàn)[31]中,作者改進(jìn)自編碼器后得到代表性特征自編碼器(Representative Feature Auto-Encoder,RFAE),利用自編碼器先得到相位相同樣本的代表性特征,再對(duì)代表性特征進(jìn)行擴(kuò)展得到重構(gòu)樣本。根據(jù)重構(gòu)誤差來(lái)判斷樣本是否異常。
圖6 自編碼器重構(gòu)過(guò)程圖
1.4.2 基于子空間的方法
子空間是原來(lái)向量空間的一部分,其維度小于等于原空間。通過(guò)一定的方法在盡量保留信息的情況下縮小原空間的范圍,可以加快運(yùn)行速度。這類方法主要包括主成分分析和零空間(Null Space)。
主成分分析(Principal Component Analysis,PCA)的基本思想是通過(guò)將高維數(shù)據(jù)在盡量保留數(shù)據(jù)特征的基礎(chǔ)上映射到低維數(shù)據(jù)空間上,借此加快程序運(yùn)行速度,如圖7所示將3維空間降到2維空間。Feng等人[32]通過(guò)對(duì)復(fù)式壓縮機(jī)的指示圖進(jìn)行離散2D變換來(lái)提取特征,再用PCA進(jìn)行降維,最后對(duì)降維特征數(shù)據(jù)進(jìn)行新奇檢測(cè),取得了比用小波變換更好的效果。Valiente-González等人[33]提出了一種新的圖像類型新奇檢測(cè)方案。該團(tuán)隊(duì)為了從玉米粒中挑選出有問(wèn)題的玉米粒,先使用智能相機(jī)對(duì)通過(guò)通道的玉米粒進(jìn)行拍照,再對(duì)玉米圖像的顏色空間用PCA降維并建立特征空間,在訓(xùn)練集中以PCA降維獲得的相關(guān)信息來(lái)設(shè)定閾值,進(jìn)一步判斷測(cè)試值是否異常,最后獲得了92%的準(zhǔn)確率。
圖7 PCA將三維聚簇?cái)?shù)據(jù)降到二維
Bodesheim等人[34]利用零Foley-Sammon變換(Null Foley-Sammon Transform,NFST)來(lái)進(jìn)行新奇檢測(cè),并提出了零空間的概念。零空間是所有訓(xùn)練樣本的一個(gè)聯(lián)合子空間,每個(gè)已知類由一個(gè)點(diǎn)表示。與核主成分分析等其他子空間方法相比,該方法可以避免在獲得的子空間內(nèi)進(jìn)行額外的密度估計(jì)或聚類,并且可以使用簡(jiǎn)單的距離度量來(lái)獲得新穎性得分,適合處理增量識(shí)別任務(wù)。后來(lái)該方法還被應(yīng)用于多類識(shí)別中的新奇檢測(cè),并在未知人臉識(shí)別和未知鳥(niǎo)類識(shí)別上得到了具體應(yīng)用[35]。
線性判別分析(Linear Discriminant Analysis,LDA)同樣屬于降維方法。和PCA不同的是,它的目標(biāo)是尋求投影后類內(nèi)方差最小、類間方差最大。Yu等人[36]和Huang等人[37]對(duì)LDA進(jìn)行改進(jìn),克服了類內(nèi)散布矩陣必須是非奇異性矩陣的缺點(diǎn),提出了基于辨別分析的核零空間方法(Kernel Null Space Method based Discriminant Analysis,KNDA)。Liu等人[38]對(duì)KNDA進(jìn)行改進(jìn),得到了基于辨別分析的增量核零空間(Incremental Kernel Null Space based Discriminant Analysis,IKNDA)算法。該方法克服了KNDA特征分解帶來(lái)的時(shí)間開(kāi)銷變大和無(wú)法計(jì)算連續(xù)數(shù)據(jù)的問(wèn)題。通過(guò)在數(shù)據(jù)集Founder-Type-200和Caltech-256測(cè)試后,證明了相比KNDA、SVM和DNN,該算法降低了時(shí)間復(fù)雜度和空間復(fù)雜度,同時(shí)保持了良好的可伸縮性,適合處理大規(guī)模數(shù)據(jù)。
近年來(lái),基于神經(jīng)網(wǎng)絡(luò)的新奇檢測(cè)方法得到了較多的應(yīng)用,這得益于其在大規(guī)模數(shù)據(jù)上的良好表現(xiàn)和高性能處理器性能的提升。但是神經(jīng)網(wǎng)絡(luò)的求解過(guò)程對(duì)研究人員來(lái)說(shuō)是一個(gè)“黑盒子”,而有的應(yīng)用場(chǎng)景需要對(duì)過(guò)程有較好的解釋性,比如在銀行領(lǐng)域,對(duì)用戶的決策過(guò)程應(yīng)該透明,這時(shí)其他具有較強(qiáng)解釋性的機(jī)器學(xué)習(xí)方法會(huì)更加適合。而基于子空間的方法通過(guò)投影映射等步驟構(gòu)建一個(gè)較小的空間,縮小問(wèn)題的范圍的同時(shí)降低復(fù)雜度,來(lái)達(dá)到新奇檢測(cè)的目的。
在實(shí)際的新奇檢測(cè)工作流程中,首先需要明確正常值的標(biāo)準(zhǔn),收集系統(tǒng)在正常狀態(tài)產(chǎn)生的數(shù)據(jù)。
然后需要進(jìn)行數(shù)據(jù)的預(yù)處理工作。數(shù)據(jù)預(yù)處理工作在整個(gè)新奇檢測(cè)過(guò)程中具有重要作用,主要包括對(duì)異常值、缺失值的處理,以及數(shù)據(jù)類型的轉(zhuǎn)換。
對(duì)于訓(xùn)練集中異常值的處理是直接刪除,因?yàn)樗鼤?huì)對(duì)模型訓(xùn)練效果造成干擾。而對(duì)于缺失值的處理,如果缺失數(shù)據(jù)的數(shù)量相對(duì)整個(gè)數(shù)據(jù)集來(lái)說(shuō)很小,重要性很低,可以試著直接刪除。如果缺失數(shù)據(jù)較為重要,則可以采取辦法進(jìn)行填充。最簡(jiǎn)單的方法是使用中值、中位數(shù)和眾數(shù)去填充缺失值。填補(bǔ)缺失值的方法還有插值法和最近鄰法。插值法通過(guò)插值函數(shù)f(x)來(lái)對(duì)已知點(diǎn)進(jìn)行擬合,用變量在該函數(shù)對(duì)應(yīng)的值來(lái)填補(bǔ)缺失值。常用的插值方法有拉格朗日法、牛頓插值法和樣條插值法;最近鄰法使用KNN算法計(jì)算距離該點(diǎn)最近的K個(gè)點(diǎn)的均值來(lái)代替缺失值。
數(shù)據(jù)的轉(zhuǎn)換。系統(tǒng)產(chǎn)生的數(shù)據(jù)類型多種多樣,比如有字符型、數(shù)值型和日期型等。通常需要將非數(shù)值型數(shù)據(jù)轉(zhuǎn)換為數(shù)值型數(shù)據(jù),便于新奇檢測(cè)方法使用。另外特征之間由于量綱不同,值的范圍也許會(huì)相差很大,這時(shí)需要使用歸一化處理,消除量綱帶來(lái)的影響。
經(jīng)過(guò)以上預(yù)處理之后,在模型中訓(xùn)練這些正常數(shù)據(jù),會(huì)得到正常數(shù)據(jù)所在的一個(gè)邊界。然后需要對(duì)模型進(jìn)行測(cè)試來(lái)評(píng)價(jià)其性能。新奇檢測(cè)的具體過(guò)程如圖8所示。在對(duì)模型進(jìn)行測(cè)試時(shí),通過(guò)比較測(cè)試集中數(shù)據(jù)和邊界的位置關(guān)系判斷其異常與否。最后再通過(guò)正確率、F1-score、AUC等評(píng)估方法進(jìn)行模型的評(píng)估。
圖8 新奇檢測(cè)過(guò)程
很多新奇檢測(cè)的評(píng)估指標(biāo)都來(lái)源于混淆矩陣(confusion-matrix),混淆矩陣如表1所示?;煜仃嚪譃門P、FN、FP、TN四個(gè)方面,具體含義如下:真陽(yáng)性(True Positive,TP):真實(shí)值為0,預(yù)測(cè)值也為0。假陰性(False Negative,F(xiàn)N):真實(shí)值為0,預(yù)測(cè)值為1。假陽(yáng)性(False Positive,F(xiàn)P):真實(shí)值為1,預(yù)測(cè)值為0。真陰性(True Negative,TN):真實(shí)值為0,預(yù)測(cè)值也為0。
表1 混淆矩陣
由混淆矩陣可以引申出正確率(Accuracy)、假正率(False Positive Rate,F(xiàn)PR)、真正率(True Positive Rate,TPR)的計(jì)算公式:FPR表示當(dāng)前被錯(cuò)誤分到正樣本類別中真實(shí)的負(fù)樣本所占所有負(fù)樣本總數(shù)的比例,TPR表示當(dāng)前分到正樣本中真實(shí)的正樣本所占所有正樣本的比例,在一般的情況下,F(xiàn)PR越低越好,TPR越高越好。而ROC曲線下方面積(Area Under the Curve of ROC,AUC)則與ROC曲線有較多聯(lián)系。接收者操作特征曲線(Receiver Operating Characteristic curve,ROC)也是一個(gè)用于效果評(píng)估的指標(biāo),其橫縱坐標(biāo)分別代表FPR和TPR。ROC曲線存在的一個(gè)問(wèn)題是不太好進(jìn)行量化比較,所以用ROC曲線下方和坐標(biāo)軸之間的面積(AUC值)來(lái)進(jìn)行評(píng)估結(jié)果之間的量化比較,AUC值越大的模型,其效果越好。
這里主要是部分新奇檢測(cè)方法在經(jīng)典圖像數(shù)據(jù)上的表現(xiàn),使用的評(píng)價(jià)指標(biāo)有Accuracy和AUC。新奇檢測(cè)圖像領(lǐng)域使用的經(jīng)典數(shù)據(jù)集有MNIST、Caltech-256、CIFAR-10、Coil-100等,下面是它們的簡(jiǎn)要介紹:
MNIST數(shù)據(jù)集是圖像分類中最常用的數(shù)據(jù)集,其中所有圖像的大小都是28×28。數(shù)據(jù)庫(kù)包含了60 000張的訓(xùn)練圖像和10 000張的測(cè)試圖像,每張圖像內(nèi)容為手寫的0~9中的一個(gè)數(shù)字。
Caltech-256數(shù)據(jù)集是一個(gè)圖像物體識(shí)別數(shù)據(jù)集,一共包含30 608張圖像,里面有256個(gè)物體類別,每類圖像最少有80張,最多不超過(guò)827張。
CIFAR-10數(shù)據(jù)集由60 000個(gè)32×32彩色圖像組成。其包含10個(gè)類,每個(gè)類有6 000個(gè)圖像。其中訓(xùn)練集中有50 000個(gè)圖像,測(cè)試集中有10 000個(gè)圖像。
Coil-100數(shù)據(jù)集是由不同物體在360°旋轉(zhuǎn)中每隔5°成像一次組成的數(shù)據(jù)集,其含有100個(gè)物體,每個(gè)具有72個(gè)不同的姿勢(shì),圖像大小為128×128。
在表2中展示了各文獻(xiàn)中的經(jīng)典方法目前在MNIST、Caltech-256等數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,從同一方法在不同數(shù)據(jù)集上的表現(xiàn)來(lái)看,數(shù)據(jù)集的大小、圖像的復(fù)雜程度等因素都會(huì)對(duì)實(shí)際效果產(chǎn)生影響。
MNIST數(shù)據(jù)集是非常經(jīng)典的數(shù)據(jù)集,該數(shù)據(jù)集數(shù)量較大,且圖像較小。在MNIST數(shù)據(jù)集下,使用GAN的一類新奇檢測(cè)(One Class novelty detection using GANs,OCGAN)能夠達(dá)到最佳的效果。該方法對(duì)傳統(tǒng)的GAN進(jìn)行了改進(jìn),在輸入時(shí)只輸入正常點(diǎn),在測(cè)試時(shí),異常點(diǎn)經(jīng)過(guò)重構(gòu)后會(huì)變得像正常點(diǎn),但是該結(jié)果和真正正常點(diǎn)重構(gòu)后的結(jié)果相比差異還是比較大,通過(guò)這種差異來(lái)發(fā)現(xiàn)異常點(diǎn)。對(duì)于有著多達(dá)286個(gè)類別的Caltech-256數(shù)據(jù)集,使用混合技術(shù)(Mix-up technique)的方法通過(guò)在特征空間中使用插值來(lái)訓(xùn)練模型,更好地對(duì)數(shù)據(jù)進(jìn)行了分離。其與基礎(chǔ)的SVM和KNDA相比,有著較高的精度提升,獲得了較好的效果。在CIFAR10數(shù)據(jù)集下,OCmst的效果大幅領(lǐng)先于其他算法,該模型使用卷積神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行深度特征提取和基于圖的生成樹(shù)來(lái)解決新奇檢測(cè)問(wèn)題。而VAE和OCSVM的效果較差。原因是OCSVM本身不太適合處理大規(guī)模數(shù)據(jù)集,而VAE在對(duì)CIFAR10數(shù)據(jù)集中異常數(shù)據(jù)的重構(gòu)上,效果并不是很好,這似乎與該數(shù)據(jù)集本身難以重建有關(guān),該數(shù)據(jù)集中的圖像為彩色圖像,而非MNIST數(shù)據(jù)集中的灰度圖像。
總的來(lái)看,目前單一的傳統(tǒng)機(jī)器學(xué)習(xí)新奇檢測(cè)方法,比如OCSVM、SVDD等在精確度上已逐漸被神經(jīng)網(wǎng)絡(luò)等新式方法超越。神經(jīng)網(wǎng)絡(luò)類方法得到了越來(lái)越多的應(yīng)用,尤其在新奇檢測(cè)圖像領(lǐng)域,研究重心向著深度學(xué)習(xí)、自動(dòng)編碼器等傾斜的趨勢(shì)更加明顯。
各類新奇檢測(cè)方法都有各自的特點(diǎn):基于距離的方法通過(guò)假設(shè)距離較近的點(diǎn)大多屬于同一個(gè)類別來(lái)進(jìn)行新奇檢測(cè),具有易于理解、實(shí)現(xiàn)簡(jiǎn)單的優(yōu)點(diǎn);基于概率的方法是根據(jù)不同的類對(duì)應(yīng)的不同概率分布來(lái)進(jìn)行劃分的;基于域的方法通過(guò)設(shè)立一個(gè)正常類的邊界來(lái)找出新奇類;基于神經(jīng)網(wǎng)絡(luò)類的方法具有適合大規(guī)模數(shù)據(jù)處理的優(yōu)勢(shì);基于子空間的方法通過(guò)對(duì)有效信息的保留,具有運(yùn)算速度較快的優(yōu)點(diǎn)。
表2 不同新奇檢測(cè)方法在經(jīng)典數(shù)據(jù)集上的表現(xiàn)
表3 新奇檢測(cè)方法的優(yōu)缺點(diǎn)比較以及得到應(yīng)用領(lǐng)域
在表3中對(duì)文中提到的主要新奇檢測(cè)方法的優(yōu)缺點(diǎn)和已得到應(yīng)用的領(lǐng)域進(jìn)行了總結(jié)。從表中可以看出,新奇檢測(cè)方法種類較多,在工業(yè)制造、網(wǎng)絡(luò)安全、醫(yī)療、能源傳輸?shù)阮I(lǐng)域都得到了應(yīng)用。表中絕大多數(shù)方法都可以處理圖像數(shù)據(jù),在萬(wàn)物智能互聯(lián)的時(shí)代,圖像在計(jì)算機(jī)處理的數(shù)據(jù)類型中占的比例越來(lái)越大,比如在近年興起的自動(dòng)駕駛領(lǐng)域和安防領(lǐng)域中,圖像都是最重要的信息載體。
從表3中可以看出,OCSVM和Auto-encoder在應(yīng)用廣度上較為突出,在多個(gè)領(lǐng)域得到了應(yīng)用。而LSTM和Auto-encoder則能處理較多的數(shù)據(jù)類型,對(duì)數(shù)據(jù)的適應(yīng)性較好。在大規(guī)模數(shù)據(jù)處理方面,NFST、KNFST都具有一定優(yōu)勢(shì),而PCA也可以在降低數(shù)據(jù)維度后和其他方法結(jié)合,最終提高運(yùn)行速度。對(duì)于時(shí)間序列類型的任務(wù),LSTM會(huì)具有優(yōu)勢(shì),可以對(duì)過(guò)去有效的信息進(jìn)行保留。對(duì)于新奇數(shù)據(jù)較少的情況,可利用GAN生成相似的數(shù)據(jù),擴(kuò)充數(shù)據(jù)集。而K-means、SVDD、KNN都是較為傳統(tǒng)的方法,結(jié)構(gòu)簡(jiǎn)單,便于理解,這其中KNN算法的實(shí)際使用率非常低,這與它不適合大規(guī)模數(shù)據(jù),以及包容性差有關(guān)系,SVDD類的方法使用次數(shù)相對(duì)更多,它的復(fù)雜性較低,訓(xùn)練速度也更快。
每種方法都有自己的優(yōu)缺點(diǎn),在進(jìn)行新奇檢測(cè)方法選擇時(shí),要充分考慮所處理數(shù)據(jù)的數(shù)據(jù)類型、數(shù)據(jù)維度、數(shù)據(jù)量大小等內(nèi)容,選擇合適的方法進(jìn)行應(yīng)用。
新奇檢測(cè)在大規(guī)模數(shù)據(jù)流、在線檢測(cè)、小樣本數(shù)據(jù)集等方面仍舊面臨著挑戰(zhàn)。研究人員在努力賦予新奇檢測(cè)更加強(qiáng)大的能力。其中包括:
(1)多類分類新奇檢測(cè)。隨著技術(shù)的發(fā)展,目前需要分類的類別逐漸增多,這使多類分類得到了發(fā)展。比如有時(shí)需要模型在識(shí)別出異常類的同時(shí)還能夠?qū)φn愡M(jìn)行分類;有時(shí)還需要判斷新到來(lái)的點(diǎn)是否是訓(xùn)練類中的一種。這兩種情況都是對(duì)單一二元分類的擴(kuò)展。
(2)在大數(shù)據(jù)和云計(jì)算技術(shù)的推動(dòng)下,目前互聯(lián)網(wǎng)上的數(shù)據(jù)量越來(lái)越大。數(shù)據(jù)規(guī)模越大意味著更多的訓(xùn)練數(shù)據(jù),對(duì)部分異常檢測(cè)算法來(lái)說(shuō)會(huì)有正確率上的提升。但是另一方面當(dāng)面對(duì)大規(guī)模數(shù)據(jù)時(shí),很多常規(guī)的新奇檢測(cè)算法在時(shí)間開(kāi)銷上會(huì)變得很大,這就需要新的方法,其對(duì)數(shù)據(jù)規(guī)模有較好的魯棒性,甚至是專為大數(shù)據(jù)設(shè)計(jì)的新奇檢測(cè)算法。
(3)用于訓(xùn)練的模型輸入數(shù)據(jù)需確保是正常數(shù)據(jù)。這是新奇檢測(cè)法的一個(gè)前提,如果數(shù)據(jù)有標(biāo)簽,能很好地進(jìn)行正負(fù)類區(qū)分,如果數(shù)據(jù)沒(méi)有標(biāo)簽,則要先確定正負(fù)類的標(biāo)準(zhǔn)。訓(xùn)練用的正類樣本集的質(zhì)量非常重要,直接影響到異常檢測(cè)的結(jié)果。
(4)擴(kuò)充訓(xùn)練和測(cè)試用的數(shù)據(jù)集。有時(shí)面對(duì)的數(shù)據(jù)是小樣本數(shù)據(jù),訓(xùn)練樣本比較少會(huì)降低模型的有效性,這時(shí)可以考慮對(duì)樣本進(jìn)行擴(kuò)充。常用的擴(kuò)充方法是GAN,利用該模型生成相似的數(shù)據(jù)集。