【秋招復習——深度學習】ResNet、DenseNet

  • 隨着cnn的發展,尤其是VGG網絡提出以後,大家發現網絡層數是網絡的一個關鍵因素,似乎越深的網絡效 果越好。
  • 但是隨着網絡層數的增加,也出現了梯度消失或者發散。從而導致訓練難以收斂。
  • 隨着normalized initialization && intermediate normalization layers的提出解決了這個問題。
  • 但是於此同時,隨着網絡深度的增加,系統精度得到飽和之後,迅速的下滑。讓人意外的是這個性能下降不是過擬合導致的

ResNet

我們提出一個 deep residual learning 框架來解決這種因爲深度增加而導致性能下降問題
假設我們期望的網絡層關係映射爲 H(x), 我們讓 the stacked nonlinear layers 擬合另一個映射, F(x):= H(x)-x , 那麼原先的映射就是 F(x)+x。 這裏我們假設優化殘差映射F(x) 比優化原來的映射 H(x)容易。
這裏寫圖片描述
殘差網絡單元其中可以分解成右圖的形式,從圖中可以看出,殘差網絡其實是由多種路徑組合的一個網絡,直白了說,殘差網絡其實是很多並行子網絡的組合,整個殘差網絡其實相當於一個多人投票系統(Ensembling)。
這裏寫圖片描述
從這可以看出其實ResNet是由大多數中度網絡和一小部分淺度網絡和深度網絡組成的,說明雖然表面上ResNet網絡很深,但是其實起實際作用的網絡層數並沒有很深。
所示ResNet真的解決了深度網絡的梯度消失的問題了嗎?似乎沒有,ResNet其實就是一個多人投票系統。


DenseNet

這裏寫圖片描述

DenseNet和ResNet最大的區別在於:
不在通過求和來組合,而是將他們全部作爲單獨的輸入提供到下一層的輸入。
密集連接這個詞給人的第一感覺就是極大的增加了網絡的參數量和計算量。但實際上 DenseNet 比其他網絡效率更高,其關鍵:網絡每層計算量的減少以及特徵的重複利用

特點:

  • 網絡更窄,參數更少
  • 每一層的輸入來自前面所有層的輸出
  • 恐怖如斯的內存佔用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章