Grad-CAM まとめ

今回取り上げるのも判断根拠に関する論文です。
最近判断根拠の論文ばかりですね、反省します。
去年の論文ですが、日本語で検索しても比較的内容を説明したものが出てくるので、英語が嫌いな人でもそれらのサイトを参考にしながら勉強できそうです。

使用した論文
【 Grad-CAM まとめ 】
Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization

Grad-CAM

Grad-CAMとは?

Gradient-weighted Class Activation Mappingの略です。

まずGrad-CAMを使った結果を見てみましょう!
真ん中がinputする画像、
左が猫を判別する際に注目する箇所が表示されている画像、
右が犬を判別する際に注目する箇所が表示されている画像です。
非常にわかりやすく結果が出ていることがわかります。
これならDeep Learningがどこに注目して学習したかひと目で理解することができます。

しかしGrad-CAMだけだと、どこを見たかはわかるのですが、
上記のヒートマップから、ニューラルネットワークが特定のインスタンスを「猫」や「犬」と予測する理由はわかりません。

そこで論文では、「Guided Backpropagation」という手法と、「Grad-CAM」を組み合わせることで、この問題に対応しています。
論文では、「Guided Grad-CAM」として多く出現します。

 

どうやってモデルを説明している?

下記記事のものを引用させていただきます。
Grad-CAM(GradCAM)の論文を流し読む

Grad-Camは、
それぞれのチャネルで重要度を決めて、それをベースにヒートマップを出している。
重要度というのは、softmacで出した確率スコアへの影響が大きい画像の箇所を指しています。

Giuded-prpは、図を見ればわかるとおり、CNNから逆伝搬しています。

Guided Grad-CAMは、上記2つを組み合わせたものになります。

 

何のタスクに対して使用できる?

この論文では、主に3つ紹介されています。

  • Image Classification
  • Image Captioning
  • VQA

Image Captioning, VQAでも、この手法が使えるというのはすごいですね。
ちなみにImage Captioningの場合、結果は下記のようになってます。

上記のように、「Guided Backprop」を組み合わせたもののほうが、
ホットドッグと人がくっきり見えていることがわかります。

 

わからなかった単語

obtain

得る

discern

わかる

 

感想

今回のこの記事では紹介しませんでしたが、モデルの説明の他に、
Grad-CAMは、学習済みモデルが学習用データのバイアスの影響を受けているかどうかを確認することもできます。

なぜか精度が悪く、期待する結果でなかった場合でも、
この手法を使い、どこの部分を学習しているからこの結果なんだという根拠を確認することができます。
そこから次回はこんなデータを学習させようという話になるので非常に便利ですね!

 

参考リンク

論文紹介:Grad-CAM: Visual explanations from deep networks via gradient-based localization

Grad-CAM(GradCAM)の論文を流し読む

深層学習は画像のどこを見ている!? CNNで「お好み焼き」と「ピザ」の違いを検証