Densely Connected Convolutional Networks翻譯

這裏寫圖片描述
Abstract:最近的成果顯示,如果神經網絡各層到輸入和輸出層採用更短的連接,那麼網絡可以設計的更深、更準確且訓練起來更有效率。本文根據這個現象,提出了Dense Convolutional Network (DenseNet),它以前饋的方式將每個層都連接到其他每一層。然而傳統L層卷積網絡有L連接,而DenseNet的任一層不僅與相鄰層有連接,而且與它的隨後的所有層都有直接連接,所以該網絡有L(L+1)/2個直接連接。DenseNets有如下幾個令人信服的優點:緩解了消失梯度問題,增強了特徵傳播,促進了特徵再用,大大減少了參數的數量。本文計算架構在四個具有高度競爭的目標識別數據集上進行實驗。DenseNets相對於目前最先進的算法有明顯的改善,且採用更少的計算來實現高性能。代碼和預訓練模型如下https://github.com/liuzhuang13/DenseNet.
1. Introduction
卷積神經網絡(CNN)已成爲占主導地位的機器學習的視覺物體識別方法。儘管CNN最早被提出已經有20年了,但計算機硬件和網絡結構的改進才使得最近才能真正的訓練深度神經網絡。原始的LeNet5包含了5層,VGG網絡19層,Highway和ResNets超過了100層的大關。
隨着神經網絡變得越來越深,一個新的研究問題出現了:當輸入或梯度信息經過許多層時,當它到達網絡的結束(或開始)時,它就會消失並“洗出”。 許多最近的文章着力解決這個問題,ResNets [11] 和 Highway Networks [33] 旁路信號通過身份連接從一層到下一層。Stochastic depth[ 13 ]縮短resnets是通過訓練期間隨機丟棄層,來獲得更好的信息和梯度流。FractalNets [17]將不同數量的卷積塊的多個並行層序列重複組合,以獲得較大的標稱深度,同時在網絡中保持許多短路徑。儘管這些不同的方法在網絡拓撲結構和訓練過程中有所不同,但它們都具有一個關鍵特徵:它們創建了從前面層到後續層的短路徑。
在本文中,我們提出了一種將這種方法提煉成簡單連接模式的架構:爲了確保網絡中各層之間的最大信息流,我們直接將所有層(具有匹配的特徵映射大小)連接起來。爲了保留前向傳播的特性,每個層從前面的所有層獲得附加輸入,並將其自身的特徵映射傳遞到所有後續層。如圖一所示。
這裏寫圖片描述
Figure 1: A 5-layer dense block with a growth rate of k = 4. Each layer takes all preceding feature-maps as input.
圖1:一個k = 4的增長率5層dense block。每層將所有前面的特徵映射作爲輸入

