BagNetsの論文メモ

# APPROXIMATING CNNS WITH BAG-OF-LOCAL-FEATURES MODELS WORKS SURPRISINGLY WELL ON IMAGENET 

* Wieland Brendel and Matthias Bethge
    * ICLR 2019
    * https://arxiv.org/abs/1904.00760
* bag-of-words同様のコンセプトbag-of-feature(deep learning台頭以前に人気のあった手法)とdeepを融合した画像分類モデル
    * 画像を小さいパッチに分割し，それぞれをresnetベースのモデルで特徴抽出，クラスごとに作成されるフィーチャーマップからactivationの数を，線形モデルに入力してクラス分類する
* deepの判断の根拠がわかりにくい問題に対して，画像のどの部分が判断に影響したのか説明を容易にする
    * 本モデルで学習される表現はvgg-16等のモデルで学習されるものと類似している
    * 本モデルのヒートマップを元に画像の一部をマスキングし続けて分類モデルに入力すると，他のマスキング手法でマスクした画像よりも早く認識の確率が低下する．つまり本モデルのヒートマップはクラス分類に有効な部分に着目できている．

* 図表，数式のフォーマットは省略しています．

## abst 

* DNNは認識タスクの性能は高いがなぜその判断を下したかわかりにくい
    * 決定を説明するのが非常に簡単な，ImageNetにおける高性能DNN構造を提案する
        * resNet-50の変種であり，BagNetと呼ぶが，位置的な順番を無視した小さい局所画像特徴に基づいて分類する
            * deepの台頭以前に人気があったbag-of-feature(BoF)と密接に関連している
                * ImageNetで高い性能(33x33pxでtop-5が87.6%)
        * 局所特徴の制約は画像のどの部分が分類に影響したのかの説明を簡単にする
        * さらに，BagNetsはVGG-16, ResNet-152, DenseNet-169のようなsotaの手法と同様のfeature sensitivity，誤差分布，画像の部分間の相互作用を持つ．
            * このことから，bag-of-feature分類器を超えるDNNの進歩は質的に異なる決定戦略ではなく，より良いfine-tuningによって達成されていたと言える．

## 5 DISCUSSION & OUTLOOK

* 線形のbag-of-local-featureに基づいて画像分類するBagNetsを導入した
    * 結果はImageNetのような複雑な認識タスクでも空間的情報がない小さい画像特徴で解けることを示している
* さらに，空間的関係へのinvarianceや画像特徴間の弱いinteractoinsといったBagNetsのキーとなる特性を示したが，これらはResNet-50のような多くの一般computer vision modelでも見られ，ImageNetで訓練された多くのDNNの意思決定が少なくとも部分的にはbag-of-feature戦略と似ていることを示している．
    * bag-of-featureからdeepへの性能の跳躍とは対照的に，学習される表現はまだ似たようなもの．
* VGG-16は特にbag-of-feature modelと似ている(weak interactionsと小さな画像パッチへのsensitivityにより示された)
    * もっと深いネットワークは，画像パーツ間にもっと強い非線形interactionを示し，local maskingに対してsensitiveではない
        * このことはtexturisation(図5)がVGG-16では機能し，ResNetとDenseNetではしない理由を示している
* ImageNet単独ではDNNが世界のもっと物理的で因果関係のある表現を学習するのに十分ではない．
    * 単純にそのような表現はタスクを解くのに必要ではない
    * これはDNNがdistribution shiftsに弱い理由を説明している
        * 自然画像で訓練されたDNNは異なる物体(毛皮，猫の目，タイプライターのキーなど)に関連する局所画像特徴とテクスチャを認識するよう学習している．その判断の基準となる主要な局所画像特徴がない漫画のような画像が来たときには当然判断に失敗する
* 将来の方向は，局所的statistical regularitiesを使って解くことができないタスクを定義すること．
    * BagNetsは観測できるlength-scaleの関数としてタスク性能でのlower-boundを評価する手段を提供している
        * さらに，より良い解釈可能性がほしい応用へのツールとなる
            * 例えば，医療画像において特定の病気の予測を可能にする画像特徴や関連する空間的位置にスポットを当てる
            * 同様に，feature attributionベンチマークへの解析ツールになる．正解のattributionが直接利用できるから．
                * より大きいcomputer vision パイプライン(自動運転車とか)の解釈可能なpartsを提供できる．edgeとかfailure casesを理解するのが簡単だから．
    * pyTorchとkeras用にpretrained BagNetsを提供している．
