[DL輪読会]Approximating CNNs with Bag-of-local-Features models works surprisingly well on ImageNet

>100 Views

July 19, 19

スライド概要

2019/07/12
Deep Learning JP:
http://deeplearning.jp/seminar-2/

シェア

またはPlayer版

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

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] Approximating CNNs with Bag-of-local-Features Bag-of-local-Features models Approximating surprisingly well on ImageNet works surprisingly Tomoki Tanimura, Keio University http://deeplearning.jp/ 1

2.

書誌情報 ▪ ICLR2019 ▪ 著者: Wieland Brendel and Matthias Bethge ▪ 所属: Eberhard Karls University of Tubingen, Germany ▪ Bethge Lab: http://bethgelab.org/ ▪ 同じくICLR2019に投稿されたBethge Labからの論文

3.

概要 ▪ BagNetを提案 ▪ 画像の局所的な特徴に基づいて画像分類を行う ▪ Bag-of-Features + DNN ▪ 予測精度を高いまま保ちつつ,結果の解釈が容易に行える ▪ 既存のSoTA DNN達 ▪ BoF ベースの古典的手法 vs DNN -> 精度的にはDNNの圧勝 ▪ 獲得している特徴量や分類の仕方はBoFベースの手法と変わらない ▪ 局所的な特徴をベースとして判断していることを実験的に示した

4.

BoF (Bag-of-Features) ▪ 画像の局所特徴量(SIFTやSURF等)を基にした特徴ベクトル ▪ 画像データセットから特徴ベクトルを抽出 ▪ 特徴ベクトルをクラスタリング ▪ クラスタ中心をVisual wordsとして定義 ▪ 分類対象の画像Aから特徴ベクトルを抽出 ▪ 特徴ベクトルをVisual wordsに対応づけ ▪ Visual wordsの出現頻度が画像AのBoF

5.

DNN ▪ 画像を非線形に変換していき特徴を抽出→そのままクラスの確率を推定 ▪ BackPropによって変換のパラメータを学習していく VGG

6.

BagNets ▪ BoFの局所特徴量に基づく分類とDNNを組み合わせた ▪ BagNetsの構造 ▪ 画像をq x qのパッチに分割 ▪ 各パッチからResBlockベースのモデルで 特徴ベクトルを抽出 ▪ 特徴ベクトルを線形分類器でクラス分類 ▪ 全パッチにおけるクラスの予測結果を合計 ▪ もっとも多いクラス => 画像のクラス ▪ 画像パッチごとの寄与を見れる ▪ 解釈可能性の向上

7.

背景 ▪ DNNにおける解釈性の欠如 ▪ 入力値や中間層の特徴量に複雑な依存関係が存在するため,最終的な結果に対する要因を人間 が解釈することは容易ではない ▪ 精度を保ったまま解釈性を向上させたい ▪ BoFの局所特徴を利用した線形分類をDNNに導入することによって,解釈性を向上させられる ▪ DNNの振る舞いの分析 ▪ BoFベースの手法とDNNsとの類似性を見ることで,DNNsの振る舞いに感して知見を得ること ができるのではないか

8.

Experiment ▪ Accuracy & Runtime ▪ BagNetsの精度と実行速度について,DNNsと比較する ▪ Explaining Decisions ▪ BagNetsの分類結果の解釈 ▪ BagNetsを利用したDNNsの分析

9.

Accuracy & Runtime ▪ 精度比較 ▪ 17 x 17 pixels patch : 80.5% - AlexNetと同等 ▪ 33 x 33 pixels patch : 87.6% - VGG-16に匹敵 ▪ 実行速度比較 ▪ 画像サイズ : 224 x 224 x 3 ▪ BagNets : 155 images/s ▪ ResNet-50 : 570 images/s Patch size

10.

Explaining Decisions ▪ ヒートマップの可視化 ▪ 影響が大きい画像パッチの可視化 ▪ 誤分類された画像とヒートマップの可視化 ▪ BagNetsとDNNsの分類の仕方の比較

11.

