1. 程式人生 > >Densely Connected Convolutional Networks 論文筆記

Densely Connected Convolutional Networks 論文筆記

0 摘要

    最近的成果顯示,如果神經網路各層到輸入和輸出層採用更短的連線,那麼網路可以設計的更深、更準確且訓練起來更有效率。本文根據這個現象,提出了Dense Convolutional Network (DenseNet),它以前饋的方式將每個層都連線到其他每一層。然而傳統的L層卷積神經網路有L連線(每一層與其後面的一層相連線),而DenseNet的任一層不僅與相鄰層有連線,而且與它的隨後的所有層都有直接連線,所以該網路有L(L+1)2個直接連線。DenseNets有如下幾個令人信服的優點:緩解了消失梯度問題,增強了特徵傳播,促進了特徵重用,大大減少了引數的數量。本文計算架構在四個具有高度競爭的目標識別資料集(CIFAR-10,CIFAR-100, SVHN, and ImageNet)上進行實驗。DenseNets相對於目前最先進的演算法有明顯的改善,且採用更少的計算來實現高效能。程式碼和預訓練模型如下:

https://github.com/liuzhuang13/DenseNet

1 介紹

    卷積神經網路(CNN)已成為占主導地位的機器學習的視覺物體識別方法。儘管CNN最早被提出已經有20年了,但計算機硬體和網路結構的改進才使得最近才能真正的訓練深度神經網路。原始的LeNet5包含了5層,VGG網路19層,Highway和ResNets超過了100層的大關。
    隨著神經網路變得越來越深,一個新的研究問題出現了:當輸入(或梯度)資訊經過許多層時,當它到達網路的結束(或開始)時,它就會消失並“洗出”。許多最近的文章著力解決這個問題,ResNets 和 Highway Networks旁路訊號通過identity connections從一層到下一層。Stochastic depth縮短resnets,通過訓練期間隨機丟棄層,來獲得更好的資訊和梯度流。FractalNets將不同數量的卷積塊的多個並行層序列重複組合,以獲得較大的深度,同時在網路中保持許多短路徑。儘管這些不同的方法在網路拓撲結構和訓練過程中有所不同,但它們都具有一個關鍵特徵:它們建立了從前面層到後續層的短路徑。
    在本文中,我們提出了一種將這種方法提煉成簡單連線模式的架構:為了確保網路中各層之間的最大資訊流,我們直接將所有層(具有相同的特徵圖尺寸的層)連線起來。為了保留前向傳播的特性,每一層的輸入來自前面所有層的輸出,並將其自身的特徵對映傳遞到所有後續層。如圖1所示。 至關重要的是,與ResNets相比,我們沒有采用合併之前所有層的特徵到一層的方法;相反,我們把它們連線起來,結合所有層的特點。因此,第

th層會有個輸入,由之前的所有卷積塊的特徵圖組成。它自己的特徵對映被傳遞到所有的L後續層。這在L層網路中引入L(L+1)2個連線,而不像傳統體系結構中的L那樣。 由於其密集的連線模式,我們將我們的方法稱為密集卷積網路(DenseNet)。
這裡寫圖片描述
    這種密集的連線模式的直觀效果是它需要的引數比傳統的卷積網路少,無需重新學習冗餘特徵圖。傳統的前饋結構可以看作是一種狀態的演算法,它是從層到層傳遞的。每個層從其上一層讀取狀態並寫入後續層,它改變了狀態,但也傳遞了需要儲存的資訊。 ResNets儲存資訊是通過附加的identity connection。ResNets 最近的改進版本表明,有很多層的貢獻很少,實際上可以在訓練期間隨機丟棄,使得ResNet的狀態類似於展開的遞迴神經網路,但是ResNets的引數數目要大得多,因為每一個層都有自己的權重。我們提出的DenseNet體系結構清楚地區分新增到網路的資訊和儲存的資訊。DenseNet層很窄(例如,每層12個filter),新增少量特徵圖的網路,保持其餘的特徵圖不變,最終的分類器的結果是基於網路的所有特徵圖。
    除了更好的引數效率之外,DenseNets的一大優勢是改善了整個網路中的資訊流和梯度,這使得它們易於訓練。每一層都可以直接從損失函式和原始輸入訊號中獲得梯度,從而產生隱含的深層監督。這有助於深入網路體系結構的訓練。 此外,我們還觀察到密集連線具有正則化效應,緩解了訓練集小導致的過擬合現象。

3 DenseNets

    考慮一張單一的影象x0通過一個卷積神經網路。這個網路有L層,每層實現一個非線性變換H(.)。其中,是層的編號,H(.)可以是BN、ReLU、池化、卷積組成的複合函式。x作為th層的輸出。
ResNets. 傳統的卷積是把前饋網路th層的輸出作為+1層的輸入,產生了如下的轉換關係:x=Hx1。ResNets 新增一個skip-connection繞過非線性變換的特徵函式:
(1)x=H(x1)+x1
    resnets的優點是梯度直接通過identity function從後面層流向前面的層,然而,identity function和H輸出求和可能阻礙網路中的資訊流。
Dense connectivity. 為了進一步改善層之間的資訊流,我們提出了不同的連線模式:我們引入了從任何層到所有後續層的直接連線。 圖1展示出了由此產生的DenseNet的佈局。 因此,第th層接收所有前面的層x0x1的特徵圖作為輸入:
(2)x=H([x0,x1,,x1])
    其中,[x0x1x1]是指在層