至關重要的是,與ResNets相比,我們沒有采用合併之前所有層的特徵到一層的方法,相反,我們把它們連接起來結合所有層的特點。因此,該ℓ層有ℓ個輸入,由之前的所有卷積塊的特徵圖組成,它自己的特徵映射被傳遞到所有的L-ℓ後續層。這在L層網絡中引入連接,而不像傳統體系結構中的L那樣。 由於其密集的連接模式,我們將我們的方法稱爲密集卷積網絡(DenseNet)。一個可能這種密集的連接模式的直觀效果是它需要的參數比傳統的卷積網絡少,無需重新學習冗餘特徵圖。傳統的前饋結構可以看作是一種狀態的算法,它是從層到層傳遞的。每個層從其上一層讀取狀態並寫入後續層,它改變了狀態,但也傳遞了需要保存的信息。 ResNets [11]清楚地保存信息是通過附加的標識轉換。ResNets [13]最近的改進表明,有很多層的貢獻很少,實際上可以在訓練期間隨機丟棄,使得ResNet的狀態類似於(展開的)遞歸神經網絡[21],但是ResNets的參數數目要大得多,因爲每一個層都有自己的權重。我們提出的DenseNet體系結構清楚的區分添加到網絡的信息和保存的信息。DenseNet層很窄(例如,每層12個filter),添加少量的特徵圖的“集體知識”的網絡,保持其餘的特徵圖不變,最終的分類器的結果是基於網絡的所有特徵圖。除了更好的參數效率之外,DenseNets的一大優勢是改善了整個網絡中的信息流和梯度,這使得它們易於訓練。每一層都可以直接從損失函數和原始輸入信號中獲得梯度,從而產生隱含的深層監督[20]。這有助於深入網絡體系結構的訓練。 此外,我們還觀察到密集連接具有正則化效應,緩解了訓練集小導致的過擬合現象。
2. Related Work
網絡架構的探索自從最初的發現以來一直是神經網絡研究的一部分。 最近神經網絡的流行再度興起了這個研究領域。 現代網絡中越來越多的層放大了架構之間的差異,並且激發了對不同連接模式的探索以及舊研究思路的重新審視。
類似於我們提出的密集網絡佈局的級聯結構已經在20世紀80年代的神經網絡文獻中被研究[3]。他們的開創性工作主要集中在逐層訓練的全連接的multi-layer上。 最近,提出了全連接的級聯網絡進行批梯度下降訓練[39]。儘管對小數據集有效,但這種方法只能擴展到具有幾百個參數的網絡。 在[9,23,30,40]中,已經發現通過跳躍連接來利用CNN中的多級特徵對於各種視覺任務是有效的。 在我們的研究工作的同時,[1]得出了一個與我們的跨層連接類似的網絡的純理論框架。
Highway Networks [33]是最早提出100層網絡架構之一,它提供了一種有效的方式來訓練超過100層的end-to-end網絡。使用bypassing paths和門控單元,數百層的Highway Networks可以毫無困難地優化。bypassing paths(旁路路徑)被認爲是訓練這些非常深網絡的關鍵因素。ResNets [11]進一步支持這一點,其中純身份映射被用作旁路路徑。 ResNet在許多具有挑戰性的圖像識別,定位和檢測任務(如ImageNet和COCO目標檢測)方面取得了非常厲害的創紀錄的性能[11]。最近,Stochastic depth成功訓練了1202層ResNet [13]。 Stochastic depth通過在訓練期間隨機丟棄層來改善深度殘留網絡的訓練。這表明並不是所有的層都是需要的,並且強調在深度(剩餘)網絡中存在大量的冗餘。 我們的論文部分受到這一現象的啓發。 具有pre-activation的ResNets也有助於訓練1000多層最先進的網絡[12]。
使網絡更深的正交方法(例如,藉助跳過連接)是增加網絡寬度。GoogLeNet [35,36]使用一個“Inception module”,將不同大小的濾波器產生的特徵圖連接起來。 在[37]中,提出了具有廣泛的廣義殘差塊的ResNet的變體。事實上,只要增加每層ResNets中的濾波器數量,只要深度足夠,就可以提高其性能[41]。FractalNets也使用廣泛的網絡結構在幾個數據集上獲得有競爭力的結果[17]。DenseNets不是從極其深層或廣泛的體系結構中繪製代表性的力量,而是通過特性重用來挖掘網絡的潛力,產生易於訓練和具有高效的參數精簡模型。把不同層學習的特徵圖連接起來會增加後續層輸入的變化,並提高效率。這構成了DenseNets和ResNet之間的主要區別。 與Inception網絡[35,36]相比,DenseNets更加簡單和高效。還有其他引人注目的網絡架構創新,已經取得了有競爭力的成果。NIN網絡結構包括卷積層濾波器的多層感知器,用來提取更復雜的特徵。DSN網絡的內部層被輔助分類器直接監督的,它能夠加強前面層接收的梯度。Ladder Networks (梯形網絡)[26, 25]引入了自動編碼器的橫向連接,在半監督的學習任務中產生了非常高的精度。在[38]中,DFNS通過結合不同基礎網絡的中間層來提高信息流,增加具有最小化重建損失值性質的網絡路徑,可以改善圖像分類模型。
3. DenseNets
考慮一張單一的圖像x0通過一個卷積神經網絡。這個網絡有L層,每層實現一個非線性變換Hℓ(•),ℓ是層的編號,Hℓ(•)可以是批量歸一化的複合函數(例如BN),rectified線性單元 (ReLU),池化或者卷積,Xℓ作爲ℓ層的輸出。
ResNets. 傳統的卷積是把前饋網絡ℓ層的輸出作爲(ℓ+ 1)層的輸入[16],產生了如下的轉換關係:Xℓ= H(Xℓ−1)。ResNets [11]添加一個跳過連接繞過非線性變換的特徵函數:
xℓ = Hℓ(xℓ−1) + xℓ−1.
resnets的優點是梯度直接通過特徵函數從後面層流向前面的層,然而,特徵函數和Hℓ輸出求和可能阻礙網絡中的信息流。
Dense connectivity
爲了進一步改善層之間的信息流,我們提出了不同的連接模式:我們引入了從任何層到所有後續層的直接連接。 圖1示意性地示出了由此產生的DenseNet的佈局。 因此,第ℓ層接收所有前面的層x0,…,Xℓ−1的特徵圖作爲輸入:
xℓ = Hℓ([x0,x1,…,xℓ−1]), (2)
其中[x0,x1,…,xℓ-1]是指在層0,…,ℓ-1中產生的特徵圖的拼接。 由於密集的連接性,我們把這種網絡結構稱爲密集卷積網絡(DenseNet)。Hℓ(•)的多輸入在式(2)爲一個張量。(這部分的意思是說,Hℓ的輸入是前面0到ℓ-1個X特徵圖)
Composite function.
由[12]推導,我們定義H l(•)爲三個連續操作的複合函數:批量歸一化(BN)[14],其次是(ReLU)[6]和3×3卷積(Conv)
這裏寫圖片描述
Figure 2: A deep DenseNet with three dense blocks. The layers between two adjacent blocks are referred
to as transition layers and change feature-map sizes via convolution and pooling.

