卷積神經網路-3
本文來自於網易雲課堂
為什麼要進行例項探究
上一講我們介紹了卷積神經網路的基本元件,事實上過去幾年,計算機視覺研究中的大量研究都集中在如何把這些基本構建組合起來形成有效的卷積神經網路。找感覺的最好方法之一就是去看一些案例,就像很多人通過看別人的程式碼來學習程式設計一樣,通過研究別人構建有效元件的案例是個不錯的辦法。實際上在視覺網路中表現良好的網路架構往往也適合於其他任務。也就是說,如果別人已經訓練或者計算出擅長識別貓,狗,人的神經網路架構,而你的任務與此相關,那你完全可以借鑑別人的架構。學完這幾節課你應該可以讀一些計算機視覺方面的論文了,而我希望這也是你學習本課程的收貨。—Andrew Ng
下面會介紹一些經典網路和殘差網路ResNet和Inception等,就算你不是研究計算機視覺方面的,但是相信你也會從ResNet和Inception網路這樣的例項中,找到一些不錯的想法,這裡面很多思路都是多學科融合的產物。總之,即便你不打算構建計算機視覺相關的應用程式,試著從中發現一些有趣的思路對你的工作也會有所幫助。
經典網路
LeNet-5
假設你有一張32*32*1的圖片,LeNet-5網路可以識別其中的手寫字型,然後過濾然後池化-在當時的年代人們更喜歡使用平均池化…。相比與現在的版本,這個神經網路相對較小一些,只有約6萬個引數,而現在我們經常看到含有1000萬或者1億個引數的神經網路。但是不管怎麼樣,隨著神經網路深度的增加,影像的寬度和高度都在減小而通道數在增加。
AlexNet
這個論文名字叫《Image Net Classification with Deep Convolutional Neural Networks》
這個網路的名字是以論文的第一作者Alex Krithevsky來命名的。AlexNet首先用227*227*3的圖片作為輸入。實際上這種網路與LeNet-5有很多相似之處,不過AlexNet要大的多,它包含大約6000萬個引數。它可以採用相似的含有大量隱藏單元或資料的基本構造模組使得AlexNet表現出色。它比LeNet-5表現好的另一個原因是它採用了Relu啟用函式
VGG-16
這是一種沒有那麼多引數,只需要專注於構建卷積層的簡單網路。不過這種網路非常深,引數大約有1.38億。但是其結構不復雜,這一點非常吸引人,而且非常規整。
學完這些經典的網路之後,我們開始學習更先進的網路。
ResNet(殘差網路)
非常非常深的網路是很難訓練的,因為存在梯度消失和梯度爆炸問題,這節課我們學校跳遠連線(skip connection),它可從某一網路層獲取啟用,然後迅速反饋給另外一層,甚至是神經網路的最深層。我們可以利用skip connection來構建非常非常深的ResNet,最深可達到100層。
ResNet是由殘差塊組成的,它通過跳遠改變了資訊的傳遞主路徑。ResNet的發明者是何凱明,張翔宇,任少卿以及孫劍。他們發現用殘差塊能訓練更深的網路。所以構建一個ResNet網路就是將很多這樣的殘差塊堆積在一起形成一個殘差網路。
理論上,隨著神經網路深度的加深,誤差應該越來越小,但實際上普通的神經網路會出現先下降後上升的趨勢,而採用殘差神經網路則可以達到很深層。這種方式很好的解決了梯度消失和梯度爆炸的問題,又可以保持很好的效能。
殘差網路為什麼有效
我們給出一個例子可以解釋。上節課我們瞭解到神經網路越深,它在訓練集上訓練網路的效率會有所減弱,這也是有時候我們不願意加深網路的原因,但不完全是這樣,至少對於Resnet來說。
對於上圖,如果使用L2正則化和權重衰減,它會壓縮
網路中的網路以及1×1卷積
在架構內容設計方面,其中一個比較有幫助的想法是使用1×1卷積,那麼1×1卷積有什麼用呢?不就是乘以1個數嗎?這聽上去很好笑,但事實並不是如此。
使用1×1卷積對於1個通道的輸入來說效果並不好,但是如果對於多通道來說效果就比較好了。具體來說,它實現的功能是遍歷這36個單元格,計算左圖中32個數字和過濾器中32個數字的元素智慧乘積,然後運用relu非線性函式。一般來說,如果過濾器不止一個,而是多個,就好像有多個輸入單元。這種方法稱為1×1卷積有時也被稱為網路中的網路。在林敏,陳強和楊學成的論文中有詳細描述,雖然論文中的詳細內容並沒有得到廣泛的應用,但是1×1這種理念卻很有影響力。注:還可以參考這篇文章
使用1×1卷積可以起到降維的作用。例如,假設有一個28*28*192的輸入,你可以使用池化層來壓縮它的高度和寬度,但如果通道數很大,該如何把它壓縮為28*28*32的層呢?你可以使用32個1*1*192的過濾器,所以這就是壓縮通道數的方法。
相關文章
- 卷積神經網路卷積神經網路
- 5.2.1 卷積神經網路卷積神經網路
- 卷積神經網路概述卷積神經網路
- 解密卷積神經網路!解密卷積神經網路
- 卷積神經網路CNN卷積神經網路CNN
- 卷積神經網路初探卷積神經網路
- 卷積神經網路-1卷積神經網路
- 卷積神經網路-2卷積神經網路
- 卷積神經網路四種卷積型別卷積神經網路型別
- 全卷積神經網路FCN卷積神經網路
- 深度剖析卷積神經網路卷積神經網路
- 看懂卷積神經網路(CNN)卷積神經網路CNN
- 卷積神經網路-AlexNet卷積神經網路
- 第四周:卷積神經網路 part 3卷積神經網路
- 卷積神經網路:卷積層和池化層卷積神經網路
- 卷積神經網路 part2卷積神經網路
- CNN神經網路之卷積操作CNN神經網路卷積
- 卷積神經網路(CNN)詳解卷積神經網路CNN
- 14 卷積神經網路(進階)卷積神經網路
- 何為神經網路卷積層?神經網路卷積
- 卷積神經網路的缺點卷積神經網路
- 【深度學習篇】--神經網路中的卷積神經網路深度學習神經網路卷積
- 吳恩達《卷積神經網路》課程筆記(1)– 卷積神經網路基礎吳恩達卷積神經網路筆記
- 卷積神經網路鼻祖LeNet網路分析卷積神經網路
- Tensorflow-卷積神經網路CNN卷積神經網路CNN
- 【卷積神經網路學習】(4)機器學習卷積神經網路機器學習
- 深度學習三:卷積神經網路深度學習卷積神經網路
- 一文看懂卷積神經網路卷積神經網路
- 卷積神經網路(CNN)模型結構卷積神經網路CNN模型
- 直白介紹卷積神經網路(CNN)卷積神經網路CNN
- 卷積神經網路—基本部件(2)卷積神經網路
- 卷積神經網路學習資料卷積神經網路
- 卷積神經網路-啟用函式卷積神經網路函式
- 卷積神經網路中的Winograd快速卷積演算法卷積神經網路演算法
- (四)卷積神經網路 -- 8 網路中的網路(NiN)卷積神經網路
- 深度學習筆記------卷積神經網路深度學習筆記卷積神經網路
- Keras上實現卷積神經網路CNNKeras卷積神經網路CNN
- 初識卷積神經網路第一講!卷積神經網路