第三回 全日本コンピュータビジョン勉強会
CVPR2020読み会@オンライン(後編)
smygw72 (15:40-16:05)
自己紹介
宮川 翔貴 @smygw72
- 所属
- 某電機メーカー (’19/4~)
- 興味
- HCI, XAI (eXplainable AI)
※機械学習初学者のため本資料の正確性は
保証できません
※特に言及がなければ元論文からの引用です
今回紹介する研究
ざっくりいうと
• 勾配を用いてSaliency mapを生成する方法の理論的整理
• Saliency mapの精度を向上させるためのテクニックの提案
どんなヒトに有用?
• XAIに興味があるヒト
• Backprop.について理解を深めたいヒト
背景
特徴量(画像の場合はSaliency map)による説明 サンプルによる説明
自然言語による説明 簡易モデルによる説明
“WT5?! Training Text-to-Text Models to Explain their Predictions”
“Representer Point Selection for Explaining Deep Neural Networks” (NeurIPS'18)
Interpreting CNNs via Decision Trees (CVPR’19)
“RISE: Randomized Input Sampling for
Explanation of Black-box Models” (BMVC’18)
“SmoothGrad: removing noise
by adding noise” (arXiv’17/06)
背景
• 摂動ベース:入出力の応答を調べる
e.g., LIME, SHAP, RISE, Meaningful Perturbation
• 勾配ベース:スコアへの寄与を逆伝播して求める
e.g., CAM, LRP, DeepLIFT, Integrated Grad
“flute”: 0.007model
“bird”: 0.93
Saliency methods
model
XAIに入門するとまず起きること
貢献
理論的貢献
• 複数のSaliency methodsを統合した”NormGrad”の提案
発見的貢献
• 各レイヤからの情報を統合させることでSaliency mapの精度を向上
• メタ学習におけるテクニックの導入によりSaliency mapの精度を向上
Key Idea
Saliency methodsの処理を二段階に分けて考える
1. 勾配情報の抽出 (Extract)
2. 勾配情報の集約 (Aggregation)
Step1.勾配情報の抽出 (Extract)
任意のレイヤにおけるモデルパラメータの勾配を求める
• 畳み込み層の場合(パラメータ数:𝐾′
× 𝑁2
𝐾 個)
※ 入力サイズ:𝐾 × 𝐻 × 𝑊, 出力サイズ:𝐾′ × 𝐻′ × 𝑊′, フィルタサイズ:𝐾 × 𝑁 × 𝑁
行列で書き下すと・・・
⋮⋮⋮
⋮
𝑤11 𝑤12
⋮
𝑤1𝐾
𝑤21 𝑤22
⋮
𝑤2𝐾
𝑤 𝐾′1 𝑤 𝐾′2
⋮
𝑤 𝐾′ 𝐾
⋮
∈ ℝ 𝐾′×𝑁2 𝐾
∈ ℝ 𝑁2 𝐾×𝐻′ 𝑊′
=
ℝ 𝐾′×𝐻′ 𝑊′
∈
∈
∈
Step1.勾配情報の抽出 (Extract)
∈ ℝ 𝑁2 𝐾 × 1
⋮⋮⋮
⋮
𝑤11 𝑤12
⋮
𝑤1𝐾
𝑤21 𝑤22
⋮
𝑤2𝐾
𝑤 𝐾′1 𝑤 𝐾′2
⋮
𝑤 𝐾′ 𝐾
⋮
∈ ℝ 𝐾′×𝑁2 𝐾
∈ ℝ 𝑁2 𝐾×𝐻′ 𝑊′
=
ℝ 𝐾′×𝐻′ 𝑊′
∈
∈
∈
ℝ 𝐾′× 1
ℝ 𝐾′×𝑁2 𝐾
∈
ℝ 𝐾′× 1
∈
∈
次の層から逆伝播
された勾配情報
Step1.勾配情報の抽出 (Extract)
• バイアス層の場合(パラメータ数:𝐾 個)
• スケーリング層の場合(パラメータ数:𝐾 個)
Step1.勾配情報の抽出 (Extract)
まとめると・・・
Step1.勾配情報の抽出 (Extract)
virtual IDentity Layer (IDL) の導入
Step1.勾配情報の抽出 (Extract)
virtual IDentity Layer (IDL) の導入
IDL
Step2.勾配情報の集約 (Aggregation)
最終的にSaliency mapを生成するために”Size at each location”の
vectorやmatrixをスカラー値に圧縮したい
スカラー値に圧縮するための方法として関連研究を位置づけることができる
関連研究1.Vanilla Gradient
“Deep Inside Convolutional Networks: Visualizing Image
Classification Models and Saliency Maps” (ICLR’14)
Bias層 DNN
𝑚𝑎𝑥 𝐾′|𝑔 𝐾′
𝑜𝑢𝑡
|
関連研究1.Vanilla Gradient
“Deep Inside Convolutional Networks: Visualizing Image
Classification Models and Saliency Maps” (ICLR’14)
DNN
Bias
IDL
IDL
𝑚𝑎𝑥 𝐾′|𝑔 𝐾′
𝑜𝑢𝑡
|
関連研究2.Linear Approx.
“Investigating the influence of noise and distractors on the
interpretation of neural networks” (NIPS’16 workshop)
※ Pattern/PatternAttribution(ICLR’18)の前身となった研究
𝐾′
𝑔 𝐾′
𝑜𝑢𝑡
𝑥 𝐾′
𝑖𝑛
LRP(Layer-wise Relevance Propagation)による貢献量伝播
関連研究2.Linear Approx.
“Investigating the influence of noise and distractors on the
interpretation of neural networks” (NIPS’16 workshop)
※ Pattern/PatternAttribution(ICLR’18)の前身となった研究
Scaling
IDL
LRP(Layer-wise Relevance Propagation)による貢献量伝播
𝐾′
𝑔 𝐾′
𝑜𝑢𝑡
𝑥 𝐾′
𝑖𝑛
関連研究3.Grad-CAM
“Grad-CAM: Visual explanations from deep networks via
gradient-based localization” (ICCV’17)
ReLU
𝐾′
𝑔 𝑜𝑢𝑡 𝑥 𝑜𝑢𝑡
• Global Average Pooling
• チャンネル方向に和をとる
• ReLUの適用
𝑔 𝑢
𝑜𝑢𝑡
⊙ 𝑥 𝑢
𝑖𝑛
Scaling層における勾配IDL
Step2.勾配情報の集約 (Aggregation)
Matrixをスカラー値に圧縮するための方法として以下を提案
NormGrad :フロベニウスノルムを適用
Selective NormGrad :ReLU+フロベニウスノルムを適用
max Vanilla Gradient
sum Linear App., Grad-CAM
Saliency mapの生成パターン
Layerの場所 × Layerの種類 × IDLの有無 ×圧縮方法(max/sum/norm/filtering)
実験内容
以下の条件で生成したSaliency mapを評価
1. IDLあり vs. IDLなし
2. 単一レイヤのみ vs. 複数レイヤ
3. メタ学習あり vs. メタ学習なし
4. モデルパラメータをランダムな値に置き換える
評価方法
• Pointing Game
アノテーションされたBounding box内にhitする割合を評価
• スピアマンの相関係数
同じ入力画像に対して生成したSaliency mapどうしを比較する際に有用
実験1.IDLあり vs. IDLなし
IDLを導入しても良い近似を与える場合が多い
• Pointing Gameの結果
レイヤ全体の平均で0.53% ± 0.62% の差
• スピアマンの相関係数の結果(右図)
実験2.単一レイヤのみ vs. 複数レイヤ
一般に複数レイヤから生成したSaliency mapの方が精度が高い
単一レイヤの結果 複数レイヤの結果
上段:Linear Approx., 下段:Selective NormGrad
LA+b.w.が最も精度の良い組み合わせ
実験2.単一レイヤのみ vs. 複数レイヤ
Pointing Gameにおけるスコア(b.s.:単一レイヤ, b.w.:複数レイヤ)
NormGrad
Grad-CAM
selective NormGrad
Linear Approx.
Vanilla Gradient (sum)
Vanilla Gradient
Contrastive Excitation Backprop.
Excitation Backprop.
Guided Backprop.
NormGradよりselective NormGradの方が精度が良い
実験2.単一レイヤのみ vs. 複数レイヤ
Pointing Gameにおけるスコア(b.s.:単一レイヤ, b.w.:複数レイヤ)
NormGrad
Grad-CAM
selective NormGrad
Linear Approx.
Vanilla Gradient (sum)
Vanilla Gradient
Contrastive Excitation Backprop.
Excitation Backprop.
Guided Backprop.
実験2.単一レイヤのみ vs. 複数レイヤ
Grad-CAMが最終層以外で機能しない理由として
Global Average Poolingの存在を指摘
A: All, D:Difficult
ReLU
𝐾′
𝑔 𝑜𝑢𝑡
𝑥 𝑜𝑢𝑡
• Global Average Pooling
• チャンネル方向に和をとる
• ReLUの適用
𝑔 𝑢
𝑜𝑢𝑡
⊙ 𝑥 𝑢
𝑖𝑛
Scaling層における勾配
Saliency mapの計算法
IDL
Pointing Gameの結果(ResNet on VOC07)
実験2.単一レイヤのみ vs. 複数レイヤ
Saliency methods
• LA : Linear Approx.
• sNG: selective NormGrad
複数レイヤのSaliency mapの統合方法
• 加算(+) or 積(×)
• 重みを以下の4パターンで比較
• Accuracy
• Spread
• Linear
• Uniform
Pointing Gameにおけるスコアの変化(単一レイヤ基準)
実験3.メタ学習あり vs. なし
事前にSGDを1回実行したロスを用いる
Min ClassMax ClassTrue Class
Max classとMin Classの間に
相関が生じてしまっている
上段:メタ学習なし,下段:メタ学習あり
Min classがランダムな情報に置き換わり
Max classとの相関がなくなった
メタ学習
実験4.モデルパラメータをランダムな値に置き換える
Meta-Saliency mapがモデルパラメータに対して頑健であることを主張
上段:Selective NormGrad, 中段:Linear Approx., 下段:Linear Approx. + Meta-learning
所感
• NormGradそのものはメチャ良いわけではない(Linear Approx.の方が
良い)が、複数のSaliency methodを一つのコンテキストに埋め込めて
整理できるため読んでよかった
• とはいえ、まだまだ理論的な整理が必要な領域だとは思う。

"There and Back Again: Revisiting Backpropagation Saliency Methods" (CVPR2020)

Editor's Notes

  • #6 摂動ベース:データの分布から外れてしまう 勾配ベース:ノイズが多い。違いが分かりづらい。