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

Contenu connexe

Tendances

Tendances (20)

ゼロから始める転移学習
ゼロから始める転移学習ゼロから始める転移学習
ゼロから始める転移学習
 
Data-Centric AIの紹介
Data-Centric AIの紹介Data-Centric AIの紹介
Data-Centric AIの紹介
 
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験
 
機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)機械学習モデルの判断根拠の説明(Ver.2)
機械学習モデルの判断根拠の説明(Ver.2)
 
バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践バンディットアルゴリズム入門と実践
バンディットアルゴリズム入門と実践
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計機械学習で泣かないためのコード設計
機械学習で泣かないためのコード設計
 
Amazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオンAmazon Athena 初心者向けハンズオン
Amazon Athena 初心者向けハンズオン
 
【DL輪読会】時系列予測 Transfomers の精度向上手法
【DL輪読会】時系列予測 Transfomers の精度向上手法【DL輪読会】時系列予測 Transfomers の精度向上手法
【DL輪読会】時系列予測 Transfomers の精度向上手法
 
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
深層学習による自然言語処理入門: word2vecからBERT, GPT-3まで
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
 
差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)差分プライバシーとは何か? (定義 & 解釈編)
差分プライバシーとは何か? (定義 & 解釈編)
 
ナレッジグラフ入門
ナレッジグラフ入門ナレッジグラフ入門
ナレッジグラフ入門
 
【DL輪読会】Mastering Diverse Domains through World Models
【DL輪読会】Mastering Diverse Domains through World Models【DL輪読会】Mastering Diverse Domains through World Models
【DL輪読会】Mastering Diverse Domains through World Models
 
Transformer メタサーベイ
Transformer メタサーベイTransformer メタサーベイ
Transformer メタサーベイ
 
SageMaker Neoの可能性について - 第3回 Amazon SageMaker 事例祭り+体験ハンズオン
SageMaker Neoの可能性について- 第3回 Amazon SageMaker 事例祭り+体験ハンズオンSageMaker Neoの可能性について- 第3回 Amazon SageMaker 事例祭り+体験ハンズオン
SageMaker Neoの可能性について - 第3回 Amazon SageMaker 事例祭り+体験ハンズオン
 

SageMakerを使った異常検知

Notes de l'éditeur

  1. ページ番号
  2. sagemaker の話いらないかも
  3. 負の対数尤度
  4. ホテリング理論
  5. SageMakerで実装されている教師なし機械学習アルゴリズムのRCFとPCAを使った方法 教師あり学習として事前学習済みモデルをファインチューニングして使用する方法 組み込みアルゴリズムとして実装されていない教師なし異常検知アルゴリズムを使用する方法 例えば AutoEncoder
  6. アルゴリズムがある中
  7. このような手法がありますよ 今試していますよ 知っている人がいましたら
  8. このような手法がありますよ 今試していますよ 知っている人がいましたら