CNN模型之NIN

一、介紹

        NIN網絡是由Min Lin等人在2014年提出的一個網絡嵌套模型,使用微神經網絡替換卷積神經網絡中的卷積核。通過微神經網絡來抽象感受野內的數據。稱這種微神經網絡結構爲mplconv。這篇論文的創新之處主要體現在兩個地方,分別是:

  1. 使用微神經網絡替換傳統卷積神經網絡的卷積核。
  2. 使用全局平均池化替代全連接層。
     Comparison of linear convolution layer and mlpconv layer

        微神經網絡是由多層感知機實現的,上圖中(a)圖是傳統的通過卷積核窗口在輸入數據上滑動,對感受野內的數據進行抽象化。這種方式是線性的。(b)中就是論文提出的微神經網絡。這是一種非線性的方式。通過實驗,這種方法可以更好的抽象數據的特徵。

二、模型結構

NIN網絡結構
        NIN網絡中包括三個mplconv層和一個平均池化層的疊加。

  • 第一個mplconv:5×55\times5conv(ReLU) + 1×11\times1conv(ReLU) + 1×11\times1conv(ReLU+MaxPool+Droput)
  • 第二個mplconv:5×55\times5conv(ReLU) + 1×11\times1conv(ReLU) + 1×11\times1conv(ReLU+AvgPool+Droput)
  • 第三個mplconv:3×33\times3conv(ReLU) + 1×11\times1conv(ReLU) + 1×11\times1conv(ReLU)
  • 平均池化層:通過平均池化得到的結果輸入softmax中。

        從網絡的結構中,我們可以注意到MPL的實現是通過1×11\times 1的卷積覈實現,1×11\times 1的卷積核可以實現跨通道的交互和信息融合,可以對通道數進行降維和升維。在之後的ResNet、GoogLeNet網絡中也用到。另外一個改進是全局平均池化代替全連接層。我們都知道全連接層參數多且容易發生過擬合。通過mplconv最後一層讓每一類對應一個特徵圖。然後使用平均池化進行運算,在輸入到softmax中得到最後的分類結果。並且全局平均池化也起到了正則化的作用。實驗結果如下:
實驗結果

三、總結

        NIN網絡可以總結爲兩個方面的改進,一是使用微神經網絡代替卷積核,二是使用全局平均池化代替全連接層。經過在cifar-10數據上實驗,此網絡的結果要好於當前的最好模型。在看這個網絡時, 我也看了很多其他的網絡,也聽說過這個網絡。當我讀完論文之後,確實給我拓寬了思路,原來這塊也可以更改。同樣可以達到更好的結果。因此。我的感悟還是要見多識廣。學習別人的思路。

友情鏈接:
代碼實現:https://github.com/guoyuantao/CNN_Model/tree/master/CNN_on_cifar_ByPytorch
聯繫方式:2391855138(加好友請備註)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章