Memorizing Normality to Detect Anomaly: Memory-augmented Deep Autoencoder for Unsupervised Anomaly Detection

002316653f3db12b80a065fed359b089?s=47 Masanori YANO
August 02, 2019

Memorizing Normality to Detect Anomaly: Memory-augmented Deep Autoencoder for Unsupervised Anomaly Detection

論文LT会で作成した「Memorizing Normality to Detect Anomaly」の説明資料です。

002316653f3db12b80a065fed359b089?s=128

Masanori YANO

August 02, 2019
Tweet

Transcript

  1. 画像処理&機械学習 論文LT会 #6 Memorizing Normality to Detect Anomaly: Memory-augmented Deep

    Autoencoder for Unsupervised Anomaly Detection 2019年8月2日(金) 矢農 正紀 (Masanori YANO)
  2. 論文 2 Memorizing Normality to Detect Anomaly: Memory-augmented Deep Autoencoder

    for Unsupervised Anomaly Detection 論文のURL: https://arxiv.org/abs/1904.02639 First Author: https://donggong1.github.io/ ⇒ 異常検知の論文で、ICCV 2019に採択されたとのこと 著者の所属は、オーストラリアのアデレード大学など 選んだ理由 ・CNNを活用した「異常検知」関連のタスクに関心あり ・Attentionが流行りだが、それ以上にMemoryに関心あり (Memory NetworksやNeural Turing Machinesの方向性) ・arXivを検索したら、異常検知+Memoryの本論文を発見
  3. 異常検知とは 3 画像や、時系列データなどから自動的に異常を検出 ・異常(Anomaly): 教師データの分布から逸脱したパターン ・新規性(Novelty): 既存の教師データに含まれないパターン ⇒ 「異常 ⊆

    新規性」の関係 学習の種類で分類可能 ・教師あり学習 ⇒ 異常検知では、あまり考えられない状況 ・半教師あり学習 ⇒ わずかしかない教師データが問題 ・教師なし学習 ⇒ 一般に、教師あり/半教師ありより難しい 深層学習の進展以降も、さまざまな手法が開発 ⇒ 「深層学習の異常検知サーベイ」論文も発表済み Deep Learning for Anomaly Detection: A Survey 論文のURL: https://arxiv.org/abs/1901.03407
  4. 本論文のポイント 4 Autoencoderの中間にAttentionベースのMemory ・学習時に、重み・バイアスとともにMemoryを更新 ・推論時は、Memoryを固定 ⇒ データの「暗記」内容 ・Memory参照の重みは、エンコーダ出力と各Memoryとの コサイン類似度を全て計算し、それらのSoftmaxで算出 ・Hard

    Shrinkageと呼ぶ「スパース化」を実施(後述)
  5. 本論文の評価結果(1/2) 5 複数のデータセットで評価(Memory関連の評価も) [1] MNIST・CIFAR-10 [2] 動画の異常検知データセット UCSD-Ped2・CHUK Avenue・ShanghaiTech [3]

    サイバーセキュリティのデータセット KDDCUP ⇒ 全てのデータセットで、比較対象の方式よりも高い精度 UCSD-Ped2データセットのときの再構成誤差の例(Frameの赤枠が異常)
  6. 本論文の評価結果(2/2) 6 評価のうち「動画の異常検知データセット」の結果 [1] MemAE: 提案方式(動画のときは3次元のCNN) [2] MemAE-nonSpar: Memory参照のスパース化「なし」 ⇒

    スパース化: 閾値λ以下を0に(ReLuを活用して実装)
  7. まとめ 7 本論文は、Memoryを用いたAutoencoder異常検知 ・損失関数は再構成誤差とMemory参照重みのエントロピー ・汎用性が高いと主張し、複数のデータセットで検証済み ・今後は、より挑戦的なタスクへのMemoryの適用を検討 ・論文に「PyTorchで実装」とあるが(現在のところ)未公開 GitHub: https://github.com/donggong1/memae-anomaly-detection 所感

    ・個人的には、VAEによる異常検知より「行けそう」な予感 ・一方、GANを用いた手法との性能比較は記載がなく未知数 ・実際のデータで動かした場合の性能は、今後の確認事項 α = 0.0002で評価