DenseNet

Densely Connected Convolutional Networks

這篇博客轉(zhuǎn)載自
原文鏈接

前言

在計(jì)算機(jī)視覺(jué)領(lǐng)域,卷積神經(jīng)網(wǎng)絡(luò)(CNN)已經(jīng)成為最主流的方法债鸡,比如GoogLenet,VGG-19等模型。CNN史上的一個(gè)里程碑事件是ResNet模型的出現(xiàn),ResNet可以訓(xùn)練出更深的CNN模型枝哄,從而實(shí)現(xiàn)更高的準(zhǔn)確度。ResNet模型的核心是通過(guò)建立前面層與后面層之間的“短路連接”(shortcuts闰非,skip connection)膘格,這有助于訓(xùn)練過(guò)程中梯度的反向傳播堕绩,從而能訓(xùn)練出更深的CNN網(wǎng)絡(luò)腔剂。今天我們要介紹的是DenseNet模型痴脾,它的基本思路與ResNet一致,但是它建立的是前面所有層與后面層的密集連接(dense connection)辆毡,它的名稱(chēng)也是由此而來(lái)。DenseNet的另一大特色是通過(guò)特征在channel上的連接來(lái)實(shí)現(xiàn)特征重用(feature reuse)甜害。這些特點(diǎn)讓DenseNet在參數(shù)和計(jì)算成本更少的情形下實(shí)現(xiàn)比ResNet更優(yōu)的性能舶掖。

如上所述,DenseNet網(wǎng)絡(luò)架構(gòu)中尔店,每?jī)蓚€(gè)層之間都有直接的連接眨攘,因此該網(wǎng)絡(luò)的直接連接個(gè)數(shù)為L(L+1)/2,對(duì)于每一層嚣州,使用前面所有的層的特征映射作為輸入鲫售,并且使其自身的特征映射作為所有后續(xù)層的輸入。

DenseNet的優(yōu)點(diǎn):

(1)緩解了消失梯度問(wèn)題
(2)實(shí)現(xiàn)特征重用该肴,加強(qiáng)了特征傳播
(3)模型大大減少了參數(shù)的數(shù)量

示例:(一個(gè)5層的密集塊)


設(shè)計(jì)理念

相比ResNet情竹,DenseNet提出了一個(gè)更激進(jìn)的密集連接機(jī)制:即互相連接所有的層,具體來(lái)說(shuō)就是每個(gè)層都會(huì)接受其前面所有層作為其額外的輸入匀哄。圖1為ResNet網(wǎng)絡(luò)的連接機(jī)制秦效,作為對(duì)比,圖2為DenseNet的密集連接機(jī)制涎嚼≮逯荩可以看到,ResNet是模塊化(Residual Block)的法梯,每個(gè)模塊的最后一層與前面的某層(一般是2~3層)短路連接在一起苔货,連接方式是通過(guò)元素級(jí)相加。而在DenseNet中,每個(gè)層都會(huì)與前面所有層在channel維度上連接(concat)在一起(這里各個(gè)層的特征圖大小是相同的蒲赂,后面會(huì)有說(shuō)明)阱冶,并作為下一層的輸入。對(duì)于一個(gè)L層的網(wǎng)絡(luò)DenseNet共包含

個(gè)連接滥嘴,相比ResNet木蹬,這種連接更密集。而且DenseNet是直接連接concat來(lái)自不同層的特征圖若皱,這可以實(shí)現(xiàn)特征重用镊叁,提升效率,這一特點(diǎn)是DenseNet與ResNet最主要的區(qū)別走触。

圖1 ResNet網(wǎng)絡(luò)的短路連接機(jī)制(其中+代表的是元素級(jí)相加操作)
圖2 DenseNet網(wǎng)絡(luò)的密集連接機(jī)制(其中c代表的是channel級(jí)連接操作)

如果用公式表示的話(huà)晦譬,傳統(tǒng)的網(wǎng)絡(luò)在L層的輸出為:

而對(duì)于ResNet,會(huì)增加了一個(gè)前面的輸入:

在DenseNet中互广,會(huì)連接前面所有層作為輸入:

其中敛腌,上面的

代表是非線性轉(zhuǎn)化函數(shù)(non-liear transformation),它是一個(gè)組合操作惫皱,其可能包括一系列的BN(Batch Normalization)像樊,ReLU,Pooling及Conv操作旅敷。注意這里L(fēng)層與 L-1 層之間可能實(shí)際上包含多個(gè)卷積層生棍。

DenseNet的前向過(guò)程如圖3所示,可以更直觀地理解其密集連接方式:


圖3 DenseNet的前向過(guò)程

CNN網(wǎng)絡(luò)一般要經(jīng)過(guò)Pooling或者stride>1的Conv來(lái)降低特征圖的大小媳谁,而DenseNet的密集連接方式需要前后特征圖大小保持一致涂滴。為了解決這個(gè)問(wèn)題,DenseNet網(wǎng)絡(luò)中使用DenseBlock+Transition的結(jié)構(gòu)晴音,其中DenseBlock是包含很多層的模塊柔纵,每個(gè)層的特征圖大小相同,層與層之間采用密集連接方式段多。而Transition模塊是連接兩個(gè)相鄰的DenseBlock首量,并且通過(guò)Pooling使特征圖大小降低。圖4給出了DenseNet的網(wǎng)路結(jié)構(gòu)进苍,它共包含4個(gè)DenseBlock加缘,各個(gè)DenseBlock之間通過(guò)Transition連接在一起。

