Blog
みなさん こんにちは!
2/14にDeep Learning Labの異常検知ナイトというイベントでPreferred Networksの比戸、中郷、小松が講演してきました。
異常検知というニッチなテーマでしたが、300人以上に聴講していただきました。
この講演は3パートに分かれていて、基本的な手法からディープラーニングの応用まで一通り話しています。
また、発表当日の動画はこちらになります。(PFNパートは5:00~です)
異常検知入門(比戸)
スライドにもある通り、「データがあるところに異常あり」で、異常検知には様々なアプリケーションが想定されます。
では、そもそも異常とはなんでしょうか?というのが、このパートのメインテーマです。
異常検知には、3つの種類の問題があります。
- 外れ値検知
- 変化点検知
- 異常状態検出
これらがどのような問題かを解説し、代表的なアプローチを紹介しました。
後半では「データサイエンティストあるある in 異常検知」を紹介し、異常検知の大変さ、奥深さについて説明しました。
異常検知ハンズオン(中郷)
このパートは外れ値検出の代表的な手法を、scikit-learnを使って実際にデモを行いました。
解説したアルゴリズムは、以下の5つです。
- Kearnel Density Estimation
- Gaussian Mixuture Model
- Local Outlier Factor
- Isolation Forest
- One Class SVM
2つの正規分布から生成した正常データと、一様分布から生成した異常データに対して、これらの手法を適用しました。
コードは資料に書かれているので、すぐに試すことができます。
どのアルゴリズムも異常検知できていますが、分類平面に手法の個性が見られて面白いですよ!
以下の画像は、それぞれの手法の分類平面です。
時系列データのリアルタイム異常検知(小松)
最後のパートでは、時系列データに異常状態検出手法を適用するデモを行いました。
発表の分かりやすさのために、このパートでも人工データを使って実験を行いました。
早速ですが、青い波形は正常、赤い波形は異常データです。
正常データは、2つの正弦波とガウスノイズを合成して作られています。
みなさんどこか異常か分かりますか?
少なくとも私はいきなりこの波形を見せられてもすぐに気が付く自信はありません!
このパートでは、このように定常動作が決まっているような時系列データに対して異常検知を行っていきます。
時系列データの異常検知の代表的な手法は、自己回帰モデルを使った手法です。
これは線形回帰などで次の1点を予測し、予測が外れたら異常とするものです。
本発表では、この予測モデルをCNNにしてデモを行いました。
先ほどの例に対して異常検知をした結果はこちらになります。
実は異常データは、含まれる正弦波の周波数が違っていたんですね。
下の青いグラフが異常度なのですが、異常が起きているところで異常度が上がっていることが分かります。
このイベントが終わった後に、多くの方から質問をいただけました!
異常検知の関心と需要がますます高まっていることを感じます。
それではみなさん、よい異常検知ライフを!
Tag