Visual_Enplanation

 Visual_Enplanation

Grad-CAMについて、CNNの可視化の見方から調査しました。

2e9a73c9fb3e3cfaeac99620fb009238?s=128

YutaAsupara

April 29, 2017
Tweet

Transcript

  1. 2017.4.19版 XCompass Intelligence  Ltd. WBA  wakate UEC  Kuri Lab. Yuta

     Ashihara Grad-­CAM: Visual  Explanations  from  Deep   Networks  via  Gradient-­based   Localization intelligence
  2. 1 1.⾃自⼰己紹介

  3. 2 余談、笑い話 https://neil.fraser.name/writing/tank/

  4. 3 余談、笑い話 A group of researchers trained a Neural Network

    to distinguish between scenes with and without tanks. Their Neural Net achieved 100% accuracy on their held out test set. When these spectacular results were presented at a conference, a person from the audience raised a concern about the training data they collected. After further investigation it turned out that all the images with tanks were taken on a cloudy day, and all images without tanks were taken on a sunny day. So, at that time the US Government was a proud owner of a multi-billion dollar computer that could tell you whether it was cloudy or not.
  5. 4 2.  可視化のアプローチ ・なんとなく、CNNが何してるのか気になってくる →内部表現というよりは,⼊入⼒力力からその出⼒力力を⾏行行った 理理由、証拠のようなものが知りたい

  6. 5 2.  可視化のアプローチ ・CNNのごく普通な考え⽅方 イメージをセットして、そこから⽬目的に応じた出⼒力力を 正しい出⼒力力になるようにトレーニングする →出⼒力力までの特徴量量を⾃自動学習し、正しい(⽤用意した) 出⼒力力を出してくれる

  7. 6 2.  可視化のアプローチ ・CNNのごく最近なとらえ⽅方 だいたいうまくいく(はず)だけど、論論⽂文では、 ノイズに弱い(すぐ騙される)とか⾔言われてるらしい ex)  Adversarial  Example  の存在

  8. 7 2.  可視化のアプローチ ・CNNのごく最近なとらえ⽅方 意味不不明な画像でも、とあるカテゴリの出⼒力力確率率率が 異異常に⾼高くなってしまう現象があるらしい

  9. 8 2.  可視化のアプローチ 問題再掲 ・なんとなく、CNNが何してるのか気になってくる ⾃自分たちと違うところを⾒見見ているのだとしたら、 なんかビジネスに使いにくい・・・という気持ちもある →サービスの説明に⾮非常に曖昧な表現を使わないといけない ex)  「CNNがうまくやってくれるので・・・」

    「Deep  Learningですから・・・」
  10. 9 2.  可視化のアプローチ ・結局、CNNの中⾝身を解剖して、調べたくなる →単に解剖しても、ただの重み(⾏行行列列・数値)ゆえに理理解不不能 ・考えうるアプローチは(興味あるので)だいたい三つぐらい ①最⾼高のラベル出⼒力力を出す画像を作る(CNNのイデア的) ②中間層の中⾝身を直接⾒見見る ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る

  11. 10 2.  可視化のアプローチ ①最⾼高のラベル出⼒力力を出す画像を作る(CNNのイデア的) →あらかじめ鍛え上げたネットワークが、特定のラベルを One-‐‑‒Hotに出⼒力力するように、画像を編集していく⽅方法 MIT  CSAIL Advances  in

     Computer  Vision http://6.869.csail.mit.edu/fa15/
  12. 11 2.  可視化のアプローチ ①最⾼高のラベル出⼒力力を出す画像を作る(CNNのイデア的) なんかフラミンゴっぽい なんかペリカンっぽい 画像は作れる CNNが特定のラベルを 出⼒力力するのに必要な 情報は探ることができる

    Understanding Neural Networks Through Deep Visualization http://yosinski.com/deepvis
  13. 12 2.  可視化のアプローチ ②中間層の中⾝身を直接⾒見見る 特定のレイヤーからのUnpoolingにより、 特徴マップ(中間層)の可視化を⾏行行っていく Visualizing  and  UnderstandingConvolutional Networks

    Zeiler &  Fergus,  2013
  14. 13 2.  可視化のアプローチ ②中間層の中⾝身を直接⾒見見る

  15. 14 2.  可視化のアプローチ ②中間層の中⾝身を直接⾒見見る Visualizing  and  UnderstandingConvolutional Networks Zeiler &

     Fergus,  2013
  16. 15 2.  可視化のアプローチ ②中間層の中⾝身を直接⾒見見る なんとなく中間層には、⼊入⼒力力された画像のうち、 その画像中に認識識するべき(あくまで正解出⼒力力のため)情報を 残しているような様⼦子がうかがえる ex)  ⽝犬の画像を⼊入れた時、背景情報などがある程度度排除され ⽝犬の情報が残っているように⾒見見える

    Visualizing  and  UnderstandingConvolutional Networks Zeiler &  Fergus,  2013
  17. 16 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る →先にGuided  BackPropagation(GBP)の概要について説明 •Idea:  neurons  act  like

     detectors  of  particular  image   features •We  are  only  interested  in  what  image  features  the   neuron  detects,  not  in  what  kind  of  stuff   it  doesnʼ’t  detect •So  when  propagating  the  gradient,  we  set  all  the   negative  gradients  to  0 •We  donʼ’t  care  if  a  pixel  “suppresses”  a  neuron   somewhere  along  the  part  to  our  neuron CSC321:  Intro  to  Machine  Learning  and  Neural   Networks,  Winter  2016 Michael  Guerzhoy
  18. 17 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る →先にGuided  BackPropagation(GBP)の概要について説明 簡単に⾔言えば、必要以上の情報が残らないようにしたい ex)  普通の逆伝播では、何が何やらわかりにくい Striving

     for  Simplicity:  The  all  convolutional  net,   Springenberg,  Dosovitskiy,  et  al.,  2015 逆伝播
  19. 18 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る Striving  for  Simplicity:  The  all  convolutional

     net,   Springenberg,  Dosovitskiy,  et  al.,  2015
  20. 19 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る Guided  BackPropは、理理論論はとてもシンプル ⼀一般的な逆伝播、Deconvにおいて、⾮非正値を0とする Striving  for  Simplicity:

     The  all  convolutional  net,   Springenberg,  Dosovitskiy,  et  al.,  2015
  21. 20 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る 逆伝播による画像復復元が、良良くなった(ちゃんと輪輪郭が残る)

  22. 21 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る しかし・・・ Guided  BackPropだけでは、ラベルの意味があまり説明できず ex)  ⽝犬⾒見見ろ、猫⾒見見ろって⾔言っても、どちらの情報も残る

  23. 22 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る そんなGBPの⽅方法よりも、顕著にラベル情報から復復元する CAM(Class  Activation  Mapping)が発表される GAPと呼ばれる、GoogleのNINの⼿手法内で⾏行行われた、 MAPからの局所結合を出⼒力力にする考え⽅方を応⽤用

    →特徴マップをGAPすれば、特徴マップにつき1つの素⼦子が 対応する(FC層の密な結合による情報の不不透明化を回避?) Learning Deep Features for Discriminative Localization Bolei Zhou,  Aditya  Khosla,  et  al.,  2015
  24. 23

  25. 24 ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る 画像の復復元でも明らかになったのは、FC層を介すると、 元の特徴量量は密結合によって失われている FC層をできるだけ介しない⽅方法の提案→GAP

  26. 25 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る CAMの考え⽅方 →GAP後のマップに対し、逆伝播すれば、ラベルからの情報を 直接的に得ることができると考えられる。 Learning Deep Features

    for Discriminative Localization Bolei Zhou,  Aditya  Khosla,  et  al.,  2015
  27. 26 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る CAMは最終層の付近にGAPを挟む必要性があるが、 その必要性を排除したものがGrad-‐‑‒CAMだと考えられる 出⼒力力層から、好きな層に逆伝播できる Grad-­CAM: Visual  Explanations

     from  Deep  Networks  via  Gradient-­based  Localization Selvaraju,  Cogswell,  et  al.,  2017
  28. 27 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る さらに⾔言えば、Grad-‐‑‒CAMは教師があれば逆伝播できる (ラベルがカテゴリである必要がない) ex)  画像説明⽂文の⽣生成問題や、VQA(画像クイズ)でもOK Grad-­CAM: Visual

     Explanations  from  Deep  Networks  via  Gradient-­based  Localization Selvaraju,  Cogswell,  et  al.,  2017
  29. 28 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る Grad-‐‑‒CAM部分の、アルゴリズムは⽐比較的優しい 逆伝播して、GAPして、活性化関数に通す GAP 逆伝播 活性化

  30. 29 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る CAMのこの部分と、さほど変わらないはず Learning Deep Features for Discriminative

    Localization Bolei Zhou,  Aditya  Khosla,  et  al.,  2015
  31. 30 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る なので、実装もそこまで難しくない

  32. 31 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る なので、実装もそこまで難しくない

  33. 32 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る 結果:画像中にある、そのラベルを 出⼒力力するためによく使われている情報が抽出できる こちらの結果は https://github.com/Ankush96/grad-‐‑‒cam.tensorflow

  34. 33 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る GBPと⽐比べると、ラベル情報が反映されることが確認できる

  35. 34 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る GBPと⽐比べると、ラベル情報が反映されることが確認できる

  36. 35 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る 間違えた時も、Grad-‐‑‒CAMではどこを⾒見見てたかがわかる

  37. 36 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る GBPと⽐比べると、ラベル情報が反映されることが確認できる

  38. 37 2.  可視化のアプローチ まとめ ①最⾼高のラベル出⼒力力を出す画像を作る(CNNのイデア的) →鍛え上げたCNNがこのラベルを出⼒力力する時に、 ⼀一番⾒見見てる(らしい)画像を作り上げる ②中間層の中⾝身を直接⾒見見る →CNNが抽象的な部分から具体的な部分を⾒見見ているだろう という結果は観測できる

    ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る →これに個⼈人的には注⽬目したい 改善される⽅方法論論はいくつかあるだろうし、それをネタに 美味しい思いができるかもしれない 参考にした実装 https://github.com/Ankush96/grad-‐‑‒cam.tensorflow
  39. 38 3. まとめ ・CNNが出⼒力力をうまく出している時、中ではどんなことが 起きているのか、可視化するアプローチについて紹介 ・Grad-‐‑‒CAMは、CNNを使ったアーキテクチャに ⾊色々応⽤用できるようになっている