* DNNは従来のhand-tuned bag-of-featureよりも, weak statistical regularitiesを見つけることでパワフルになる
    * しかし，DNNが実質的に異なる表現を学習しているとは限らない．
        * この研究がもっと世界のcausalなモデルを学習できるモデルを作るための訓練アルゴリズムとアーキテクチャ，タスクに適応するための研究をinspireできれば嬉しい．

## 1. INTRO

* DNN の意思決定の理解の障害は，hidden activationと入力の依存関係が複雑なこと
    * hidden unitのactivationは多くのinputの部分に依存し，hidden unitとそれ以降も同様の関係．
* そこで設計上解釈が容易なDNN構造を導入する．
    * deepの台頭前に最も有望だったbag-of-feature(BoF)に基づいている
* 簡潔にするため，解釈可能性とは小さな画像パッチからのevidenceが統合されて画像レベルでの決定に到達するやりかたのことを指すことにする．
    * 基本的なBoFモデルはシンプルで，patch-wiseなevidenceの空間的統合に対しては透明(=無関係？)であるが，DNNsは画像全体にわたる情報を非線形に統合する
* DNNの柔軟性や性能とBoFモデルの解釈可能性を結合できることを示し，その結果のモデル(BagNets)は小さい画像パッチに制限されてもImageNetで高いaccuracyを達成できることを示す．
* BoFモデルはシンプルなので，精度を多少犠牲にしても解釈可能性がほしいケースを考える．
    * たとえば線形関数近似で一般的
        * adversarial examplesの解析やnon-iidなセッティング(domain transfer)，diagnostic toolsのベンチマーク(attribution methods)，computer vision pipelineの解釈可能な部分を提供すること(局所特徴の上にrelational networkを使う)等が含まれる
* さらに，computer visionにおけるBagNetsの意思決定行動とDNNの類似性を示す．
    * これらの類似性は現在のネットワークアーキテクチャはその決定が大量の比較的弱い局所statistical regularitiesに基づいており，画像の異なる部分の間の因果関係を利用した全体的な特徴を学習するように十分にencouragedされていない

## 2. NETWORK ARCHITECTURE

* Bag-of-feature 表現はbag-of-wordsのアナロジーとして説明できる
    * bag-of-wordsでは，ドキュメント中の語彙から単語の生起回数をカウントする
        * 語彙は重要な単語を含んでおり（andとかtheのような一般的なものは含まない），word clusters(giganticやenourmousのような意味的に似た単語を包むもの)を含む
            * 語彙中の各単語のカウントは一つの長いterm vectorになる
                * 単語の順番がすべてなくなっているので，これはdocumentのbag-of-words表現と呼ばれる
    * 同様に，bag-of-feature表現は局所画像特徴のクラスタを表現するvisual wordsの語彙に基づいている
        * 画像のterm vectorは語彙中の各visual wordの生起回数
            * このterm vectorはclassifier(SVM or MLP)への入力に使われる
                * 多くの成功した画像分類モデルがこのパイプラインに基づいている(Csurka et al., 2004; Jurie & Triggs, 2005; Zhang et al., 2007; Lazebnik et al., 2006), see O’Hara & Draper (2011)) 
    * BoFモデルはterm vectorのトップにあるclassifierが線形なら実装が簡単
        * この場合，classifier上の与えられた入力の部分は入力のそれ以外と独立である
* 次のようにDNNベースのBoFモデルを構築する(figure 1)
    * 最初に2048次元の特徴表現をqxqピクセルの画像パッチから複数のstacked ResNet blocksを使って推定し，線形分類器を各パッチ(heatmaps)のクラスevidenceを推定するために適用する
        * 全てのpatchに渡るクラスevidenceを利用して画像レベルでのclass evidenceを推定する(logits)
            * この構造がその他のResNets(He et al., 2015)と違うのは多くの3x3 convolutionsを1x1convolutionsに置き換えたこと．それによって最上部のconvolutional layerの受容野サイズがqxqピクセルに制限される．
                * visual wordsへの明示的な割当はない
                    * これは高次元embeddingへのsparse projectionを通して追加できるが，解釈可能性への利益は見られなかった．
                * この構造をBagNet-qと予備，q in [9, 17, 33]でテストしている．
