Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Deep Learning Lab 異常検知入門

10,688 views

Published on

2018/02/14 Deep Learning Lab 異常検知ナイト
「異常検知入門」発表資料です
https://dllab.connpass.com/event/77248/

Published in: Technology

Deep Learning Lab 異常検知入門

  1. 1. 異常検知入門 株式会社Preferred Networks 研究担当VP 比戸 将平 @ Deep Learning Lab 異常検知ナイト 2018/02/14
  2. 2. 自己紹介 ● 比戸 将平(ひど しょうへい) ● 専門 – データマイニング – 機械学習 ● 経歴 – 2006: 京都大学大学院情報学研究科修士卒 – 2006-2012: IBM東京基礎研究所データ解析グループ – 2012-2014: 株式会社Preferred Infrastructure – 2015-2017: Preferred Networks America, Inc. Chief Research Officer – 2018-: 株式会社Preferred Networks 研究担当VP データサイエンティスト養成読本 機械学習入門編(技術評論社)
  3. 3.  異常とは  異常検知とは  典型的アプローチ Agenda
  4. 4. 異常検知のイメージ -5 -4 -3 -2 -1 0 1 2 3 4 5 -5 -3 -1 1 3 5 Outlier 外れ値
  5. 5. 外れ値検出問題 -5 -4 -3 -2 -1 0 1 2 3 4 5 -5 -3 -1 1 3 5 Outlier 外れ値 Noise ノイズ Novelty 新規 Deviation 変動 Intrusion 侵入 Error エラー Rare レアイベント Fraud 不正 Fault 不適切動作 Defect 故障
  6. 6. 応用データ種類 データあるところに異常あり(1/2)  単なる数値ベクトルデータ  多次元ベクトル  センサー系  ヒト装着センサー群  車制御センサー群  工場監視センサー群  イベント系列  クレジットカード履歴  ヘルスケアデータ  テキスト系  新聞記事/ブログ記事  Twitterタイムライン  外れ値検出  母集団からの外れ検知  ノイズ除去  センサー系  健康異常検知  異常動作検知  故障検知  故障予兆検知  イベント系列系  クレジット不正利用検知  診療誤り検知  テキスト系  ノイズ文章除去  新規トピック検出  トレンドワード検出
  7. 7. 応用データ種類 データあるところに異常あり(2/2)  ネットワーク系  トラフィック流量  アクセスログ  パケット経路ログ  パケット内容  画像  製品の仕上がり画像  建造物の外観写真  監視カメラの画像  音声  建造物を叩いた反響音  工場内の音声センサー  ネットワーク系  DDoS攻撃検知  侵入検知/マルウェア検出  障害検知/障害箇所検出  画像  製品・建造物の外観検査  不審物の置き去り検知  音声  建造物の非破壊検査  回転物の異音検知
  8. 8. 異常・外れ値の定義:統一的見解は無い ● Grubbs, 1969 – “An outlying observation, or outlier, is one that appears to deviate markedly from other members of the sample in which it occurs.” ● Hawkins, 1980 – “An observation that deviates so much from other observations as to arouse suspicion that is was generated by a different mechanism.” ● Barnett & Lewis, 1994 – “An observation (or subset of observations) which appears to be inconsistent with the remainder of that set of data.”
  9. 9. 異常は何から引き起こされるのか? ● 自然系 – 自然変動の範疇:桜開花後の雪 – 観測ノイズ:不可避な電磁ノイズ ● 人間系 – ヒューマンエラー:入力ミスなど – 不正行動:クレジットカード不正利用 ● システム系 – システム故障:HDDが物理破損して読み取り不能に – システム故障の予兆:HDD読み取りエラーの頻発 – システムへの攻撃:ネットワークDDoS攻撃 ● 質的変化 – 対象の状態変化:マルウェア感染による攻撃行動開始 – 新しい知識:あるトピックにおける新しい単語
  10. 10.  異常とは  異常検知とは  典型的アプローチ Agenda
  11. 11. 異常検知問題の3つのタイプ 1. 外れ値検出問題(Outlier detection) – 静的 – あるデータ点が分布から大きく外れているか 2. 変化点検出問題(Change point detection) – 動的 – 対象に変化が起きたか否か、その時点はどこか 3. 異常状態問題(Anomaly detection, etc) – 動的 – 対象の状態が正常か異常か
  12. 12. 外れ値検出問題 -5 -4 -3 -2 -1 0 1 2 3 4 5 -5 -3 -1 1 3 5  静的 i.i.dサンプル  検出単位  データ点
  13. 13. 変化点検出問題 ● 動的 – 単一の観測対象の時系列データ ● 検出単位 – 時刻付きデータ点 -5 -4 -3 -2 -1 0 1 2 3 4 5 0 5 10 15 20 25 30 時間
  14. 14. -5 -4 -3 -2 -1 0 1 2 3 4 5 0 5 10 15 20 25 30 時間 -5 -4 -3 -2 -1 0 1 2 3 4 5 0 5 10 15 20 25 30 時間 異常状態検出 ● 動的 – 複数の観測対象の時系列データ ● 検出単位 – ある単一の観測対象 – あるいはある観測対象のある観測区間
  15. 15. 3つの問題タイプの関係性 ● 外れ値検出 – 個々のデータ点の空間上の分布さえ考えれば良い ● 変化点検出&異常状態検出 – 方向性1:時系列データを多次元ベクトルに変換してi.i.dと見なす ◆ 様々な手法(FFTなど)が適用できるが情報のロスがある – 方向性2:時系列データをそのままモデル化してあつかう ◆ 分野依存の工夫が必要 ◆ 例:Unixコマンド系列からの侵入検知モデル 外れ値検出 異常状態検出 変化点検出 単純化 &情報ロス
  16. 16.  異常とは  異常検知とは  典型的アプローチ Agenda
  17. 17. 異常検知のアプローチ(1/3):統計ベース  基本方針  データ母集団の形状や確率分布に仮定を置く  データをモデルにフィッティング(パラメータを合わせる) ◆ 例:正規分布なら平均と標準偏差を合わせる  メリット  データが仮定したモデルに従っていれば非常に高精度を達成  デメリット  一般にデータは綺麗な分布に従っていることは少ない  高次元になると単純な分布であってもフィッティングが困難  代表的手法  Minimum Volume Ellipsoid estimation [Rousseeuw, 1985]  Minimum Covariance Determinant [Rousseeuw, 1999] ◆ 多次元正規分布を仮定してマハラノビス距離を使う
  18. 18. 異常検知のアプローチ(2/3):ルールベース ● 基本方針 – 既知の異常サンプルを集める – それらを表す汎用的なルールを決める(あるいは学習する) ● メリット – 専門家が持つドメイン知識をそのまま組み込むことができる – 既知の異常に良く合致するルール集合を得ることができる ● デメリット – 背後のルールが複雑化しすぎると人間では表現できない – 未知の異常に合致するルールを作ることは困難 ● 代表的手法 – RIPPER [Cohen, Fast effective rule induction, Machine Learning, 1995]
  19. 19. 機械学習を用いた教師有り/教師無し異常検知 ● 少数の既知異常データが存在 ● 正常サンプルから判別する 分類モデルを学習 ● 既知異常に非常に有効 教師有り異常検知 教師無し異常検知  異常データは用いない  与えられた正常データを モデリング  未知の異常にも有効
  20. 20. なぜ異常検知が難しいのか?=次元の呪い 高次元になると全てのデータが互いに遠くなる クラス内距離 クラス間距離 Iris:3クラス、3次元 USPS:10クラス、256次元 クラス内距離 クラス間距離
  21. 21. 異常検知のアプローチ(3/3):機械学習ベース ● 基本方針 – 教師有り:少数の異常サンプルを正常と判別する分類モデルを学習 – 教師無し:正常データを表すモデルを作り、異常スコアを計算 ● メリット – 一般にはどのような分布のデータに対しても有効 – 特に教師有りの場合は未知の異常に対しても有効 – 高次元の場合にもロバストな計算手法がある ● デメリット – 精度は今得られているデータの品質が全てになる – ドメイン知識を導入するためには変数の作り方などに工夫が必要 ● 代表的手法 – One-class SVM – Local Outlier Factor (LOF)
  22. 22. データサイエンティストあるある in 異常検知 (1/3) ● お客さんの見つけたい異常と見つけやすい異常が異なる ● 原因:機械学習ではデータ分布が全てで発生メカニズムの差は不問 ● 解決策:検出後に異常を分類する、入力データを加工する、データを絞る えええ… 故障、見つかりました! (かんたんかんたん~♪) データサイエンティスト お客さん これノイズとセンサーの 異常だから違うよ
  23. 23. データサイエンティストあるある in 異常検知 (2/3) ● お客さんが見つけたいのは故障の予兆であって故障そのものではない ● 原因:素直にやると故障による異常度アップが支配的になる ● 解決策:異常発生前のデータに絞って予兆らしき異常度変化があるか見る えええ… 故障、見つかりました! (かんたんかんたん~♪) データサイエンティスト お客さん いや、故障じゃなくて 予兆見つけないと
  24. 24. データサイエンティストあるある in 異常検知 (3/3) ● 異常度スコアのしきい値について自動的に求められるベストな値を求められる ● 理由:誤検出と見逃しによる損害の差をモデルは考慮しておらず決められない ● 解決策:自動化は諦める、過去異常例でモデル選択をする、+運用でカバー それは…過去の異常例を見て 総合的に…いい感じに… いい感じの異常度スコア 計算できるようになりました! データサイエンティスト お客さん でもしきい値は どうやってきめるの?
  25. 25. まとめ ● 「データあるところに異常あり」ただし主観を多く含む ● 異常検知はデータ活用において普遍的に存在する問題である ● 主に外れ値検知、変化点検知、異常状態検知の3タイプがある ● 現在では機械学習を用いた異常検知アプローチが主流になっている ● 異常検知を活かすには見つけたい異常の定義やしきい値の理解が重要

×