iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 22
0
AI & Data

AI x 日常 x 30天系列 第 22

Epoch 22 - 論文筆記 x BagNet

  • 分享至 

  • xImage
  •  

今天分享一個有趣的論文:
Bag-of-local-Features models works surprisingly well on ImageNet

來自德國圖賓根大學的研究者們發現基於BoF的簡單模型可以在 ImageNet 上實現驚人的高準確率,
並且能超越或接近AlexNet, VGG的表現。
本文主要想從BoF這個傳統分類方法,來探討DNN模型到底是如何做決策?

在深度學習出現之前,Bag of Feature是一種常用的圖像分類的方法。
概念很簡單,一幅圖像可以看作許多個視覺Feature的集合。
例如人臉,雖然說不同人的臉不一樣,但眼睛,鼻子等一些小部位,卻觀察不到太大差別。

步驟:

  1. 我們可以把這些共同的部位提取出來,作為識別人臉的Feature。不同類別都可以這樣去提取
  2. 將所有特徵集合到一塊,再利用K-Means算法找出K個代表性的Feature,作為一個特徵表
  3. 統計表中每個特徵在圖像中出現的次數,就能將圖像表示成為一個K維數值向量。

BoF模型的優點是它的可解釋性和決策的透明性,我們可以準確地檢查是哪個feature導致它判斷成這個類別,
所以很容易理解模型如何做出決定。不像深度學習是一個黑盒子。

雖然不可否定深度學習確實表現的比BoF方法好,
但作者提出一個疑問,我們是否確定深度神經網絡確實使用了與BoF模型截然不同的決策策略?

為了驗證這個問題,作者提出一個BagNet的架構,
採用標準的ResNet-50架構,用1x1卷積替換大多數(但不是全部)3x3卷積。
限制最後一個卷積層中的隱藏單元每個只“看到”圖像的一小部分patch(9x9、17x17和33x33)

BagNet 的流程為:

  1. 將輸入圖像截取為 33×33 像素的patch。
  2. 在每一個patch上使用深度網絡獲得類別向量。
  3. 按空間對所有輸出的類別向量進行求和(所有截取的圖像塊)。
  4. 通過類別向量最大的元素計數預測分類類別。

model從截取的圖像塊抽取特徵,其中每一個patch會送到一個線性分類器中,
並為每個類別產生一個heatmap。求特徵空間內所有heatmap的均值,
並傳入 Softmax 函數後取得最終的類別機率。

根據實驗結果,ImageNet Top-5 準確率隨圖像塊大小的變化而變化。
即使對於非常小的patch,也有不錯的表現,:
尺寸為17 x 17像素的圖像特徵足以達到AlexNet的性能,
而尺寸為33 x 33像素的特徵達到約87%的Top-5準確率。

因此,深度網絡確實抽取了有用的空間信息(9x9, 17x17, 33x33)
但可能不是我們以前想像的全局空間範圍(例如 112×112 或 224×224).

BagNets的一大優點是決策是透明的,我們可以知道model是用哪些特徵來判斷類別。
例如,在tench(非常大的魚)類別,特徵通常用綠色背景上的手指識別。
為什麼?因為這個類別中的大多數圖像都有一個漁民像獎杯那樣舉起了一張十字架。每當BagNet錯誤地將圖像分類為tench時,通常是因為圖像中某處的綠色背景上有一些手指。

BagNets表明,基於local patch和object類別之間的弱統計相關性,可以在ImageNet上達到高精度。
如果這就夠了,為什麼像ResNet-50這樣的深度網路會學到任何根本不同的東西?

如果豐富的local patch特徵足以解決任務,為什麼ResNet-50應該了解複雜的大尺度關係,如object形狀?
為了驗證DNN遵循使否簡單的bof網絡使用類似的策略,作者做了以下四個假設:
並且在ResNets,DenseNets和VGG上進行實驗

Image Scrambling

決策對圖像特徵的空間重組是不變的

對於人類而言,重組嚴重增加了任務的難度,而VGG-16的性能幾乎沒有受到影響(90.1%->79.4%)
這表明VGG與人類形成鮮明對比,不依賴於全局形狀整合來進行感知辨別,
而是依賴於局部圖像特徵直方圖中的統計規律。

Spatially distinct image manipulations do not interact

不同圖像部分的修改應該是獨立的(就其對總類證據的影響而言)。
對於BoF模型,我們不僅期待patch排列不變性;
並且也期待當patch每次出現對於分類的影響是一樣的。
舉例來說,當圖上出現五個輪子的patch,BoF模型會更容易將它判定為腳踏車,
而不會去管是否有坐墊或是把手等等patch,

實驗方法是去遮擋圖的某些部分,並比較不同patch距離的影響,
觀察網路是否會去看patch和patch之間的交互關係。

對於VGG在遮擋30px以上,patch之間的交互很少,所以仍然可以有很高的正確率。
但對於resnet這類更深層網路,交互比較多。

Error distribution

若策略類似,標準CNN和BagNets產生的錯誤應該類似。
分析表明,模型之間的誤差分佈相當一致,
Bag-net預測低,CNN預測也低

Spatial sensitivity

標準CNN和BagNets應對類似特徵敏感。
測試當我們掩蓋最具預測性的圖像部分時DNN的預測是如何變化的
實驗根據不同的heatmap遮蔽具有最高歸屬的100個patch(8x8個像素)之後的類的平均概率。

可以看到,VGG-16受到遮蔽的影響最大,而且更深的網路有更強的性能,
這再次表明更深層次的結構考慮了更大的空間關係。

Conclusion

他們提出Bag-net 基於局部特徵加上線性分類器的方法
首先,它們表明解決ImageNet比許多人想像的要簡單得多。
模型可能不用理解全局,只要基於小的圖像特徵就能解決。
並且實驗顯示許多DNN的決策遵循類似BoF的方法。
特別是VGG網路,特性與BoF特別相似。
深度學習在某些程度上來說並沒有這麼“先進”。

但另一方面,較深的網絡(DenseNet)在圖像patch之間表現出更強的非線性交互,並且對局部遮擋不敏感。
顯然,僅憑ImageNet不足以迫使DNN學習更多的物理和因果表示。
我們必須認真思考如何構建我們的架構,任務和學習方法,以抵消這種弱統計相關性的趨勢。

其次,BagNet 更具可解釋性,可以幫助我們建構更透明的圖像分類流程。
例如自動駕駛,也許可以知道為什麼會辨識失敗。

第三,BagNet解釋了現代CNN中觀察到的一些現象,
例如對紋理的偏見以及他們忽略了空間排序。


上一篇
Epoch 21 - 畫出那雙鞋 x Sketch Me That Shoe
下一篇
Epoch 23 - 超解析度 x VDSR
系列文
AI x 日常 x 30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言