卷積神經網絡之-NiN網絡(Network In Network)

機器視覺cv 發佈 2020-01-05T09:36:32+00:00

更多內容請關注『機器視覺 CV』簡介Network In Network 是發表於 2014 年 ICLR 的一篇 paper。當前被引了 3298 次。

更多內容請關注『機器視覺 CV

簡介

Network In Network 是發表於 2014 年 ICLR 的一篇 paper。當前被引了 3298 次。這篇文章採用較少參數就取得了 Alexnet 的效果,Alexnet 參數大小為 230M,而 Network In Network 僅為 29M,這篇 paper 主要兩大亮點:mlpconv (multilayer perceptron,MLP,多層感知機) 作為 "micro network" 和 Global Average Pooling(全局平均池化)。論文地址:https://arxiv.org/abs/1312.4400

創新點

(1) mlpconv Layer

在介紹 mlpconv Layer 之前,我們先看看經典的 Linear Convolutional Layer(線性卷積層)是怎麼進行操作的,


(i, j) 是特徵圖中像素的位置索引,x_ij 表示像素值,而 k 用於特徵圖通道的索引,W 是參數,經過 WX 計算以後經過一個 relu 激活進行特徵的抽象表示。

下面就介紹 mlpconv Layer 結構



i, j 表示像素下標,xi,j 表示像素值,wk,n 表示第 n 層卷積卷積參數。 以上結構可以進行跨通道的信息融合。MLP 的參數也可以使用 BP 算法訓練,與 CNN 高度整合;同時,1×1 卷積可以實現通道數的降維或者升維,11n,如果 n 小於之前通道數,則實現了降維,如果 n 大於之前通道數,則實現了升維。

(2) Global Average Pooling Layer

之前的卷積神經網絡的最後會加一層全連接來進行分類,但是,全連接層具有非常大的參數量,導致模型非常容易過擬合。因此,全局平均池化的出現替代了全連接層。我們在最後一層 mlpconv 得到的特徵圖使用全局平均池化(也就是取每個特徵圖的平均值)進而將結果輸入到 softmax 層中。

全局平均池化的優點

  • 全局平均池化沒有參數,可以避免過擬合產生。
  • 全局平均池可以對空間信息進行匯總,因此對輸入的空間轉換具有更強的魯棒性。

下圖是全連接層和全局平均池化的一個對比圖


整體網絡架構

NiN 網絡由三個 mlpconv 塊組成,最後一個 mlpconv 後使用全局平均池化。用 Pytorch 代碼實現如下:假設輸入是 32×32×3 (即 3 通道,32 高寬大小的圖片)

import torch
import torch.nn as nn

class NiN(nn.Module):
    def __init__(self, num_classes):
        super(NiN, self).__init__()
        self.num_classes = num_classes
        self.classifier = nn.Sequential(
                nn.Conv2d(3, 192, kernel_size=5, stride=1, padding=2),
                nn.ReLU(inplace=True),
                nn.Conv2d(192, 160, kernel_size=1, stride=1, padding=0),
                nn.ReLU(inplace=True),
                nn.Conv2d(160,  96, kernel_size=1, stride=1, padding=0),
                nn.ReLU(inplace=True),
                nn.MaxPool2d(kernel_size=3, stride=2, padding=1),
                nn.Dropout(0.5),

                nn.Conv2d(96, 192, kernel_size=5, stride=1, padding=2),
                nn.ReLU(inplace=True),
                nn.Conv2d(192, 192, kernel_size=1, stride=1, padding=0),
                nn.ReLU(inplace=True),
                nn.Conv2d(192, 192, kernel_size=1, stride=1, padding=0),
                nn.ReLU(inplace=True),
                nn.AvgPool2d(kernel_size=3, stride=2, padding=1),
                nn.Dropout(0.5),

                nn.Conv2d(192, 192, kernel_size=3, stride=1, padding=1),
                nn.ReLU(inplace=True),
                nn.Conv2d(192, 192, kernel_size=1, stride=1, padding=0),
                nn.ReLU(inplace=True),
                nn.Conv2d(192,  10, kernel_size=1, stride=1, padding=0),
                nn.ReLU(inplace=True),
                nn.AvgPool2d(kernel_size=8, stride=1, padding=0),

                )

    def forward(self, x):
        x = self.classifier(x)
        logits = x.view(x.size(0), self.num_classes)
        probas = torch.softmax(logits, dim=1)
        return logits, probas

結果分析

  • CIFAR-10 測試數據集

NIN + Dropout 得到 10.41% 的錯誤率,加上數據增強(平移和水平翻轉)錯誤率降到了 8.81%


以上曲線對比了有無 Dropout 機制前 200 epoch 的錯誤率,實驗結果表明,引入 Dropout 機制,可以降低測試集 20% 的錯誤率

在 CIFAR-10 測試數據集上對比了全連接層和全局平均池化的效果

  • CIFAR-100


上面對比方法時提到了 maxout,這是是蒙特婁大學信息與信息技術學院的幾位大牛 2013 年在 ICML 上發表的一篇論文,有興趣的可以看:https://arxiv.org/abs/1302.4389

  • Street View House Numbers (SVHN) 街景門牌號碼數據集
  • MNIST

NiN + Dropout 效果在 MNIST 上效果比 maxout +Dropout 遜色了點

總結


Network In Network 通過創新的創建 MLP 卷積層,提高了網絡的非線性表達同時降低了參數量,用全局均值池化代替全連接層,極大的降低了參數量。

參考:

  • 有三 AI【模型解讀】network in network 中的 1*1 卷積,你懂了嗎
  • http://teleported.in/posts/network-in-network/
  • https://openreview.net/forum?id=ylE6yojDR5yqX
  • https://d2l.ai/chapter_convolutional-modern/nin.html 動手學深度學習
  • https://github.com/jiecaoyu/pytorch-nin-cifar10
關鍵字:

懷孕十月都退不掉的色斑,居然開始淡化了!!

2021-11-16T03:48:01.559567+00:00

知道產後皮膚會變差,但這也太扯了吧⋯斑跟荳印遮都遮不掉,還卡粉、起皮😭

產後好一段時間沒有打扮。上次姐妹難得揪逛街,一上妝⋯先不提懷孕時跑出來的斑跟荳印,遮都遮不掉

各種卡粉、起皮,就像臉刮過沙塵暴😭

雖然知道產後皮膚會變差,但這也太扯了吧⋯

還被老公說,還不如不要畫⋯

 

突然想起產前,我的美容師跟我推薦一款『幹細胞急救安瓶』

說是每次開瓶,都釋放最新鮮的回春濃縮因子,助於肌膚代謝重啟!

它比起一般精華,更能立即達到滑嫩蛋白肌的狀態!

那時我只用了一盒(七天),皮膚就變的很光滑,效果還不錯

現在我也不太敢去打醫美(怕太敏感)

所以我又再買了這家安瓶,一次買一週期!看看能不能拯救災難產後肌

我每天都認真擦,剛開始膚況穩很多(他們家水感吸收超快,肌膚不會有負擔)

阿才一週,膚質就變很細膩

用到後面,更讓我驚喜的是,【懷孕十月都退不掉的色斑,居然開始淡化了】他們安瓶添加三大美白成分,搭配植物幹細胞的換膚代謝,肌膚就像嬰兒一樣新生!
 

雖然有點不便宜,但是比起其他無效保養,安瓶真的超值得,現在我皮膚比產前還要好呢


商品資訊

【急救美白2代】LADYWEIDER_煥膚靚白_凍乾細胞淡斑急救安瓶

https://www.cashin.tw/product/000000000034953