-
Densely Connected Convolutional Networks 정리 및 코드 구현 by Pytorch [DenseNet]AI/Computer Vision 2021. 11. 2. 00:24728x90
Densely Connected Convolutional Networks 정리 및 코드 구현 by Pytorch [DenseNet]
Abstract
Layer들 간에 Short Connection들을 좀 더 많이 만든다면 성능 올라가지 않을까?
각 레이어에서 뒤따라오는 레이어들로 L(L+1)/2 개의 connection들 만든다!
=> Vanishing Gradient 문제 완화, Feature propagation 강화, feature reuse 강화, parameter 수 감소의 효과!
Introduction
기존) CNN이 층이 깊어질수록 Vanishing Gradient 등의 문제가 생겨 이를 해결하기 위해 ResNet이나 Highway Network 등장! => 둘의 공통점 : 전의 레이어에서 후에 뒤따라 오는 레이어로 Shoth Path 생성함!
=> " to ensure maximum information flow between layers in the network, we connect all layers (with matching feature-map sizes) directly with each other"
- Resnet에서와 달리, feature들을 그냥 단순 summation하는 것이 아니라 concatenating한다
-
-
Related Work
1. Highway Network : Using bypassing paths along with gating units
2. ResNet : pure identity mappings are used as bypassing paths
3. GoogleNet : to increase the network width / uses an "Inception module" which concatenates feature-maps produced by filters of differents sizes
<=> DenseNet의 특징!
: 네트워크의 구조를 너무 깊거나 넓게 설정하기보다는, feature reuse를 통해 train하기 쉽고 parameter 줄이는 방향으로!
-> 각각 다른 layer들로 feature map 합치는 것이 Resnet과의 가장 큰 차이점!
( Concatenating feature-maps learned by different layers increases variation in the input of subsequent layers and improves efficiency.)
DenseNets
1. ResNet
레이어의 입력값이 출력값에 더해져 gradient flow가 직접적으로 전달. 하지만 덧셈으로 결합되기 때문에(summation) 신경망에서 정보 흐름(information flow)이 지연될 수 있다.
2. Dense connectivity
DenseNet은 이전 레이어를 모든 다음 레이어에 직접적으로 연결. 따라서 정보 흐름(information flow)가 향상!
3. Composite function
4. Pooling layers
: Pooling 연산 하기 위해 "Dense Block" -> BN + 1x1 conv + 2x2 avg [ = transition layers ]
=> 즉, transition layer는 피쳐 맵의 크기와 채널 수를 감소!
5. Growth rate
Dense Block 내의 레이어는 k개의 피쳐 맵을 생성! 이때 k = Growth rate이며 해당 논문에서는 k=12 사용!
-> growth rate: 전체에 각 레이어가 얼마나 기여할지
k0 = 입력 레이어의 채널 수
6. Bottleneck layers
: input feature map의 수를 줄이기 위해서 모든 3x3 con 전에 1x1 convolution layer 넣어줘서 계산 효율성 높임
Experiments
Discussion
DenseNet은 Model compactness, Feature reuse면에서 탁월하고, 수많은 shortcut connection들이 deep supervision처럼 중간 layer들이 discriminative한 특징을 배우도록 강제하는 효과가 있다고 한다. 또한 stochastic depth에 대한 DenseNet만의 해석이 regularizing 효과가 있다는 것을 보여준다.
728x90'AI > Computer Vision' 카테고리의 다른 글