[DLHacks 実装]Network Dissection: Quantifying Interpretability of Deep Visual Representations

278 Views

October 30, 17

スライド概要

Deep Learning JP:
http://deeplearning.jp/hacks/

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] “Network Dissection: Quantifying Interpretability of Deep Visual Representations (CVPR2017)” Yosuke Ueno http://deeplearning.jp/ 1

2.

発表概要 • • • • 論文概要 目的 手法 実験結果 2

3.

論文概要 • CNNの畳み込み層のはたらきや、 意味的概念の学習の様子を明らかにするためのネットワークを提 案 • 訓練データ等の違いから、学習する概念の違いについて詳細に検討 – 論文中ではモデルのinterpretabilityと表現されている • 畳み込み層の特徴マップ1枚1枚が何を識別できているかを セグメンテーションで調べる 3

4.

ざっくりとした目標 • 「入力に近い層では抽象的な特徴を~」云々、マジ? • CNNの中で何が学習されているか知りたい – 思考の過程? 黄色 人間の認識過程 黄色 果物 バナナ 黄緑色 CNNのクラス分類 黒い斑点 果物 バナナ 黒い斑点 黄緑色 4

5.

Goal: From Visualization to Interpretation Top Activated Images Interpretation: lamp Score: 0.15 Top Activated Images Interpretation: car Score: 0.02 Unit 1 Unit 4 著者のスライドより引用 5

6.

手法 • 評価に使うデータセットを新たに作成 – 既存のデータセットの組み合わせ – ピクセルごとのセグメンテーションのためのground-truth – 抽象度レベル(カテゴリ)別でラベルが用意されている Total = 63,305 images 1,197 visual concepts 6

7.

セグメンテーション 出力例 正解 入力 • ピクセル単位で物体を認識する方法 • Classification, detection よりも高度な分類 7

8.

手法 • 畳み込み層の各チャネル(特徴マップ)と教師データ を比較 • アクティベーションの値が上位の部分に着目 • 特徴マップはバイリニア補間でアップサンプリング • カテゴリごとのセグメンテーションにより評価 • IoUの値が閾値を超えればその概念は識別可 8

9.

IoU (Intersection over Union) • 例えば、馬については (の合 計) • 𝑀𝑘 :チャネルkの特徴マップの活発な部分 • x:データセットの画像• 𝐿𝑐 :クラスcのground truth • k:チャネル 9

10.

Approach: Test units for semantic segmentation Unit 1 Top activated images Lamp Intersection over Union (IoU)= 0.12 著者のスライドより引用10

11.

Interpretabilityの指標について • 各チャネル𝑘について、𝐼𝑜𝑈𝑘,c > 0.04となる概念cは識別可能 • チャネル𝑘は概念cのdetectorである • 特に𝐼𝑜𝑈𝑘,𝑐 が最大となる概念cに対するunique detectorである – この数をinterpretabilityの指標とする 11

12.

実験 • 様々な条件でモデルの識別能力を比較した – – – – – 同一モデル内の層ごとの違い 異なるモデル同士の違い 学習回数 ファインチューニングの有無 各種テクニックの有無 • 大量のパターンあるんで全部は紹介しません 12

13.

結果 (AlexNet trained on places365) conv5, 256 units 著者のスライドより引用 Living room Kitchen Coast … 365 categories Histogram of object detectors: Detector:81/256, Unique Detector:40 (Units with IoU>0.04) 13

14.

結果 (モデルごとの違い) • 層が深いほど識別出来る概念が多い • 訓練データによって差が出ている 14

15.

結果 (層ごとの違い) • 入力に近い層では抽象的な概念、 出力に近い層では具体的な概念を識別している傾向 15

16.

結果 (その他) • 層の幅が広い(チャネル数が多い)ほど 識別能力も高くなる傾向がある • Batch normalizationしないほうが良い • ドロップアウトは識別能力を上げる 16

17.

Conclusion Living room Kitchen Coast Theater … Dissection Report Network Dissection unit 79 car, IoU=0.13 unit 107 road, IoU=0.15 著者のスライドより引用 17

18.

実装のステップ • 特徴マップの抽出 – register_forward_hookを使う • • • • アクティベーションの上位部分を算出 セマンティックセグメンテーションで各要素とのIoUを算出 各チャネルごとにIoUが最大となるクラス名を求める 結果にまとめてグラフを出力 18