* 本モデルの重要な要素は局所特徴表現のトップにおいた**線形**分類器である
    * **線形**というのは線形の空間aggregationの組み合わせ(シンプルな平均)と，統合された特徴の上にある線形分類器を指す．
        * classifierと空間aggregationがどちらも線形で，ゆえにinterchangeableであることは，どのようにevidenceが局所画像パッチから画像レベルの決定に統合されるか正確に特定できる．

## 3 RELATED LITERATURE

### BoFモデルとDNN

* DNNとBoFモデルの要素を融合した構造はいくつかある
    * 主に，DNNはBoFで従来hand-tuneされていたfeature extractionステージを置き換えるのに使われ，pretrained DNNの中間または上位レイヤの特徴が使われている(Feng et al., 2017; Gong et al., 2014; Ng et al., 2015; Mohedano et al., 2016; Cao et al., 2017; Khan et al., 2016)．画像retrievalや地理的なシーン分類に．
    * 他にはDNNの訓練のinsights(data augmentationなど)がBoFとImproved Fisher Vector modelにtransferできるか(Chatfield et al. 2014)，SIFTとCNN特徴表現がどのように振る舞うか(Babenko & Lempitsky, 2015)
* 本提案のBoFモデル構造はシンプルで物体認識に使う普通のDNNに近いが，局所特徴での線形BoFモデルの解釈可能性を維持している．
    * BoFとDNNの意思決定の関係を調査した最初の論文．

### Interpretable DNNS

* 本提案はDNNと，もっと解釈可能な要素とを一緒につかた手法と密接に関連している．
    * Pinherio & Collobert(2014)は単一ピクセルの明示的なラベリングを画像レベルへの統合前に追加した
        * 各ピクセルのラベルは，全体の画像から推定されるものだが，ピクセルの割当は解釈が難しい．
    * Xiao et al.(2015)は分類決定に到達するために物体，パーツ，ドメイン，の検出器を結合したマルチステップ手法を提案した．
        * 本手法はもっとシンプルで，高い精度と解釈容易性を達成している
    * attention-based機構のほかにピクセルレベルのevidenceの集積をもっと解釈可能にするための幾つかの試みがある
        * Hinton et al(2015)はsoft decision treesを導入した．
            * これはneural networksの予測上で訓練される
            * decision treesの性能を向上させるが，ImageNetのようなデータセットでのneural networksとの差は大きい．
        * Li et al.(2017)はautoencoder構造と浅いclassifierに基づくprototype表現を組み合わせた
        * Chen et al(2018)はクラス特有のprototype patchesを抽出するのに類似の手法を使ったが，畳み込み構造に基づいている
            * prototype-based classificationの解釈性は，プロトタイプと抽出された潜在表現の間のL2ノルムだけが考慮されているので，難しい．
        * Zhou et al.(2015)のクラスactivation mapは本提案と類似性がある．彼らもglobal average poolingありのCNNと線形分類器をクラス特有heatmapを抽出するのに使っている
            * しかし，彼らの潜在表現は画像全体から抽出され，潜在空間のヒートマップがピクセル空間とどのように関係するのか明らかでない
                * 本手法ではCNN表現はとても小さい画像パッチに制限され，どのように各画像パッチが最終決定に貢献するのか追跡することができる

### Scattering networks

* Oyallon et al.(2017)は2レイヤのMLPまたはResNet-10と小さい受容野(14x14)のscattering networkをscatterning networkのトップに置く形で組み合わせて使っている．
    * この手法はResNetに比べて全体のモデルの深さを減らすが，解釈可能性は増えない(局所scattering featuresの上にあるのが非線形分類器だから)
* 表面的に似ているが，関係ない手法は領域提案モデルである(Wei et al., 2016; Tang et al., 2017; 2016; Arandjelovic et al., 2015)
    * このようなモデルは普通関連する物体と小さい画像領域を推定するために画像全体を使う．
        * これらの領域は最も上位のDNNレイヤから空間的にそろったfeaturesのサブセットを抽出するために使われる(提案された画像パッチを遠く超えて情報は統合される)
            * 本提案は領域提案に依存しないし，小さい局所領域からのみ特徴を抽出する

## 4. RESULTS

* 異なるパッチサイズでのBagNetsの分類性能を調査し，解釈可能構造から導けるinsightsを示す．
    * その後，BagNetsの動作を比較(VGG-16, ResNet-50, DenseNet-169)し，それらの意思決定に多くの類似性があることを示す．

### 4.1 ACCURACY & RUNTIME OF BAGNETS ON IMAGENET

