Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【論文紹介】Deep Inside Convolutional Networks Visual...
Search
fhiyo
September 03, 2018
Science
0
1.5k
【論文紹介】Deep Inside Convolutional Networks Visualising Image Classification Models and Saliency Maps -- Simonyan Vedaldi Zisserman 2013 in ArXiv.pdf
fhiyo
September 03, 2018
Tweet
Share
More Decks by fhiyo
See All by fhiyo
Security_Engineering___Third_Edition_Chapter.20.pdf
fhiyo
0
5
Security_Engineering___Third_Edition_Chapter.21.pdf
fhiyo
0
7
Git再入門
fhiyo
0
120
効果検証入門1章
fhiyo
1
450
言語処理のための機械学習入門 1.1〜1.4
fhiyo
0
87
オプトにおける自然言語生成の応用事例
fhiyo
6
710
【論文紹介】Forecasting at Scale
fhiyo
1
650
統計的因果探索に入門してみた
fhiyo
0
450
Other Decks in Science
See All in Science
KH Coderチュートリアル(スライド版)
koichih
1
41k
研究って何だっけ / What is Research?
ks91
PRO
1
100
機械学習 - K-means & 階層的クラスタリング
trycycle
PRO
0
990
統計学入門講座 第3回スライド
techmathproject
0
110
Lean4による汎化誤差評価の形式化
milano0017
1
250
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
940
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
120
安心・効率的な医療現場の実現へ ~オンプレAI & ノーコードワークフローで進める業務改革~
siyoo
0
260
LayerXにおける業務の完全自動運転化に向けたAI技術活用事例 / layerx-ai-jsai2025
shimacos
2
1.2k
データベース08: 実体関連モデルとは?
trycycle
PRO
0
710
システム数理と応用分野の未来を切り拓くロードマップ・エンターテインメント(スポーツ)への応用 / Applied mathematics for sports entertainment
konakalab
1
340
データベース12: 正規化(2/2) - データ従属性に基づく正規化
trycycle
PRO
0
690
Featured
See All Featured
Docker and Python
trallard
44
3.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
For a Future-Friendly Web
brad_frost
179
9.8k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Raft: Consensus for Rubyists
vanstee
140
7k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Code Reviewing Like a Champion
maltzj
524
40k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Side Projects
sachag
455
42k
The Language of Interfaces
destraynor
158
25k
Transcript
【論文紹介】 Deep Inside Convolutional Networks: Visualising Image Classification Models and
Saliency Maps Simonyan, Vedaldi, Zisserman 2013 in ArXiv @fhiyo 1
自己紹介 @fhiyo データサイエンスエンジニア 統計解析、機械学習モデル作成 Python / Shell Script (bash) /
C++ / Java 広く浅く、科学なら割となんでも好き 2
Outline - 論文: https://arxiv.org/abs/1312.6034 - deep Convolutional Networks (ConvNet) の可視化の研究
- 目的変数についての各画素の重要度を saliency map (顕著性マップ) として出力することで、弱教 師あり物体認識 (weakly supervised object segmentation) のタスクを解いている - 本論文の可視化手法は、逆畳み込みネットワーク (deconvolutional network) による可視化の 一般化である (今回はあまり触れない ) 3
用語解説 4
Saliency Map (顕著性マップ) 人が画像をみたときに注目しやすい場所を推定したヒートマップのこと。 登場してから歴史が長く、様々なモデルが提案されている。 5 Hou, X., & Zhang,
L. (2007). Saliency Detection : A Spectral Residual Approach, 2(800) 人が左の画像を見るとき、木や芝よりも人がいるところを注目している Saliency Mapの実装例: https://www.kaggle.com/ernie55ernie/mnist-with-keras-visualization-and-saliency-map
Deep Convolutional Networks (ConvNet) - DeepなCNN。物体の画像を読み込んでどの物体かを識別するのによく使う - 画像の一部分をフィルタとの畳み込み (convolution) という操作で画像から特徴量
を抽出 - 1つの層につきフィルタが複数あり、何層にも重なる。途中から全結合層と呼ばれる 配列上で計算を足し合わせて最終的に識別確率を算出 - 出力イメージ: ネコ=0.8, 犬=0.15, ウサギ=0.05 ←識別確率 - (詳細は割愛。入門記事 → https://qiita.com/icoxfog417/items/5fd55fad152231d706c2) https://en.wikipedia.org/wiki/Convolutional_neural_network 6
Spatial Filter - (空間) フィルタ: 画像の中で、ある特徴のみを強調するための「枠」 例: 画像の中の水平方向の境界線を抽出する 7 Prewittフィルタ
(水平) 画像をフィルタにかけると... エッジ抽出のサンプル : https://gist.github.com/fhiyo/73a1814f53204f55faf1484de0f fc792
Spatial Filter - 画像の中で、ある特徴のみを強調するための「枠」 例: 画像の中の水平方向の境界線を抽出する 8 Prewittフィルタ (水平) 水平方向に大きく値が変化している領域の値
(の絶対値) が大きくなっている CNNの畳み込み層では学習において、このフィ ルタの値が変化していく 画像
Weakly Supervised Object Localisation 弱教師付き学習: 教師信号の情報量がタスクと比べて少ないデータを使用して学習する こと (?) →今回の場合だと、教師信号は画像のクラス情報しかないのに物体の位置まで学習す ることができる
9 バッタ 入力画像とラベルの 情報のみから物体が ある位置を抽出してい る
Research Background - ConvNetによる物体認識は精度は高いが解釈性が悪い - ネコだと認識したのはわかるし精度もすごいんだけど、画像のどこを見て、どう計算してネコと判定 したのか? - 先行研究 -
ある層のあるフィルタに着目して、その活性化関数を最大化するような入力パターンを最適化を行 うことで発見する (Erhan et al., 2009) - 上の研究ではどのような画像がフィルタに反応するかはわかるが、入力画像のどの部分が識別結 果に寄与しているのかは不明 10 i番目の層のj個目のフィルタの出力を最大化する入 力画像x*を求める
Contribution - どのような画像がフィルタに強く反応するのかを調べた (ConvNetに対して計算し たのは始めて) - Saliency mapを出力することで、画像のどの部分が識別結果に寄与したのかを可 視化することに成功→ConvNetの解釈性を向上させた -
本論文で使われている勾配法による可視化は、逆畳み込みネットワークによる可 視化の一般化であることを示した 11
Class Model Visualisation 12
Class Model Visualisation あるクラスcに対するスコアScを最大化するような入力画像を最適化問題を解くことで求 める。 13 この式の値が最大になるとき の画像Iを求める 正則化項
Class Model Visualisation 14
Class Model Visualisation - なぜSoftmax処理後の事後確率ではなく、クラススコアを最適化の目的関数として いるのか? 事後確率だとScの値を大きくする以外にも、クラスc以外のクラススコアを小さくす ることによってもPcの値を大きくすることができるため。 15 (c=犬として)
犬っぽい画像でなくても、猫 やウサギっぽくない画像ならば値は大きく なる
Image-Specific Class Saliency Visualisation 16
Image-Specific Class Saliency Visualisation ConvNetに対してfirst-order Taylor expansionを用いて近似することで各ピクセルの重 要度を算出する。 クラス分類において重要なピクセルは、直感的にはオブジェクトが存在しているところと 考えることができる。実験したところ実際にそうなっていることを確認した
17 I: 入力画像, S: クラススコア, c: クラスラベル, b: 定数項 このwを画像の形に配列し直したものが本研究における Saliency Map
Image-Specific Class Saliency Visualisation 18
[復習] (finite) Taylor Series fが開区間Iにおいて、n回微分可能であるとする。 Iの点a を固定すると、各x ∈ Iに対して、 を満たすcがxとaの間に存在する。
19 https://en.wikipedia.org/wiki/Taylor_series テイラー展開の次数を上げることによって元の 関数にfittingする (左) (式: y = e^x) 収束半径内では次数を上げることで元の関数に 近づくが、収束半径外 (x > 1) では次数を上げる ことで発散していく (右) (式: y = log(1 + x)) ref: http://eman-physics.net/math/taylor.html
[復習] (finite) Taylor Series fが開区間Iにおいて、n回微分可能であるとする。 Iの点a を固定すると、各x ∈ Iに対して、 を満たすcがxとaの間に存在する。
20 https://en.wikipedia.org/wiki/Taylor_series テイラー展開の次数を上げることによって元の 関数にfittingする (左) (式: y = e^x) 収束半径内では次数を上げることで元の関数に 近づくが、収束半径外 (x > 1) では次数を上げる ことで発散していく (右) (式: y = log(1 + x)) ref: http://eman-physics.net/math/taylor.html
[復習] (finite) Taylor Series fが開区間Iにおいて、n回微分可能であるとする。 Iの点a を固定すると、各x ∈ Iに対して、 を満たすcがxとaの間に存在する。
21 https://en.wikipedia.org/wiki/Taylor_series テイラー展開の次数を上げることによって元の 関数にfittingする (左) (式: y = e^x) 収束半径内では次数を上げることで元の関数に 近づくが、収束半径外 (x > 1) では次数を上げる ことで発散していく (右) (式: y = log(1 + x)) ref: http://eman-physics.net/math/taylor.html
[復習] (finite) Taylor Series fが開区間Iにおいて、n回微分可能であるとする。 Iの点a を固定すると、各x ∈ Iに対して、 を満たすcがxとaの間に存在する。
22 https://en.wikipedia.org/wiki/Taylor_series テイラー展開の次数を上げることによって元の 関数にfittingする (左) (式: y = e^x) 収束半径内では次数を上げることで元の関数に 近づくが、収束半径外 (x > 1) では次数を上げる ことで発散していく (右) (式: y = log(1 + x)) ref: http://eman-physics.net/math/taylor.html
[復習] (finite) Taylor Series fが開区間Iにおいて、n回微分可能であるとする。 Iの点a を固定すると、各x ∈ Iに対して、 を満たすcがxとaの間に存在する。
23 https://en.wikipedia.org/wiki/Taylor_series テイラー展開の次数を上げることによって元の 関数にfittingする (左) (式: y = e^x) 収束半径内では次数を上げることで元の関数に 近づくが、収束半径外 (x > 1) では次数を上げる ことで発散していく (右) (式: y = log(1 + x)) ref: http://eman-physics.net/math/taylor.html
Image-Specific Class Saliency Visualisation 24 Saliency Mapの計算例 入力画像X 畳み込み層W 入力画像Xに対してフィルタWで畳み込んだ結果を全結合層
Hに格納し、そこ からNNの重みである と行列計算をすることによりクラススコア Scを出力す る、というモデルを考える。 全結合層H
Image-Specific Class Saliency Visualisation 25 Saliency Mapの計算例
Image-Specific Class Saliency Visualisation 26 Saliency Mapの計算例
Image-Specific Class Saliency Visualisation 27 Saliency Mapの計算例
Image-Specific Class Saliency Visualisation 28 Saliency Mapの計算例
Image-Specific Class Saliency Visualisation 29 Saliency Mapの計算例
Image-Specific Class Saliency Visualisation 30 Saliency Mapの計算例 今回の例は単純なモデルのため入力に対して定 数になったが、中間層が増えれば Saliency
Map の各成分は入力画像の関数になる
Weakly Supervised Object Localisation 弱教師付き学習: 教師信号の情報量がタスクと比べて少ないデータを使用して学習する こと (?) →今回の場合だと、教師信号は画像のクラス情報しかないのに物体の位置まで学習す ることができる
Saliency Mapの出力は強い値のピクセルがとびとびになるが、GraphCut segmentation (Boykov & Jolly, 2001) を用いて物体がある領域を上手く繋げている 31 バッタ
Weakly Supervised Object Localisation 32
Relation to Deconvolutional Networks 33
Relation to Deconvolutional Networks - 詳細は割愛 - 本手法はZeiler, Fergusによる畳み込み層の可視化の一般化になっている -
畳み込み層だけでなくプーリング層や全結合層などの他の層に関しても可視化が できる - 実際、Saliency Mapは全結合層のクラススコアを算出するニューロンに対する可 視化である。 34 https://arxiv.org/abs/1311.2901