CVPR2017最佳論文 Densely Connected Convolutional Networks (DenseNets)閱讀筆記

CVPR2017最佳論文 Densely Connected Convolutional Networks (DenseNets)閱讀筆記

原文:Densely Connected Convolutional Networks
作者:Gao Huang, Zhuang Liu, Kilian Q. Weinberger, Laurens van der Maaten
下載地址:https://arxiv.org/abs/1608.06993

1 簡介

  • 近幾年的深度學習模型中,CNN一直是絕對主導地位。Resnet、GoogLeNet、VGG等優秀的網絡都是基於CNN搭建的。然而,深層的CNN一直以來都存在一個問題:數據在多層傳播後很可能會逐漸消失。Resnet通過“skip connection”結構一定程度上在促進了數據在層間的流通,但接近輸出的網絡層還是沒有充分獲得網絡前面的特徵圖。
  • 作者提出的DenseNets,在前向傳播基礎上,網絡每一層都能接受到它前面所有層的特徵圖,並且數據聚合採用的是拼接而非Resnet中的相加。網絡模型如下圖所示:
    image_1bmjdmn201hv51scs1tjj1o2f11hc9.png-64.3kB
  • 這種連接方式有一個很大的優點。前向傳播時,深層網絡能獲得淺層的信息,而反向傳播時,淺層網絡能獲得深層的梯度信息。這樣最大程度地促進了數據在網絡間的流動。
  • 另外,這種結構存在着大量的特徵複用。因此只需要很少的參數,就可以達到state-of-the-art的效果。主要是體現在特徵圖的通道數上,相比VGG、ResNet的幾百個通道,DenseNet可能只需要12、24個左右。

2 模型搭建

  • 關鍵詞:
    • Dense Block:作者將許多個卷積網絡分成3~4個部分,這些部分叫做dense block,概念有些像殘差網絡的殘差塊。每個block中,都執行密集連接,block的輸出再通過池化降低特徵圖尺寸。
      image_1bmjf3nc31plj16qu1dertq615grm.png-55.2kB
    • Growth rate:由於網絡採用拼接(Concatenate)的操作,通道數會逐層增加。作者在設計網絡時固定了每個卷積層的輸出通道數,因此每層增加的通道數一樣的,Growth rate指的就是網絡每層增加的通道數。用k表示。
    • Bottleneck:該網絡是爲了解決輸入特徵圖層數太多的問題。它先進行BN、ReLU,再用一個1*1的卷積把輸入通道變成相對小的一個固定值(作者設置爲4k),之後再通過BN-ReLU-Conv3*3輸出。也就是說,上圖block每個黑點都是BN-ReLU-Conv1*1-BN-ReLU-Conv3*3的結構,其中Conv1*1的輸出通道爲4k,Conv3*3的輸出通道爲k。有該結構的網絡叫做DenseNet-B
    • Compreession:在兩個Dense block中出現,爲了壓縮通道數。假設一個Dense block的輸出是m,設置一個壓縮值θ ,用conv1*1將dense block的輸出壓縮成θm 個通道。一般來說θ 設置成0.5。Compresion在上圖中被表示爲block之間的那個“convolution”(前面一樣還有BN-RELU)。如果使用了bottleneck和compression,網絡就稱作DenseNet-BC

用於CIFAR、SVHN

  • CIFAR10,CIFAR100、SVHN這三個數據集中,圖像的大小隻有32*32。作者只用3個Dense block,輸出尺寸分別爲32*32,16*16,8*8,另外沒有bottleneck。作者設置了兩種網絡,分別爲40層和100層,對應的growth rate分別爲12和24。另外作者還是用了bottleneck來嘗試,配置爲:{L=100,k=12},{L=250,k=24},{L=190,k=40}
    image_1bmjgenf31fagia7o858iesl313.png-54.7kB

用於Imagenet

  • 大致和上面相同,作者使用4個dense block,讓圖像最終尺寸變成經典的7*7。最開始的卷積尺寸爲7*7,步長爲2,將3通道的圖像轉換成2k通道的特徵圖。具體配置如下圖。
    image_1bmjgldh61dp6vnic6ca83vln1g.png-109.2kB

3 實驗

  • 比較值得注意的就是下面的實驗結果了。這是一個錯誤率-計算量的函數圖。可以發現,在達成相同準確率的情況下,DenseNet所需的參數和浮點操作數遠小於ResNet。這也是DenseNet的強大之處。
    image_1bmjgp3siane1geo1b8c7nat181t.png-78.1kB
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章