Explaining Decisions ▪ BagNetsのヒートマップの可視化 ▪ 影響が大きい画像パッチの可視化 ▪ 誤分類された画像とヒートマップの可視化 ▪ BagNetsとDNNsの分類の仕方の比較

12.

BagNetsのヒートマップの可視化 ▪ パッチごとの分類結果を利用して,ヒートマップを作成 ▪ 画像のどの部分がpredictionの際に,影響を及ぼしているのか ▪ 特にオブジェクトの形に注目している ▪ ハロウィンのかぼちゃ: 目の周りを見ている ▪ 鹿: Backgroundには一切注目しておらず,鹿そのものを見ている ▪ 人間の知覚と近い箇所に注目している?

13.

Explaining Decisions ▪ BagNetsのヒートマップの可視化 ▪ 影響が大きい画像パッチの可視化 ▪ 誤分類された画像とヒートマップの可視化 ▪ BagNetsとDNNsの分類の仕方の比較

14.

重要な画像パッチの可視化 ▪ クラス決定に大きな影響を及ぼしている画像Patchを可視化 ▪ 「魚のクラスに指」,「phoneにキーボードのキー」など,意味的には不適切に見える ▪ データセットのバイアスでは? 上段: 画像とパッチの クラスが同じ 下段: 画像とパッチの クラスが違う

15.

Explaining Decisions ▪ BagNetsのヒートマップの可視化 ▪ 影響が大きい画像パッチの可視化 ▪ 誤分類された画像とヒートマップの可視化 ▪ BagNetsとDNNsの分類の仕方の比較

16.

誤分類された画像の分析 ▪ パッチだけから分類していることを考慮すると, 合理的な分類結果 ▪ 明らかな間違いをしているというよりは, 画像全体における物体の関係性を学習しないと 正しく識別することが難しい画像が多い ▪ 例 ▪ 指ぬきとガスマスク(2列目) ▪ ミニスカートと本のジャケット(3列目)

17.

Explaining Decisions ▪ BagNetsのヒートマップの可視化 ▪ 影響が大きい画像パッチの可視化 ▪ 誤分類された画像とヒートマップの可視化 ▪ BagNetsとDNNsの分類の仕方の比較

18.

BagNetsとDNNsの分類方法の比較 ▪ Activation mapの相関関係 ▪ パッチシャッフルによる影響 ▪ 画像の一部をマスクすることによる影響 ▪ 各クラスの正解率の関係性 ▪ 影響が大きいパッチをマスクすることによる精度劣化の検証

19.

BagNetsとDNNsの分類方法の比較 ▪ Activation mapの相関関係 ▪ パッチシャッフルによる影響 ▪ 画像の一部をマスクすることによる影響 ▪ 各クラスの正解率の関係性 ▪ 影響が大きいパッチをマスクすることによる精度劣化の検証

20.

Activation mapの相関関係 ▪ VGGとBagNetsのactivationの相関関係 ▪ 当然ながらPatch sizeと相関は比例 ▪ 33 x 33 pixelで0.88 ▪ VGGとBagNetsは同じような画像特徴に 対して反応している

21.

BagNetsとDNNsの分類方法の比較 ▪ Activation mapの相関関係 ▪ パッチシャッフルによる影響 ▪ 画像の一部をマスクすることによる影響 ▪ 各クラスの正解率の関係性 ▪ 影響が大きいパッチをマスクすることによる精度劣化の検証

22.

パッチシャッフルによる影響 ▪ 画像のパッチをシャッフルした時の精度への影響 ▪ パッチシャッフル ▪ BagNetsの予測において,パッチシャッフルは影響なし ▪ DNNsでは影響がるが,Gram Matrixを利用したtexture synthesis (Style loss)はパッチシャッフルに近い ▪ Style LossによるTexture synthesis ▪ 右の画像 ▪ オブジェクトの形状がわからないような画像 ▪ 人間は分類困難,VGGは分類可能 ▪ VGGはオブジェクトの形状などの広域な特徴を学 習していない

23.

