本文將以 Alex-Net、VGG-Nets、Network-In-Network 為例,分析幾類經典的卷積神經網絡案例。
在此請讀者注意,此處的分析比較并不是不同網絡模型精度的“較量”,而是希望讀者體會卷積神經網絡自始至今的發展脈絡和趨勢。
這樣會更有利于對卷積神經網絡的理解,進而舉一反三,提高解決真實問題的能力。
01
Alex-Net 網絡模型
Alex-Net 是計算機視覺領域中首個被廣泛關注并使用的卷積神經網絡,特別是 Alex-Net 在 2012 年 ImageNet 競賽 中以超越第二名 10.9個百分點的優異成績一舉奪冠,從而打響了卷積神經網絡乃至深度學習在計算機視覺領域中研究熱潮的“第一槍”。
Alex-Net 由加拿大多倫多大學的 Alex Krizhevsky、Ilya Sutskever(G. E. Hinton 的兩位博士生)和 Geoffrey E. Hinton 提出,網絡名“Alex-Net”即 取自第一作者名。
關于 Alex-Net 還有一則八卦:由于 Alex-Net 劃時代的意義,并由此開啟了深度學習在工業界的應用。
2015 年 Alex 和 Ilya 兩位作者連同“半個”Hinton 被 Google 重金(據傳高達 3500 萬美金)收買。
但為何說“半個”Hinton? 只因當時 Hinton 只是花費一半時間在 Google 工作,而 另一半時間仍然留在多倫多大學。
下圖所示是 Alex-Net 的網絡結構,共含五層卷積層和三層全連接層。其中,Alex-Net 的上下兩支是為方便同時使用兩片 GPU 并行訓練,不過在第三層卷積和全連接層處上、下兩支信息可交互。
由于兩支網絡完全一致, 在此僅對其中一支進行分析。下表列出了 Alex-Net 網絡的架構及具體參數。
單在網絡結構或基本操作模塊方面,Alex-Net 的改進非常微小,構建網絡的基本思路變化不大,僅在網絡深度、復雜度上有較大優勢。
圖1Alex-Net 網絡結構
Alex-Net 網絡架構及參數
不過仍需指出 Alex-Net 的幾點重大貢獻,正因如此,Alex-Net 方可在整個卷積神經網絡甚至連接主義機器學習發展進程中占據里程碑式的地位。
Alex-Net 首次將卷積神經網絡應用于計算機視覺領域的海量圖像數 據集 ImageNet(該數據集共計 1000 類圖像,圖像總數約 128 多 萬張),揭示了卷積神經網絡擁有強大的學習能力和表示能力。
另一方面,海量數據同時也使卷積神經網絡免于過擬合。可以說二者相輔相成,缺一不可。自此便引發了深度學習,特別是卷積神經網絡在計算機視覺領域中“井噴”式的研究。
利用 GPU 實現網絡訓練。在上一輪神經網絡研究熱潮中,由于計算資源發展受限,研究者無法借助更加高效的計算手段(如 GPU),這也較大程度地阻礙了當時神經網絡的研究進程。
“工欲善其事,必先利其器”,在 Alex-Net 中,研究者借助 GPU 將原本需數周甚至數月的網絡訓練過程大大縮短至 5~6 天。
在揭示卷積神經網絡強大能力的同時,這無疑也大大縮短了深度網絡和大型網絡模型開發研究的周期并降低了時間成本。縮短了迭代周期,正是得益于此,數量繁多、立意新穎的網絡模型和應用才能像雨后春筍一般層出不窮。
一些訓練技巧的引入使“不可為”變成“可為”,甚至是“大有可為”。如 ReLU 激活函數、局部響應規范化操作、為防止過擬合而采取的數據增廣(data augmentation)和隨機失活(dropout)等。
這些訓練技巧不僅保證了模型性能,更重要的是為后續深度卷積神經網絡的構建提供了范本。實際上,此后的卷積神經網絡大體都遵循這一網絡構建的基本思路。
局部響應規范化(LRN)要求對相同空間位置上相鄰深度(adjacent depth)的卷積結果做規范化。
假設adi,j為第 d 個通道的卷積核在 (i, j) 位置處的輸出結果(即響應),隨后經過 ReLU 激活函數的作用,其局部響應規范化的結果bdi,j可表示為:
其中,n 指定了使用 LRN 的相鄰深度卷積核數目,N 為該層所有卷積核數目。k、n、α、β 等為超參數,需通過驗證集進行選擇,在原始 Alex-Net中這些參數的具體賦值如上表所示。
使用 LRN 后,在 ImageNet 數據集上Alex-Net 的性能分別在 top-1 和 top-5 錯誤率上降低了 1.4% 和 1.2%;此外,一個四層的卷積神經網絡使用 LRN 后,在 CIFAR-10 數據上的錯誤率也從 13% 降至 11%。
LRN 目前已經作為各個深度學習工具箱的標準配置,將 k、n、α、β等超參數稍做改變即可實現其他經典規范化操作。如當 “k = 0,n = N,α = 1,β = 0.5”時便是經典的 l2 規范化:
02
VGG-Nets 網絡模型
VGG-Nets 由英國牛津大學著名研究組 VGG(VisualGeometryGroup) 提出,是 2014 年 ImageNet 競賽定位任務 (localization task) 第一名和分類 任務第二名做法中的基礎網絡。
由于 VGG-Nets 具備良好的泛化性能,因而其在 ImageNet 數據集上的預訓練模型(pre-trained model)被廣泛應用于 除最常用的特征抽取 (feature extractor)外的諸多問題。
如物體候選框 (object proposal) 生成、細粒度圖像定位與檢索 (fine-grained object localization and image retrieval)、圖像協同定位 (co-localization) 等。
以 VGG-Nets 中的代表 VGG-16 為例,下表列出了其每層具體參數信息。
可以發現,相比 Alex-Net,VGG-Nets 中普遍使用了小卷積核以及“保持輸入大小”等技巧,為的是在增加網絡深度 (即網絡復雜度) 時確保各層輸入大小隨深度增加而不急劇減小。
同時,網絡卷積層的通道數 (channel) 也從 3 → 64 → 128 → 256 → 512 逐漸增加。
VGG-16 網絡架構及參數
03
Network-In-Network
Network-In-Network(NIN) 是由新加坡國立大學 LV 實驗室提出的異于傳統卷積神經網絡的一類經典網絡模型,它與其他卷積神經網絡的最大差異是用多層感知機(多層全連接層和非線性函數的組合)替代了先前卷積網絡中簡單的線性卷積層,如下圖所示。
我們知道,線性卷積層的復雜度有限,利用線性卷積進行層間映射也只能將上層特征或輸入進行
“簡單”的線性組合形成下層特征。而 NIN 采用了復雜度更高的多層感知機 作為層間映射形式,這一方面提供了網絡層間映射的一種新可能。
另一方面增加了網絡卷積層的非線性能力,使得上層特征可以更復雜地被映射到下層,這樣的想法也被后期出現的殘差網絡和 Inception 等網絡模型所借鑒。
圖2 傳統卷積模塊(a)與 NIN 網絡卷積模塊(b)
同時,NIN 網絡模型的另一個重大突破是摒棄了全連接層作為分類層的傳統,轉而改用全局匯合操作(global average pooling),如下圖所示。
NIN最后一層共有 C 張特征圖(feature map),分別對應分類任務的 C 個類別。全局匯合操作分別作用于每張特征圖,最后將匯合結果映射到樣本真實標 記。
可以發現,在這樣的標記映射關系下,C 張特征圖上的響應將很自然地分別對應到 C 個不同的樣本類別,這也是相對先前卷積網絡來講,NIN 在模型可解釋性上的一個優勢。
圖3 NIN 網絡模型整體結構
此示例中的 NIN 堆疊了三個多層感知機卷積層模塊和一個全局匯合操作層作為分類層
-
神經網絡
+關注
關注
42文章
4810瀏覽量
102906 -
gpu
+關注
關注
28文章
4915瀏覽量
130723 -
計算機視覺
+關注
關注
9文章
1706瀏覽量
46590
原文標題:3 個經典的卷積神經網絡案例分析
文章出處:【微信號:AI_Thinker,微信公眾號:人工智能頭條】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論