1. 程式人生 > >LeNet、AlexNet、GoogLeNet、VGG、ResNetInception-ResNet-v2、FractalNet、DenseNet

LeNet、AlexNet、GoogLeNet、VGG、ResNetInception-ResNet-v2、FractalNet、DenseNet

   2006年Hinton他們的Science Paper再次引起人工神經網路的熱潮,當時提到,2006年雖然Deep Learning的概念被提出來了,但是學術界的大家還是表示不服。當時有流傳的段子是Hinton的學生在臺上講paper時,臺下的機器學習大牛們不屑一顧,質問你們的東西有理論推導嗎?有數學基礎嗎?搞得過SVM之類嗎?回頭來看,就算是真的,大牛們也確實不算無理取鬧,是騾子是馬拉出來遛遛,不要光提個概念。

       時間終於到了2012年,Hinton的學生Alex Krizhevsky在寢室用GPU死磕了一個Deep Learning模型,一舉摘下了視覺領域競賽ILSVRC 2012的桂冠,在百萬量級的ImageNet資料集合上,效果大幅度超過傳統的方法,從傳統的70%多提升到80%多。個人覺得,當時最符合Hinton他們心境的歌非《我不做大哥好多年》莫屬。

       這個Deep Learning模型就是後來大名鼎鼎的AlexNet模型。這從天而降的AlexNet為何能耐如此之大?有三個很重要的原因:

  1. 大量資料,Deep Learning領域應該感謝李飛飛團隊搞出來如此大的標註資料集合ImageNet;
  2. GPU,這種高度並行的計算神器確實助了洪荒之力,沒有神器在手,Alex估計不敢搞太複雜的模型;
  3. 演算法的改進,包括網路變深、資料增強、ReLU、Dropout等,這個後面後詳細介紹。
  4. 資料擴充套件:裁剪,映象,平移,旋轉,顏色,光照等。

       從此,Deep Learning一發不可收拾,ILSVRC每年都不斷被Deep Learning刷榜,如圖1所示,隨著模型變得越來越深,Top-5的錯誤率也越來越低,目前降到了3.5%附近,而在同樣的ImageNet資料集合上,人眼的辨識錯誤率大概在5.1%,也就是目前的Deep Learning模型的識別能力已經超過了人眼。而圖1中的這些模型,也是Deep Learning視覺發展的里程碑式代表。


圖1. ILSVRC歷年的Top-5錯誤率

       在仔細分析圖1中各模型結構之前我們先需要了解一下深度學習三駕馬車之一————LeCun的LeNet網路結構。為何要提LeCun和LeNet,因為現在視覺上這些神器都是基於卷積神經網路(CNN)的,而LeCun是CNN的祖師爺,LeNet是LeCun打造的CNN經典之作。

       LeNet以其作者名字LeCun命名,這種命名方式類似的還有AlexNet,後來又出現了以機構命名的網路結構GoogLeNet、VGG,以核心演算法命名的ResNet。LeNet有時也被稱作LeNet5或者LeNet-5,其中的5代表五層模型。不過別急,LeNet之前其實還有一個更古老的CNN模型。

最古老的CNN模型

       1985年,Rumelhart和Hinton等人提出了後向傳播(Back Propagation,BP)演算法[1](也有說1986年的,指的是他們另一篇paper:Learning representations by back-propagating errors),使得神經網路的訓練變得簡單可行,這篇文章在Google Scholar上的引用次數達到了19000多次,目前還是比Cortes和Vapnic的Support-Vector Networks稍落後一點,不過以Deep Learning最近的發展勁頭來看,超越指日可待。

       幾年後,LeCun利用BP演算法來訓練多層神經網路用於識別手寫郵政編碼[2],這個工作就是CNN的開山之作,如圖2所示,多處用到了5*5的卷積核,但在這篇文章中LeCun只是說把5*5的相鄰區域作為感受野,並未提及卷積或卷積神經網路。關於CNN最原始的雛形感興趣的讀者也可以關注一下文獻[10]。


圖2. 最古老的CNN網路結構圖

LeNet

       1998年的LeNet5[4]標註著CNN的真正面世,但是這個模型在後來的一段時間並未能火起來,主要原因是費機器(當時苦逼的沒有GPU啊),而且其他的演算法(SVM,老實說是你乾的吧?)也能達到類似的效果甚至超過。


圖3. LeNet網路結構

       初學者也可以參考一下Caffe中的配置檔案:
https://github.com/BVLC/caffe/blob/master/examples/mnist/lenet.prototxt

