[dlhacks 実装]network dissection: quantifying interpretability of deep visual representations

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

Upload: deep-learning-jp

Post on 21-Jan-2018

392 views

Category:

Technology


1 download

TRANSCRIPT

1

DEEP LEARNING JP

[DL Papers]

http://deeplearning.jp/

“Network Dissection: Quantifying Interpretability of DeepVisual Representations (CVPR2017)”

Yosuke Ueno

発表概要

• 論文概要

• 目的

• 手法

• 実験結果

2

論文概要

• CNNの畳み込み層のはたらきや、意味的概念の学習の様子を明らかにするためのネットワークを提

• 訓練データ等の違いから、学習する概念の違いについて詳細に検討

– 論文中ではモデルのinterpretabilityと表現されている

• 畳み込み層の特徴マップ1枚1枚が何を識別できているかをセグメンテーションで調べる

3

ざっくりとした目標

• 「入力に近い層では抽象的な特徴を~」云々、マジ?

• CNNの中で何が学習されているか知りたい– 思考の過程?

4

バナナ黄色 果物

黒い斑点 黄緑色

人間の認識過程 CNNのクラス分類

バナナ黄色 果物

黒い斑点 黄緑色

Goal: From Visualization to Interpretation

5

Interpretation: lamp

Interpretation: car

Score: 0.15

Score: 0.02

Top Activated Images

Unit 1

Unit 4

Top Activated Images

著者のスライドより引用

手法

• 評価に使うデータセットを新たに作成– 既存のデータセットの組み合わせ

– ピクセルごとのセグメンテーションのためのground-truth

– 抽象度レベル(カテゴリ)別でラベルが用意されている

6

Total = 63,305 images1,197 visual concepts

セグメンテーション

• ピクセル単位で物体を認識する方法

• Classification, detection よりも高度な分類 7

出力例 正解 入力

手法

8

•畳み込み層の各チャネル(特徴マップ)と教師データを比較• アクティベーションの値が上位の部分に着目

•特徴マップはバイリニア補間でアップサンプリング

•カテゴリごとのセグメンテーションにより評価• IoUの値が閾値を超えればその概念は識別可

IoU (Intersection over Union)

9

•例えば、馬については

(の合

計)

• x:データセットの画像

• k:チャネル

• c:クラス(概念)

• 𝑀𝑘:チャネルkの特徴マップの活発な部分

• 𝐿𝑐:クラスcのground truth

Approach: Test units for semantic segmentation

10

Lamp Intersection over Union (IoU)= 0.12

Unit 1 Top activated images

著者のスライドより引用

Interpretabilityの指標について

• 各チャネル𝑘について、𝐼𝑜𝑈𝑘,c > 0.04となる概念cは識別可能

• チャネル𝑘は概念cのdetectorである

• 特に𝐼𝑜𝑈𝑘,𝑐が最大となる概念cに対するunique detectorである

– この数をinterpretabilityの指標とする

11

実験

• 様々な条件でモデルの識別能力を比較した– 同一モデル内の層ごとの違い

– 異なるモデル同士の違い

– 学習回数

– ファインチューニングの有無

– 各種テクニックの有無

• 大量のパターンあるんで全部は紹介しません

12

結果(AlexNet trained on places365)

13

Histogram of object detectors: Detector:81/256, Unique Detector:40 (Units with IoU>0.04)

Living roomKitchenCoast…365 categories

conv5, 256 units 著者のスライドより引用

結果(モデルごとの違い)

14

•層が深いほど識別出来る概念が多い

•訓練データによって差が出ている

結果(層ごとの違い)

15

•入力に近い層では抽象的な概念、出力に近い層では具体的な概念を識別している傾向

結果(その他)

• 層の幅が広い(チャネル数が多い)ほど識別能力も高くなる傾向がある

• Batch normalizationしないほうが良い

• ドロップアウトは識別能力を上げる 16

Conclusion

17

Living roomKitchenCoastTheater…

Network Dissection

unit 79 car, IoU=0.13 unit 107 road, IoU=0.15

Dissection Report

著者のスライドより引用

実装のステップ

• 特徴マップの抽出– register_forward_hookを使う

• アクティベーションの上位部分を算出

• セマンティックセグメンテーションで各要素とのIoUを算出

• 各チャネルごとにIoUが最大となるクラス名を求める

• 結果にまとめてグラフを出力

18