Source-linked AI summary

Densely Connected Convolutional Networks

Gao Huang, Zhuang Liu, Laurens van der Maaten, Kilian Q. Weinberger

arXiv:1608.06993v5cs.CVcs.LG

TL;DR

심층 convolutional network는 많은 층을 거치며 정보와 gradient를 잃을 수 있으므로 더 짧은 경로를 갖는 architecture가 필요하다. DenseNet은 feature concatenation을 통해 각 층을 이후의 모든 층과 연결하며, 여러 경쟁력 있는 dataset에서 훨씬 적은 parameter와 computation으로 state-of-the-art 성능을 달성한다.

  • 문제

    심층 convolutional network는 signal이 많은 층을 통과하면서 입력 정보와 gradient를 잃을 수 있다.

  • 방법

    DenseNet은 크기가 같은 모든 층을 직접 연결하고, 이전 층의 feature-map을 이어 붙여 각 후속 층의 입력으로 사용한다.

  • 결과

    DenseNet은 여러 경쟁력 있는 dataset에서 state-of-the-art 성능을 달성하면서도 훨씬 적은 parameter와 computation만 필요로 했다.

  • 시사점 및 한계

    DenseNet은 feature reuse와 feature redundancy 감소를 통해 compact model을 학습하며, 정확한 convolutional feature extractor로 활용될 가능성을 보여준다.

  • 시사점 및 한계

    실험에는 DenseNet이 아니라 residual network에 맞춰 최적화된 hyperparameter setting이 사용되었으므로, 더 광범위한 tuning을 통해 ImageNet 성능이 향상될 수 있다.

Abstract

from arXiv · show

Recent work has shown that convolutional networks can be substantially deeper, more accurate, and efficient to train if they contain shorter connections between layers close to the input and those close to the output. In this paper, we embrace this observation and introduce the Dense Convolutional Network (DenseNet), which connects each layer to every other layer in a feed-forward fashion. Whereas traditional convolutional networks with L layers have L connections - one between each layer and its subsequent layer - our network has L(L+1)/2 direct connections. For each layer, the feature-maps of all preceding layers are used as inputs, and its own feature-maps are used as inputs into all subsequent layers. DenseNets have several compelling advantages: they alleviate the vanishing-gradient problem, strengthen feature propagation, encourage feature reuse, and substantially reduce the number of parameters. We evaluate our proposed architecture on four highly competitive object recognition benchmark tasks (CIFAR-10, CIFAR-100, SVHN, and ImageNet). DenseNets obtain significant improvements over the state-of-the-art on most of them, whilst requiring less computation to achieve high performance. Code and pre-trained models are available at https://github.com/liuzhuang13/DenseNet .

1. 서론

DenseNet은 각 layer를 동일한 feature-map 크기를 갖는 모든 선행 layer에 직접 연결해, 점점 깊어지는 CNN에서 정보와 gradient가 소실되는 문제를 해결한다. 이러한 dense connectivity는 정보 흐름, parameter 효율성, 학습 용이성, benchmark 성능을 향상시킨다.

  • 동기: Deep CNN은 많은 layer를 거치며 입력 정보와 gradient가 소실되거나 희석될 위험이 있어, 신호 경로를 단축하는 architecture가 필요하다.ResNet [11]과 Highway Network [34]은 identity connection을 사용하며, stochastic depth [13]는 학습 중 layer를 무작위로 제거한다.
  • Dense connectivity: DenseNet은 동일한 feature-map 크기를 갖는 모든 선행 layer에 각 layer를 연결하고, 각 layer의 feature-map을 이후의 모든 layer에 전달한다.이 feed-forward connectivity 패턴은 layer 간 정보 흐름을 극대화하도록 설계되었다.
  • Parameter 효율성: Dense connectivity는 중복된 feature 학습을 줄여, 전통적인 convolutional network보다 더 적은 parameter를 필요로 한다.전통적인 architecture는 layer 사이에서 변화하는 state를 전달하는 반면, DenseNet은 이미 계산된 feature-map을 재사용한다.
  • 최적화와 정규화: 원래 입력과 loss gradient에 직접 접근할 수 있으므로 각 layer는 implicit deep supervision [20]을 받으며, 더 깊은 architecture의 학습이 용이해진다.Dense connection은 regularizing effect도 보여 더 작은 training task에서 overfitting을 줄인다.
  • 실증적 평가: CIFAR-10, CIFAR-100, SVHN, ImageNet 전반에서 DenseNet은 대등한 accuracy를 유지하면서 일반적으로 더 적은 parameter를 사용하고, 대부분의 task에서 state-of-the-art 결과를 크게 능가한다.평가는 경쟁력 높은 object-recognition benchmark dataset 네 가지를 대상으로 수행되었다.