AlexNet、VGG、GoogLeNet、ResNet對比

       LeNet主要是用於識別10個手寫數字的,當然,只要稍加改造也能用在ImageNet資料集上,但效果較差。而本文要介紹的後續模型都是ILSVRC競賽歷年的佼佼者,這裡具體比較AlexNet、VGG、GoogLeNet、ResNet四個模型。如表1所示。

模型名 AlexNet VGG GoogLeNet ResNet
初入江湖 2012 2014 2014 2015
層數 8 19 22 152
Top-5錯誤 16.4% 7.3% 6.7% 3.57%
Data Augmentation + + + +
Inception(NIN) +
卷積層數 5 16 21 151
卷積核大小 11,5,3 3 7,1,3,5 7,1,3,5
全連線層數 3 3 1 1
全連線層大小 4096,4096,1000 4096,4096,1000 1000 1000
Dropout + + + +
Local Response Normalization + +
Batch Normalization +
表1 AlexNet、VGG、GoogLeNet、ResNet對比

AlexNet

       接下里直接上圖即可,AlexNet結構圖如下:


圖4. AlexNet網路結構

       換個視角:


圖5. AlexNet網路結構精簡版

       AlexNet相比傳統的CNN(比如LeNet)有哪些重要改動呢:
(1) Data Augmentation
       資料增強,這個參考李飛飛老師的cs231課程是最好了。常用的資料增強方法有:

  • 水平翻轉
  • 隨機裁剪、平移變換
  • 顏色、光照變換

(2) Dropout

       Dropout方法和資料增強一樣,都是防止過擬合的。Dropout應該算是AlexNet中一個很大的創新,以至於Hinton在後來很長一段時間裡的Talk都拿Dropout說事,後來還出來了一些變種,比如DropConnect等。

(3) ReLU啟用函式

       用ReLU代替了傳統的Tanh或者Logistic。好處有:

  1. ReLU本質上是分段線性模型,前向計算非常簡單,無需指數之類操作;
  2. ReLU的偏導也很簡單,反向傳播梯度,無需指數或者除法之類操作;
  3. ReLU不容易發生梯度發散問題,Tanh和Logistic啟用函式在兩端的時候導數容易趨近於零,多級連乘後梯度更加約等於0;
  4. ReLU關閉了右邊,從而會使得很多的隱層輸出為0,即網路變得稀疏,起到了類似L1的正則化作用,可以在一定程度上緩解過擬合。

       當然,ReLU也是有缺點的,比如左邊全部關了很容易導致某些隱藏節點永無翻身之日,所以後來又出現pReLU、random ReLU等改進,而且ReLU會很容易改變資料的分佈,因此ReLU後加Batch Normalization也是常用的改進的方法。

(4) Local Response Normalization
       Local Response Normalization要硬翻譯的話是區域性響應歸一化,簡稱LRN,實際就是利用臨近的資料做歸一化。這個策略貢獻了1.2%的Top-5錯誤率。

(5) Overlapping Pooling
       Overlapping的意思是有重疊,即Pooling的步長比Pooling Kernel的對應邊要小。這個策略貢獻了0.3%的Top-5錯誤率。

(6) 多GPU並行
       這個不多說,比一臂之力還大的洪荒之力。

VGG

       VGG結構圖


圖6. VGG系列網路結構

       換個視角看看VGG-19:


圖7. VGG-19網路結構精簡版

       VGG很好地繼承了AlexNet的衣鉢,一個字:深,兩個字:更深。

GoogLeNet


圖8. GoogLeNet網路結構

       GoogLeNet依然是:沒有最深,只有更深。

       主要的創新在於他的Inception,這是一種網中網(Network In Network)的結構,即原來的結點也是一個網路。Inception一直在不斷髮展,目前已經V2、V3、V4了,感興趣的同學可以查閱相關資料。Inception的結構如圖9所示,其中1*1卷積主要用來降維,用了Inception之後整個網路結構的寬度和深度都可擴大,能夠帶來2-3倍的效能提升。


圖9. Inception結構

ResNet

網路結構如圖10所示。


圖10. ResNet網路結構

       ResNet依然是:沒有最深,只有更深(152層)。聽說目前層數已突破一千。

       主要的創新在殘差網路,如圖11所示,其實這個網路的提出本質上還是要解決層次比較深的時候無法訓練的問題。這種借鑑了Highway Network思想的網路相當於旁邊專門開個通道使得輸入可以直達輸出,而優化的目標由原來的擬合輸出H(x)變成輸出和輸入的差H(x)-x,其中H(X)是某一層原始的的期望對映輸出,x是輸入。


