一、介紹
NIN網絡是由Min Lin等人在2014年提出的一個網絡嵌套模型,使用微神經網絡替換卷積神經網絡中的卷積核。通過微神經網絡來抽象感受野內的數據。稱這種微神經網絡結構爲mplconv。這篇論文的創新之處主要體現在兩個地方,分別是:
- 使用微神經網絡替換傳統卷積神經網絡的卷積核。
- 使用全局平均池化替代全連接層。
微神經網絡是由多層感知機實現的,上圖中(a)圖是傳統的通過卷積核窗口在輸入數據上滑動,對感受野內的數據進行抽象化。這種方式是線性的。(b)中就是論文提出的微神經網絡。這是一種非線性的方式。通過實驗,這種方法可以更好的抽象數據的特徵。
二、模型結構
NIN網絡中包括三個mplconv層和一個平均池化層的疊加。
- 第一個mplconv:conv(ReLU) + conv(ReLU) + conv(ReLU+MaxPool+Droput)
- 第二個mplconv:conv(ReLU) + conv(ReLU) + conv(ReLU+AvgPool+Droput)
- 第三個mplconv:conv(ReLU) + conv(ReLU) + conv(ReLU)
- 平均池化層:通過平均池化得到的結果輸入softmax中。
從網絡的結構中,我們可以注意到MPL的實現是通過的卷積覈實現,的卷積核可以實現跨通道的交互和信息融合,可以對通道數進行降維和升維。在之後的ResNet、GoogLeNet網絡中也用到。另外一個改進是全局平均池化代替全連接層。我們都知道全連接層參數多且容易發生過擬合。通過mplconv最後一層讓每一類對應一個特徵圖。然後使用平均池化進行運算,在輸入到softmax中得到最後的分類結果。並且全局平均池化也起到了正則化的作用。實驗結果如下:
三、總結
NIN網絡可以總結爲兩個方面的改進,一是使用微神經網絡代替卷積核,二是使用全局平均池化代替全連接層。經過在cifar-10數據上實驗,此網絡的結果要好於當前的最好模型。在看這個網絡時, 我也看了很多其他的網絡,也聽說過這個網絡。當我讀完論文之後,確實給我拓寬了思路,原來這塊也可以更改。同樣可以達到更好的結果。因此。我的感悟還是要見多識廣。學習別人的思路。
友情鏈接:
代碼實現:https://github.com/guoyuantao/CNN_Model/tree/master/CNN_on_cifar_ByPytorch
聯繫方式:2391855138(加好友請備註)