论文阅读:Network In Network
源碼及論文地址:https://github.com/BVLC/caffe/wiki/Model-Zoo#network-in-network-model
這篇paper改進了傳統的CNN網絡,采用了少量的參數就輕松擊敗了Alexnet網絡,Alexnet網絡參數大小是230M,采用這篇paper的算法才29M,減小了將近10倍。另外,這篇paper提出的網絡結構,是對傳統CNN網絡的一種改進。
先看一下摘要,對NIN有個簡單的了解:
文章中的兩個創新點:
1. MlpConv卷積層
傳統卷積層時下圖左側方式的,可以理解為是一個簡單的單層網絡,而MlpConv可以看成是每個卷積的局部感受野中還包含了一個微型的多層網絡,用來提高非線性。利用多層Mlp的微型網絡,對每個局部感受野的神經元進行更加復雜的運算,而以前的卷積層,局部感受野的運算僅僅只是一個單層的神經網絡罷了。
一個MlpConv的網絡結構如下:
其實結構很簡單,就是三個卷積層的堆疊,我們用Netscope可視化后可以看到一個MlpConv層的結構如下圖:
2. 全局平均池化(Global Average Pooling)
傳統的卷積神經網絡卷積運算一般是出現在低層網絡。對于分類問題,最后一個卷積層的特征圖通過量化然后與全連接層連接,最后在接一個softmax邏輯回歸分類層。這種網絡結構,使得卷積層和傳統的神經網絡層連接在一起。我們可以把卷積層看做是特征提取器,然后得到的特征再用傳統的神經網絡進行分類。
然而,全連接層因為參數個數太多,往往容易出現過擬合的現象,導致網絡的泛化能力不盡人意。于是Hinton采用了Dropout的方法,來提高網絡的泛化能力。
本文提出采用全局均值池化的方法,替代傳統CNN中的全連接層。與傳統的全連接層不同,我們對每個特征圖一整張圖片進行全局均值池化,這樣每張特征圖都可以得到一個輸出。這樣采用均值池化,連參數都省了,可以大大減小網絡,避免過擬合,另一方面它有一個特點,每張特征圖相當于一個輸出特征,然后這個特征就表示了我們輸出類的特征。這樣如果我們在做1000個分類任務的時候,我們網絡在設計的時候,最后一層的特征圖個數就要選擇1000。
論文中提到的全局平均池化的優點:
1. 相比于用全連接操作,feature map和類別之間用池化操作更自然些;
2. 參數量少了很多;
3. 全局平均池化考慮了圖像的空間特性,因此對輸入的空間變換有很好的魯棒性。
在實驗部分,作者在CIFAR-10數據庫上給出了驗證:
第一行是MlpConv結構+全連接,由于存在過擬合,因此結果不是很好;第二行加入了dropout,結果提升了一些。第三行采用全局池化,結果是最優的。
最后,NIN采用的網絡結構是:
總結
以上是生活随笔為你收集整理的论文阅读:Network In Network的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机主机配置有哪些,电脑主机配置清单有
- 下一篇: 游戏人物标记——腾讯笔试