* BagNetsを直接ImageNetで訓練する
    * パッチサイズ17x17でAlexNet(Krizhevsky et al., 2012)に追いつく(80.5% top-5 performance)，また33x33でほぼ87.6%を達成
* vanilla ResNet-50に対して3x224x224でバッチサイズ64で，BagNet-q(q = 33, 17, 9)の推定にかかる時間を比較する
    * BagNetsの全てのreceptive field sizeで155 images/sであり，ResNet-50は570images/s．
        * 実行時間の違いはResNet-50と比較したBagNetsにおけるdownsamplingの量

### 4.2 EXPLAINING DECISIONS

* 各qxqパッチについて，モデルは各ImageNet クラスのevidenceを推定するが，ゆえに高解像度でとてもpreciseな，画像のどの部分が特定の決定に貢献したのかを示すheatmapを生成する(図２に予測されたクラスについてのheatmap)
    * 明らかに，多くのevidenceは物体の形状周辺または特定のpredictiveな画像特徴の周辺にある
        * 動物の場合は目や足が重要．
    * 背景特徴はBagNetsでは無視されている
* あるクラスを選び，BagNetを全てのvalidation画像で走らせる．最もclass evidenceがあるパッチを見つけるために
    * これらのパッチのいくつかはそのクラスの画像からとられた(正しいevidenceを伝搬している)
        * ほかのパッチは他のクラスの画像から来たもの(これらのパッチは誤分類につながる)
            * 図３に正しい，誤り両方のクラスからtop-7のパッチを示す．クラスが行，異なるBagNetsが列方向
                * この可視化から多くのinsightsがわかる
                    * book jacketsは主にカバー上のテキストによって特定されるが，ウェブサイトやTシャツ上のテキストと間違えやすい
                    * 同様に，タイプライターのキーはhandheld computersのevidenceとして解釈されやすい
                    * tench(ドクターフィッシュ)クラスは緑の背景に指が写っているものと間違えやすい
                        * 細かく調べると，tenchの画像は(釣り上げた)tench自体を人の指がトロフィーのように捧げ持っている物が多く，そのために手と指がpredictive image featureとなっている
                    * フラミンゴはクチバシで検出されるが，そのことが他の鳥例えばコウノトリ等と混同しやすい．
                    * 新郎はスーツから首への遷移で特定され，それは多くの他のクラスでも存在する
* 図４にBagNet-33とVGG-16で誤分類された画像を分析する(**何故間違ったのかを説明することができることに注意**)
    * 包丁クラスはグラニースミス（りんごの品種）と混同されやすい．トップ画像には緑のきゅうりが写っているから
        * 各ヒートマップに沿ってプロットされた３つの最もpredictiveなパッチを見ると，緑のきゅうりの破片のエッジがりんごのようなエッジを示している
    * 同様に，指ぬきの画像はガスマスクと似ている．
    * ミニスカートの画像中にある文字が非常にはっきりしており，ゆえにbook jacketと予測されている
    * 緑のブランケットの特徴がワカモレ(メキシコの料理)のテクスチャに似ている

### 4.3 COMPARING THE DECISION-MAKING OF BAGNETS AND HIGH-PERFORMANCE DNNS 

* VGG-16, ResNet-50, ResNet-152, DenseNet-169のようなDNNとBagNetsの意思決定がどのように似ているか調べる
    * ネットワーク間の妥当な距離metricがないので一言または数字としての答えはない
        * logits間のpearson correlationを計算できる(VGG-16とBagNet-9/17/33について 0.70 / 0.79 / 0.88 をそれぞれで達成, see Figure 1C)
            * 決定につながる特定のプロセスを調べていないので，この数字は第一ヒントにしかならない
                * しかしBagNetsの意思決定は他のモデルと比較できる主要な特性を特徴づける

#### Image Scrambling

* bag-of-feature networkのコアコンポーネントの一つは画像partsの空間的な関係を無視すること．
    * つまりpartsのカウントは変わらないようにして画像をscramblingしてもモデルの決定は変わらない．
        * VGGやResNetのようなモデルでも同じことが成り立つだろうか？
            * 残念ながら重複する受容野のためにfeature histogramを保って画像をscrambleするのは簡単ではない
                * VGG-16についてはこの目的に近いアルゴリズムは隠れレイヤactivationsのGram特徴に基づくテクスチャ合成アルゴリズムである(Gatys et al., 2015)  
                * 人間については，scramblingをかなり施すと，VGG-16は多少影響される(clean:90.1% texturised image: 79.4%)程度だが，人間にとってはタスクの難しさが増える
        * このことはVGGが，人間とは違って，認知判断のためにグローバルな形状統合ではなく，局所画像特徴のヒストグラムでのstatistical regularitiesに依存していることを示している
            * 戦術のテクスチャ合成アルゴリズムがResNetやDenseNetでは動作しないことは実践家によく知られており，その理由はまだ完全には理解されていない