Pooling layers
方程(2)中使用的連接操作在特徵圖的大小改變時是不可行的。(個人理解是,第一步的dense connectivity,如果特徵圖的尺寸不一致,不能進行連接操作的) 然而,卷積網絡的一個重要組成部分是下采樣層,它改變了特徵圖的大小。 爲了簡化體系結構中的下采樣,我們將網絡劃分爲多個密集連接的密集塊; 見圖2。我們將塊之間的層稱爲過渡層(transition layers),對它們做卷積和池化。 在我們的實驗中使用的過渡層由batch normalization層和1×1卷積層,然後是2×2平均池化層組成。
Growth rate.
如果每個函數Hℓ產生k個 featuremaps,由此可見,ℓ層有K0 + K×(ℓ−1)輸入特徵圖,其中K0是輸入層的通道數(如果是初始的RGB,就是K0就是3)。DenseNet和現有的網絡體系結構的一個重要的區別是,DenseNet可以有很窄的層,例如,K = 12。我們將超參數K作爲網絡的增長率。我們在第4節中提到,一個相對較小的增長率足以在我們測試的數據集上獲得了最先進的結果。對此的一個解釋是,每一層都可以訪問其塊中的所有前面的特徵圖,因此可以訪問網絡的“集體知識”。 可以將特徵圖視爲網絡的全局狀態。 每個層都將自己的k個特徵圖添加到這個狀態。 增長率規定了每個層對全局狀態貢獻的新信息量。 全局狀態一旦寫入,就可以從網絡中的任何地方訪問,與傳統的網絡體系結構不同的是,並不需要一層一層地複製它。
Bottleneck layers.
雖然每個層只輸出k個特徵圖,但它通常有更多的輸入。在[ 36, 11 ] 已經指出,1×1卷積可以作爲Bottleneck layers在每3×3卷積來減少輸入特徵圖的數量(這部分是降維),從而提高計算效率。我們發現這個設計對於DenseNet特別有效,我們把這個Bottleneck layers稱爲我們的網絡,即對於H層的BN-ReLU-Conv(1×1)-BN-ReLU-Conv(3×3)版本,DenseNet-B。 在我們的實驗中,我們讓每個1×1卷積產生4k個特徵圖。
Compression.
爲了進一步提高模型的緊湊性,我們可以減少過渡層的特徵圖數量。 如果一個密集塊包含m個特徵圖,我們讓下面的過渡層產生⌊θm⌋輸出特徵圖,其中0 <θ≤1被稱爲壓縮因子。 當θ= 1時,過渡層上的特徵圖的數量保持不變。 我們稱DenseNet的θ<1爲DenseNet-C,在實驗中設定θ= 0.5。 當使用θ<1的瓶頸和過渡層時,我們將模型稱爲DenseNet-BC。
這裏寫圖片描述
Table 1: DenseNet architectures for ImageNet. The growth rate for the first 3 networks is k = 32, and k = 48 for DenseNet-161. Note that each “conv” layer shown in the table corresponds the sequence BN-ReLU-Conv.
Implementation Details
在除ImageNet以外的所有數據集上,我們實驗中使用的DenseNet有三個密集塊,每個塊都有相同數量的層。在進入第一密集塊之前,對輸入圖像執行16(或DenseNet-BC增長率的兩倍)輸出通道的卷積。 對於卷積核大小爲3×3的卷積層,輸入的每一邊都被填充一個像素以保持特徵圖大小的不變。我們使用1×1卷積,然後使用2×2平均池化作爲兩個連續密集塊之間的過渡層。 在最後一個密集塊的末尾,採用一個全局平均池化,然後附加一個softmax分類器。三個密集塊中的特徵圖大小分別是32×32,16×16和8×8。 我們試驗了配置分別爲{L = 40,k = 12},{L = 100,k = 12}和{L = 100,k = 24}的基本DenseNet結構。對於DenseNetBC,評估配置爲{L = 100,k = 12},{L = 250,k = 24}和{L = 190,k = 40}的網絡。
在ImageNet的實驗中,我們使用了DenseNet-BC結構,在224×224的輸入圖像上有4個密集塊。 初始卷積層包括爲步長爲2的7×7卷積的2k個;所有其他層中的特徵圖的數量設置爲k。我們在ImageNet上使用的確切網絡配置如表1所示。
4.Experiments
我們的經驗驗證了DenseNet在幾個標準數據集上的有效性,並與現有的ResNet及其變體架構進行了比較。
4.1Datasets
CIFAR。 兩個CIFAR數據集[15]由32×32像素的彩色自然圖像組成。 CIFAR-10(C10)由10個圖像和100個類別的CIFAR-100(C100)組成。 訓練和測試集合分別包含50,000和10,000個圖像,並且我們有5000個訓練圖像作爲驗證集。我們採用廣泛用於這兩個數據集的標準數據增強方案(鏡像/移位)[11,13,17,22,27,20,31,33]。 我們用數據集名稱末尾的“+”標記(例如C10 +)表示採用的數據增強。對於預處理,我們使用the channel means 和 standard deviations對數據進行歸一化處理。 爲了最後的運行,我們使用所有50,000張訓練圖像,並在訓練結束時報告最終的測試錯誤。
SVHN.
街景房屋號碼(SVHN)數據集[24]包含32×32彩色數字圖像。 訓練集中有73,257幅圖像,測試集中有26,032幅圖像,531,131幅圖像用於額外訓練。按照慣例[7,13,20,22,29],我們使用所有的訓練數據沒有任何數據增強,並且從訓練集中分離出具有6000個圖像的驗證集合。 我們選擇訓練期間驗證錯誤最低的模型並報告測試錯誤。 我們遵循[41]並將像素值除以255,使其在[0,1]範圍內。
ImageNet.
ILSVRC 2012分類數據集[2]包括來自1,000個類的120萬個用於訓練的圖像和50,000個用於驗證的圖像。 我們採用與[8,11,12]中相同的數據增強方案來訓練圖像,並且在測試時應用尺寸爲224×224的single-crop 或 10-crop 。 在[11,12,13]之後,我們在驗證集上報告分類錯誤。
這裏寫圖片描述
這裏寫圖片描述
4.2Training
所有的網絡都使用隨機梯度下降(SGD)進行訓練。 在CIFAR和SVHN上,我們用64 batch size 分別訓練300和40輪。 最初的學習率設定爲0.1,在訓練時期總數中的50%和75%除以10。 在ImageNet上,採用batch size爲256訓練90輪。學習速率初始設置爲0.1,在30和60輪時降低10倍。由於GPU內存的限制,我們最大的型號(DenseNet-161)以mini-batch size 128進行訓練。爲了彌補較小batch size,我們訓練這個模型100輪,在90輪時採用除以10的學習率.
我們使用10-4的權重衰減和0.9的Nesterov動量[34],其中Nesterov動量不衰減。 我們採用由[10]引入的權重初始化。 對於沒有數據增強的三個數據集,即C10,C100和SVHN,我們在每個卷積層(除了第一個卷積層)之後添加一個丟失層[32],並將丟失率設置爲0.2。 測試錯誤僅針對每個任務和模型設置評估一次。
4.3Classification Results on CIFAR and SVHN
我們用不同的深度L和增長率k來訓練DenseNets。 表2列出了CIFAR和SVHN的主要結果。爲了突出總體趨勢,我們將超過現有技術水平的以粗體顯示,並以藍色表示最好的結果。這裏寫圖片描述

