1. 程式人生 > >論文筆記:Densely Connected Convolutional Networks(DenseNet模型詳解)

論文筆記:Densely Connected Convolutional Networks(DenseNet模型詳解)

摘要

最近的研究表明,當靠近輸入的層和靠近輸出的層之間的連線越短,卷積神經網路就可以做得更深,精度更高且可以更加有效的訓練。本文根據這一結論,提出了一種稠密卷積神經網路(Dense Convolutional Network,DenseNet),這種結構將每一層與之前所有層相連線。傳統的L層卷積神經網路有L個連線——位於每一層和其後一層之間—,而我們的神經網路有L(L+1)2個直接連結。對於每一層,其輸入的特徵是之前所有的層,而它自己的特徵圖作為之後所有層的輸入。DenseNet有以下幾個引人注目的優點:緩解梯度消失問題,加強特徵傳播,鼓勵特徵複用,極大的減少了引數量。我們在四個極具競爭力的物體識別標準影象庫(CIFAR-10,CIFAR-100, SVHN, and ImageNet)對我們所提出的結構進行測試。結果表面DenseNet在大多數的測試影象庫中都獲得了最好的效果,然而它只需要很少的計算兩來達到很高的效能。程式碼參見

https://github.com/liuzhuang13/DenseNet

DenseNet與ResNet對比

作者主要受ResNet和Highway NetWorks的啟發,通過與之後的某一層進行直接連線來傳遞資訊,下面我們直觀的從結構來看ResNet和DenseNet的差異。
假設一個單張的圖片x0輸入一個有L層的卷積網路,每層的激勵函式為Hl()Hl()可以是BN、ReLU、Pooling、Conv等操作的集合。假設x1為第l層的輸出。

mark
最原始的前饋卷積神經網路,將第l層的輸出作為第l+1層的輸入,所以第l層的輸出為:Xl=Hl(xl1)

mark
ResNet除了本層與下一層的連線之外,還增加了一個skip-connection,即將l層和l-1層的輸出共同作為l+1層的輸入,即,第l層的啟用值不僅僅影響l+1層,而且還影響l+2層。所以第l層的輸出為:X

l=Hl(xl1)+xl1

mark
DenseNet則是讓l層的輸入直接影響到之後的所有層,它的輸出為:xl=Hl([X0,X1,,xl1])。並且由於每一層都包含之前所有層的輸出資訊,因此其只需要很少的特徵圖就夠了,這也是為什麼DneseNet的引數量較其他模型大大減少的原因。

DenseNet結構詳解

DenseNet的整體結構包含稠密塊(Dense Block)和過渡層(transition layers),可以簡單來可以看作是Dense Block-transition layers-Dense Block-transition layers···
如下圖:
mark


要將結構分為Dense Block和transition layers的原因是,transition layer中包含的Poling層會改變特徵圖的大小,而Dense Block內部必須保證特徵圖的大小一致,否則這種層之間的連線方式就不可行了。
下面就來看看Dense Block內部結構吧。
mark
上圖是一個包含五層,層寬度(Growth rate)為k=4的Dense Block,層與層之間的激勵函式(即Hl())為BN-ReLU-Conv(3x3)的結構。這個Growth rate實際上就是每一層特徵圖的數量,這樣第l層就有k0+k×(l1)個特徵圖了。
為了進一步減少引數輛,作者又作了以下改進:
* 將Hl()該為BN-ReLU-Conv(1x1)-BN-ReLU-Conv(3x3)的結構,記為DenseNet-B
* 為了進一步減少引數量,在DenseNet-B的基礎上,對過渡層的特徵圖進行壓縮,產生θm個特徵圖,其中0<θ1,為壓縮因子。

下面放上一張DenseNet與現有模型實驗對比圖:
duibi
前面是深度和引數量,後面是在各影象庫中測試的錯誤率,藍色表明結果最優。可以看到相比於其他模型DenseNet有更少的引數且出錯率更低。

缺點

DneseNet在訓練時十分消耗記憶體,這是由於演算法實現不優帶來的。當前的深度學習框架對 DenseNet 的密集連線沒有很好的支援,所以只能藉助於反覆的拼接(Concatenation)操作,將之前層的輸出與當前層的輸出拼接在一起,然後傳給下一層。對於大多數框架(如Torch和TensorFlow),每次拼接操作都會開闢新的記憶體來儲存拼接後的特徵。這樣就導致一個 L 層的網路,要消耗相當於 L(L+1)/2 層網路的記憶體(第 l 層的輸出在記憶體裡被存了 (L-l+1) 份)。為此作者又寫了一個技術報告(Memory-Efficient Implementation of DenseNets)專門針對這一問題,介紹如何提升對記憶體的使用率,同時提供的Torch, PyTorch, MxNet 以及 Caffe 的實現,程式碼參見:

論文只是粗略的看了,如果還有內容會繼續補充。

相關推薦

論文筆記Densely Connected Convolutional Networks(DenseNet模型)

摘要 最近的研究表明,當靠近輸入的層和靠近輸出的層之間的連線越短,卷積神經網路就可以做得更深,精度更高且可以更加有效的訓練。本文根據這一結論,提出了一種稠密卷積神經網路(Dense Convolutional Network,DenseNet)

Deep Learning 33論文Densely Connected Convolutional Networks”-------DenseNet 簡單理解

1 Model created 2 ____________________________________________________________________________________________________ 3 Layer (type) Output Shape P

深度學習論文翻譯解析(十五)Densely Connected Convolutional Networks

論文標題:Densely Connected Convolutional Networks 論文作者:Gao Huang Zhuang Liu Laurens van der Maaten  Kilian Q. Weinberger 論文地址:https://arxiv.org/pdf/1608.0