圖11. ResNet網路結構

總結

Deep Learning一路走來,大家也慢慢意識到模型本身結構是Deep Learning研究的重中之重,而本文回顧的LeNet、AlexNet、GoogLeNet、VGG、ResNet又是經典中的經典。

16年又有很多網路提出來,比較典型的有

 Inception-ResNet-v2:   將深度和寬頻融合到一起

為了進一步推進這個領域的進步,今天Google團隊宣佈釋出Inception-ResNet-v2(一種卷積神經網路——CNN),它在ILSVRC影象分類基準測試中實現了當下最好的成績。Inception-ResNet-v2是早期Inception V3模型變化而來,從微軟的殘差網路(ResNet)論文中得到了一些靈感。相關論文資訊可以參看我們的論文Inception-v4, Inception-ResNet and the Impact of Residual Connections on LearningInception-v4, Inception-ResNet以及殘差連線在學習上的影響):

Google最新開源Inception-ResNet-v2,藉助殘差網路進一步提升影象分類水準

殘差連線(Residual connections )允許模型中存在shortcuts,可以讓研究學者成功地訓練更深的神經網路(能夠獲得更好的表現),這樣也能明顯地簡化Inception塊。將兩種模型架構對比,見下圖:

Google最新開源Inception-ResNet-v2,藉助殘差網路進一步提升影象分類水準

Google最新開源Inception-ResNet-v2,藉助殘差網路進一步提升影象分類水準

在第二幅Inception-ResNet-v2圖中最上部分,你能看到整個網路擴充套件了。注意該網路被認為比先前的Inception V3還要深一些。在圖中主要部分重複的殘差區塊已經被壓縮了,所以整個網路看起來更加直觀。另外注意到圖中inception區塊被簡化了,比先前的Inception V3種要包含更少的並行塔 (parallel towers)。

如下方圖表所示,Inception-ResNet-v2架構的精確度比之前的最優模型更高,圖表中所示為基於單個影象的ILSVRC 2012影象分類標準得出的排行第一與排行第五的有效精確度。此外,該新模型僅僅要求兩倍於Inception v3的容量與計算能力。

Google最新開源Inception-ResNet-v2,藉助殘差網路進一步提升影象分類水準

例如,儘管Inception v3與Inception-ResNet-v2都很擅長識別每一條狗所屬的類別,這種新模型的效能更為顯著。例如,舊模型可能會錯誤地將右邊的圖片識別為阿拉斯加雪橇犬,新模型Inception-ResNet-v2能夠準確地識別兩個圖片中狗的類別。

Google最新開源Inception-ResNet-v2,藉助殘差網路進一步提升影象分類水準

阿拉斯加雪橇犬(左)和西伯利亞雪橇犬(右)。圖片來源:維基百科。

為了使人們理解開始試驗,我們也將要釋出新型Inception-ResNet-v2預訓練例項,作為TF-Slim 影象模型庫的組成部分。

看到本研究領域關於這一經過改進的模型所取得的進展,而且人們開始採用這種新模型,並將其效能在多種任務作對比,我們為此感到非常興奮。你也想要開始使用這種新模型嗎?讓我們一起來看看附帶的操作指示,學會如何訓練,評估或微調一個網路。

Inception-ResNet-v2具體程式碼實現過程參見:


隨著2012年AlexNet的一舉成名,CNN成了計算機視覺應用中的不二選擇。目前,CNN又有了很多其他花樣,比如R-CNN系列,

FractalNet

ResNet 是 ImageNet 2015 冠軍,通過讓網路對殘差進行學習,在深度和精度上做到了比CNN 更加強大。於是有人認為殘差結構對此很重要,本文提出一個不依賴於殘差的極深(Ultra-Deep)架構,指出殘差學習對極深CNN 並非必需。論文提出了極深CNN 中首個 ResNet 的替代品 FractalNet,並開發了一種新的正則化規則,無需資料增強就能大幅超越殘差網路效能。作者稱該結構可以自動容納過去已有的強大結構。

  • 【題目】分形網路:無殘差的極深神經網路(FractalNet:Ultra-Deep Neural Networks without Residuals)

  • 【作者】芝加哥大學 GustavLarsson,豐田工大學芝加哥分校 Michael Maire及 Gregory Shakhnarovich