2. 관련 연구

기존 연구는 cascade 구조, 우회 경로, 폭 확장을 통해 deep network의 학습 가능성을 높였지만, DenseNets는 concatenation을 통한 feature reuse를 강조한다. 이 설계는 압축되고 학습하기 쉬우며 parameter 효율적인 모델을 만들고, ResNets 및 Inception networks와 차별화된다.

  • Cascade architecture: 초기 cascade architecture에는 layer별로 학습한 fully connected multilayer perceptron 과 batch-gradient로 학습한 cascade network 가 포함되지만, 후자는 수백 개의 parameter로만 확장되었다.이 대목은 cascade 구조를 제안된 dense layout의 전신으로 제시한다.
  • Skip connection: Highway Networks [34]와 ResNets [11]는 우회 경로를 사용해 매우 깊은 network를 더 쉽게 최적화한다.Highway Networks는 gating unit을 사용하는 반면, ResNets는 순수한 identity mapping을 사용한다.
  • Wide architecture: 다른 접근법은 Inception module [36], wide generalized residual block [38], 또는 FractalNets [17]와 같은 기타 wide structure를 통해 폭을 확장한다.GoogLeNet의 Inception module은 크기가 다른 filter가 생성한 feature-map을 concatenation한다.
  • DenseNets와 기존 architecture의 비교: DenseNets는 극단적인 깊이나 폭 대신 feature reuse를 활용해, 학습하기 쉽고 parameter 효율이 높은 압축 모델을 만든다.서로 다른 layer의 feature-map을 concatenation하면 이후 입력의 다양성이 높아지고 효율이 향상된다.
  • 기타 혁신: 그 밖의 architecture 혁신으로는 Network in Network, deeply supervised network [20], Ladder Network [27] [25]가 있으며, specialized feature extraction, auxiliary supervision, 또는 lateral connection을 추가한다.이 방법들은 neural-network 표현 또는 gradient flow를 개선하는 추가적인 경로를 나타낸다.

3. DenseNets

DenseNet은 모든 layer를 이후의 모든 layer에 연결하고, 앞선 feature-maps를 concatenate해 정보 흐름을 개선한다. Dense block, growth-rate 제어, bottleneck layer, transition-layer compression을 통해 효율적이고 compact한 architecture를 지원한다.

  • Dense connectivity: DenseNet은 concatenation을 통해 각 layer가 앞선 모든 feature-maps에 직접 접근하도록 하여, 모든 layer에서 이후의 모든 layer로 이어지는 연결을 만든다.이러한 connectivity는 정보 흐름을 방해할 수 있는 ResNet의 skip connection의 summation과 비교해 정보 흐름을 더욱 개선하도록 설계되었다.
  • Pooling layer: Dense block은 feature-map 크기가 고정된 영역을 분리하고, transition layer는 convolution과 pooling을 수행해 down-sampling을 가능하게 한다.feature-map 크기가 변할 때는 concatenation이 적합하지 않으므로 architecture를 여러 개의 densely connected block으로 나눈다.
  • Growth rate: Growth rate k는 각 layer가 추가하는 feature-map의 수를 결정하므로, k = 12와 같은 narrow layer에서도 block의 collective feature state에 계속 접근할 수 있다.이 논문은 실험한 dataset에서 state-of-the-art 결과를 얻는 데 비교적 작은 growth rate로 충분하다고 보고한다.
  • Bottleneck layer: Bottleneck DenseNet은 BN-ReLU-Conv(1×1)을 BN-ReLU-Conv(3×3) 앞에 삽입해 입력 feature-map 수를 줄이고 computational efficiency를 높인다.이 bottleneck 설계는 DenseNet에서 특히 효과적인 것으로 보고되었다.
  • Compression: DenseNet-C는 transition-layer compression을 사용해 출력 폭을 ⌊θm⌋으로 설정하며, 실험에서는 model compactness를 높이기 위해 θ = 0.5를 사용한다.여기서 m은 dense block의 feature-map 수이며, θ = 1이면 transition width가 변경되지 않는다.

4. 실험

