2. 書誌情報
n 書誌名: A Unifying Review of Deep and Shallow Anomaly Detection
n ver1: 2020/9/24(arxiv)
n 筆頭著者: Lukas Ruff
n 代表的な論⽂:
n Deep One-Class Classification(ICML 2018)
n Image Anomaly Detection with Generative Adversarial Networks (ECML 2018)
n Deep Semi-Supervised Anomaly Detection(ICLR 2020)
n 概要:
n 異常検知における問題設定や異常データの分類を⾏う
n 統⼀的視点からshallowな⼿法とdeepな⼿法の関係をつなげる
n 有名な⼿法に関してベンチマークデータセットをもとに経験的評価をする
n これからの異常検知の指針を⽰す
3. 論⽂の⽬次
I. Introduction
II. An Introduction to Anomaly Detection
III. Density Estimation and Probabilistic Models
IV. One-Class Classification
V. Reconstruction Models
VI. A Unifying View of Anomaly Detection
VII. Evaluation and Explanation
VIII. Worked-Through Examples
IX. Concluding Remarks, Open Challenges, and Future Research Paths
6. イントロ: 異常とは
n 異常とは: なんらかの正常な概念から外れた観測のこと
n 異常: 外れ値,新規性,普通でないもの,不規則なもの,典型的でないもの,⼀貫してないもの,
予想外のもの,珍しいもの,間違っているもの,悪意のあるもの,⾃然でないもの,etc
n クラシックな教師なしアプローチ
n PCA, OCSVM, SVDD, nearest neighbor, KDE
n 異常検知の基本的なアイデア:
n ラベルのある異常データは普通ないので,教師なしで正常データから正常らしさを学ぶ
n 異常検知の実⽤例:
n 侵⼊検知,不正検知,損害検知,監視,医療診断,物理学や天⽂学における科学的発⾒
7. イントロ: deepなアプローチ
n 深層学習によるアプローチが使われ始めた理由:
n 画像などの複雑なデータを扱う異常検知のための効果的な⼿法がなかったから
n 主なdeepなアプローチ:
n オートエンコーダ,1クラス分類,GAN,⾃⼰教師あり学習
n 古いアプローチとの違い:
n カーネルの特徴マップのような固定された特徴表現ではなく,特徴マップそれ⾃体を学習する
n φ!: 𝒙 ↦ φ!(𝒙)の重みωを学習する
8. イントロ: なぜ異常検知を⾏うのか︖
n 異常検知は⽇常⽣活に密接
n クレジットカードの⽀払いの監視,ログイン履歴,会社間のやりとりのネットワーク,etc
n もしクレジットカードによる異常な⾼価な購⼊履歴や不正なログインを検知した場合,アラーム
を出す必要がある
n 異常検知は重要だが,「正常」と「異常」を⾒分けるのは難しい
n 理由1: 正常データの種類が多いと正常データを異常データとしたり(type Ⅰ error),異常データを正
常データとする場合(type Ⅱ error)がある
n 医療データの例: 正常データ(個⼈個⼈)の差が⼤きいので,異常データ(患者)を検知できない
n 理由2: 異常イベントは珍しく,訓練データに偏りが⽣じる
n さらに,殆どの場合でラベルなしで,どのデータをなぜ異常とみなすのかというのが不明瞭
n 理由3: 異常の種類が多岐にわたるので,それらを検知するモデルを学習するのが難しい
10. 問題の定義: 異常とは
n 異常とは: 正常のなんらかの概念から⼤きく逸脱した観測のこと
n 正常の概念とは︖⼤きく逸脱したとは︖確率論をもとに考える
n 異常の種類
n 点異常,集合異常,⽂脈異常
n 低レベルな感覚的異常,⾼レベルな意味的異常
異常の集合 しきい値正常データ
の確率分布
11. 問題の定義: 異常の種類
n 点異常: 個々の異常データ
n 最も研究されている異常
n 例: 不正検知における違法な取引,製造における傷ついた製品画像
n 条件付または⽂脈異常
n 条件をtとして,𝑝"
(𝑥|𝑡)とする
n 例: アマゾンでの氷点下は異常だが,南極では正常
n 集合異常
n なんらかの関係や依存を捉えた集合の異常
n 例: サイバーセキュリティにおける類似または関連するネットワーク攻撃
n 集合異常かつ⽂脈異常のときもある
12. 問題の定義: 異常の種類(近年)
n 近年では低レベルの感覚的異常と⾼レベルの意味的異常の違いが重要
n 低レベル・⾼レベル: 階層的分布の特徴の階層のレベル
n 画像中の例:
n 低レベル: エッジやテクスチャ
n ⾼レベル: 物体や景⾊
n ⽣成過程: 意味的な潜在変数Z(連続), Y(離散) → ピクセル空間の画像X
n 意味的な異常が通常の物体に⽣の特徴において近い場合がある
n 例えば右の図の⽝は意味的に唯⼀異なるが,ピクセル空間では下の猫の画像
と近い
14. 問題の定義: 集中仮説(Concentration Assumption)
n 集中仮説: データ空間は無限だが,正常データが存在する空間は有限で,⼩さい領域に集中
するという仮説
n クラスター仮説ともいう
n 例: 標準ガウシアンからのサンプルのおよそ95%は[-1.96, 1.96]の有限の区間に⼊る
n ⼀⽅で,異常データは上記のように集中しておらず,バウンドされていない
16. 問題の定義: 異常スコアとαの決め⽅
n ほとんどの異常検知の⼿法はなんらかの単調増加関数を利⽤する
n 例: 尤度ではなく対数尤度
n このときの異常スコアはマイナスをつけて負の対数尤度とする
n αの値の決め⽅は応⽤例によって変わる(詳しくはセクションVIII)
n 異常をとりこぼすと損失が⼤きくなる場合はαを⼤きくすべき
n 例: 医療診断・不正検知
n データが⼤量に⽣成されるオンライン設定の場合はαを⼩さくすべき
n 例: モニタリングタスク
17. データセットの設定とデータの性質: 異常データの分布
n 実世界におけるデータセットの設定とデー
タの性質は多岐にわたる(右表)
n 最初に異常データの仮定について説明
n 正常データは集中仮説またはクラスター仮
説があるが,異常データはクラスターを
作っていないと想定される
n → 異常データは⼀様分布に従うと仮定する
n KDEやOC-SVMは暗にこの仮定をおいている
n 半教師ありや教師あり異常検知は,異常
データの分布に,予めなんらかの仮定をお
くことが多い
n 例: 産業機械における典型的な失敗モード・
医療診断における知られた病気
18. データセットの設定とデータの性質: 教師なし設定
n 教師なし設定: アンラベル(正常か異常かわからない)データしか与えられていない設定
n よくある設定で,ふつうはiidと仮定する
n また単純のため,正常分布からのサンプルだと仮定する
n しかし,実際にはノイズや汚染データが含まれる
n ノイズ:
n 汚染データ:
19. データセットの設定とデータの性質: 半教師あり設定
n 半教師あり設定: アンラベル(正常か異常かわからない)データとラベル(正常か異常かわかる)
データが両⽅含まれている設定
n 普通はn >> mで,ラベルデータは少ししか与えられない
n ラベル付けするのは費⽤がかかるが,利⽤できればモデルの性能を⼤きく上昇させられる
n 半教師あり設定の特別な設定(LPUE):
n ラベルづけされた正常データとアンラベルデータから異常検知する
n 注: アンラベルデータを正常データとするものを半教師あり設定と呼ぶ場合もある
n アンラベルデータのほとんどが正常データであると仮定することが多いため
20. データセットの設定とデータの性質: 教師あり設定
n 教師あり設定: 全てラベルのついた(異常か正常かわかる)データを扱う設定
n もし訓練データが正常データ分布と異常データ分布の代表的なサンプルであれば,単なる⼆値分
類問題となるため異常検知とはいえない
n しかし,実際には正常データ以外のデータはすべて異常なので,異常データが代表的なサンプル
になることはまれである
n 分類問題と異常検知の⽬的の違い
n 分類の⽬的: クラスラベルをもとにデータを分類する決定境界を学習すること
n 異常検知の⽬的: 正常密度レベル集合の境界を推定すること
n → 教師あり異常検知のときはラベルで情報づけられた正常密度レベル集合を推定する
22. 密度推定と確率モデル: クラシックな密度推定
n 多変量異常検知に対する最も基本的なアプローチ
n 訓練データの平均からマハラノビス距離を計算する
n → 訓練データを多変量ガウシアン分布でフィッティングし,対数尤度を評価することと同じ
n より複雑な分布をモデル化するアプローチ
n カーネル密度推定(よく使われる)
n ヒストグラム推定器
n ガウシアン混合モデル
n これらの⼿法は低次元ではうまくいくが,次元の呪いにより,⾼次元ではうまくいかない
n → 深層モデルによって解決したい
24. 密度推定と確率モデル: ニューラル⽣成モデル(VAEs and GANs)
n ニューラル⽣成モデルの⽬的はガウス分布や⼀様分布Qを実際の⼊⼒分布P"に写像する
ニューラルネットワークφ#を学習すること
n 例: VAEやGAN
n VAEは𝑝! 𝑥 ≈ 𝑝" 𝑥 となるような,Qのサンプル𝑧を⼊⼒としたときの分布𝑝!(𝑥|𝑧)を学習する
n 𝑝# 𝑥 の尤度推定はE$~& $ [𝑝# 𝑥|𝑧 ]を計算して求められ,正常スコアとして使える
n しかし,実験では上記スコアの性能は悪く,代わりに再構成確率E'!" $|) [𝑝# 𝑥|𝑧 ]が使われる
n GANは⽣成器のサンプルφ# 𝑧 か実際の⼊⼒分布からのサンプル𝑥かを識別器が⾒分けられな
いように学習することで,⽣成器が⼊⼒分布を出⼒するようになる
n 尤度を求めることはできない識別器を直接使った異常検知の⼿法がある
n また,テストデータ𝑥に近くなるような𝑧を求める⽅法(AnoGAN)もある
25. 密度推定と確率モデル: Normalizing Flows
n FlowはVAEやGANとほぼ同じようにガウス分布などのソースの分布の点を⼊⼒空間の点に
写像する
n 決定的に異なるのは⼊⼒空間と潜在空間の次元が同じになること
n ネットワークはL層で構成され,可逆である
n 利点は𝑥の確率密度を正確に求められること
n しかし,異常データの尤度を⾼くしてしまうと報告している論⽂もある
27. 1クラス分類: 1クラス分類の⽬的
n 1クラス分類は異常検知に対する識別的なアプローチである
n 密度推定を異常検知の中間ステップとするのを避け,正常データ分布の密度レベル集合に対応す
る決定境界を直接的に学習する
n 正常データだけにアクセスできる⼆値分類問題とみなすこともできる
n ⼆値分類のリスク:
n → 経験リスク最⼩化:
n ラベルデータがない場合は不良設定問題になるので,正則化が必要になる
n 正則化は異常データの分布の仮定によって変える
アンラベルデータ ラベルデータ 正則化
29. 1クラス分類: カーネルベースの1クラス分類
n カーネルベースのSVDDやOC-SVMは最もよく知られている1クラス分類の⼿法
n カーネルSVDDと通常のSVDDとの違いはRKHS上でSVDDを⾏うこと
n OCSVMは特徴空間で原点からの距離を最⼤にする超平⾯を⾒つける
n カーネルSVDDとOCSVMは通常のガウシアンカーネルのとき同等となる
n このとき,対応する密度レベル集合推定器は
n カーネルによる特徴空間は1クラス分類の⼿法の表現能⼒を⼤きく向上させた
n また,⻑い間上記をもとにした様々な⼿法が提案された
30. 1クラス分類: 深層1クラス分類
n 深層1クラス分類は意味のあるニューラルネットワークの特徴写像をデータから学習する
n カーネルの選択や⼿作業で作られる特徴は複雑なデータに対して実⽤的ではなくなる
n → 深層1クラス分類は上記を解決することを⽬的とする
n 1クラスDeep SVDDの⽬的関数:
n すべてのデータが𝑐に写像されないように正則化をいれる必要がある
n 正則化例: 再構成,埋め込みの固定,埋め込みの分散,実際・補助・⼈⼯の異常データの利⽤,疑
似ラベル,etc
ニューラルネットワーク
31. 1クラス分類: 負のサンプル
n 1クラス分類器は負のサンプル(異常サンプル)を直接的に組み込むことができる
n ⼈⼯異常データ・補助の異常データ・実際の異常データ
n ⼈⼝異常データの利⽤:
n 異常分布が⽣成できる何らかの形態であると仮定したとき,単純に正常データと⼈⼯異常データ
の⼆値分類を解く問題となる
n ⼈⼯異常データとして⼀様分布を利⽤することはできるが,⾼次元では⾮効率
n → いくつかのサンプリング法が提案されている
n 補助の異常データの利⽤:
n 他のドメインのデータを異常データとして利⽤する(Outlier Exposureと呼ばれる)
n 実際の異常データの利⽤
n 専⾨家によって正しい異常データが得られる場合
n 少量のラベルのある異常データは検知性能を⼤きく向上させる
35. 再構成モデル: 主成分分析
n 通常のPCAの⽬的: データ空間において経験分散を最⼤化する直交基底を⾒つけること
n 再構成の観点からの⽬的: 再構成誤差が最⼩化するような直交射影を⾒つけること
n 上式と同じ解をもつ
n また,確率的解釈も可能であり,密度推定とみなすこともできる
n カーネルPCA: 線形から⾮線形への拡張
n これのプロトタイプモデルはKDEと関係している
39. 異常検知の統合的な⾒識: 異常検知の5つの要素
n D1: Lossはロス関数で,何らかのモデル𝑓!(𝑥)の出⼒に適⽤する
n 教師なし異常検知の⼿法のとき,𝑙 𝑠, 𝑦 = 𝑙(𝑠)となる
n 例: 負の対数ロス 𝑙 𝑠 = −log(𝑠)
n D2: Modelは特定のモデル𝑓!を定義し,⼊⼒𝑥をロスで評価できるスカラー値にする
n 例: 尤度モデル𝑓# 𝑥 = 𝑝#(𝑥|𝐷-)
n D3: Feature Mapはモデルで利⽤される
n D4: Regularizationは正則化
n D5: Inference Modeはベイズ推論かどうか
40. 異常検知の統合的な⾒識: 異常検知の⼀般的な⽬的関数
n 異常検知の⼀般的な⽬的関数:
n 上記の最⼩値θをθ∗
,テスト⼊⼒を9𝑥とかくと,異常スコアは𝑓#∗(9𝑥)とかける
n ベイジアンの場合の異常スコアはE#~& #|/$
[𝑓# 𝑥 ]
n 統合的にまとまった異常検知の⼿法たち(次のスライドの表)
n ⼀⽅で,これらの⼿法とは別に距離ベースの異常検知も存在する
n ex: LOFのような近傍ベースの⼿法,Isolation Forestのような分割⽊を⽤いる⼿法
n データの⾼い密度の領域を捉えるという⽬的は同じ
43. 評価と説明: 異常検知のベンチマークの作成
n 異常検知のベンチマークとして以下の3つが存在する
n k-classes-out: ⼆値や多値分類データセットから,1つのクラスを正常とし,残りのクラスを異常
とする
n synthetic: 教師あり・教師なしデータセットから,⼈⼯的な異常を⽣成する
n Real-world: 実際の異常が含まれるデータを使い,専⾨家にラベル付けしてもらう(理想)
45. 評価と説明: MNIST-Cを使った⽐較
n AUROCを評価指標としていくつかの異常検知⼿法を⽐較
n MNIST-C: ぼかしやノイズなどの15種類のやり⽅でMNISTを壊したデータセット
n 結果:
n AGANが全体的に良い
n すべてのデータで
必ずしもdeepが良いわけではない
⼿法/特徴表現 raw input kernel neural network
probabilistic Gauss KDE AGAN
one-class MVE SVDD DOCC
reconstruction PCA KPCA AE
46. 評価と説明: MVTec-ADを使った⽐較
n AUROCを評価指標としていくつかの異常検知⼿法を⽐較
n MVTec-AD: 異常が傷などに対応した15種類の⼯場製品からの画像
n 結果:
n DOCCが全体的に良い
n 必ずしもdeepが良いわけではない
⼿法/特徴表現 raw input kernel neural network
probabilistic Gauss KDE AGAN
one-class MVE SVDD DOCC
reconstruction PCA KPCA AE
49. 実世界の異常検知の処理: 甲状腺疾患の発⾒
n 実験内容
n データセット: データ数3772(うち異常93)・特徴数6の甲状腺データ
n ⼿法: RBFカーネルのOC-SVM
n 結果: AUC98.6,false alarm rate 14.8%,miss rate 0%
n false alarms(第⼀種の過誤)とmissed anomalies(第⼆種の過誤)のリスクの評価
n false alarm: 患者が健康なのに甲状腺機能障害と判断する
n missed anomalies: 甲状腺機能障害を持つ患者を健康だと判断する
n → miss anomaliesが0になるような検出器を学習する(リスクが⼤きいため)
n 特徴スケーリングを適⽤し,値の範囲を正規化
n これを⾏わないと⼩さいスケールの特徴を逸脱する異常が検知されなくなってしまう
n 訓練データからの情報のみを使ってスケーリングパラメータを求め,全データに適⽤する
50. 実世界の異常検知の処理: MVTec⼯業検査
n MVTecADの⽊のクラスのAUCの結果
n 深層モデルを使っていないKDEが
最も良い結果となった(なぜ︖)
n → ニューラル化 + LRPを⾏う
n KDEは実際の異常(3つの⽳)をみてい
ない代わりに縦の縞をみている
n → ⾼いAUCはこの縞に対するモデルの反応
と異常の存在の疑似相関(Clever Hans効果)
n モデル改良のために
n データの拡張: ⽋損した訓練ケースのデータの追加
n 例: 疑似相関をなくすために縦の縞がない異常なサンプル・正常だが縞があるサンプルの追加
n モデルの拡張: 表現⼒が⾜りなければdeepにする・統計的に⾮効率なら正則化をいれる
n アンサンブル: モデルに強みと弱みがある場合アンサンブル⼿法を利⽤する
52. 結論: モデリング次元の未踏の組み合わせ
n アイデアをカーネル法⇄深層学習へ渡し,新しいアルゴリズムを開発する
n 例1: ノイズや汚染に対する頑健性の問題において,浅い⼿法を使った⽅法はよく研究されている
が,深層学習を使った⼿法はあまり試されていない
n 例2: 近年の深層学習におけるベイズ推論の発展によって不確かさを利⽤した異常スコアを扱うこ
とができるようになっている
n 例3: 以下のモデルの⼿法において半教師ありの設定にする(ラベルデータの活⽤を⾏う)
n 確率的なモデルや再構成モデルの⼿法
n 条件付き密度推定モデルなどの予測モデル
n 密度⽐やNCEのモデル
n 異常検知のためのアクティブラーニングの⼿法
53. 結論: 頑健性における研究との関連性
n 頑健性な深層学習についての研究
n 棄却選択: 間違いそうなサンプルを予め棄却して分類性能をあげる
n 分布外検知: 訓練分布とは異なる分布からのサンプルを検知する
n オープンセット認知: 訓練データにはなかったクラスの⼊⼒を棄却する
n 上記の研究は通常の異常検知の問題で利⽤できないクラスラベルを利⽤する
n → 分類と異常検知を組み合わせるタスクを解く
n 敵対的攻撃についての研究
n 敵対的サンプル: 検知するのが難しい分布外データ
n これらの研究のアイデアと概念は異常検知に役⽴つ
54. 結論: 解釈性と信頼性
n ほとんどの実⽤例では検知性能だけでは⼗分ではなく,解釈性と信頼性が必要
n 異常検知モデルが特定の予測を⾏ったかという理由を理解することは重要
n 解釈性はモデルの透明性を⾼めることができ,責任ある意思決定において重要
n 現存の⼿法例:
n 異常を識別する特徴の部分空間の探索,逐次的な特徴説明の推論,特徴ごとの再構成誤差の利⽤,
全畳み込み構造の利⽤,勾配の統合,LRPによる異常の説明
n 解釈性と信頼性は異常検知において重要だがあまり注⽬されていない
n 理由1: 異常は同じようなパターンを持たないことが説明を難しくしている
n 理由2: 正常データの少なさが異常を引き起こす場合があり,このとき説明は困難
55. 結論: 難しくオープンなデータセットの必要性
n ImageNetはコンピュータビジョンと教師あり深層学習を⼤きく発展させた
n 同様に異常検知にも難しく,オープンなデータセットが必要
n 現状分類データセットの特定のクラスを異常クラスとするなど,データの再利⽤が主流
n → より難しい異常検知タスクにどれだけ貢献しているか不明
n ベンチマークデータのほとんどにおいて,少数の⼿法が優位を占めている
n 良くなった部分のみを主張して,短所や限界の分析を⾏っていないから
n 近年はMVTecADデータセットやMedical Out-of-Distribution Analysis Challengeなどのコンペ
もあるがもっと必要
56. 結論: 弱教師あり・⾃⼰教師あり学習
n 近年弱教師ありまたは⾃⼰教師あり学習を利⽤した異常検知⼿法が性能を向上させている
n 弱教師あり学習: 完全ではないまたは不⾜したラベルデータの利⽤
n 転移学習もこれの⼀種
n このときの重要な課題は,上記の⼿法が新規の異常に汎化するかどうかである
n 実⽤例ではあまりこれらの⼿法は調査されていない
n ⾃⼰教師あり学習: 補助のタスクを解くことで表現を学習する
n 例: 次の⽂やマスクされた単語の予測,ビデオにおける未来のフレーム予測,画像の変換の予測
n 正解ラベルが必要ないため,アンラベルデータに適⽤可能
n ⾼レベルの意味的異常を検知するk-classes-outベンチマークに有効であることは⽰されている
n 低レベルの異常を検知するのにも役⽴つのかは調査する必要がある
57. 結論: 基礎と理論
n 近年の異常検知の発展は⾼次元データにおいて根本的な問題をあげている
n 深層⽣成モデルは分布内データではなく異常データに⾼い尤度を割り当てることがある
n この現象の⼀つの理由に,低レベルの背景に⼤きく影響をうけてしまうことがあげられる
n ⾼い尤度を持つ範囲が必ずしも典型的な集合とよばれる⾼い確率をもつ範囲と⼀致しない
n D次元の標準ガウス分布において,原点付近は⾼い確率密度をもつが,めったにサンプルされない
n 再構成ベースのモデルは単純な異常検知のサンプルをよく再構成してしまう
n 例: MNISTで学習したモデルに異常画像である真っ⿊な画像を⼊⼒とするとよく再構成される
n → 分布外データの性質を理解する理論的な研究が必要
n 異常検知において情報理論的な観点からの研究は少ないが,理論的な理解のために必要
n オートエンコーダは⼊⼒と潜在コードの相互情報量を最⼤化しており,infomax原理に準拠してい
ると理解される
n VAEは潜在圧縮(negative rate)と再構成精度(distortion)のトレードオフを⾏っている
n Deep SVDDはレートを最⼩化(圧縮最⼤化)のみを追求するVAEの特殊なケースとみなせる