摘要

  我們為神經網路的巨集觀架構引進了一種基於自相似的設計策略。單一擴充套件規則的重複應用生成一個極深的網路,其結構佈局正是一個截斷的分形。這樣的網路包含長度不同的相互作用子路徑,但不包含任何直通式連線(pass-through connections):每個內部訊號在被下一層看見之前,都被一個過濾器和非線性部件變換過了。這個性質與當前顯式規劃極深網路的結構使得訓練成為一個殘差學習問題的方法形成鮮明對比。我們的實驗表明,殘差表示不是極深卷積神經網路成功的基本要素。分形設計在 CIFAR-100 資料集(https://www.cs.toronto.edu/~kriz/cifar.html) 上達到 22.85% 的錯誤率,與殘差網路的最佳水平持平。

  除了高效能之外,分形網路還展現了有趣的性質。它們可被認為是各種深度的子網路的隱式聯合且計算效率高。我們探討了對於訓練的影響,簡單提及了與“師徒”行為的聯絡,最重要的,展示了提取高效能固定深度子網路的能力。為了實現後一個任務,我們發展路徑捨棄方法(drop-path;對 dropout 的自然擴充套件)正則化分形架構裡子路徑的協同適應。通過這樣的正則化,分形網路展示了一種無例外的性質:淺層子網路給出快捷的答案,而深度子網路(有較多延遲)給出更精準的答案。

1. 引言

  最近的 ResNet 在深度和精度上比卷積神經網路(CNN)做出了極大進步,方法是讓網路對殘差進行學習。ResNet 的變型以及類似的架構通過直接通道(pass-through channel;相當於恆等函式的網路)使用了共同的初始化和錨定技術。這樣,訓練有兩個方面不同。第一,目標變成對殘差輸出的學習而不是對未被提及的絕對對映學習。第二,這些網路展示了一種深度監督,因為接近恆等的層有效減少了損失距離。何愷明等人  推測前者(即殘差的構造)是關鍵的。

  答案並非如此。我們通過構造不依賴於殘差的極深架構揭示了這一點。我們的設計原則非常單純,用“分形”一個詞以及一幅圖(圖 1)就足以描述。可是,分形網路隱含地重現了過去的成功架構裡硬性加入的許多性質。深度監督不僅自然出現,並且驅動了一種網路內部的“師徒學習”(student-teacher learning)。其他設計的模組化構成單元幾乎都是分形網路巢狀子結構的特殊情形。

  對於分形網路,訓練的簡單性與設計的簡單性相對應。單個連線到最後一層的損失函式足以驅動內部行為去模仿深度監督。引數是隨機初始化的。由於包含不同深度的子網路,分形網路對總體深度的選取不敏感;讓深度足夠,然後訓練會刻劃出有用的子網路集合。

基於分形結構的極深神經網路,超越 <wbr>ImageNet <wbr>2015 <wbr>冠軍 <wbr>ResNet

  圖 1:分形架構。左:簡單的擴充套件規則生成分形架構。基礎情形 f1(z) 包含輸入輸出之間單個選定型別的層 (比如卷積層)。連線層計算了逐元素平均。右:深度卷積網路週期性地通過彙集來降低空間解析度。分形版本使用 fC 作為彙集層之間的建構單元。把 B 個這樣的塊堆起來就得到一個網路,其總深度是 B * 2^{C-1} (通過卷積層衡量)。這個例子的深度是 40 (B = 5, C = 4)。

  分形設計導致的一系列湧現行為可能會讓近期為了達到類似效果發展出的工程技巧變得不那麼必要。這些技巧包括,恆等初始化的殘差函式形式,手動深度監督,手工雕琢的架構模組,以及師徒訓練體系。第 2 節回顧了這些相互關聯的技術。混合設計當然可以把它們中任何一個與分形架構整合;關於這種混合體在多大程度上是多餘或是互相促進這個問題,我們持開放態度。

  我們的主要貢獻有以下兩點:

  1. 引入了 FractalNet,第一個在極深卷積神經網路領域對於ResNet 的替代品。FractalNet 在科學上令人吃驚,它表明了殘差學習對於極深網路不是必需的

  2. 通過分析和實驗,我們闡釋了FractalNet 與一系列被加入到之前深度網路設計的那些現象之間的聯絡。

  還有一個貢獻,我們為極深網路開發了一種稱為路徑捨棄的新的正則化規則。已有的關於深度殘差網路的工作其實缺乏有效正則化技術的展示,而僅僅依賴於資料增強。無需資料增強,通過 dropout 和路徑捨棄訓練的分形網路遠遠超過了報道的殘差網路的效能。

  路徑捨棄不僅是一種直觀的正則化策略,而且提供了保證訓練出的分形網路擁有無例外性質的方法。具體來說,訓練期間對路徑捨棄的特定安排阻止了不同深度的子網路的協同適應。結果就是,淺和深的網路必需各自能輸出正確結果。測試期間,對淺子網路的請求在整個網路完成之前給出快速而精度普通的答案。

  第 3 節給出了分形網路和路徑捨棄的細節。第 4 節提供了基於 CIFAR-10, CIFAR-100 以及 SVHN 資料集與殘差網路的比較。我們還評估了正則化和資料增強策略,探究了訓練期間的子網路師徒行為,評價了通過路徑捨棄得到的 anytime 網路。第 5 節提供了綜合。通過容納許多已知但看起來不同的設計原理,自相似結構也許會變成神經網路架構的基本元件。

2. 相關研究(略)

3. 分形網路

  我們從對圖1中描繪的想法的正式陳述開始。我們將以卷積神經網路作為例子和實驗平臺。但是,需要強調我們的框架更有一般性。原則上,為了生成其他分形架構,圖1 中的卷積層可以被替換為不同的層型別,甚至是定製化的模組或子網路。

  令C 表示截斷分形 fC(.)的指標。我們的網路結構、連線以及層型別,通過 C(.) 定義。包含單個卷積層的網路是基礎情形:

f1(z)= conv(z)                                     (1)

  我們遞迴定義接下來的分形:

f{C1}(z)= [ (fCo fC)(z)] ⊕[ conv(z) ]      (2)

  這裡 o 表示複合,而 ⊕ 表示連線操作。當以圖 1 的風格來畫時,C 對應於列數,或者說網路fC(.)的寬度。深度定義為從輸入到輸出的最長路徑上的 conv 層的個數,正比於2^{C-1}。用於分類的卷積網路通常分散佈置彙集層。為了達到相同目的,我們使用fC(.) 作為構建單元,將之與接下來的彙集層堆疊B 次,得到總深度 B * 2^{C-1}。

  連線操作 ⊕ 把兩個特徵塊合為一個。這裡,一個特徵塊是一個conv 層的結果:在一個空間區域為固定的一些通道維持活化的張量。通道數對應於前面的 conv層的過濾器的個數。當分形被擴充套件,我們把相鄰的連接合併成單個連線層;如圖 1右側所示,這個連線層跨越多列。連線層把所有其輸入特徵塊合併成單個輸出塊。

  連線層行為的幾種選擇看起來都是合理的,包括拼接和加法。我們把每個連線例項化,計算其輸入的逐元素平均。這對於卷積網路是恰當的,在那裡通道數對一個分形塊裡的所有conv 層是相同的。平均操作可能看起來類似 ResNet 的加法操作,但有幾個關鍵不同:

  • ResNet 明確區分了直接通過與殘差訊號。在 FractalNet裡,沒有什麼訊號是優越的。每一個對聯合層的輸入是上一個 conv層的輸出。單憑網路結構本身不能識別什麼是主要的。

  • 路徑捨棄正則化,如第 3.1節描述,強制讓每個連線層的輸入獨自可靠。這降低了回報,即便是隱式學習把一個訊號的一部分作為另一個的殘差這種情形。

  • 實驗表明我們可以提取僅包含一列的高效能子網路 (4.2節)。這樣的子網路實際上不包含連線。它們不提供可以與殘差相加的訊號。

  這些性質保證了連線層不是殘差學習的一個替代方法。

3.1 基於路徑捨棄的正則化

  Dropout[10] 和 drop-connect [35] 通過修改網路層序列之間的相互作用來減弱共同適應(co-adaptation)。由於分形網路包含額外的大尺度結構,我們提出使用一種類似的粗粒度正則化策略來輔助這些技術。

  圖 2 解釋了路徑捨棄。如同 dropout禁止了活化的共同適應,路徑捨棄通過隨機丟棄連線層的運算元來禁止平行路徑的共同適應。這壓制了網路使用一個路徑作為錨標,用另一個作為修正(這可能導致過擬合) 的行為。我們考慮兩個取樣策略:

  • 區域性連線層以固定機率捨棄每個輸入,但我們保證至少一個輸入保留。

  • 全域性每條路徑是為了整個網路選出的。我們限制這條路徑是單列的,激勵每列成為有力的預測器。

  如同dropout,訊號可能需要恰當的縮放。對於逐元素平均,這是平凡的;連線僅僅計算了活躍輸入的平均。

基於分形結構的極深神經網路,超越 <wbr>ImageNet <wbr>2015 <wbr>冠軍 <wbr>ResNet

  圖 2:分形網路。某些層之間的連線被停用後仍能工作,前提是從輸入到輸出的某些路徑還存在。路徑捨棄保證至少一條這樣的路徑存在,與此同時許多其它路徑被停用。訓練期間,對每個 mini-batch 展示不同的活躍子網路阻止了平行路徑的共同適應。全域性取樣策略返回單列作為子網路。與區域性取樣交替使用鼓勵了每列發展為表現良好的單獨運作的子網路。

  實驗中,我們使用了 dropout 以及對路徑捨棄採用了 50% 區域性以及 50%全域性的混合取樣。我們在每個 mini-batch 取樣一個新的子網路。記憶體足夠的情況下,對每個mini-batch,我們可以同時對一個區域性樣本和所有全域性樣本求值。

  全域性路徑捨棄不僅僅是作為一個正則化器,也是一個診斷工具。監控單列的表現體提供了關於網路和訓練機制的洞察,這將在 4.3節進一步提及。單個強大的列也讓使用者在速度和精度方面取捨。

3.2 資料增強

  資料增強可以顯著降低對正則化的需求。ResNet 展示了這一點,對 CIFAR-100 資料集從44.76%的錯誤率降低到27.22%。雖然資料增強對分形網路有好處,我們提出一點,那就是路徑捨棄提供了高度有效的正則化,讓它們無需資料增強也能達到有競爭力的結果。

3.3 優化

  我們使用含衝量的隨機梯度下降來訓練分形網路。我們對每個 conv層引進批量歸一化(卷積,批量歸一化,ReLU)。

4. 實驗

  我們使用 Caffe 實現 FractalNet。純粹為了實現的方便,我們把圖 1 中彙集和連線層的順序翻轉了。每列在跨越所有列的連線層之前單獨彙集,而不是在那之後。

  我們採用 CIFAR-100, CIFAR-10 以及 SVHN 作為比較用的資料集。我們評估在每個資料集的標準分類任務上的表現。這些資料集都由 32 x 32 圖片組成,所以我們固定分形網路的塊數為 5 (B=5),採用 2 x 2 的不重疊的 max-pooling。這就把輸入的 32 x 32 解析度變成 1 x 1。網路終端連線了 softmax 的預測層。

  除非專門提及,我們把5個塊中過濾器的個數設為(64,128, 256, 512, 512)。這個遞增數列類似於 VGG-16 和 ResNet。這符合解析度降低一半後通道數加倍的傳統。

4.1 訓練

  對於使用 dropout 的實驗,我們固定每塊的丟棄率為 (0%, 10%, 20%, 30%, 40%)。區域性路徑捨棄採用 15% 的捨棄率。

  我們在 CIFAR-10/CIFAR-100 上訓練了 400 個 epoch,在 SVHN 上訓練了 20 個 epoch;每當剩餘的 epoch 數減半,我們就把學習速率縮小 10。學習速率初始為 0.2。我們使用隨機梯度下降方法,批處理大小為 100,衝量為 0.9。對引數使用 Xavier 初始化。

  對 CIFAR-10 和 CIFAR-100 有標準的資料增強技術,僅包含平移和映象翻轉。平移量是 -4 到 4 的隨機數。有必要的時候影象在減去平均值後以 0 補全。一半的影象水平被翻轉。我們給使用的資料增強不超過這些所得到的結果標記為“+”。標記為“ ”的使用了更多的增強技術;精確的策略可能會不一樣。

4.2 結果

基於分形結構的極深神經網路,超越 <wbr>ImageNet <wbr>2015 <wbr>冠軍 <wbr>ResNet

表1.CIFAR-100/CIFAR-10/SVHN.

  表 1 報告了 FractalNet 的表現,對應 C = 3 列,應用到 CIFAR 和 SVHN分類任務上。也列了所有競爭方法的分數。整個表上 FractalNet 超過了原始 ResNet的表現。使用資料增強後,FractalNet 在 CIFAR-100 上的表現幾乎跟 ResNet的最佳變型一模一樣。不使用資料增強和正則化,我們模型在 CIFAR-100 和 CIFAR-10 上的表現優於 ResNet 和隨機深度的 ResNet。這提示與 ResNet 相比FractalNet 可能不那麼容易過擬合。所有方法在 SVHN上表現都不錯,因此那個資料集沒什麼區分度。

  不使用資料增強的實驗強調了路徑捨棄正則化的能力。對於 CIFAR-100,新增路徑捨棄把錯誤率從35.34% 降低到 28.20%。未正則化的 ResNet 則差得遠 (44.76%),而通過隨機深度正則化的 ResNet達到的錯誤率為 37.80%,還不如我們未正則化的錯誤率 35.34%。CIFAR-10上表現類似。

  與資料增強組合起來後,路徑捨棄要麼提高了精度,或者效果不顯著。通過路徑捨棄,FractalNet 在CIFAR-10 上達到所有模型中的最佳誤差率。

  對於CIFAR-10,分形網路的最深的那列統計上與整個網路在統計上不能區分。這提示,對於這個任務,分形網路可能更重要的是作為學習框架,而不是最終的模型架構。

基於分形結構的極深神經網路,超越 <wbr>ImageNet <wbr>2015 <wbr>冠軍 <wbr>ResNet

表2. FractalExpansion.

  表 2 表明 FractalNet 在通過增加 C 得到極深網路時效能並不下降 (C=6 對應160 層)。這個表裡的分數不能跟表 1 裡的比。

基於分形結構的極深神經網路,超越 <wbr>ImageNet <wbr>2015 <wbr>冠軍 <wbr>ResNet

表3. FractalColumns.

  表 3 提供的基準顯示,普通深度神經網路當層數達到 40 後就會下降。我們的經驗中,普通的 160層的網路完全不能收斂。表 3 還高亮了使用 FractalNet以及路徑捨棄作為提取已訓練好網路的能力。

4.3 內省

  看圖 3 中 40 層的分形網路訓練期間的演化。通過追蹤每一列我們發現,40層的列一開始改進緩慢,但當網路中其它部分的損失開始穩定後會加快。普通的 40層網路從來不會快速改進。

相關推薦

深度學習方法(五):卷積神經網路CNN經典模型整理LenetAlexnetGooglenetVGG,Deep Residual Learning

歡迎轉載,轉載請註明:本文出自Bin的專欄blog.csdn.net/xbinworld。  技術交流QQ群:433250724,歡迎對演算法、技術感興趣的同學加入。 關於卷積神經網路CNN,網路和文獻中有非常多的資料,我在工作/研究中也用了好一段時間各種常見的model了,就想著

詳解CNN五大經典模型:LenetAlexnetGooglenetVGG,DRL

關於卷積神經網路CNN,網路和文獻中有非常多的資料,我在工作/研究中也用了好一段時間各種常見的model了,就想著簡單整理一下,以備查閱之需。Lenet,1986年Alexnet,2012年GoogleNet,2014年VGG,2014年Deep Residual Learn

LeNetAlexNetGoogLeNetVGGResNetInception-ResNet-v2FractalNetDenseNet

   2006年Hinton他們的Science Paper再次引起人工神經網路的熱潮,當時提到,2006年雖然Deep Learning的概念被提出來了,但是學術界的大家還是表示不服。當時有流傳的段子是Hinton的學生在臺上講paper時,臺下的機器學習大牛們不屑一顧

#Deep Learning回顧#之LeNetAlexNetGoogLeNetVGGResNet

lenet src get alt article title cep 作用 target #Deep Learning回顧#之LeNet、AlexNet、GoogLeNet、VGG、ResNet 深入淺出——網絡模型中Inception的作用與結構全解析 #Dee

經典卷積神經網絡(LeNetAlexNetVGGGoogleNetResNet)的實現(MXNet版本)

lns dataset frame outer soft 想法 object googlenet bat   卷積神經網絡(Convolutional Neural Network, CNN)是一種前饋神經網絡,它的人工神經元可以響應一部分覆蓋範圍內的周圍單元,對於大型圖像

深度學習——卷積神經網絡 的經典網絡(LeNet-5AlexNetZFNetVGG-16GoogLeNetResNet

足夠 論文 ogl 相關性 spa 原因 線性 pad fan 一、CNN卷積神經網絡的經典網絡綜述 下面圖片參照博客:http://blog.csdn.net/cyh_24/article/details/51440344 二、LeNet-5網絡

經典深度學習CNN- LeNetAlexNetGoogLeNetVGGResNet

參考了: https://www.cnblogs.com/52machinelearning/p/5821591.html https://blog.csdn.net/qq_24695385/article/details/80368618   LeNet    

深度學習——卷積神經網路 的經典網路(LeNet-5AlexNetZFNetVGG-16GoogLeNetResNet

一、CNN卷積神經網路的經典網路綜述二、LeNet-5網路輸入尺寸:32*32卷積層:2個降取樣層(池化層):2個全連線層:2個輸出層:1個。10個類別(數字0-9的概率)   LeNet-5網路是針對灰度圖進行訓練的,輸入影象大小為32*32*1,不包含輸入層的情況下共有7

[深度學習之CNN] CNN的發展史 之LeNetAlexNetGoogLeNetVGGResNet

CNN的發展史        上一篇回顧講的是2006年Hinton他們的Science Paper,當時提到,2006年雖然Deep Learning的概念被提出來了,但是學術界的大家還是表示不服。當時有流傳的段子是Hinton的學生在臺上講paper時,臺下的機器學習大牛們不屑一顧,質問你們的東西有理

深度學習筆記一: LeNet-5AlexNet 和 VGGNet等網路模型的小結

最近在學習吳恩達Andrew Ng的深度學習課程,之前對這幾個網路還比較混亂,現在記錄一下: LeNet-5神經網路的貢獻:  1.這是一個比較早的網路模型,其中在卷積層後面加入池化層的思想先今還在使用。 2.在最後的卷積層接入池化層和全連線層在當前也比較常用。 出

【神經網路】VGGResNetGoogleLeNetAlexNet等常用網路程式碼及預訓練模型

常用資料集: 模型們在ImageNet競賽上的top-5錯誤率概況: 常用預訓練模型池: AlexNet資訊如上圖 - 在當時第一次使用了ReLU - 使用了Norm層(在當時還不廣泛) - 訓練資料量增大 - dropout 0.5 - 每批資料

JS中innerHTMLouterHTMLinnerText outerTextvalue的區別與聯系?jQuery中的text()html()和val()

chrom html標簽 sel detail put 替換 not 內容 tail 一、JS中innerHTML、outerHTML、innerText 、outerText、value的區別與聯系?jS中設置或者獲取所選內容的值:①innerHTML :屬性設置或返回該

1電腦聯網小技巧:網絡共享之臺式機筆記本手機

上網 臺電腦 1-1 center 技術 wid text 自動分配 其中 網絡共享之臺式機、筆記本、手機 一、兩臺筆記本直接通過網線相連,其中一臺筆記本采取的是ADLS撥號上網 目的:其中一臺筆記本采取的是ADLS撥號上網,通過網線相連以後,使另一臺電腦也能成功上網 操作

js中創建html標簽加入select下默認的option的value和text刪除select元素節點下全部的OPTION節點

bsp art 利用 scrip -m script space multipl ng- <pre name="code" class="java"> jsp 中的下拉框標簽: <s:select na

PHP 常量PHP 變量全解析(超全局變量變量的8種數據類型等)

ret each 回收 操作系統 js xml name static bject 單獨 常量特點 常量一旦被定義就無法更改或撤銷定義。 常量名不需要開頭的$ 與變量不同,常量貫穿整個腳本是自動全局的。 作用域不影響對常量的訪問 常量值只能是字符串或數字 設置 PHP

day19——常用正則表達式re正則對象和正則匹配效率比較編譯正則對象

import com pattern ima 優先 打印 來看 image python 正則網站:regex101.com 在了解re模塊之前,我們可以先了解一下正則表達式,正則表達式在很多語言中都有使用,但是不同的語言直接又有有些細小的區別,下面我們就來列舉一下

expect腳本同步文件expect腳本指定host和要同步的文件構建文件分發系統批量遠程執行

expect腳本同步文件 expect腳本指定host和要同步的 構建文件分發系統 批量遠程執行命令 20.31 expect腳本同步文件 自動同步文件 #!/usr/bin/expect set passwd "rootroot" spawn rsync -av [email protected]

17第七周-網絡編程 - 協程概念介紹協程gevent模塊並發爬網頁

似的 soc 註解 單線程 部分 ESS 封裝 控制流 能力 協程,又稱微線程,纖程。什麽是線程:協程是一種用戶態的輕量級線程。   協程擁有自己的寄存器上下文和棧。協程調度切換時,將寄存器上下文和棧保存到其他地方,在切回來的時候,恢復先前保存的寄存器上下文和棧。因此:協程

C# 有關控件自定義類事件中的委托鏈的獲取移除操作

ons class 單擊 spa inf += finish ati pre 直接來代碼吧,這樣幹脆直接,也不耽誤我午休了。一切盡在源碼中。 public class ControlEventTool { /// <summary>

1689熊貓彩票增加視頻版本(PC+手機端帶有視頻動畫開獎效果) ——含手機端前後臺帶極速彩

nta 新版 最新版 環境 網頁 mysq 編程 效果 手機 2018最新版彩票現金盤,新增pc端+手機端視頻動畫運行環境:php5.2+mysql源碼類別:兩面盤界面語言:繁體中文源碼授權:無加密文件及認證授權,永久性可直接使用。版本支持:PC/WAP網頁版編程語言:PH