실험에서는 CIFAR, SVHN, ImageNet에서 DenseNets를 state-of-the-art architecture, 특히 ResNets와 비교 평가한다. DenseNets는 parameter와 computation을 효율적으로 사용하면서 높은 정확도를 달성하며, 특히 CIFAR에서 매우 유리한 결과를 보인다.

  • CIFAR와 SVHN: C10+에서 3.46% error, C100+에서 17.18% error를 기록한 DenseNet-BC (L = 190, k = 40)는 CIFAR에서 기존 state-of-the-art를 일관되게 능가한다.이 결과는 wide ResNet architecture [42]보다 유의하게 낮다.
  • CIFAR와 SVHN: compression이나 bottleneck layer 없이 DenseNet의 depth와 growth rate를 높이면 model capacity가 증가하면서 성능이 향상되며, parameter가 1.0M에서 7.0M, 27.2M으로 증가할 때 C10+ error는 5.24%에서 4.10%, 3.74%로 감소한다.C100+에서도 유사한 경향이 관찰된다.
  • CIFAR와 SVHN: DenseNet-BC는 competing architecture보다 parameter를 효율적으로 사용한다. 250-layer model은 15.3M parameters만으로 30M이 넘는 FractalNet과 Wide ResNets를 일관되게 능가한다.bottleneck layer와 transition layer에서의 dimension reduction이 특히 parameter-efficient한 것으로 확인된다.
  • CIFAR와 SVHN: augmentation이 없는 dataset에서 DenseNets는 prior work보다 뚜렷한 성능 향상을 보이며, C10과 C100에서 각각 29%와 약 30%의 relative error reduction을 달성한다.reduction은 C10에서 7.33%에서 5.19%로, C100에서 28.20%에서 19.64%로 나타난다.
  • ImageNet: ImageNet에서 DenseNets는 state-of-the-art ResNets와 동등한 성능을 내면서도, comparable performance를 위해 훨씬 적은 parameter와 test-time computation을 요구한다.비교는 parameter count와 FLOPs의 함수로 나타낸 single-crop top-1 validation error를 사용하며, 결과는 Figure 3에 제시된다.

5. 논의

DenseNet은 입력을 더하는 대신 연결한다는 점에서 ResNet과 다르며, 이를 통해 feature reuse, compact model, implicit deep supervision을 가능하게 한다. 또한 dense connectivity는 stochastic depth와 개념적으로 연관되지만, 결정론적 동작은 서로 다르다.

  • 논의: DenseNet은 표면적으로 ResNet과 유사하지만, 입력을 더하는 대신 연결하므로 architecture 동작은 크게 달라진다.이 차이는 layer input에서 수행되는 연산이 서로 다르다는 사실에서 직접 비롯된다.
  • Model compactness: Feature concatenation을 사용하면 후속 layer가 앞선 feature-map에 접근할 수 있어 feature reuse를 촉진하고 더 compact한 model을 만든다.실험에서는 동일한 block의 여러 input에 weight가 분산되었고, transition layer는 직전 block의 모든 layer에서 정보를 가져왔다.
  • Model compactness: DenseNet-BC는 ResNet과 동일한 accuracy를 내는 데 약 1/3의 parameter만 필요하며, 0.8M parameter로 10.2M parameter를 사용하는 1001-layer ResNet과 비슷한 accuracy를 달성한다 [12].보고된 비교에서 DenseNet-BC는 일관되게 가장 parameter-efficient한 DenseNet variant다.
  • Implicit Deep Supervision: DenseNet은 하나의 top classifier가 최대 두세 개의 transition layer를 거쳐 모든 layer를 supervise하므로 implicit deep supervision을 제공한다 [20].Deeply-supervised net과 달리 DenseNet은 layer 전체에서 동일한 loss function을 공유해 loss와 gradient를 더 단순하게 유지한다.
  • Stochastic vs. deterministic connection: Dense connectivity는 stochastic depth와 유사하다. residual layer를 무작위로 제거하면 주변 layer 사이에 direct connection이 형성될 수 있지만, 두 방법은 서로 다르다 [13].이러한 해석은 regularizer로서 stochastic depth가 성공한 이유를 설명하는 데 도움이 될 수 있다.

6. 결론

DenseNet은 동일한 feature-map 크기를 갖는 layer들을 직접 연결하고, 최적화의 어려움 없이 수백 개의 layer로 확장되며, 더 적은 parameter와 연산으로 높은 정확도를 달성한다. 단순한 connectivity 규칙은 feature reuse와 compact internal representation을 촉진한다.

  • DenseNet은 동일한 feature-map 크기를 갖는 임의의 두 layer 사이에 직접 연결을 도입하며, 최적화의 어려움 없이 자연스럽게 수백 개의 layer로 확장된다.
  • DenseNet은 parameter가 증가함에 따라 일관되게 정확도를 향상시키고, 여러 경쟁력 있는 dataset에서 state-of-the-art 결과를 달성하며, 이러한 성능을 위해 더 적은 parameter와 연산을 요구한다.
  • DenseNet은 identity mapping, deep supervision, diversified depth를 통합하는 동시에 feature reuse와 compact internal representation을 가능하게 하며, feature redundancy를 줄인다.
Loading 1608.06993v5…