Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

1 1.⾃自⼰己紹介

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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.

Slide 5

Slide 5 text

4 2.  可視化のアプローチ ・なんとなく、CNNが何してるのか気になってくる →内部表現というよりは,⼊入⼒力力からその出⼒力力を⾏行行った 理理由、証拠のようなものが知りたい

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

11 2.  可視化のアプローチ ①最⾼高のラベル出⼒力力を出す画像を作る(CNNのイデア的) なんかフラミンゴっぽい なんかペリカンっぽい 画像は作れる CNNが特定のラベルを 出⼒力力するのに必要な 情報は探ることができる Understanding Neural Networks Through Deep Visualization http://yosinski.com/deepvis

Slide 13

Slide 13 text

12 2.  可視化のアプローチ ②中間層の中⾝身を直接⾒見見る 特定のレイヤーからのUnpoolingにより、 特徴マップ(中間層)の可視化を⾏行行っていく Visualizing  and  UnderstandingConvolutional Networks Zeiler &  Fergus,  2013

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

17 2.  可視化のアプローチ ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る →先にGuided  BackPropagation(GBP)の概要について説明 簡単に⾔言えば、必要以上の情報が残らないようにしたい ex)  普通の逆伝播では、何が何やらわかりにくい Striving  for  Simplicity:  The  all  convolutional  net,   Springenberg,  Dosovitskiy,  et  al.,  2015 逆伝播

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

23

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

37 2.  可視化のアプローチ まとめ ①最⾼高のラベル出⼒力力を出す画像を作る(CNNのイデア的) →鍛え上げたCNNがこのラベルを出⼒力力する時に、 ⼀一番⾒見見てる(らしい)画像を作り上げる ②中間層の中⾝身を直接⾒見見る →CNNが抽象的な部分から具体的な部分を⾒見見ているだろう という結果は観測できる ③逆伝播使って、CNNが使⽤用したであろう画像中の証拠を探る →これに個⼈人的には注⽬目したい 改善される⽅方法論論はいくつかあるだろうし、それをネタに 美味しい思いができるかもしれない 参考にした実装 https://github.com/Ankush96/grad-‐‑‒cam.tensorflow

Slide 39

Slide 39 text

38 3. まとめ ・CNNが出⼒力力をうまく出している時、中ではどんなことが 起きているのか、可視化するアプローチについて紹介 ・Grad-‐‑‒CAMは、CNNを使ったアーキテクチャに ⾊色々応⽤用できるようになっている