Upgrade to Pro — share decks privately, control downloads, hide ads and more …

生成モデルと異常検知(途中)[AE,GAN,anoGAN,Ganomaly]

Ringa_hyj
September 22, 2020

 生成モデルと異常検知(途中)[AE,GAN,anoGAN,Ganomaly]

Ringa_hyj

September 22, 2020
Tweet

More Decks by Ringa_hyj

Other Decks in Science

Transcript

  1. スタート地点としてAEを考える Auto encoder (science,2006,hinton) Reducing the Dimensionality of Data with

    Neural Networks ニューラルネットを使って次元削減を試みた。 手元の画像を入力として、画像自身を再構成するネットワークを作る。 ネットワークは中央の層をくびれさせた構造をとることで、 高次元入力を低次元で表現できるようになる。 (ノイズ特徴量減・過学習防止) 再度同じ画像へ展開するために最低限必要な次元数(情報)を決めるのは難しい 主成分分析のような考え方。 抽出された中央の層は「潜在変数 Latent Variable」と呼ばれる。 潜在変数がどのようなパターンを持っているのか理解できれば、 元の画像がなくとも新しい画像が作れるのでは? = 生成モデルの考え 構造は全結合やReLU CNN 損失は再構成画像との L2 loss 2
  2. 生成モデルの俯瞰 2017,Ian,NIPS 2016 Tutorial:Generative Adversarial Networks 生成する過程の関数のパラメータは 最尤法によって求めるよう設計されている 明示的(Explicit)に密度関数を考える場合と 暗黙的(Implicit)に密度関数など求めない場合

    に分かれる VAEは潜在変数を正規分布だと仮定しよう という考えがあり、 正規分布に変換,当てはめ(近似)する (Markovでpdfを近似する場合もある) 分布をNN等で表す計算しやすい(Tractable)方法 GANはそもそも密度関数とか関係なく、 ゲーム理論的に2人のゲームプレイヤーが互いに高め 合うことで、 その結果生成モデルができる
  3. Pixel-CNN 2016, Conditional Image Generation with PixelCNN Decoders,AVDoord RNNが前後(previous)の関係であったものに対して、 CNNは周辺(region)の情報を見て次のピクセルの内容を推定する。

    RNNに同じく大変遅い。 やっていることは 周辺ピクセルが得られた時 次のピクセル値を返す関数の尤度最大化 データの分布(関数)はNNによって表現される。 遅い対策として畳み込みゲートを追加する、スキップ構造を採用する等
  4. D(x)が1(max)になるようにDを最適化 Z generator G(Z) discriminator G(Z)なら0 Xなら1を返す X discriminatorが訓練される →

    偽物と本物がわかる 1-D(G(Z))が1(max)になるようにDを最適化 1-D(G(Z))が0(min)になるようにDを最適化 Generatorの気持ち: Discriminatorの気持ち: 敵対 乱数
  5. D(x)が1(max)になるようにDを最適化 Z generator G(Z) discriminator G(Z)なら0 Xなら1を返す X 訓練されたdiscriminatorを騙そうとgeneratorが頑張る →

    より本物らしい画像が生成される 1-D(G(Z))が1(max)になるようにDを最適化 1-D(G(Z))が0(min)になるようにDを最適化 Generatorの気持ち: Discriminatorの気持ち: 敵対 乱数 理論的なゴールはdiscriminatorが0.5を出すようになること(ナッシュ均衡) 本物と偽物の区別がつかないくらいgeneratorの精度が上がる
  6. min-max損失の欠点 log(1-D(G(z))) D(G(z)) 0 1 生成画像が明らかにfakeである時、 D()の出力は0になる しかし損失関数の購買はほとんど0 なので学習は進まない 0

    0 0 D(G(z)) 1 - log D(G(z)) 非飽和GAN(non-saturating) の損失の場合 初期状態の学習は素早く反映される (代わりに収束する補償はなくなる) binary cross entropy : y(log y^) + (1-y)(log (1-y^) )
  7. モード崩壊 Mode Collapse UNROLLEDGENERATIVEADVERSARIALNETWORKS, L Metz,2017 generatorが同じような画像を生成し続けてしまう問題 同じような出力で止まっている ある一つの出力しかしなくなる 原因?

    discriminatorを騙しやすい画像を見つけると、 そればかり生成して損失を小さくしようとしてしまう adaGAN VEEGAN WGAN UnrolledGAN などが解決に向けて研究している
  8. PGGAN PROGRESSIVE GROWING OF GANS FOR IMPROVED QUALITY, STABILITY, AND

    VARIATION, 2018 小さいサイズの画像を生成するネットワークから、 徐々に大きい画像生成ネットワークへと層を追加していく(PROGRESSIVE) 高精度の画像を作る事ができる
  9. PGGAN PROGRESSIVE GROWING OF GANS FOR IMPROVED QUALITY, STABILITY, AND

    VARIATION, 2018 層を追加するといっても簡単に学習は進まないので、学習途中に少しだけ新しい層を挟む学習方法を使う
  10. pix2pix Image-to-Image Translation with Conditional Adversarial Networks, 2018 cycle GAN

    Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks, 2017→2020 image-to-imageのGAN 線画→色付き シマウマ→縞なし 写真→ゴッホの画風 GANを二本用意して逆方向に走らせる
  11. anoGAN GANをつかった異常検知の初めての例 らしい Unsupervised Anomaly Detection with Generative Adversarial Networks

    to Guide Marker Discovery, 2017 異常位置のアノテーション無しでも異常部位のマーカーを付けることができる。 異常度の診断は、特徴空間上での離れ具合についてで判断される。 世の中にはDBN(ディープビリーフネット)から特徴量を抽出して1classSVMで異常検知を行うアプローチもあった High-dimensional and large-scale anomaly detection using a linearone-class SVM with deep learning, Erfani, 2016 畳み込みAE+SVMでの正常学習とか Identifying and Categorizing Anomalies in Retinal Imaging Data
  12. Residual Loss 画像 x と G(zガンマ) の非類似度の測定 完璧な生成器ならば、その写像は全く同じ画像をつくるので損失は0になる Discrimination Loss

    G(zガンマ)をdiscriminatorに入れる。D(G(zガンマ)) α=1として シグモイドエントロピー σ() を計算する。 でもコレは使わない?
  13. 異常度は 最高性損失 LG 識別機の損失 LD 二つの損失が定義できる どっち使ってもいい から、anoGANのように以下で定義する LG(x) =

    ||x − G(E(x))||1 LD(x) =σ(D(x, E(x)), 1) LD(x) = ||fD(x, E(x)) − fD(G(E(x)), E(x))||1 サンプルが実データの分布から来た事を評価 feature-matching lossとして定義 再構成するときの特徴量が真の特徴量と似ているかどうかを評価できる
  14. efficient 画像空間から潜在空間への逆写像をするエンコーダーも学習 anoGANもそうだけど、画像の異常は潜在空間にも表れるだろうという考えがある abnormal samples differ from normality in not

    only high-dimensional image space but also with lower-dimensional latent space anoGANは事前に学習させたネットワークを使い、 一層、調整層を追加して復元させ、その調整でも復元できないようならば潜在空間が正常からかけ離れて いるのだろう、というもの
  15. Adversarially Learned One-Class Classifier for Novelty Detection, 2016 GANより簡単の特徴量を使ったものだと Learning

    Deep Features for One-Class Classification、2018 があって、こっちは異常が画像の差分として出てくるので、異常部分の可視化ができる 再構築した画像が 「正常から再構成された画像」か「異常から再構成された画像」か を判定するCNNをGANの後ろにくっつけたもの
  16. Towards Automatic Threat Detection: A Survey of Advances of Deep

    Learning within X-ray Security Imaging, 2020
  17. Modeling the Distribution of Normal Data in Pre-Trained Deep Features

    for Anomaly Detection 2020 (efficianNetのADを超えた最近pubされたもの)