【模型解读】“不正经”的卷积神经网络
文章首發于微信公眾號《與有三學AI》
【模型解讀】“不正經”的卷積神經網絡
這是深度學習模型解讀第7篇,本篇我們將介紹不規則形狀的卷積。
作者&編輯 | 言有三
?
1 卷積中的不變性
圖像任務,都需要識別出圖像中的主體,用于分類,檢測,分割,比如下面的驗證碼識別。
但是同樣的目標,在不同的圖片中,會存在位置的偏移,角度的旋轉,尺度的大小。卷積神經網絡要能夠應對這些情況,比如分類任務,對于同樣的目標在不同圖像中的偏移,旋轉,尺度,要輸出同樣的結果。
?
這便是我們常說的旋轉,平移,尺度不變性了。
cnn有這個能力嗎?有。
前面我們說過pooling,它有一定的平移不變性,而且網絡越深,越強大。但是,它的這個能力仍然是有限的,受卷積核大小和感受野大小的約束。
尺度不變性和旋轉不變性呢?很遺憾,幾乎沒有,不然Hinton也不會搞capsule。
我們通常做的隨機裁剪,旋轉,縮放等操作,就是利用了cnn強大的學習能力,制造出了各種版本的圖片供其學習。為了模型的魯棒性,需要生成大量的數據。
一句話,網絡模型對于物體幾何形變的適應能力幾乎完全來自于數據本身所具有的多樣性。
?
2 為什么呢?
前面我們說了問題,那為什么會這樣呢?因為cnn就沒有顯式地學習這些信息,而卷積操作本身具有非常固定的幾何結構,標準的卷積操作是一個非常規矩的采樣,通常是正方形。
那,能不能不規矩呢?首先我們看什么是不規矩,下圖來自于【1】。
a圖大家很熟悉,標準的3*3卷積核,而b,c,d雖然也是9個采樣點,但是每個采樣點相對于中心點的偏移與a很不一樣。b是一個通用的展示,即完全沒有規律。c,d是b的特例。
我們將這樣的卷積,稱為(deformable?convolutional?networks)可變形卷積,筆者更喜歡稱之為“不正經卷積”。
這種“不正經卷積”的特點,1是采樣視野大于對應版本的標準卷積(帶孔卷積不算),2是它的感受野是不規則的形狀。
有什么好處呢?
我們看上面的一張圖,假如我們有一個分割任務,要分割出圖中的尺度不同的動物。
我們先看左邊的圖,標準的卷積,感受野必然是一個方方正正的區域。頂圖有一個中心像素,它的感受野是3*3,到了中間的圖,周圍四個角點又可以進一步擴展感受野,直到底部的圖。
所以對于頂部目標的中心像素,經歷了兩次3*3卷積,它的感受野是固定的5*5,與動物本身的形狀并不匹配。而同樣的兩個3*3的卷積,右邊的“不正經卷積”,則由于靈活的感受野,所覆蓋的區域更大,也更匹配了目標本身的形狀。
這是一個非常通用的問題,標準卷積對目標的形狀感受野不夠靈活,卷積的效率自然也就下降。而可變形卷積則利用了不規則可變化的形狀,改善了這兩個問題。
?
3 怎么實現?
可變形卷積這么靈活,實現起來麻煩嗎?答案是不麻煩,只需要增加一個偏移量即可,具體來說看下圖。
與標準卷積核相比,一個可變形卷積核,用于卷積的像素相對于中心像素各自的x,y方向上的偏移沒有了規律,如果我們學習到了這個規律(實際就是用卷積核來記錄它),就完成這件事情了。
實際實現就是多了一個offset層,通過offset輸出通道數,我們可以控制要學習的變形的種類。當然,這個通道數一定是2N的,因為要同時記錄x和y方向。
?
4 總結
做一個簡單的總結,首先我們說說好處。(1)增加了網絡的空間變形適應性,這也是網絡要解決的本質問題。(2)不增加額外的標注信息和訓練代價,仍然是原來的數據就可以訓練,而且同時訓練卷積系數和偏移量。(3)對于復雜的任務提升效果明顯,具體的實驗結果指標,可以至論文中看,也可以自己訓著看。
壞處主要是增加了參數量與計算量,不過這個計算量其實不大,可以通過分組進行控制。
值得注意的是,可變形卷積并非是第一個研究這個問題的,在STN【2】中,已經通過Spatial?TransformerLayer來實現了對旋轉平移縮放等信息的學習。Active?Convolution,Atrous?convolution等都試圖解決類似問題,在此就不一一講解了,大家可以自己拓展學習。
參考文獻
【1】Dai?J,?Qi?H,?Xiong?Y,?et?al.?Deformable?convolutional?networks[J].?CoRR,?abs/1703.06211,?2017,1(2):?3.
【2】Jaderberg M, Simonyan K, Zisserman A. Spatial transformer networks[C]//Advances in neural information processing systems. 2015: 2017-2025.
同時,在我的知乎專欄也會開始同步更新這個模塊,歡迎來交流
https://zhuanlan.zhihu.com/c_151876233
注:部分圖片來自網絡
—END—
?
轉載請留言,侵權必究
本系列的完整目錄:
【模型解讀】從LeNet到VGG,看卷積+池化串聯的網絡結構
【模型解讀】network in network中的1*1卷積,你懂了嗎
【模型解讀】GoogLeNet中的inception結構,你看懂了嗎
【模型解讀】說說移動端基準模型MobileNets
【模型解讀】pooling去哪兒了?
【模型解讀】resnet中的殘差連接,你確定真的看懂了?
【模型解讀】“不正經”的卷積神經網絡
【模型解讀】“全連接”的卷積網絡,有什么好?
【模型解讀】從“局部連接”回到“全連接”的神經網絡
【模型解讀】深度學習網絡只能有一個輸入嗎
【模型解讀】從2D卷積到3D卷積,都有什么不一樣
【模型解讀】淺析RNN到LSTM
感謝各位看官的耐心閱讀,不足之處希望多多指教。后續內容將會不定期奉上,歡迎大家關注有三公眾號 有三AI!
?
?
總結
以上是生活随笔為你收集整理的【模型解读】“不正经”的卷积神经网络的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【模型解读】“全连接”的卷积网络,有什么
- 下一篇: 【直播】深度卷积神经网络模型设计技术