天天看點

DenseNet介紹

在計算機視覺領域,卷積神經網絡(CNN)已經成為最主流的方法,比如最近的GoogLenet,VGG-19,Incepetion等模型。CNN史上的一個裡程碑事件是ResNet模型的出現,ResNet可以訓練出更深的CNN模型,進而實作更高的準确度。ResNet模型的核心是通過建立前面層與後面層之間的“短路連接配接”(shortcuts,skip connection),這有助于訓練過程中梯度的反向傳播,進而能訓練出更深的CNN網絡。今天我們要介紹的是DenseNet模型,它的基本思路與ResNet一緻,但是它建立的是前面所有層與後面層的密集連接配接(dense connection),它的名稱也是由此而來。DenseNet的另一大特色是通過特征在channel上的連接配接來實作特征重用(feature reuse)。這些特點讓DenseNet在參數和計算成本更少的情形下實作比ResNet更優的性能,DenseNet也是以斬獲CVPR 2017的最佳論文獎。本篇文章首先介紹DenseNet的原理以及網路架構,然後講解DenseNet在Pytorch上的實作。

這篇文章是CVPR2017的oral,文章提出的DenseNet(Dense Convolutional Network)主要還是和ResNet及Inception網絡做對比,思想上有借鑒,但卻是全新的結構,網絡結構并不複雜,卻非常有效!衆所周知,最近一兩年卷積神經網絡提高效果的方向,要麼深(比如ResNet,解決了網絡深時候的梯度消失問題)要麼寬(比如GoogleNet的Inception),而作者則是從feature入手,通過對feature的極緻利用達到更好的效果和更少的參數。

先列下DenseNet的幾個優點,感受下它的強大:

1、減輕了vanishing-gradient(梯度消失)

2、加強了feature的傳遞

3、更有效地利用了feature

4、一定程度上較少了參數數量

在深度學習網絡中,随着網絡深度的加深,梯度消失問題會愈加明顯,目前很多論文都針對這個問題提出了解決方案,比如ResNet,Highway Networks,Stochastic depth,FractalNets等,盡管這些算法的網絡結構有差别,但是核心都在于:create short paths from early layers to later layers。那麼作者是怎麼做呢?延續這個思路,那就是在保證網絡中層與層之間最大程度的資訊傳輸的前提下,直接将所有層連接配接起來!

————————————————

論文:Densely Connected Convolutional Networks

論文連結:https://arxiv.org/pdf/1608.06993.pdf

代碼的github連結:https://github.com/liuzhuang13/DenseNet

MXNet版本代碼(有ImageNet預訓練模型): https://github.com/miraclewkf/DenseNet

————————————————

原文連結:https://blog.csdn.net/u014380165/article/details/75142664

繼續閱讀