【模型解读】“全连接”的卷积网络,有什么好?
【模型解讀】“全連接”的卷積網絡,有什么好?
這是深度學習模型解讀第8篇,本篇我們簡單介紹Densenet。
作者&編輯 | 言有三
?
1 從skip connect到dense connect
我們知道,曾經深度網絡訓練不好收斂,Resnet的出現打破了這一僵局,背后的思想僅僅只是拉了一個skip connect,也就是將輸入和輸出相連相加,下面是一個resnet18的展示。這個輸入輸出,可以是剛好相鄰的兩個卷積block,也可以是跳過若干層的兩個。
假如,我們再進一步,將這個思想發揮到極致,會怎樣?把所有層都與其他所有層相連,也就是說N層的網絡,會有(N*N-1)/2個連接,如下圖所示:
這就是densenet【1】,CVPR 2017最佳論文,可以看作是一個發揮到極致的resnet。
?
2 為什么會設計densenet?
大家如果對resnet理解不夠深的話,可以回過頭去讀我們的上一期對resnet的解讀。殘差連接的必要性和有效性,在那篇文章中做了很詳細的解讀。
【模型解讀】resnet中的殘差連接,你確定真的看懂了?
神經網絡越深,網絡的能力越強,就越有可能過度學習數據集,導致過擬合。大家應該還記得,作為第一個深層網絡Alexnet網絡,它提出了重要的策略dropout,對于提高模型的泛化能力非常有效。alexnet網絡至今仍然可以用于很多的任務,這足以說明其魯棒性。后來BN和數據增強等正則化策略替代dropout也在一定程度上緩解了過擬合的問題。文【2】是densenet作者們早期的研究,它們通過訓練時隨機丟掉一些網絡層,提高了ResNet的泛化性能。
從這里可以看出來一個重要特性,這也是神經網絡中大家比較關心的問題,網絡的冗余性絕對是存在的,而且不小,通過探索dropout值的比例對性能的影響可以去估算這個冗余。
既然丟掉某些層間連接或者整個層不影響性能,就說明這一層學習到的非線性轉變很小,既然轉變很小,那么每一層學習幾百個通道,還有必要嗎?這幾百個通道,正是萬惡的計算量所在。
考慮到這一點,densenet就同時做了兩件事情,一是將網絡中的每一層都直接與其前面層相連,提高特征的利用率;二是把網絡的每一層設計得很窄,也就是卷積的輸出通道數通常很小,只有幾十,該層學習非常少的特征圖并與輸入concat使用。
這實現了資源的最大化利用和計算量的壓縮。ImageNet分類數據集上達到同樣的準確率,DenseNet 所需的參數量不到ResNet的一半,所需的計算量也只有ResNet的一半左右。
思想就是這么簡單,當然,我們在使用的時候,不會真的這么夸張去將所有層都連接起來,更多的是將網絡的后面一些層做dense連接。畢竟網絡設計的通用思想是網絡越深寬度更寬,這里做dense連接對于減小計算量更有意義。
?
3 簡單思考
人類對深度學習模型只有三個要求,運行速度快,網絡模型小,性能好。
提升網絡性能,最樸素的方法就是加深加寬網絡,但這與前面兩者是沖突的。所以,工程師們都在想方設法壓榨每一個通道的性能,但又要避免網絡發生過擬合。
既要沒用的網絡層減少,又要有用的網絡層不能太靈敏,那就只有一條路可以走了。充分壓榨已有的網絡層的性能,讓他們充分交流。
網絡發展到現在,早已經不是Lenet,Alexnet,Vggnet這樣簡單的網絡加深的路線,網絡各層之間信息的融合,在圖像分割(FCN),目標檢測(FPN)等任務中都至關重要,看看下面的網絡圖就知道。
FCN結構
?
FPN結構
不同層之間的連接,融合不同抽象層級的信息,融合不同尺度的信息,densenet將這個發揮到了極致,就這么簡單。
同時,在我的知乎專欄也會開始同步更新這個模塊,歡迎來交流
https://zhuanlan.zhihu.com/c_151876233
注:部分圖片來自網絡
—END—
轉載請留言,侵權必究
本系列的完整目錄:
【模型解讀】從LeNet到VGG,看卷積+池化串聯的網絡結構
【模型解讀】network in network中的1*1卷積,你懂了嗎
【模型解讀】GoogLeNet中的inception結構,你看懂了嗎
【模型解讀】說說移動端基準模型MobileNets
【模型解讀】pooling去哪兒了?
【模型解讀】resnet中的殘差連接,你確定真的看懂了?
【模型解讀】“不正經”的卷積神經網絡
【模型解讀】“全連接”的卷積網絡,有什么好?
【模型解讀】從“局部連接”回到“全連接”的神經網絡
【模型解讀】深度學習網絡只能有一個輸入嗎
【模型解讀】從2D卷積到3D卷積,都有什么不一樣
【模型解讀】淺析RNN到LSTM
感謝各位看官的耐心閱讀,不足之處希望多多指教。后續內容將會不定期奉上,歡迎大家關注有三公眾號 有三AI!
?
?
總結
以上是生活随笔為你收集整理的【模型解读】“全连接”的卷积网络,有什么好?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【模型解读】resnet中的残差连接,你
- 下一篇: 【模型解读】“不正经”的卷积神经网络