Successfully reported this slideshow.
Your SlideShare is downloading. ×

SageMakerを使った異常検知

Ad

SageMakerを使った
異常検知
2021.06.30 山口凌平

Ad

自己紹介
山 口 凌 平
異音検知の研究開発@Hmcomm
- 工場パイプラインの異音検知をやっています
SNS
- Twitter : @6111Ryo
最近やっていること
- Flutterの勉強
趣味
- 料理:お店の味を再現することが生...

Ad

本日話すこと
異常検知とは?
異常検知がどのようなものか整理します.
定義は?
学習方法は?
価値は?
SageMakerで
異常検知をするには?
SageMakerを使った異常検知の方法を紹介
します.
2

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Loading in …3
×

Check these out next

1 of 34 Ad
1 of 34 Ad

SageMakerを使った異常検知

Download to read offline

SageMakerを使った異常検知の方法について紹介します.
異常検知とはどのようなものなのか?SageMakerを使ってどのように実現するのか?について軽く説明します.

SageMakerを使った異常検知の方法について紹介します.
異常検知とはどのようなものなのか?SageMakerを使ってどのように実現するのか?について軽く説明します.

Advertisement
Advertisement

More Related Content

Advertisement

SageMakerを使った異常検知

  1. 1. SageMakerを使った 異常検知 2021.06.30 山口凌平
  2. 2. 自己紹介 山 口 凌 平 異音検知の研究開発@Hmcomm - 工場パイプラインの異音検知をやっています SNS - Twitter : @6111Ryo 最近やっていること - Flutterの勉強 趣味 - 料理:お店の味を再現することが生きがいです AWS Certified Machine Learning Speciality 1
  3. 3. 本日話すこと 異常検知とは? 異常検知がどのようなものか整理します. 定義は? 学習方法は? 価値は? SageMakerで 異常検知をするには? SageMakerを使った異常検知の方法を紹介 します. 2
  4. 4. 異常検知って? 3
  5. 5. 異常検知の定義 データの中から「ほかとは違うもの」を見つけ出す技術 「異常」 ・外れ値(Outlier) ・変化点(Change point) ・逸脱(Deviation) ・誤作動(Fault) ・侵入(Intrusion) ・詐欺(Fraud) システムや状況によって様々な異常がある 4
  6. 6. 異常検知は基本的には教師なし学習 理由 ①そもそも,異常データは無い ②異常データは多種多様で全てを網羅できない 5
  7. 7. 異常検知は基本的には教師なし学習 理由 ①そもそも,異常データは無い ②異常データは多種多様で全てを網羅できない 特に工場や医療の現場では 正常データの数 >>>>>> 異常データの数 となってしまう.... 6
  8. 8. 異常検知は基本的には教師なし学習 理由 ①そもそも,異常データは無い ②異常データは多種多様で全てを網羅できない 問題設定として 「正常 or 異常」 => 「正常 or 正常でない」 としたほうが筋が良い あらゆる状態 あらゆる状態 正常 異常A 異常B 異常C 異常D 正常 正常でない 学習 学習 「正常/異常」をモデリング 「正常/正常でない」をモデリング 7
  9. 9. 異常検知のステップ STEP4 モデルの検証 STEP3 閾値の設定 STEP2 異常度の定義 STEP1 特徴抽出とモデル構築 データ D 8
  10. 10. 異常検知のステップ STEP4 モデルの検証 STEP3 閾値の設定 STEP2 異常度の定義 STEP1 特徴抽出とモデル構築 p(x|D, θ) 機械学習や統計解析を使用して分布モデルを求める モデルを使い特徴量抽出を行う D:データ θ:パラメータ 9
  11. 11. 異常検知のステップ STEP4 モデルの検証 STEP3 閾値の設定 STEP2 異常度の定義 STEP1 特徴抽出とモデル構築 誤差関数や負の対数尤度を使用して異常度を算出 異常度 10
  12. 12. 異常検知のステップ STEP4 モデルの検証 STEP3 閾値の設定 STEP2 異常度の定義 STEP1 特徴抽出とモデル構築 異常/正常 を判定するための閾値を設定 ホテリング理論や分位点を用いたりします 異常度 閾値 正常 異常 11
  13. 13. 異常検知のステップ STEP4 モデルの検証 STEP3 閾値の設定 STEP2 異常度の定義 STEP1 特徴抽出とモデル構築 AUCやなどを用いてモデルの精度を検証 TPR (True Positive Rate) FPR (False Positive Rate) 12
  14. 14. 異常検知は2次価値をもたらす手法 マイク カメラ センサー 異常? 正常? データの1次価値 IoTによって得られたデータ 収集・蓄積・可視化される 意思決定 1次価値データが役に立つのは非常に限定的 13
  15. 15. 異常検知は2次価値をもたらす手法 マイク カメラ センサー 異常? 正常? データの1次価値 IoTによって得られたデータ 収集・蓄積・可視化される 意思決定 2次価値を創生することで社会全般に 大きな確信をもたらすことにつながる 異常検知 モデル データの2次価値 1次価値をもつデータを解析 データに潜んでいる規則性や相関性を発見し 結果を予測 14
  16. 16. 異常検知は2次価値をもたらす手法 マイク カメラ センサー データの1次価値 IoTによって得られたデータ 収集・蓄積・可視化される 意思決定 異常検知 モデル データの2次価値 1次価値をもつデータを解析 データに潜んでいる規則性や相関性を発見し 結果を予測 SageMaker を使ってよりシステム化 15
  17. 17. SageMakerを使った異常検知 16
  18. 18. SagaMakerを使った異常検知 データ加工・前処理 組み込みアルゴリズムを 使用 ジャンプスタートを使用 自分アルゴリズムを使用 モデルをエンドポイン トに展開 モデルを使って推論 17
  19. 19. 組み込みアルゴリズムを使った方法 18
  20. 20. ランダムカットフォレスト(RCF) 多次元データセット内の異常なデータポイントを検出するための教師なしアルゴリズム 1. サンプルを同サイズに分割 1. 各ツリーでルートノードを初期化 1. データの境界ボックスを計算し,ランダムな次 元を選択し,超平面の”カット”位置をランダム に決定する 1. カットしたデータを整理し,新たなサブツリー を定義する 1. 各サブツリーでツリーの各葉が単一ポイントを 表すように 3,4を繰り返す 19
  21. 21. ランダムカットフォレスト(RCF) 多次元データセット内の異常なデータポイントを検出するための教師なしアルゴリズム 1. サンプルを同サイズに分割 1. 各ツリーでルートノードを初期化 1. データの境界ボックスを計算し,ランダムな次 元を選択し,超平面の”カット”位置をランダム に決定する 1. カットしたデータを整理し,新たなサブツリー を定義する 1. 各サブツリーでツリーの各葉が単一ポイントを 表すように 3,4を繰り返す 20
  22. 22. ランダムカットフォレスト(RCF) 多次元データセット内の異常なデータポイントを検出するための教師なしアルゴリズム 1. サンプルを同サイズに分割 1. 各ツリーでルートノードを初期化 1. データの境界ボックスを計算し,ランダムな次 元を選択し,超平面の”カット”位置をランダム に決定する 1. カットしたデータを整理し,新たなサブツリー を定義する 1. 各サブツリーでツリーの各葉が単一ポイントを 表すように 3,4を繰り返す 21
  23. 23. ランダムカットフォレスト(RCF) 多次元データセット内の異常なデータポイントを検出するための教師なしアルゴリズム 1. サンプルを同サイズに分割 1. 各ツリーでルートノードを初期化 1. データの境界ボックスを計算し,ランダムな次 元を選択し,超平面の”カット”位置をランダム に決定する 1. カットしたデータを整理し,新たなサブツリー を定義する 1. 各サブツリーでツリーの各葉が単一ポイントを 表すように 3,4を繰り返す 22
  24. 24. ランダムカットフォレスト(RCF) 多次元データセット内の異常なデータポイントを検出するための教師なしアルゴリズム 1. サンプルを同サイズに分割 1. 各ツリーでルートノードを初期化 1. データの境界ボックスを計算し,ランダムな次 元を選択し,超平面の”カット”位置をランダム に決定する 1. カットしたデータを整理し,新たなサブツリー を定義する 1. 各サブツリーでツリーの各葉が単一ポイントを 表すように 3,4を繰り返す 異常スコアはツリーの深さに反比例するようになる 23
  25. 25. JumpStartを使った方法 24
  26. 26. SageMaker JumpStartとは - 2020年12月にリリースされたサービス - 公開されている事前学習済みモデルを簡単にファインチューンできる - textモデル(59個) - visionモデル(124個) - システムのソリューションが公開されている(16個) 独自のモデルを開発する必要がない場合 / 手元のデータを既存のモデルで試した い場合はかなり有効なサービス 25
  27. 27. SageMaker JumpStartとは - 2020年12月にリリースされたサービス - 公開されている事前学習済みモデルを簡単にファインチューンできる - textモデル(59個) - visionモデル(124個) - システムのソリューションが公開されている(16個) 独自のモデルを開発する必要がない場合 / 手元のデータを既存のモデルで試した い場合はかなり有効なサービス マウスで何回かポチポチするだけ JumpStartに用意されている事前学習済みモデルを使って 簡単に異常検知アルゴリズムを使えないか...?? 26
  28. 28. OEを使った異常検知 OE(Outlier Exposure)と呼ばれる外部データを使った異常検知手法 - 実際の問題では異常サンプルの分布が事前に分からない - OEデータセットを与え,正常サンプルが学習された分布であるかどうかを検 出できるような経験則を学習する Outlier Exposure normal data ? ? ? ? normal data 異常サンプルは不明 27 まだ,うまくいっていませんが紹介します!
  29. 29. OEを使った異常検知 OE(Outlier Exposure)と呼ばれる外部データを使った異常検知手法 - 実際の問題では異常サンプルの分布が事前に分からない - OEデータセットを与え,正常サンプルが学習された分布であるかどうかを検 出できるような経験則を学習する Outlier Exposure normal data ? ? ? ? normal data 異常サンプルは不明 28 こっちの分布を使って学習をする まだ,うまくいっていませんが紹介します!
  30. 30. OEを使った異常検知 OE(Outlier Exposure)と呼ばれる外部データを使った異常検知手法 - 実際の問題では異常サンプルの分布が事前に分からない - OEデータセットを与え,正常サンプルが学習された分布であるかどうかを検 出できるような経験則を学習する Outlier Exposure normal data DNN Outlier 1 Outlier 2 Outlier 3 Outlier 4 normal (in-distribution) not normal (out-of-distribution) cross entropy etc.. 29 異常スコア: not normalの確率値 ・・・ まだ,うまくいっていませんが紹介します!
  31. 31. 自作アルゴリズムを使った方法 組み込みアルゴリズムでは 画像などは異常検知をすることができない 30
  32. 32. AutoEncoder 画像の異常検知の基本的なもの ・学習:入力画像を復元させるように学習 ・異常スコア:入力と出力の差 31
  33. 33. 書くコードはちょっとだけ 使いたいフレームワーク 異常検知アルゴリズム を実装したスクリプト 必要なのはこの部分 fitでトレーニング 32
  34. 34. おわりに JAWS-UG AI/ML で異常検知についての 様々なユースケースや異常検知システムについて議論できると嬉しいです :) thanks :) 33

Editor's Notes

  • ページ番号
  • sagemaker の話いらないかも
  • 負の対数尤度
  • ホテリング理論
  • SageMakerで実装されている教師なし機械学習アルゴリズムのRCFとPCAを使った方法

    教師あり学習として事前学習済みモデルをファインチューニングして使用する方法

    組み込みアルゴリズムとして実装されていない教師なし異常検知アルゴリズムを使用する方法
    例えば AutoEncoder
  • アルゴリズムがある中
  • このような手法がありますよ
    今試していますよ
    知っている人がいましたら
  • このような手法がありますよ
    今試していますよ
    知っている人がいましたら

×