圖4 使用DenseBlock+Transition的DenseNet網(wǎng)絡(luò)

網(wǎng)絡(luò)結(jié)構(gòu)

如前所示觉啊,DenseNet的網(wǎng)絡(luò)結(jié)構(gòu)主要由DenseBlockTransition組成拣宏,如圖5所示。下面具體介紹網(wǎng)絡(luò)的具體實(shí)現(xiàn)細(xì)節(jié)杠人。

圖5 DenseNet的網(wǎng)絡(luò)結(jié)構(gòu)

一.DenseBlock

DenseBlock中勋乾,各個(gè)層的特征圖大小一致宋下,可以在channel維度上連接。DenseBlock中的非線性組合函數(shù)H(.)采用的是BN+ReLU+3x3 Conv的結(jié)構(gòu)辑莫,如圖6所示学歧。另外值得注意的一點(diǎn)是,與ResNet不同各吨,所有DenseBlock中各個(gè)層卷積之后均輸出 K個(gè)特征圖枝笨,即得到的特征圖的channel數(shù)為K ,或者說(shuō)采用K個(gè)卷積核揭蜒。 K在DenseNet稱(chēng)為growth rate横浑,這是一個(gè)超參數(shù)。一般情況下使用較小的K(比如12)屉更,就可以得到較佳的性能徙融。假定輸入層的特征圖的channel數(shù)為 K0,那么 L層輸入的channel數(shù)為 K0+K(L-1)瑰谜,因此隨著層數(shù)增加欺冀,盡管K設(shè)定得較小,DenseBlock的輸入會(huì)非常多萨脑,不過(guò)這是由于特征重用所造成的脚猾,每個(gè)層僅有K特征是自己獨(dú)有的。

圖6 DenseBlock中的非線性轉(zhuǎn)換結(jié)構(gòu)

由于后面層的輸入會(huì)非常大砚哗,DenseBlock內(nèi)部可以采用bottleneck層來(lái)減少計(jì)算量,主要是原有的結(jié)構(gòu)中增加1x1 Conv砰奕,如圖7所示蛛芥,即BN+ReLU+1x1 Conv+BN+ReLU+3x3 Conv,稱(chēng)為DenseNet-B結(jié)構(gòu)军援。其中1x1 Conv得到4K個(gè)特征圖它起到的作用是降低特征數(shù)量仅淑,從而提升計(jì)算效率。

圖7 使用bottleneck層的DenseBlock結(jié)構(gòu)

二.Transition

對(duì)于Transition層胸哥,它主要是連接兩個(gè)相鄰的DenseBlock涯竟,并且降低特征圖大小。Transition層包括一個(gè)1x1的卷積和2x2的AvgPooling空厌,結(jié)構(gòu)為BN+ReLU+1x1 Conv+2x2 AvgPooling庐船。另外,Transition層可以起到壓縮模型的作用嘲更。假定Transition的上接DenseBlock得到的特征圖channels數(shù)為m筐钟,Transition層可以產(chǎn)生tm個(gè)特征(通過(guò)卷積層),其中t是壓縮系數(shù)(compression rate),范圍是(0,1]赋朦。當(dāng) t=1 時(shí)篓冲,特征個(gè)數(shù)經(jīng)過(guò)Transition層沒(méi)有變化李破,即無(wú)壓縮;而當(dāng)壓縮系數(shù)小于1時(shí),這種結(jié)構(gòu)稱(chēng)為DenseNet-C壹将,文中使用t=0.5 嗤攻。對(duì)于使用bottleneck層的DenseBlock結(jié)構(gòu)壓縮系數(shù)小于1的Transition組合結(jié)構(gòu)稱(chēng)為DenseNet-BC。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末诽俯,一起剝皮案震驚了整個(gè)濱河市妇菱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌惊畏,老刑警劉巖恶耽,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異颜启,居然都是意外死亡偷俭,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)缰盏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)涌萤,“玉大人,你說(shuō)我怎么就攤上這事口猜「合” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵济炎,是天一觀的道長(zhǎng)川抡。 經(jīng)常有香客問(wèn)我,道長(zhǎng)须尚,這世上最難降的妖魔是什么崖堤? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮耐床,結(jié)果婚禮上密幔,老公的妹妹穿的比我還像新娘。我一直安慰自己撩轰,他們只是感情好胯甩,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著堪嫂,像睡著了一般偎箫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上溉苛,一...
    開(kāi)封第一講書(shū)人閱讀 49,950評(píng)論 1 291
  • 那天镜廉,我揣著相機(jī)與錄音,去河邊找鬼愚战。 笑死娇唯,一個(gè)胖子當(dāng)著我的面吹牛齐遵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播塔插,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼梗摇,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了想许?” 一聲冷哼從身側(cè)響起伶授,我...
    開(kāi)封第一講書(shū)人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎流纹,沒(méi)想到半個(gè)月后糜烹,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡漱凝,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年疮蹦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片茸炒。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡愕乎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出壁公,到底是詐尸還是另有隱情感论,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布紊册,位于F島的核電站比肄,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏囊陡。R本人自食惡果不足惜薪前,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望关斜。 院中可真熱鬧,春花似錦铺浇、人聲如沸痢畜。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)丁稀。三九已至,卻和暖如春倚聚,著一層夾襖步出監(jiān)牢的瞬間线衫,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工惑折, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留授账,地道東北人枯跑。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像白热,于是被迫代替她去往敵國(guó)和親敛助。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350