Accuracy.
可能最明顯的趨勢可能起源於表2的最後一行,這表明在所有CIFAR數據集上,具有L = 190和k = 40的DenseNet-BC一致地優於現有技術水平。 它在C10 +上的錯誤率爲3.46%,在C100 +上的錯誤率爲17.18%,明顯低於ResNet架構[41]的錯誤率。我們在C10和C100上的最好結果(沒有數據增加)更令人鼓舞:兩者都比FractalNet低30%,並且具有下降路徑正則化[17]。 在SVHN上,當丟失層時,L = 100和k = 24的DenseNet也超過了ResNet所取得的最好結果。 然而,250層的DenseNet-BC並沒有進一步改善其性能。 這可以解釋爲SVHN是一個相對容易的任務,而且深的模型可能會產生過擬合現象。
Capacity.
在沒有壓縮或Bottleneck layers的情況下,隨着L和k增加,DenseNets表現出更好的性能。 我們把這主要歸因於模型能力的相應增長。 這最好由C10 +和C100 +列表示。 在C10 +上,隨着參數從1.0M增加到7.0M,再增加到27.2M,誤差從5.24%下降到4.10%,最終下降到3.74%。在C100 +上,我們觀察到了類似的趨勢。 這表明DenseNets可以利用越來越深的模型的代表性力量。 這也表明它們不會出現過擬合或殘餘網絡的優化困難[11]。
Parameter Efficiency.
表2的結果表明,densenets利用參數比其他結構更有效(特別是resnets)。在過渡層的瓶頸結構和降維densenet BC特別有效。例如,我們的250層模型只有15.3M的參數,但它一直優於其他模型,如FractalNet和Wide ResNets有超過30M的參數。 我們還強調,L = 100和k = 12的DenseNet-BC(例如,C10 +上的4.51%比4.62%,C100 +上的22.27%比22.71%) 與1001層預激活ResNet使用90%參數的可達到同等的性能。圖4(右圖)顯示了這兩個網絡在C10 +上的訓練損失和測試誤差。 1001層深的ResNet收斂到較低的訓練損失值,但有類似的測試錯誤。 我們在下面進行更詳細地分析。
這裏寫圖片描述
Figure 4: Left: Comparison of the parameter efficiency on C10+ between DenseNet variations. Middle: Comparison of the parameter efficiency between DenseNet-BC and (pre-activation) ResNets. DenseNet-BC requires about 1/3 of the parameters as ResNet to achieve comparable accuracy. Right: Training and testing curves of the 1001-layer pre-activation ResNet [12] with more than 10M parameters and a 100-layer DenseNet with only 0.8M parameters.

