亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Seq2Seq 深度自編碼器的時間序列異常檢測方法研究

        2022-02-13 09:59瑩,吳
        現(xiàn)代電子技術(shù) 2022年2期
        關(guān)鍵詞:編碼器向量深度

        爨 瑩,吳 越

        (西安石油大學 計算機學院,陜西 西安 710065)

        0 引言

        時間序列數(shù)據(jù)是生活中常見的一種數(shù)據(jù),在時間順序上具有一定規(guī)律,且大量存在于金融貿(mào)易、工業(yè)生產(chǎn)、環(huán)境保護、網(wǎng)絡(luò)安全等眾多領(lǐng)域。時間序列異常檢測在生產(chǎn)和生活中有著重要的作用,如在網(wǎng)絡(luò)安全領(lǐng)域中分析網(wǎng)絡(luò)異常行為,在金融領(lǐng)域中識別欺詐交易等。

        傳統(tǒng)時間序列異常檢測方法(統(tǒng)計學方法或聚類方法),如高斯模型、ARIMA、K?means、IForest 等都屬于統(tǒng)計機器學習的范疇。這些方法基本在每個時刻訓(xùn)練模型以預(yù)測下一時刻,若觀測點與預(yù)測值相差太遠,則將該點視為異常。這類方法的不足之處在于忽視了時間序列數(shù)據(jù)的序列特性,無法挖掘序列中的異常序列模式。本文提出基于Seq2Seq 深度自編碼器的時間序列異常檢測方法,使用Bi?LSTM 網(wǎng)絡(luò)作為自編碼器對輸入序列進行編碼壓縮和解碼重建,此方法能夠更好地挖掘時序數(shù)據(jù)中的異常序列模式。

        1 算法原理

        1.1 深度自編碼器

        深度自編碼器(Deep Autoencoder,DAE)是一種無監(jiān)督或自監(jiān)督算法,其本質(zhì)是一種數(shù)據(jù)壓縮算法。構(gòu)建一個深度自編碼器需要兩個部分:編碼器(Encoder)和解碼器(Decoder)。編碼器將輸入壓縮為潛在空間表征,解碼器將潛在空間表征重建為輸出,編碼器和解碼器都是神經(jīng)網(wǎng)絡(luò)。編碼和解碼方法都是由模型自動學習輸入數(shù)據(jù)得到的,深度自編碼器的結(jié)構(gòu)如圖1所示。

        圖1 深度自編碼器結(jié)構(gòu)

        深度自編碼器主要有以下三個特點:

        1)數(shù)據(jù)相關(guān)性。自編碼器只能編碼與之前類似的數(shù)據(jù)。

        2)數(shù)據(jù)有損性。自編碼器解碼得到的輸出與原始輸入相比會有信息損失。

        3)自動學習性。自動編碼器從數(shù)據(jù)中自動學習編碼和解碼的方法。

        1.2 Bi?LSTM 網(wǎng)絡(luò)

        長短期記憶(Long Short?Term Memory,LSTM)網(wǎng)絡(luò)是為解決循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN)中梯度消失的問題提出的一種網(wǎng)絡(luò)結(jié)構(gòu)。LSTM單元可以處理長度可變的序列,并捕獲其中的長期依賴性和非線性關(guān)系,已成為處理序列數(shù)據(jù)的標準方法。根據(jù)LSTM 單元提出的自學習門控方法,能確定LSTM單元是否記憶之前的狀態(tài)或是否存儲當前數(shù)據(jù)中的信息。LSTM 單元內(nèi)部運算過程如圖2 所示。

        圖2 LSTM 單元內(nèi)部運算過程圖

        設(shè)時的輸入序列為向量x,輸出為h,LSTM 單元內(nèi)部計算過程如下:

        式中:c是時記憶單元中的狀態(tài)向量;c是-1 時記憶單元中的狀態(tài)向量;,和是參數(shù)矩陣和偏差向量;“⊙”表示元素積運算。此外,f表示遺忘門(Forget Gate),其作用是存儲舊信息的權(quán)重向量;i表示輸入門(Input Gate),用于獲取新信息的權(quán)重向量;o示輸出門(Output Gate),用于輸出待輸出的候選向量。在激活函數(shù)中,σ表示sigmoid 函數(shù);σσ表示tanh 函數(shù)。

        雙向長短期記憶(Bi?directional Long Short?Term Memory,Bi?LSTM)網(wǎng)絡(luò)通過引入第二層LSTM 單元來擴展單向LSTM 網(wǎng)絡(luò),其可以在前后兩個方向上同時處理輸入序列。在第二層中,隱含層單元的序列順序相反,因此該網(wǎng)絡(luò)可以同時利用過去和未來的序列信息。Bi?LSTM 網(wǎng)絡(luò)結(jié)構(gòu)圖如圖3 所示。

        圖3 Bi?LSTM 網(wǎng)絡(luò)結(jié)構(gòu)圖

        1.3 基于Seq2Seq 的Bi?LSTM 深度自編碼器時間序列異常檢測模型

        Seq2Seq 模型屬于自編碼器結(jié)構(gòu)中的一類,常用于文本翻譯、語音生成等自然語言處理領(lǐng)域。基本思想是用編碼器將輸入序列壓縮成指定長度的向量,再用解碼器將編碼向量解碼成指定長度的序列。

        針對時間序列異常檢測而言,假設(shè)樣本中異常序列數(shù)量相對于正常序列來說是極少數(shù)的。在使用深度自動編碼器的情況下,訓(xùn)練模型以學習正常時間序列中的序列模式。那么當時間序列輸入深度自編碼器中時,對于多數(shù)正常序列,模型可以很容易地發(fā)現(xiàn)并記住其中的序列模式,其重建誤差相對可能較??;反之對于少數(shù)異常序列,模型很難對其序列模式進行挖掘,則重建誤差相對可能較大。

        因此對于輸入的時間序列,若經(jīng)過模型編碼重建后與原始序列差異較大的話,則可以認為當前序列中可能存在異常,并可以進一步發(fā)現(xiàn)異常數(shù)據(jù)點?;赟eq2Seq 深度自編碼器的時間序列異常檢測模型,使用Bi?LSTM 網(wǎng)絡(luò)作為自編碼器對輸入序列進行編碼和重建。通過計算重建序列與原始序列之間的重建誤差,并設(shè)置重建異常比率以獲取誤差閾值,將重建誤差大于閾值的序列視為異常序列。異常檢測模型的主要步驟如圖4 所示。

        圖4 異常檢測模型主要步驟

        2 實證分析

        2.1 時間序列數(shù)據(jù)集

        實驗中所用到的時間序列數(shù)據(jù)為北京地區(qū)每小時PM數(shù)據(jù),數(shù)據(jù)集來自 UCI Machine Learning Repository,范圍為2010?01?01—2014?12?31。數(shù)據(jù)集共43 824 個樣本,對于缺失值使用同一天數(shù)據(jù)的平均值替換,經(jīng)過處理后的時間序列數(shù)據(jù)如圖5 所示。

        圖5 PM2.5時間序列數(shù)據(jù)

        對數(shù)據(jù)進行2 天重采樣,即用時間窗口大小為48 h的時序數(shù)據(jù)作為輸入序列,重采樣后的數(shù)據(jù)集共913 個樣本。其中使用70%作為訓(xùn)練集,20%作為驗證集,10%作為測試集。

        2.2 Bi?LSTM 深度自編碼器構(gòu)建

        本文使用基于Python 的Tensorflow 2 深度學習庫構(gòu)建Bi?LSTM深度自編碼器模型。實驗環(huán)境為Windows 10 64 位,CPU 為I7?8750h,顯卡為GTX 1060 6 GB,內(nèi)存為8 GB。

        首先使用MinMaxScaler 方法將數(shù)據(jù)歸一化,采用順序方式(Sequential)構(gòu)建網(wǎng)絡(luò)模型。編碼器和解碼器均定義為Bi?LSTM 層,共7 層,其單元數(shù)量分別為64,48,32,12,32,48,64,前6 層均返回序列。接下來定義Dropout 層,Dropout 比率為0.2。最后一層定義Dense全連接層,共有48 個單元,激活函數(shù)為線性整流函數(shù)(ReLU)。模型編譯時,使用均方誤差(Mean Square Error,MSE)作為損失函數(shù)(Loss),使用Adam 作為和優(yōu)化算法(Optimizer),學習率(LR)設(shè)為0.000 1。模型訓(xùn)練時,設(shè)置批次訓(xùn)練樣本數(shù)(Batch_size)為32,訓(xùn)練輪次(Epoch)為50。

        2.3 實驗結(jié)果

        在實驗中,使用重建序列和原始序列對應(yīng)元素差值的二范數(shù)(2?Norm)作為重建誤差指標。設(shè)序列重建前后對應(yīng)的元素差為向量=(,,…,x),該數(shù)值越大說明重建誤差越大。重建誤差指標如下:

        經(jīng)過50 輪訓(xùn)練后,模型在訓(xùn)練集和驗證集上的損失見圖6。從圖6 可以看出,模型在訓(xùn)練集上的最終損失約為0.000 51,在測試集上的最終損失約為0.000 39。

        圖6 模型訓(xùn)練損失圖

        模型訓(xùn)練完成后,將重建異常比率設(shè)為0.99,得到重建誤差閾值約為0.400 5。模型在訓(xùn)練集和驗證集上的異常檢測結(jié)果如圖7 所示。

        圖7 訓(xùn)練集驗證集異常檢測結(jié)果

        從圖7 可以知道,模型在訓(xùn)練集和驗證集上共檢測到10 個異常序列,其編號分別為22,39,40,227,334,376,555,562,711,779。對異常序列711 重建前后進行可視化如圖8 所示。

        圖8 異常序列711 重建結(jié)果對比

        從圖8 可以看出,異常序列711 在前42 h 一直處于較平緩狀態(tài),PM值最大在200 μg/m左右。因此模型可以較好地重建這一部分序列,重建誤差較小。在43~47 h 之間,PM值先劇增后迅速減少,序列出現(xiàn)劇烈變化。模型無法重建預(yù)測這一部分序列,重建誤差過大,因此將此序列視為異常。接下來使用模型在測試集上進行檢測,結(jié)果如圖9 所示。從圖9 可以看出,模型在測試集上共檢測到12 個異常序列,對異常序列901 重建前后進行可視化,如圖10 所示。

        圖9 測試集異常檢測結(jié)果

        圖10 異常序列901 重建結(jié)果對比

        從圖10 可以看出,異常序列901 在20 h 左右和25~35 h 的PM值均為0 μg/m,且在35 h 后序列急速上升。模型較好地重建了35 h 后的上升序列,但無法有效重建兩段為0 的時間序列,重建誤差大于閾值,因此將此序列視為異常。

        3 結(jié)語

        在時間序列異常檢測任務(wù)中,除了監(jiān)督算法外,基于無監(jiān)督的異常檢測方法也值得考慮。本文提出一種新的無監(jiān)督時間序列異常檢測方法,此方法基于Seq2Seq 模型,利用Bi?LSTM 深度自編碼器對序列的重建效果來發(fā)現(xiàn)異常序列。異常序列的發(fā)現(xiàn)取決于模型對原始序列的重建效果,該方法能更好地挖掘時間序列中的異常序列模式。通過在空氣質(zhì)量數(shù)據(jù)上的實驗,證明了該方法的可行性,模型初步達到了不錯的檢測效果,為時間序列異常檢測提供了新的方法。

        猜你喜歡
        編碼器向量深度
        向量的分解
        聚焦“向量與三角”創(chuàng)新題
        深度理解一元一次方程
        深度觀察
        深度觀察
        基于FPGA的同步機軸角編碼器
        深度觀察
        基于PRBS檢測的8B/IOB編碼器設(shè)計
        向量垂直在解析幾何中的應(yīng)用
        JESD204B接口協(xié)議中的8B10B編碼器設(shè)計
        四房播播在线电影| 国产乱码精品一区二区三区久久| 亚洲第一狼人天堂网亚洲av| 国产真实老熟女无套内射| 亚洲成a人片在线网站| 亚洲国产一区二区三区视频在线| 日本在线一区二区三区视频观看| 东京道一本热中文字幕| 女人与牲口性恔配视频免费| 日本国产在线一区二区| 成人性生交大全免费看| 久久久国产打桩机| 亚洲产国偷v产偷v自拍色戒| av永久天堂一区二区三区蜜桃| 国产女主播一区二区久久| 国产日产欧产精品精品| 欧美精品中文| 成人综合激情自拍视频在线观看| 精品厕所偷拍一区二区视频| 最近中文字幕视频完整版在线看| 日韩秘 无码一区二区三区| 日本一区二区三区在线观看视频| 国产日产欧产精品精品蜜芽| 国产免费av片在线观看播放| 99久久久精品免费| 久久精品国产亚洲综合av| 精品国产性色无码av网站| 欧美三级不卡视频| 久久精品亚洲国产成人av| 亚洲欧美中文日韩在线v日本| 午夜福利92国语| 日本国产一区二区三区在线观看| 国产高清人肉av在线一区二区| 国产综合在线观看| 国产亚洲欧美在线观看的| 国产一区二区三区在线观看蜜桃| 欧美xxxx做受欧美88| 日本一区午夜艳熟免费| 在线免费观看视频播放| 日本在线观看一区二区三| 九月婷婷人人澡人人添人人爽|