從AlexNet到MobileNet,帶你入門深度神經網絡

摘要: 在2018年3月13日雲棲社區,來自哈爾濱工業大學的沈俊楠分享了典型模式-深度神經網絡入門。本文詳細介紹了關於深度神經網絡的發展歷程,並詳細介紹了各個階段模型的結構及特色。算法

哈爾濱工業大學的沈俊楠分享了典型模式-深度神經網絡入門。本文詳細介紹了關於深度神經網絡的發展歷程,並詳細介紹了各個階段模型的結構及特色。
直播回顧請點擊
如下是精彩視頻內容整理:
問題引出
學習知識從問題引出入手是一個很好的方法,因此本文將能夠圍繞下面三個問題來展開:
1.DNN和CNN有什麼不一樣?有什麼關係?如何定義?
2.爲何DNN如今這麼火,它經歷怎麼一個發展歷程?
3.DNN的結構很複雜,怎麼能實際入門試一下呢?
本文思惟導圖以下:數組

_1


發展歷程
DNN-定義和概念
在卷積神經網絡中,卷積操做和池化操做有機的堆疊在一塊兒,一塊兒組成了CNN的主幹。
一樣是受到獼猴視網膜與視覺皮層之間多層網絡的啓發,深度神經網絡架構架構應運而生,且取得了良好的性能。能夠說,DNN實際上是一種架構,是指深度超過幾個類似層的神經網絡結構,通常可以達到幾十層,或者由一些複雜的模塊組成。網絡

_2


ILSVRC(ImageNet大規模視覺識別挑戰賽)每一年都不斷被深度學習刷榜,隨着模型變得愈來愈深,Top-5的錯誤率也愈來愈低,目前下降到了3.5%附近,而人類在ImageNet數據集合上的辨識錯誤率大概在5.1%,也就是目前的深度學習模型識別能力已經超過了人類。
從AlexNet到MobileNet
Alexnet
AlexNet是首次把卷積神經網絡引入計算機視覺領域並取得突破性成績的模型。
AlexNet有Alex Krizhevsky、llya Sutskever、Geoff Hinton提出,得到了ILSVRC 2012年的冠軍,再top-5項目中錯誤率僅僅15.3%,相對於使用傳統方法的亞軍26.2%的成績優良重大突破。
相比以前的LeNet,AlexNet經過堆疊卷積層使得模型更深更寬,同時藉助GPU使得訓練再可接受的時間範圍內獲得結果,推進了卷積神經網絡甚至是深度學習的發展。
下面是AlexNet的架構:架構

_3


AlexNet的特色有:
1.藉助擁有1500萬標籤、22000分類的ImageNet數據集來訓練模型,接近真實世界中的複雜場景。
2.使用更深更寬的CNN來提升學習容量。
3.靈活運用ReLU做爲激活函數,相對Sigmoid大幅度提升了訓練速度。
4.使用多塊GPU提升模型的容量。
5.經過LRN引入神經元之間的競爭以幫助泛化,提升模型性能。
6.經過Dropout隨機忽略部分神經元,避免過擬合。
7.經過縮放、翻轉、切割等數據加強方式避免過擬合。
以上爲典型的深度神經網絡運用的方法。
AlexNet在研發的時候,使用的GTX580僅有3GB的顯存,因此創造性的把模型拆解在兩張顯卡中,架構以下:
1.第一層是卷積層,針對224x224x3的輸入圖片進行卷積操做,參數爲:卷積核11x11x3,數量96,步長4,LRN正態化後進行2x2的最大池化。
2.第二層是卷積層,僅與同一個GPU內的第一層輸出進行卷積,參數爲:卷積核5x5x48,疏朗256,LRN正態化後進行2x2的最大池化。
3.第三層是卷積層,與第二層全部輸出進行卷積,參數爲:3x3x256,數量384.
4.第四層是卷積層,僅與同一個GPU內的第三層輸出進行卷積,參數爲:卷積核3x3x192,數量384。
5.第五層是卷積層,僅與同一個GPU內的第三層輸出進行卷積,參數爲:卷積核3x3x192,數量256,進行2x2的最大池化。
6.第六層是全鏈接層,4096個神經元。
7.第七層是全鏈接層,4096個神經元。
8.第八層是全鏈接層,表明1000個分類的SoftMax。
VGGNet
VGGNet是Oxford的Visual Geometry Group提出的CNN模型,得到了ILSVRC 2014年定位比賽以25.3%錯誤率得到冠軍,分類比賽僅次於GoogLeNet,top-5的錯誤率爲7.32%。
VGGNet和GooLeNet分別獨立採用了更深的網絡結果,可是在設計上各有千秋。VGGNet繼承了AlexNet的設計,可是作了更多的優化:
1.更深的網絡,經常使用的有16層和9層,取得良好性能。
2.更簡單,僅僅使用了3x3卷積核以及2x2最大池化,探索了深度與性能之間的關係。
3.收到Network in Network的影響,VGGNet的某些模型也用到了1x1卷積核。
4.採用多塊GPU並行訓練。
5.因爲效果不明顯,放棄了Local Response Normailzation的使用。
網絡結構大體以下:框架

_4