Overfitting.
更有效地使用參數的一個積極副作用是DenseNets不易過擬合。 我們觀察到,在沒有數據增強的數據集上,DenseNet體系結構相對於之前工作的改進尤其明顯。 在C10上,這一改進使得錯誤率從7.33%降至5.19%,相對減少了29%。 在C100上,減幅從30%左右到28.20%再下降到19.64%。在我們的實驗中,我們發現潛在的過擬合單一的設置:在C10,由增加k = 12到k = 24產生的參數的4倍增長導致誤差從5.77%適度增加到5.83%。 DenseNet-BC bottleneck和壓縮層似乎是對付這一趨勢的有效方法。
4.4 Classification Results on ImageNet
我們在ImageNet分類任務中評估不同深度和增長率的DenseNet-BC,並將其與最先進的ResNet體系結構進行比較。 爲了確保兩種架構之間的公平比較,我們消除了所有其他因素,如數據預處理和優化設置的差異,採用[8]的ResNet的公開Torch實現。我們只需用DenseNet-BC網絡替換ResNet模型,並保持所有的實驗設置與用於ResNet的設置完全相同。 唯一的例外是,由於GPU內存限制,我們最大的DenseNet模型採用mini-batch size爲128來進行訓練,在訓練這個模型100輪,第90次學習率下降,以補償較小的batch size。我們在表3中的ImageNet上報告了DenseNets的single-crop和10-crop驗證錯誤。圖3顯示了DenseNets和ResNets的single-crop top-1驗證錯誤作爲參數數量(左)和FLOP(右)。圖中顯示的結果表明,DenseNets與最先進的ResNet相媲美,同時需要顯着減少的參數和計算來實現比較好的性能。 例如,具有20M參數模型的DenseNet-201產生與具有超過40M參數的101層ResNet相似的驗證誤差。從右側面可以觀察到類似的趨勢,它將驗證誤差繪製爲FLOP數量的函數:一個DenseNet需要儘可能多的ResNet-50執行與ResNet-101相同的計算,這需要兩倍計算。
值得注意的是,我們的實驗設置意味着我們使用爲優化的ResNets而不是DenseNets超參數設置。 可以想像,通過最多兩個或三個過渡層提供對所有層的直接監督。然而,損失函數和梯度densenets基本上不太複雜,因爲同樣的損失函數是各層之間共享。可以想象,更廣泛的超參數搜索可以進一步提高ImageNet上DenseNet的性能。
5.Discussion
從表面上看,DenseNets和ResNet非常相似:Eq.(2)與式(1)只在Hℓ輸入(•)連接起來而不是加和。 然而,這個看起來很小的修改的影響導致兩個網絡架構的本質大不相同。
Model compactness.
輸入連接的直接結果是,由任何DenseNet層學習的特徵圖可以被所有後續層訪問。 這使得整個網絡的功能重用,並使模型更緊湊。圖4中的左邊兩張圖顯示實驗的結果,該實驗的目的是比較所有DenseNets變體的參數效率(左)以及同等的ResNet架構(中)。 我們在C10 +上訓練多個不同深度的小網絡,並將他們的測試精度繪製成網絡參數的函數。 與其他流行的網絡體系結構(如AlexNet [16]或VGG-net [28])相比,具有預激活功能的ResNets使用更少的參數,卻通常會取得更好的結果[12]。 因此,我們比較DenseNet(k = 12)與這個架構。 DenseNet的訓練設置與上一節保持一致。
該圖顯示DenseNet-BC始終是DenseNet的最多參數有效變體。 此外,爲了達到相同的準確度,DenseNet-BC只需要ResNets(中間圖)的大約1/3的參數。 這個結果與我們在圖3中給出的ImageNet的結果是一致的。圖4中的右圖顯示了只有0.8M可訓練參數的DenseNet-BC能夠達到與1001層(預激活) ResNet [12]有10.2M參數。
Implicit Deep Supervision.
對密集卷積網絡的改進精確度的一個解釋可能是單個層通過較短的連接從損失函數接收額外的監督。 人們可以解釋DenseNets進行一種“深度監督”。 深度監督的好處之前已經在深度監督的網絡(DSN; [20])中顯示出來,它們在每一個隱藏層都附加了分類器,加強中間層學習判別特徵。DenseNets以隱式方式執行類似的深度監督:網絡頂部的單個分類器通過至多兩個或三個過渡層提供對所有層的直接監督。 然而,DenseNets的損失函數和梯度要複雜得多,因爲所有層之間共享相同的損失函數。
Stochastic vs. deterministic connection.
密集卷積網絡與殘差網絡的隨機深度正則化之間存在着一個有趣的聯繫[13]。 在隨機深度中,剩餘網絡中的層隨機丟棄,這會在周圍層之間建立直接連接。 由於池層永遠不會丟失,因此網絡會產生與DenseNet相似的連接模式:如果所有中間層都是隨機丟棄的,則在相同池層之間的任何兩層之間有一個小概率被直接連接。 儘管這些方法最終是完全不同的,但DenseNet對隨機深度的解釋可能爲正規化的成功提供了見解。
Feature Reuse
通過設計,DenseNets允許層訪問來自其所有先前層的特徵圖(儘管有時通過過渡層)。 我們進行一項實驗來調查一個訓練有素的網絡是否利用這個機會。 我們首先在C10 +上訓練一個DenseNet,L = 40和k = 12。每個卷積層ℓ塊內,我們計算分配給層s的連接的平均(絕對)權重。圖5顯示了所有三個密集塊的熱圖。 平均絕對權重用作卷積層在其前面層上的依賴性的替代物。 位置(ℓ,s)上的紅點表示層ℓ,平均使用之前產生的s層的特徵圖。 可以從圖中得到幾個觀察結果:

