【模型解读】network in network中的1*1卷积,你懂了吗
文章首發于微信公眾號《與有三學AI》
【模型解讀】network in network中的1*1卷積,你懂了嗎
這是深度學習模型解讀第二篇,本篇我們將介紹Network?InNetwork。
作者&編輯 | 言有三
Network?In?Network?是發表于2014年ICLR的一篇paper。這篇文章采用較少參數就取得了Alexnet的效果,Alexnet參數大小為230M,而Network?In?Network僅為29M,這篇paper主要兩大亮點:
?
01 提出MLP卷積層
下圖是傳統卷積結構:
使用relu的一個非線性變換操作為:
i,j表示像素下標,xi,j表示像素值,wk表示卷積參數,k就是下標的索引。
MLP卷積層結構如下圖:
mlpconv層的計算公式為:
i,j表示像素下標,xi,j表示像素值,wk,n表示第n層卷積卷積參數。
從以上可以看出,MLP卷積層通過疊加"micro?network"網絡,提高非線性表達,而其中的"micro?network"基本組成單元是1*1卷積網路,說到這,就要解釋一下1*1卷積了,該篇論文是首次提出1*1卷積,具有劃時代的意義,之后的Googlenet借鑒了1*1卷積,還專門致謝過這篇論文。
1*1卷積的意義:
1.?實現了不同通道同一位置的信息融合
?
如上圖,C2融合了C1不同通道同一位置的信息。
2.?可以實現通道數的降維或升維
1*1*n,如果n小于之前通道數,則實現了降維,如果n大于之前通道數,則實現了升維。
?
02 用全局均值池化代替全連接層
首先讓我們看下Network?In?Network的網絡結構,如下圖。
上圖看出,該網絡結構有三個MLP卷積層組成,每個MLP卷積層分別是一個普通卷積,加兩個1*1卷積。以1000分類為例,最后一個1*1卷積輸出的featuremap大小為6*6*1000。之后每個featuremap采用全局均值池化,輸出1000個分類。由于沒有全連接的大量參數,使用全局均值池化不需要參數,極大的降低了參數量。
如下圖是在CIFAR-10?數據集中?Global?average?pooling?和?fully?connected測試對比圖,?從下圖可以看出無參數的Global?average?pooling層?相比較于有參數的全連接層錯誤率更低。
03 總結
Network?In?Network通過創新的創建MLP卷積層,提高了網絡的非線性表達同時降低了參數量,用全局均值池化代替全連接層,極大的降低了參數量。
?
參考文獻
Lin?M,?Chen?Q,?Yan?S.?Network?In?Network[J].?Computer?Science,?2014
?
同時,在我的知乎專欄也會開始同步更新這個模塊,歡迎來交流
https://zhuanlan.zhihu.com/c_151876233
注:部分圖片來自網絡
—END—
轉載請留言,侵權必究
本系列的完整目錄:
【模型解讀】從LeNet到VGG,看卷積+池化串聯的網絡結構
【模型解讀】network in network中的1*1卷積,你懂了嗎
【模型解讀】GoogLeNet中的inception結構,你看懂了嗎
【模型解讀】說說移動端基準模型MobileNets
【模型解讀】pooling去哪兒了?
【模型解讀】resnet中的殘差連接,你確定真的看懂了?
【模型解讀】“不正經”的卷積神經網絡
【模型解讀】“全連接”的卷積網絡,有什么好?
【模型解讀】從“局部連接”回到“全連接”的神經網絡
【模型解讀】深度學習網絡只能有一個輸入嗎
【模型解讀】從2D卷積到3D卷積,都有什么不一樣
【模型解讀】淺析RNN到LSTM
感謝各位看官的耐心閱讀,不足之處希望多多指教。后續內容將會不定期奉上,歡迎大家關注有三公眾號 有三AI!
?
?
總結
以上是生活随笔為你收集整理的【模型解读】network in network中的1*1卷积,你懂了吗的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【模型解读】从LeNet到VGG,看卷积
- 下一篇: 【模型解读】GoogLeNet中的inc