論文學習】Densely Connected Convolutional Networks 學習

  眾所周知,自從ResNet 的網路結構被提出後,一直引領著深度學習的潮流,後來提出的一些網路結構都有這種short paths 的思想。而今天要提到的DenseNet 更是將這種思想發揮到了極致。DenseNet 憑藉著優秀的表現當選 CVPR 2017

Densely Connected Convolutional Networks (DenseNet 2017 CVPR)

Addition Link Introduction ResNets [11] and Highway Networks [33] by-pass signal from one layer to the next via identity con

Densely Connected Convolutional Networks(DenseNet)

讀了一天終於把DenseNet這篇巨屌無比的文章讀完了,為何說它厲害呢,因為它在很多方面超越了ResNet。大家知道,ResNet是何凱明大神15年的大作,它讓深度學習的檢測效果更上一層樓,後來很多的網路也都是在ResNet的基礎上改進的。DenseNet是17

Densely Connected Convolutional Networks 論文筆記

0 摘要     最近的成果顯示,如果神經網路各層到輸入和輸出層採用更短的連線,那麼網路可以設計的更深、更準確且訓練起來更有效率。本文根據這個現象,提出了Dense Convolutional Network (DenseNet),它以前饋的方式將每個層都連線

論文DenseNetDensely Connected Convolutional Networks)解讀

Introduction DenseNet在ResNet的基礎上(ResNet介紹),進一步擴充套件網路連線,對於網路的任意一層,該層前面所有層的feature map都是這層的輸入,該層的feature map是後面所有層的輸入。示意圖如下:

【Network Architecture】Densely Connected Convolutional Networks 論文解析

正則 作者 knowledge math cit png 包括 col 整體 0. Paper link 1. Overview ??文章開篇提到了如果在靠近輸入與輸出的層之間存在短連接(shorter connections),可以訓練更深、更準確、更有效的卷積網絡,D

論文筆記《Very Deep Convolutional Networks for Large-Scale Image Recognition》

VGGNet在2014年的ILSVRC競賽上,獲得了top-1 error的冠軍和top-5 error的第二名,錯誤率分別為24.7%和7.3%,top-5 error的第一名是GoogLeNet 6.7%。在圖片定位任務中,也獲得了冠軍。網路層數由之前的AlexNet 的8層提高到了最高19

論文筆記】Region-based Convolutional Networks for Accurate Object Detection and Segmentation

《Region-based Convolutional Networks for Accurate Object Detection and Segmentation》是將卷積神經網路應用於物體檢測的一篇經典文章。 整個識別過程可以用下面的一張圖片來清晰的表示: 首先給定一

筆記Spring Cloud Ribbon 客戶端配置

核心內容 framework 統計信息 結構 ble ogr 清單 接口實現 進行 自動化配置 由於 Ribbon 中定義的每一個接口都有多種不同的策略實現,同時這些接口之間又有一定的依賴關系,Spring Cloud Ribbon 中的自動化配置能夠很方便的自動化構

論文筆記Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks

Distant Supervision for Relation Extraction via Piecewise Convolutional Neural Networks ========簡陋的記錄=========== 背景知識:Distant Sup

影象隱寫術分析論文筆記Deep learning for steganalysis via convolutional neural networks

好久沒有寫論文筆記了,這裡開始一個新任務,即影象的steganalysis任務的深度網路模型。現在是論文閱讀階段,會陸續分享一些相關論文,以及基礎知識,以及傳統方法的思路,以資借鑑。 這一篇是Media Watermarking, Security, and Forensi

論文閱讀筆記四十一Very Deep Convolutional Networks For Large-Scale Image Recongnition(VGG ICLR2015)

結合 等價 選擇 mac 不同的 works info 內存 enc 論文原址:https://arxiv.org/abs/1409.1556 代碼原址:https://github.com/machrisaa/tensorflow-vgg 摘要 本

論文筆記Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling

感想 最近深度學習面試的時候,有個面試官問了我LSTM,我一下子傻眼了,確實不怎麼好懂,學LSTM已經有半年的時間了,但是對這個玩意兒卻還不怎麼明白,可能是沒用過它的緣故吧,我找了一篇它和GRU比較的論文,這篇論文沒有從理論上證明哪個模型的好壞,只是從實驗,應用場景的角度發現GRU在一些場景比LST

論文筆記Interpret Neural Networks by Identifying Critical Data Routing Paths

這是一篇做可解釋性AI的文章,文章的主要內容就是提出了一種新的資料表示分析方法,在此之上做了一些分析工作。 Abstract: 大概就是說定義了一個叫CDRPs(可分離路徑),這是文章的主要內容。 Introduction: 大多的視覺化分析方法多是定性的,沒法定量分

深度學習論文筆記Deep Residual Networks with Dynamically Weighted Wavelet Coefficients for Fault Diagnosis of Planetary Gearboxes

這篇文章將深度學習演算法應用於機械故障診斷,採用了“小波包分解+深度殘差網路(ResNet)”的思路,將機械振動訊號按照故障型別進行分類。 文章的核心創新點:複雜旋轉機械系統的振動訊號包含著很多不同頻率的衝擊和振盪成分,而且不同頻帶內的振動成分在故障診斷中的重要程度經常是不同的,因此可以按照如下步驟設計深度

論文筆記CNN經典結構2(WideResNet,FractalNet,DenseNet,ResNeXt,DPN,SENet)

###前言 本文承接之前的一篇[論文筆記:CNN經典結構1](https://www.cnblogs.com/liaohuiqiang/p/9606901.html)。前文主要講了2012-2015年的一些經典CNN結構,從AlexNet,ZFNet,OverFeat到VGG,GoogleNetv1

論文筆記Feature Pyramid Networks for Object Detection

初衷 Feature pyramids are a basic component in recognition systems for detecting objects at different scales. But recent deep