這裏寫圖片描述
Figure 5: The average absolute filter weights of convolutional layers in a trained DenseNet. The color of pixel (s,ℓ) encodes the average L1 norm (normalized by number of input feature-maps) of the weights connecting convolutional layer s to ℓ within a dense block. Three columns highlighted by black rectangles correspond to two transition layers and the classification layer. The first row encodes weights connected to the input layer of the dense block.

1所有層在同一個塊內的許多輸入上分佈權重。 這表明,非常早期層提取的特徵實際上直接被整個同一密集塊中的深層使用。
2.過渡層的權重也將它們的權重分佈在前一個密集塊內的所有層上,這表明DenseNet從第一層到最後一層的信息流通過幾乎沒有間接傳遞。
3.第二和第三密集塊內的層一致地將最小權重分配給過渡層的輸出(三角形的頂部行),表明過渡層輸出許多冗餘特徵(平均具有低權重)。 這與DenseNet-BC的強大結果保持一致,在這些結果中,這些輸出被壓縮。
4.雖然右邊顯示的最後一個分類層也使用整個密集塊的權重,但似乎更專注最後的特徵圖,它表明在網絡後面層可能會產生更多的高級特徵。
6.Conclusion
我們提出了一種新的卷積網絡體系結構,我們稱之爲密集卷積網絡(DenseNet)。 它引入具有相同特徵圖大小的任何兩個層之間的直接連接。 我們發現DenseNets可以自然地擴展到數百層,同時不會出現優化困難。在我們的實驗中,DenseNets隨着參數數量的增加精度也隨之提高,而沒有任何性能下降或過擬合的現象。 在多種設置下,它在幾個常用數據集上實現了最先進的結果。 而且,DenseNets採用更少的參數和更少的計算來實現最先進的性能。因爲我們在本研究中採用了針對殘差網絡優化的超參數設置,所以我們相信通過更詳細地調整超參數和學習率,可以使DenseNets準確度的進一步提高。
DenseNets遵循一個簡單的連接規則,自然而然地結合了恆等映射,深度監督和深度多樣化。它們允許在整個網絡中重用特徵,因此它們可以學習更緊湊,並且在我們的實驗結果中更精確的模型。因爲DenseNets內部表示緊湊,特徵冗餘較少,所以可以很好地進行各種基於卷積特徵的計算機視覺任務的特徵提取,例如[4,5]。 我們計劃在未來的工作中研究DenseNets的這種特徵變換。

發佈了5 篇原創文章 · 獲贊 27 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章