dense라는 말은 보통 딥러닝에서 FC를 의미한다.
하지만 densenet에서의 dense는 레이어들 간에 모두 연결되어있다는 것을 의미한다,
1. Dense Block
저자는 dense block의 네가지 장점을 말한다.
- vanishing-gradient 완화 : 값의 직접적 연결때문
- feature propagation 강화
- feature 재사용 : concat이기 떄문에
- parameter 수 줄임 : concat이기에 각 레이어별 채널수가 낮음
1) dense block은 block내의 레이어끼리 모두 연결한다. 이를 논문에서는 drirect connection이라고 하는데 총
L * (L+1) / 2 개의 direct connection 이 존재한다.(L : 레이어의 수)
여기서 connection은 add가 아닌 concat이다.
2) growth rate
growth rate란 블록안에 두번째 레이어 이후 갯수
L번째 레이어의 갯수는 k0+k*(L-1) 여기서 k0는 인풋채널수이다. 즉 k에 따라 모델이 넓어지거나 좁아질 수있다.
3) 이번에도 BN ReLU, conv순으로 이어진다
4) resnet과의 차이
resnet은 add함으로써 보존해야할 정보가 바뀌어서 다음 layer에 전해주는데에 반해서
densenet은 정보를 바꾸지 않으며 concat하여 직접적으로 하위의 모든 layer에 연결시킨다
이전의 정보를 모두를 가지고 있다는 장점이 있다.
5) bottle neck
k개의 feature map이 input 될 때 1x1conv 시 4k
6) pool
1x1으로 차원을 줄이고 2x2 avg pool stride2로 사이즈를 절반씩 줄였다. 아무래도 dense를하려면 쭉 사이즈가 같아야해서 그런 것 같다
2. architecture
resnet에 비해 효율적이다.
'CV > classification' 카테고리의 다른 글
[CV] Shuffle Net (0) | 2022.05.04 |
---|---|
[CV] ResNext (0) | 2022.05.04 |
[CV] Mobile Net V2 (0) | 2022.05.04 |
[CV] Squeeze Net (0) | 2022.05.04 |
[CV] MobileNet (0) | 2022.05.03 |