XAIの概要を把握する|DeepLIFT、Grad-CAMの概要の把握 #4

f:id:lib-arts:20220413204503p:plain

当シリーズではXAIの研究の概要の把握を行います。#3ではDeepLearningに関する解釈に関して取り扱いを行いました。

#4では#3で出てきたDeepLIFTやGrad-CAMに関して論文の内容の確認を行います。

[1704.02685] Learning Important Features Through Propagating Activation Differences

[1610.02391] Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization

以下が目次となります。
1. DeepLIFTに関して
2. Grad-CAMに関して
3. まとめ

 

1. DeepLIFTに関して
1節ではDeepLIFTの論文に関して確認を行います。

f:id:lib-arts:20220413204740p:plain

上記がAbstractの冒頭ですが、DeepLIFTは"Deep Learning Important FeaTures"の略で、「誤差逆伝播(backpropagation)を用いて予測結果に対する効果を入力の全ての特徴量に対して計算を行う」手法です。

Section2の"Previous work"では「特徴量重要度」を計算するいくつかの方法についてまとめられており、具体的には「① Perturbation-Based Forward Propagation Approaches」、「② Backpropagation-Based Approaches」、「③ Grad-CAM and Guided CAM」の三つが挙げられています。

f:id:lib-arts:20220413204827p:plain

上記はSection2.2の冒頭ですが、ここでDeepLIFTが「② Backpropagation-Based Approaches」の一手法であることについて記載があります。

f:id:lib-arts:20220413205608p:plain

f:id:lib-arts:20220413205700p:plain

DeepLIFTの詳細に関してはSection3の"The DeepLIFT Method"で記載されており、冒頭部では数式を用いた定義に関してまとめられています。DeepLIFTでは「解釈対象」と「ベースの入力のreference」の差分を考えることで、それぞれの特徴量の効果について計算を行います。target output neuronと表記される解釈対象のtに関して差分を\Delta t = t-t^{0}のように表し、これを(1)式に基づいて考えられるようにC_{\Delta x_i, \Delta t}を計算するというのがDeepLIFTの概要になります。

 

2. Grad-CAMに関して
2節ではGrad-CAMの論文に関して確認を行います。

f:id:lib-arts:20220413210250p:plain

上記がAbstractの冒頭ですが、Grad-CAM(Gradient-weighted Class Activation Mapping)は、誤差関数の勾配を用いて目的変数の予測に寄与した入力のハイライトを行う手法です。また、従来の手法とは違いGrad-CAMは広範なCNNのアーキテクチャに適用できると記載がされています。

f:id:lib-arts:20220413211404p:plain

Grad-CAMが広範に用いれることに関しては、上記のRelated Workで表されるCAM(Class Activation Mapping)ではアーキテクチャありきでヒートマップが作成されることと対比しながら抑えておくと良いと思います。

f:id:lib-arts:20220413212342p:plain

Grad-CAMの全体像は上記で表した論文のFigure.2で図示されており、誤差関数の勾配の誤差逆伝播を元にfeature map(畳み込みやPoolingを行った後のCNNの出力結果)に反映させ、feature mapを組み合わせることで青で表されたGrad-CAMのヒートマップを得ることができます。

f:id:lib-arts:20220413212509p:plain

f:id:lib-arts:20220413212700p:plain

処理の詳細は上記のようにSection3でも記載されており、出力層のyに対し、feature mapがAで表され、予測結果cに対するk番目のfeature mapの重要度が\alpha_{k}^{c}で表されます。

このように計算した\alpha_{k}^{c}を用いてfeature mapの重み付け和を計算することで、ヒートマップを得ることができます。

 

3. まとめ
#4ではDeepLIFTやGrad-CAMに関して確認を行いました。
#5では#3の4節で取り扱った"Explaining Explanations: An Overview of Interpretability of Machine Learning"の確認を行います。

[1806.00069] Explaining Explanations: An Overview of Interpretability of Machine Learning