Densely Connected Convolutional Networks, Gao Huang, CVPR2017
DenseNet 방법 요약
DenseNet은 이러한 short connection 방법을 바탕으로, 연속적으로 나오는 각각의 layer를 모두 연결하는 방법을 사용한다. 기존의 convolution layer들이 L개의 layer들에 대해서 L 번의 connection이 이루어진다. DenseNet은 L(L+1)/2 번의 direct connections이 이루어진다.
DenseNet은 여러 장점들이 있다.
- alleviate the vanishing gradient
- strengthen feature propagation
- encourage feature reuse
- substantially reduce the number of parameters
DenseNet 이전의 연구
DenseNet 이전의 연구들은 (ResNet, Highway Networks, FractalNets) covolution networks를 더 깊게, 더 정확하고 효울적으로 학습하기 위해서 input과 output에 가까운 layer들에 short connnection을 포함한 방법들을 보여주었다. 이전의 방법들의 공통점은 모두 초기 layer에서 나중의 layer로 short path들을 만들었다는 것이다.
DenseNet layer 연결의 핵심 방법
DenseNet은 정보의 흐름을 최대로 하는것을 보장하기 위해서, 모든 layer들을 연결한다. feed forward 특성을 유지하기 위해서, 각각의 layer들은 모든 이전 layer들로 부터 추가적인 input을 받는다. 그리고 현재의 feature map을 모든 다음의 layer들에 전달한다.
ResNet과 다르게, layer를 지나가기 전에 summation으로 feature를 합치지 않고, DenseNet은 feature들을 concatenate 한다. 따라서, k번째 layer는 모든 이전의 convoluation block의 feature map을 구성하는 k개의 input이 있고, 현재 feature map은 다음의 모든 L-k 다음 layer들에 전달된다.
이것은 L layer networks에 대해서 L(L+1)/2 connection을 이끈다. (기존의 전통적인 architecture들은 L 번의 connection이 있다.)
DenseNet layer 연결 방법의 장점
- fewer parameter, information is preserved
DenseNet은 기존의 방법들에 비해 feature map에 대한 불필요한 학습이 필요가 없기 때문에, 더 적은 수의 parameter을 요구한다.
ResNet은 identity transformation으로 정보를 보존하지만, 이러한 정보들이 학습 과정중에서 random하게 dropped 될 수 있다.
DenseNet은 network에 더해지는 정보들을 명확하게 구분을 하면서 정보를 보존한다. DenseNet은 feature map이 그대로 보존이 되면서, feature map의 작은 집합들을 layer에 더해주면 된다.
- improve flow of information and gradient
결국엔, 각각의 layer들은 loss function과 input signal로 부터의 gradient에 direct하게 접근할 수 있어서, 더 쉽게 학습할 수 있다.
- regularizing effect, which reduces overfitting on tasks
Dense connection은 regularize 효과가 있어, overfitting을 막아주는 효과도 있다.
DenseNet model architecture
DenseNet의 모델 구조는 크게 5가지로 설명이 된다.
- Dense connectivity
- composite function
- pooling layers
- growth rate
- bottleneck layers
- compression
ResNet은 이전의 정보를 합하는 identity function을 사용하지만, DenseNet은 여러 network를 concatenation을 사용하여 정보를 더 보존한다.
ResNet과 같은 연결방식은 위와 같이 residual을 더하는 방식으로 생겼다.
DesNet 수식의 function H는 위와 같이 x가 concatenation 된 함수로 구성된다.
Pooling layer들은 denseblock 사이에 downsampling 하는 역할로 사용된다.
Experiment
CIFAR, SVHN, ImageNet
Training
Classification result
- Accuracy
- Capacity
- Parameter Efficiency
- Overfitting