0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

寶信利用Spark Analytics Zoo對基于LSTM的時間序列異常檢測的探索

電子設(shè)計 ? 2018-10-17 10:30 ? 次閱讀

摘要:寶信和英特爾相關(guān)團隊利用Analytics Zoo在無監(jiān)督的基于時間序列異常檢測用例上進行了有益的合作探索,本文分享了合作項目的結(jié)果和經(jīng)驗。

背景----

工業(yè)制造行業(yè),有多種方法來避免由于設(shè)備失效導(dǎo)致的生產(chǎn)中斷。常見的方法是定期檢修維護,或者提前更換設(shè)備零部件,這些方法都可能會增加設(shè)備維護和更換的投入。然而,另一個可行的方法是收集不同設(shè)備的大量振動數(shù)據(jù),并使用這些數(shù)據(jù)自動檢測設(shè)備狀態(tài)的異常。因此,有效地收集大量的時間序列數(shù)據(jù)并且大規(guī)模地進行異常和失效檢測,對于降低工業(yè)制造行業(yè)中的的很多不必要的成本是非常關(guān)鍵的。

Recurrent neural networks (RNNs)循環(huán)神經(jīng)網(wǎng)絡(luò),特別是Long short term memory models (LSTMs)長短期記憶模型現(xiàn)在被廣泛應(yīng)用于信號處理,時間序列分析等場景。作為connectionist模型,RNNs可以提取網(wǎng)絡(luò)節(jié)點中的動態(tài)序列。在這個項目中,我們利用LSTM來模擬震動信號的統(tǒng)計學(xué)規(guī)律, 并且使用了來自辛辛那提大學(xué)的IMS全生命周期數(shù)據(jù) (http://ti.arc.nasa.gov/c/3/)來展示設(shè)備異常檢測的分析流程。

Analytics Zoo解決方案

Analytics Zoo (https://github.com/intel-analytics/analytics-zoo)是一個基于Apache Spark和BigDL等構(gòu)建的analytics (分析)+AI人工智能)的平臺,由英特爾開源,該平臺能夠方便地讓用戶將端到端的基于大數(shù)據(jù)的深度學(xué)習(xí)應(yīng)用直接部署在已有的Hadoop/Spark的大數(shù)據(jù)集群上,而無需安裝專用的GPU設(shè)備。

我們已經(jīng)在Apache Spark和Analytics Zoo上創(chuàng)建了端到端的基于LSTM的異常檢測流程,可以應(yīng)用于大規(guī)模時間序列數(shù)據(jù)的無監(jiān)督深度學(xué)習(xí)。作為LSTM模型的輸入數(shù)據(jù)的是一系列設(shè)備震動信號,比如在當(dāng)前時間點之前50秒的信號數(shù)據(jù),通過這些信號數(shù)據(jù),經(jīng)過訓(xùn)練的模型可以預(yù)測下一個數(shù)據(jù)點。當(dāng)下一個數(shù)據(jù)點和模型預(yù)測的數(shù)據(jù)點有較大偏差,我們認為該數(shù)據(jù)為異常數(shù)據(jù)。圖1所示為一個端到端的數(shù)據(jù)處理流程。

圖1:基于Analytics Zoo的振動時間序列異常檢測處理流程.

1. 處理流程從Spark集群讀取原始數(shù)據(jù)并構(gòu)造RDD(resilient distributed datasets)彈性分布式數(shù)據(jù)集,并抽取特征,最后把特征輸出到Dataframe。在原始數(shù)據(jù)集中,每個數(shù)據(jù)描述了一個檢測失效(test-to-failure)的實驗,并包含了時長為1秒的20K赫茲采樣的即時振動信號(如圖2所示)。為了訓(xùn)練深度學(xué)習(xí)模型,每一秒的統(tǒng)計數(shù)據(jù)被提取作為特征數(shù)據(jù),包括均方根(Root Mean Square), 峰度(Kurtosis),峰值( Peak), 以及小波包分解得到的8個頻段的能量值。

2. 處理流程進一步在RDD中處理這些特征數(shù)據(jù),包括數(shù)值的小波去噪處理、標準化處理(normalize)和滑動平均處理,以50秒為基準展開特征數(shù)據(jù)序列,以便于深度學(xué)習(xí)模型可以通過前50秒的模式來預(yù)測下一個數(shù)據(jù)點,并最終把數(shù)據(jù)轉(zhuǎn)換為Sample RDD。(https://bigdl-project.github.io/master/#APIGuide/Data/#sample).

3. 處理流程使用Analytics Zoo中提供的類Keras API來創(chuàng)建時間序列異常檢測模型,包括如圖所示的三個LSTM層和一個密集層,并通過數(shù)據(jù)訓(xùn)練這個模型(前50個點訓(xùn)練下一個點)。

 val model = Sequential[Float]()
  model.add(LSTM[Float](8, returnSequences = true, inputShape = inputShape))
  model.add(Dropout[Float](0.2))
  model.add(LSTM[Float](32, returnSequences = true))
  model.add(Dropout[Float](0.2))
  model.add(LSTM[Float](15, returnSequences = false))
  model.add(Dropout[Float](0.2))
  model.add(Dense[Float](outputDim = 1))

4. 接下來是模型評估:使用測試數(shù)據(jù)或者全部數(shù)據(jù)來檢測異常。異常數(shù)據(jù)是指遠離RNN模型預(yù)測的數(shù)據(jù)點。在這個項目中,我們指定異常數(shù)據(jù)為整體數(shù)據(jù)集的10%,也就是距離模型預(yù)測數(shù)值最遠的那10%數(shù)據(jù)為異常數(shù)據(jù)。這個篩選比例設(shè)置為可調(diào)整參數(shù),可以為每個單獨案例進行調(diào)整。

圖2:時間點2004.02.13.14.32.39上四通道的振動數(shù)據(jù)

測試結(jié)果

圖3顯示了原始振動數(shù)據(jù)和LSTM模型預(yù)測數(shù)據(jù)的對比。只有峰值和均方根這兩個統(tǒng)計數(shù)值顯示出來,其他統(tǒng)計數(shù)值具有相似的波動。圖中所示紅點為被識別的異常數(shù)據(jù),橙色線條為LSTM模型的預(yù)測數(shù)值,藍色線條為原始數(shù)值。經(jīng)過訓(xùn)練的模型最終成功預(yù)測了設(shè)備的失效,以及在經(jīng)過600個時間點之后的震動尖峰,在時間序列早期的一些波動可以作為設(shè)備失效的預(yù)警信息。

a), peak
b), RMS
3: RNN預(yù)測數(shù)值和原始震動數(shù)值的比較

結(jié)論

通過利用無監(jiān)督深度學(xué)習(xí),以及Analytics Zoo提供的端到端處理流程,我們可以有效地在大數(shù)據(jù)集和標準大數(shù)據(jù)集群(Hadoop, Spark等)上應(yīng)用時間序列異常檢測。通過收集、處理大量的時間序列數(shù)據(jù)(比如日志,傳感器讀數(shù)等),應(yīng)用RNN來學(xué)習(xí)數(shù)據(jù)模式,最終預(yù)判數(shù)據(jù)和判定異常數(shù)據(jù),Analytics Zoo提供的端到端處理流程能夠為許多新興的智能系統(tǒng)如智能制造、智能運維、物聯(lián)網(wǎng)等提供解決方案。基于時間序列的異常檢測在設(shè)備的智能監(jiān)控和

預(yù)測性維護上可以得到重要應(yīng)用。

參考文獻

1. https://github.com/intel-analytics/analytics-zoo

2. https://github.com/intel-analytics/BigDL

3. https://www.kaggle.com/victorambonati/unsupervised-anomaly-detection

4. https://iwringer.wordpress.com/2015/11/17/anomaly-detection-concepts-and-techniques/

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Hadoop
    +關(guān)注

    關(guān)注

    1

    文章

    90

    瀏覽量

    15944
  • Apache
    +關(guān)注

    關(guān)注

    0

    文章

    64

    瀏覽量

    12437
  • SPARK
    +關(guān)注

    關(guān)注

    1

    文章

    105

    瀏覽量

    19859
收藏 人收藏

    評論

    相關(guān)推薦

    基于Intel Analytics Zoo上分布式TensorFlow的美的/KUKA工業(yè)檢測平臺

    本文中,我們將分享我們在美的 / KUKA ,使用 英特爾 Analytics Zoo ( 一個基于 Apache Spark 、 TensorFlow 和 BigDL 的 開源數(shù)據(jù)分析 + AI
    的頭像 發(fā)表于 10-17 10:30 ?6812次閱讀

    【「時間序列與機器學(xué)習(xí)」閱讀體驗】全書概覽與時間序列概述

    模型、指數(shù)平滑方法、Prophet,以及神經(jīng)網(wǎng)絡(luò),例如循環(huán)神經(jīng)網(wǎng)絡(luò)長短期記憶網(wǎng)絡(luò)、Transformer、Informer 等。 ●第4章“時間序列異常檢測”:介紹
    發(fā)表于 08-07 23:03

    【《時間序列與機器學(xué)習(xí)》閱讀體驗】+ 了解時間序列

    據(jù)分析處理的專業(yè)書籍。再看一下目錄結(jié)構(gòu): 可看出書的前五章以理論為主,先后介紹了時間序列分析的基礎(chǔ)知識、時間序列的信息提取、時間
    發(fā)表于 08-11 17:55

    介紹有關(guān)時間序列預(yù)測和時間序列分類

    通過之前有關(guān)LSTM的8遍基礎(chǔ)教程和10篇處理時間序列預(yù)測任務(wù)的教程介紹,使用簡單的序列數(shù)據(jù)示例,已經(jīng)把LSTM的原理,數(shù)據(jù)處理流程,模型架
    發(fā)表于 07-12 09:18

    怎樣去搭建一套用于多步時間序列預(yù)測的LSTM架構(gòu)?

    如何開發(fā)和評估家庭電力數(shù)據(jù)集的預(yù)測模型?LSTM在多步時間序列預(yù)測方面具有哪些優(yōu)勢?怎樣去搭建一套用于多步時間序列預(yù)測的
    發(fā)表于 07-22 06:19

    基于SARIMA、XGBoost和CNN-LSTM時間序列預(yù)測對比

    1、基于SARIMA、XGBoost和CNN-LSTM時間序列預(yù)測對比  時間序列預(yù)測是一個經(jīng)常被研究的話題,我們這里使用使用兩個太陽能電
    發(fā)表于 12-20 16:34

    如何基于Keras和Tensorflow用LSTM進行時間序列預(yù)測

    為了做到這一點,我們需要先對CSV文件中的數(shù)據(jù)進行轉(zhuǎn)換,把處理后的數(shù)據(jù)加載到pandas的數(shù)據(jù)框架中。之后,它會輸出numpy數(shù)組,饋送進LSTM。Keras的LSTM一般輸入(N, W, F)三維numpy數(shù)組,其中N表示訓(xùn)練數(shù)據(jù)中的
    的頭像 發(fā)表于 09-06 08:53 ?2w次閱讀
    如何基于Keras和Tensorflow用<b class='flag-5'>LSTM</b>進行<b class='flag-5'>時間</b><b class='flag-5'>序列</b>預(yù)測

    如何使用頻繁模式發(fā)現(xiàn)進行時間序列異常檢測詳細方法概述

    針對傳統(tǒng)異常片 段檢測方法在處理增量式時間序列時效率低的問題,提出一種基于頻繁模式發(fā)現(xiàn)的時間序列
    發(fā)表于 11-28 11:09 ?5次下載
    如何使用頻繁模式發(fā)現(xiàn)進行<b class='flag-5'>時間</b><b class='flag-5'>序列</b><b class='flag-5'>異常</b><b class='flag-5'>檢測</b>詳細方法概述

    Analytics Zoo: 統(tǒng)一的大數(shù)據(jù)分析+AI 平臺

    怎么應(yīng)用 Analytics Zoo ?比如在阿里云上面部署 EMR,使用 Analytics Zoo
    的頭像 發(fā)表于 07-02 11:18 ?4763次閱讀

    基于時間卷積網(wǎng)絡(luò)的通用日志序列異常檢測框架

    基于循環(huán)神經(jīng)網(wǎng)絡(luò)的日志序列異常檢測模型對短序列有較好的檢測能力,但對長序列
    發(fā)表于 03-30 10:29 ?8次下載
    基于<b class='flag-5'>時間</b>卷積網(wǎng)絡(luò)的通用日志<b class='flag-5'>序列</b><b class='flag-5'>異常</b><b class='flag-5'>檢測</b>框架

    一種多維時間序列汽車駕駛異常檢測模型

    針對傳統(tǒng)異常檢測模型難以準確分析汽車駕駛異常行為的情況,建立一種基于自動編碼器與孤立森林算法的多維時間序列汽車駕駛
    發(fā)表于 05-26 16:32 ?2次下載

    一種新的無監(jiān)督時間序列異常檢測方法

    時間序列數(shù)據(jù)是生活中常見的一種數(shù)據(jù),在時間順序上具有一定規(guī)律,且大量存在于金融貿(mào)易、工業(yè)生產(chǎn)、環(huán)境保護、網(wǎng)絡(luò)安全等眾多領(lǐng)域。時間序列
    的頭像 發(fā)表于 08-10 11:29 ?2615次閱讀

    采用基于時間序列的日志異常檢測算法應(yīng)用

    目前,日志異常檢測算法采用基于時間序列的方法檢測異常,具體為:日志結(jié)構(gòu)化 -> 日志模式識別 -
    的頭像 發(fā)表于 12-09 10:47 ?1574次閱讀

    智能電網(wǎng)時間序列異常檢測:a survey

    故障、中斷、外部網(wǎng)絡(luò)攻擊或能源欺詐引起的。識別這些異常對于現(xiàn)代電網(wǎng)的可靠和高效運行至關(guān)重要。對電網(wǎng)時間序列數(shù)據(jù)進行異常檢測的方法有很多種。本
    發(fā)表于 04-04 16:13 ?0次下載
    智能電網(wǎng)<b class='flag-5'>時間</b><b class='flag-5'>序列</b><b class='flag-5'>異常</b><b class='flag-5'>檢測</b>:a survey

    時間序列分析的異常檢測綜述

    時間序列是在不同時點記錄一個或多個變量值的數(shù)據(jù)。例如,每天訪問網(wǎng)站的人數(shù)、每月城市的 average 溫度、每小時的股票價格等。時間序列非常重要,因為它們允許我們分析過去,理解現(xiàn)在,并
    的頭像 發(fā)表于 03-11 09:36 ?566次閱讀
    <b class='flag-5'>時間</b><b class='flag-5'>序列</b>分析的<b class='flag-5'>異常</b><b class='flag-5'>檢測</b>綜述