BagNetsとDNNsの分類方法の比較 ▪ Activation mapの相関関係 ▪ パッチシャッフルによる影響 ▪ 画像の一部をマスクすることによる影響 ▪ 各クラスの正解率の関係性 ▪ 影響が大きいパッチをマスクすることによる精度劣化の検証

24.

画像の一部をマスクすることによる精度への影響 ▪ 一つづつマスクした際のクラス確率の減少の合計値と全てマスクした際のクラス 確率の減少を見る ▪ 複数のマスク粒度で実験 ▪ 相関高いと ▪ マスクの取り方に影響を受けない ▪ BagNetsの振る舞いと近い ▪ 大域的な特徴を見ていない ▪ 結果 ▪ 当然ながらBagNetsの相関 ≒ 1 ▪ VGGもかなり相関が高い ▪ ResNetとかDenseNetとか深い層の ネットワークの場合は比較的相関が低い

25.

BagNetsとDNNsの分類方法の比較 ▪ Activation mapの相関関係 ▪ パッチシャッフルによる影響 ▪ 画像の一部をマスクすることによる影響 ▪ 各クラスの正解率の関係性 ▪ 影響が大きいパッチをマスクすることによる精度劣化の検証

26.

ネットワークにおける各クラスの正答率の関係性 ▪ BagNetsとDNNsにおける各クラスの識別精度の相関関係について可視化 ▪ VGGとBagNetsの相関はかなり高い ▪ ResNetなどの深い層のDNNsとBagNetsとの相関は比較的低い ▪ これらの深い層のDNNsたちはより大域的な特徴を見ている可能性が高い

27.

BagNetsとDNNsの分類方法の比較 ▪ Activation mapの相関関係 ▪ パッチシャッフルによる影響 ▪ 画像の一部をマスクすることによる影響 ▪ 各クラスの正解率の関係性 ▪ 影響が大きいパッチをマスクすることによる精度劣化の検証

28.

重要パッチをマスクすることによる影響 ▪ BagNetsとDNNsが見ている箇所が類似しているかを検証 ▪ 検証方法 ▪ BagNetsにおいて影響が大きいパッチをマスクした時の精度への影響を検証 ▪ 影響の大きいパッチを見るける方法として,saliency mapなどを作成する手法などとも比較 ▪ 結果 ▪ BagNetsによって推定されたパッチをマスクするのが最も精度を低下させた ▪ ResNetなどの深いモデルに比べて,VGGでは著しく精度劣化した グレーはwhite-box

29.

考察① ▪ 解釈性の高いDNN,BagNetsを提案 ▪ 複雑なImageNet分類に対して,空間情報をなしで局所的な特徴量だけからでも,DNNに匹敵す る精度で分類可能であることを示した ▪ 精度が少し落ちても解釈性が重視されるタスクには有用(医療分野とか) ▪ BoFにDNNを導入することで,弱い統計的規則性まで見つけることができ,精度が向上 ▪ DNNsとBanNetsとの関係性 ▪ それぞれの分類方法や獲得していると思われる特徴量には相関がある ▪ 特にVGGには強い相関があるが,ResNetなどのDeeperなものは相関が低い

30.

考察② ▪ DNNsの分析 ▪ SytleLossがうまくいかないのはVGGはTextureなどのLocalな特徴を見ている一方で,ResNet などのDeepなモデルは比較的,広域な特徴を獲得しているためかもしれない ▪ 基本的には,DNNも局所的な特徴に頼っているので,リアル画像から漫画などドメインが変化 した時に対応できないのではないか ▪ 局所的な特徴だけでは解けないタスクが必要 ▪ BagNetsはそれに対して,Lower boundを提供できる ▪ 高度な画像中のオブジェクトの対応関係など,より広域で複雑な画像特徴を学習できるモデル が必要になる

31.

まとめ ▪ 解釈性に優れたDNNモデル,BagNetsを提案 ▪ BagNetsが既存のDNNsに匹敵する精度をImageNet分類で達成 ▪ BagNetsを利用して,既存のDNNsの振る舞いを分析 ▪ 特にVGGでは,局所的な特徴に頼って分類していることがわかった