動手學深度學習TF2.0第十一課: 解析幾種不同深度神經網絡的設計思路

1. 各網絡層對比

VGG: 可以通過重複使用簡單的基礎塊來構建深度模型;

  • NiN

LeNet、AlexNet和VGG在設計上的共同之處: 先以由卷積層構成的模塊充分抽取空間特徵,再以由全連接層構成的模塊來輸出分類結果。

其中,AlexNet和VGG對LeNet的改進主要在於如何對這兩個模塊加寬(增加通道數)和加深;

而NiN提出了另外一個思路,即串聯多個由卷積層和“全連接”層構成的小網絡來構建一個深層網絡。

1. NiN重複使用由卷積層和代替全連接層的1×11×1卷積層構成的NiN塊來構建深層網絡.
2. NiN去除了容易造成過擬合的全連接輸出層,而是將其替換成輸出通道數等於標籤類別數的NiN塊和全局平均池化層。
	> 全局平均池化層即窗口形狀等於輸入空間維形狀的平均池化層.

  • GoogleLeNet

GoogLeNet吸收了NiN中網絡串聯網絡的思想,並在此基礎上做了很大改進.

1. GoogleNet中的基礎卷積塊叫做Inception塊.
2. Inception塊中可以自定義的超參數爲每個層的輸出通道數, 我們以此來控制模型複雜度;
3. GoogLeNet將多個設計精細的Inception塊和其他層串聯起來。其中Inception塊的通道數分配之比
   是在ImageNet數據集上通過大量的實驗得來的.
4. GoogLeNet和它的後繼者們一度是ImageNet上最高效的模型之一:在類似的測試精度下,它們的計算複雜度往往更低。
  • 批量歸一化

批量歸一化(batch normalization)層,它能讓較深的神經網絡的訓練變得更加容易。

1. 對於淺層模型,數據標準化預處理(如使樣本處於均值爲0,標準差爲1的分佈)就足夠有效。
2. 在模型訓練時,批量歸一化利用小批量上的均值和標準差,不斷調整神經網絡中間輸出,
   從而使整個神經網絡在各層的中間輸出的數值更穩定。
3. 對全連接層、卷基層以及預測和訓練時的批量歸一化均有所不同。
  • 殘差網絡(ReNet)
1. 殘差塊通過跨層的數據通道從而能夠訓練出有效的深度神經網絡。
2. ResNet深刻影響了後來的深度神經網絡的設計。
  • 稠密鏈接網絡(DenseNet)
1. 在跨層連接上,不同於ResNet中將輸入與輸出相加,DenseNet在通道維上連結輸入與輸出。
2. 稠密層與過渡層聯合使用,過渡層用來控制模型複雜度;

2. 循環神經網絡

循環神經網絡的從零實現(歌詞創作)

(未完持續…)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章