#### Spatially distinct image manipulations do not interact

* 線形分類器(非線形ではない！)を持つBoFモデルについては，画像パーツの空間配置への不変性を期待するだけでなく，画像partsのmarginal presenceやある画像partが存在しないことがevidence accumulationにいつも同じ結果をもたらすことを期待する(つまり画像のその他のものと独立である)
    * 言い換えると，BoFモデルにとって５つの接続していない車輪があることは，通常の自転車の写真よりもbikeクラスのエビデンスをより伝搬しやすい：線形BoFモデルは単純にフレームやサドルがあるかどうかは無視する(車輪が２つしかない自転車の写真より，車輪が５つ写っていたほうが車輪の情報がたくさんあるので，自転車クラスっぽいと判断されやすいという意味)
        * 言い換えると，l_model(x)を入力ｘの関数であるクラスエビデンス(logit)とし，delta_iを空間的に分割された重複しない入力のmodification(微小変化)とする．modificationがqピクセル以上に分割されている限り，BagNet-qについて次が成り立つ
            * l_model(x) - l_model(x + sum_i delta_i) = sum_i (l_model(x) - l_model(x + delta_i)) (1)
                * 画像パーツ間の非線形インタラクションの測度として，Pearson correlation を(1)の左辺と右辺に使う
                    * 実験では画像を重複しないsquareサイズのパッチサイズqのパッチに分割する
                        * それから全ての２番めの行のすべての２番めのパッチをそのDC要素(空間チャネル平均)と入れ替える(どちらもisolation(独立に)((1)の右辺)とcombination((1)の左辺))(fig. 6B, 6A)
                            * このことはマスクされたパッチがq個のピクセルでspaceされており，常に画像の1/4程度がマスクされていることを保証する
                                * 物体が画像の大半を占めているので，マスキングにより多くのクラス予測可能な特徴が取り除かれると期待できる．
                        * 異なるパッチサイズqとDNNモデルに関して(1)の左辺と右辺のPearson correlationを計測する(figure 6 C)
                            * 結果はVGG-16では30pixel 以上占められた画像の部分間のinteractionが少ない
                                * interactionはより深く，性能の良いアーキテクチャで増加する

#### error distribution

* 図７でbagnet-33のImageNetのクラスの精度top-5， accuracyを示す
    * 比較のためVGG-16に対してVGG-11もプロットした
* 解析によりerror disributionはモデル間でかなり一貫しているとわかった

#### spatial sensitivity

* BagNetsとDNNが画像分類に類似した画像パーツを使うかどうか確認するため，Zintgraf et al.(2017)に従って，画像中の最も予測可能な画像partsをマスクした時どのようにDNNの予測が変わるかテストした．
    * fig8(top)で，マスクされた8x8のパッチの数を増やしながら予測されたクラス確率の減少を比較した．
    * マスクの位置はBagNetsのヒートマップによって決定した．
        * また，ランダムマスキングといくつかのattribution 手法について比較した(Baehrens et al., 2010; Sundararajan et al., 2017; Kindermans et al., 2018; Shrikumar et al., 2017) (DeepExplain (Ancona et al., 2017)の実装を使用した)
            * これらについてはテストされたモデルでヒートマップを直接計算した．
            * これらの手法はモデルに関する全てがわかっている状態でヒートマップを計算しているので有利になっている．(white-box setting)
                * にもかかわらず，BagNetsのヒートマップはクラスに関連する画像パーツについてもっともpredictiveだった．
                    * つまり，BagNetsに関連する画像部分は同様に普通のDNNの分類にも関連する．
                * VGG-16は局所パッチのマスキングに最も影響されたが，一方でよりdeepな性能のあるアーキテクチャは比較的小さいマスクについてはrobustだった．
                    * このことはdeeperなアーキテクチャは大域の関係を考慮していることを示す．
* 図８：leading class probabilityの減少が早いほど，ヒートマップがモデルの意思決定に関連する部分に注目していることになるので，性能が良いモデルということになるはず．