在深度學習中,咱們常常須要用到一些技巧,好比將圖片進行去中心化、旋轉、水平位移、垂直位移、水平翻轉等,經過數據加強(Data Augmentation)以減小過擬合。
ResNet
ResNet(Residual Neural Network)由微軟亞洲研究院的Kaiming He等提出,經過使用Residual Unit成功訓練152層深的神經網絡,在ILSVRC2015比賽中得到了冠軍,top-5錯誤率爲3.57%,同時參數量卻比VGGNet低不少。
ResNet的靈感出自於這個問題:以前的研究證實了深度對模型性能相當重要,但隨着深度的增長,準確度反而出現衰減。使人意外的是,衰減不是來自過擬合,由於訓練集上的準確度降低了。極端狀況下,假設追加的層都是等價映射,起碼不該該帶來訓練集上的偏差上升。
解決方案是引入殘差:某層網絡的輸入是x,指望輸出是H(x),若是咱們直接把輸入x傳到輸出做爲等價映射,而中間的非線性層就是F(x)=H(x)-x做爲殘差。咱們猜想優化殘差映射要比優化原先的映射要簡單,極端狀況下把殘差F(x)壓縮爲0便可。如圖所示:ide

_5


以上就是ResNet的殘差單元。殘差單元的好處是反響傳播的時候,梯度能夠直接傳遞給上一層,有效率低梯度消失從而能夠支撐更深的網絡。同時,ResNet也運用了Batch Normalization,殘差單元將比之前更容易訓練且泛化性更好。
GoogLeNet
GoogLeNet是由Christian Szegedy等提出,主要思路是使用更深的網絡取得更好的性能,同時經過優化來減小計算的損耗。
GoogLeNet的模型爲Network in Network。AlexNet中卷積層用線性卷積覈對圖像進行內積運算,在每一個局部輸出後面跟着一個非線性的激活函數,最終獲得的叫作特徵函數。而這種卷積核是一種廣義線性模型,進行特徵提取時隱含地假設了特徵是線性可分的,可實際問題每每不是這樣的。爲了解決這個問題,Network in Network提出了使用多層感知機來實現非線性的卷積,實際至關於插入1x1卷積同時保持特徵圖像大小不變。函數

_6


使用1x1卷積的好處有:經過非線性變化增長本地特徵抽象能力,避免全鏈接層以下降過擬合,下降維度,只須要更少的參數就能夠。Network in Network從某種意義上證明了,更深的網絡性能更好。
GoogLenet把inception堆疊起來,經過稀疏的網絡來創建更深的網絡,在確保模型性能的同時,控制了計算量,從而更適合在資源有限的場景下進行預測。
MobileNet
傳統的CNN模型每每專一於性能,可是在手機和嵌入式應用場景中缺少可行性。針對這個問題,Google提出了MobileNet這一新模型架構。
MobileNet時小尺寸可是高性能的CNN模型,幫助用戶在移動設備或者嵌入式設備上實現計算機視覺,而無需藉助雲端的計算力。隨着移動設備計算力的日益增加,MobileNet能夠幫助AI技術加載到移動設備中。
MobileNet有如下特性:藉助深度方向可分離卷積來下降參數個數和計算複雜度;引入寬都和分辨率兩個全局超參數,能夠再延遲和準確性之間找到平衡點,適合手機和嵌入式應用;擁有頗具競爭力的性能,在ImageNet分類等任務獲得驗證;在物體檢測、細粒度識別、人臉屬性和大規模地理地位等手機應用中具有可行性。性能

理解實現-VGGNET風格遷移
風格遷移是深度學習衆多應用中很是有趣的一種,咱們可使用這種方法把一張圖片的風格「遷移」到另外一張圖片上生成一張新的圖片。
深度學習在計算機視覺領域應用尤其明顯,圖像分類、識別、定位、超分辨率、轉換、遷移、描述等等都已經可使用深度學習技術實現。其背後的技術能夠一言以蔽之:深度卷積神經網絡具備超強的圖像特徵提取能力。
其中,風格遷移算法的成功,其主要基於兩點:1.兩張圖像通過預訓練好的分類網絡,着提取出的高維特徵之間的歇氏距離越小,則這兩張圖象內容越類似。2.兩張圖像通過預訓練好的分類網絡,着提取出的低維特在樹枝上基本相等,則這兩張圖像風格越類似。基於這兩點,就能夠設計合適的損失函數優化網絡。
對於深度網絡來說,深度卷積分類網絡具備良好的特徵提取能力,不一樣層提取的特徵具備不一樣的含義,每個訓練好的網絡均可以視爲是一個良好的特徵提取器,另外,深度網絡有一層層的非線性函數組成,能夠視爲時複雜的多元非線性函數,此函數完成輸入圖像到輸出的映射。所以,萬千可使用訓練好的深度網絡做爲一個損失函數計算器。學習

_7


模型結構如圖所示,網絡框架分類兩部分,其一部分時圖像轉換網絡T(Image transform net)和預訓練好的損失計算網絡VGG-16,圖像轉換網絡T之內容圖像x爲輸入,輸出風格遷移後的圖像y,隨後內容圖像yc,風格圖像ys,以及y’輸入vgg-16計算特徵。
在這次深度神經網絡中參數損失函數分爲兩部分,對於最終圖像y’,一本分是內容,一本分是風格。
損失內容:_8,其中表明深度卷積網絡VGG-16感知損失:_9,其中G是Gram矩陣,計算過程爲:_10
總損失定計算方式:_11優化

原文連接

相關文章
相關標籤/搜索