1. DenseNet 개요
2. Dense Block
3. Growth Rate
4. ResNet과 성능비교
Dense Block
Transition Block
Bottleneck
Compression
논문명 : 2017 CVPR - "Densely Connected Convolutional Networks"
DenseNet 핵심 아이디어
Feed Forward 시 각 layer를 다른 모든 layer 들과 연결
해당 방법론의 4가지의 장점
모델 구조는 크게 두가지로 구성됨
Dense Block 에서는 [ 1 x 1 conv ] 과 [ 3 x 3 conv ] 복수번 사용된다. 단순히 conv을 두번하는게 아니라, 다음 형태를 띔
BN-ReLU-Conv(1x1)-BN-ReLU-Conv(3x3)
Dense Block을 1개 자세히 확대해서 보면 아래와 같은 그림
동그라미가 순차적으로 연결되어있으며 (1개 적게그려짐..)
각 동그라미가 BN-ReLU-Conv(1x1)-BN-ReLU-Conv(3x3) 를 뜻함
ResNet과 동일하게 Residual Connection을 수행하는데
ResNet에서는 단순덧셈(F(x)+x) 을 해주었다면
DenseNet에서는 Concat(F(x),x) 을 해주었음
1. Bottleneck
DenseNet은 ResNet과 다르게 Concatenate를 하지만
1 x 1로 채널수를 줄였다가 concatenate를 해주기 때문에 Bottleneck 역할 수행하였음
2. Compression
maxpooling 수행하기 전에 1 x 1 Conv layer를 통과하여 학습파라미터를 줄여주었음
DenseNet은 ResNet과 다르게 이전 Feature map을 더하는게 아니라 Concatenate 해준다 하였음
그럼, 뒤로 갈수록 Concatenate되는 Feature map들이 늘어나게 되어, channel size가 급격히 늘어나게 될 것임.
이를 방지하기 위해서 DenseNet은 Growth Rate를 지정하여 channel size가 등차수열 형태로 늘어나게 함
https://gaussian37.github.io/dl-concept-densenet/
https://csm-kr.tistory.com/10