Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

CNNの可視化手法Grad-CAMの紹介~CNNさん、あなたはどこを見ているの?~ | OHS勉強会#6

23.231 visualizaciones

Publicado el

Deep LearningにおけるConvolutional Neural Network (CNN)の可視化手法の論文の紹介です。

Publicado en: Tecnología
  • Unique Acne System, How to get lasting acne freedom clear skin e-book reveals all ◆◆◆ http://t.cn/AiWGkfA8
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

CNNの可視化手法Grad-CAMの紹介~CNNさん、あなたはどこを見ているの?~ | OHS勉強会#6

  1. 1. 半谷 OHS#6 CNNの可視化手法 Grad-CAMの紹介 ~CNNさん、あなたはどこを見ているの?~
  2. 2. • 今日においては、Deep Learningは様々な場面で使われるようになった。 • 特に、画像認識(言語処理や音声認識でも使われるが)では、画像からの特徴抽出 にConvolutional Neural Networks (CNN)が使われる。 • 精度を上げるため、より深くより複雑な構造になってきている。 • 一方で、解釈するのはどんどん難しくなる。 (なんでその答えにたどり着いたの?) Introduction Densely Connected Convolutional Networks https://arxiv.org/abs/1608.06993 Aggregated Residual Transformations for Deep Neural Networks https://arxiv.org/abs/1611.05431
  3. 3. • CNNがどんな情報に反応しているかを可視化する取組み Understanding CNN • CNNの解釈ができると嬉しいこと: • 失敗モードを知る(研究/開発者が正しい方向に改善するヒント) • ユーザの信頼を確立する(何を学んだかを確認できる) • 人を超えたときに、なぜそう考えたか教えてもらう コレハ ピアノ デスネ Visualizing and Understanding Convolutional Networks https://arxiv.org/abs/1311.2901
  4. 4. • モデルの予測にとって重要な領域を可視化する技術 • 予測クラスごとに関連の深い領域を確認できる • CNNベースのモデルに幅広く適用できる(CNN+LSTMなど) Gradient-weighted Class Activation Mapping Grad-CAM: Why did you say that? Visual Explanations from Deep Networks via Gradient-based Localization https://arxiv.org/abs/1610.02391 CatDog Grad-CAM Guided Grad-CAM (左記二つのくみあわせ) Guided Backprop (従来手法)
  5. 5. Gradient-weighted Class Activation Mapping Grad-CAM: Why did you say that? Visual Explanations from Deep Networks via Gradient-based Localization https://arxiv.org/abs/1610.02391 ① 普通に推論 ② 対象クラスのみ1、 他を0にして勾配を 逆伝播計算 ③ 各チャネルで勾配 の平均を取り、重みと する ④ 特徴マップの値に 重みをかけて足し合わせる ⑤ ピクセルレベルの 従来手法と 組み合わせる • 最終出力yにおいて、対象クラスのみ1/他を0とし、その信号を逆伝播させて、対象の 特徴マップでの勾配を求める。これを各チャネルの重み付けに使う。
  6. 6. • それぞれの層でGrad-CAMを可視化してみた例(上段) • 一番深いConv+ReLUの出力が可視化に適している • 深い=解像度が低いので、ピクセルレベルの可視化手法と組み合わせる(下段) (Guided Grad-CAM: Guided Backpropagation + Grad-CAM) Guided Grad-CAM Grad-CAM: Why did you say that? Visual Explanations from Deep Networks via Gradient-based Localization https://arxiv.org/abs/1610.02391 class-discriminative + high resolution 人が見ても 納得できる
  7. 7. • 分類問題の失敗モードの分析例 • 正解クラスと誤答クラスで、それぞれGuided Grad-CAMによる可視化 Analyzing failure modes for image classification Grad-CAM: Why did you say that? Visual Explanations from Deep Networks via Gradient-based Localization https://arxiv.org/abs/1610.02391
  8. 8. • VQAなど、RNN系を使っているモデルにも適用可能 • 答えと可視化された位置が見事に対応している Visual Question Answering Grad-CAM: Why did you say that? Visual Explanations from Deep Networks via Gradient-based Localization https://arxiv.org/abs/1610.02391 Red Yellow Yellow and Red
  9. 9. • なるべくモデルに変更を加えずにGrad-CAM, Guided Grad-CAMができないものか Grad-CAM using Chainer framework • yのgrad属性に対象クラスを1としたone hot vectorをセットし retain_grad=Trueとして逆伝播 • 対象のFeature mapはモデルの順伝播計算(__call__)の中で name属性を設定して、計算グラフを逆向きに辿っていってみつける (診断用途で入出力を変えずに実現したいなと。) • あとは対象のFeature mapのgrad属性に入っている勾配情報を 使って重みを算出し、data属性の情報を使ってGrad-CAMを計算する チャネル毎の重み Grad-CAMの計算 親戚の家の猫をAlexNetはどう見ているか。
  10. 10. Summary • CNNの重要性は増しており、その挙動を理解することには価値がある • デバッグ、人の信頼を得る、人が考え方を理解するのに有用 • 可視化手法の紹介 • 予測クラスに寄与する領域を可視化する(⇒ Grad-CAM、(粗いマップ)) • ピクセルレベルの可視化手法と組み合わせることで、画像中の何を見ているか 理解を助けるような情報(図)が得られる。(Guided Grad-CAM) • CNNベースであれば幅広いモデルに適用可能 (モデル構造の変更や再学習も不要) コレハ ピアノ デスネ ・・・多少は気持ちが分かるようになったかな?
  11. 11. Reference 論文 • 紹介させていただいた論文: Grad-CAM: Why did you say that? Visual Explanations from Deep Networks via Gradient- based Localization(https://arxiv.org/abs/1610.02391) • Deconvolutionを使ったCNNの可視化: Visualizing and Understanding Convolutional Networks(https://arxiv.org/abs/1311.2901) • Guided Backpropagationの論文: Striving for Simplicity: The All Convolutional Net(https://arxiv.org/abs/1412.6806) 実装関係 • Grad-CAM 著者らの公式実装:https://github.com/ramprs/grad-cam • Grad-CAM Kerasでの実装:https://github.com/jacobgil/keras-grad-cam • Guided BackpropのLasagne実装: https://github.com/Lasagne/Recipes/blob/master/examples/Saliency%20Maps%20and%2 0Guided%20Backpropagation.ipynb

×