728x90
1. Global Average Pooling
Global Average Pooling이란 기존에 Feature Map의 $H' \times W'$의 특정 영역을 Subsampling 하지 않고
채널 단위로 평균값을 추출하는 방법이다.
$z_c = \frac{1}{H \times W} \sum_{i=1}^{H} \sum_{j=1}^{W} u_c(i, j)$
- 각 Channel $C$의 Global Average: $z_c$
- 각 Channel의 Feature Map $u_c$의 모든 요소의 평균값을 계산
- $H \times W$ 크기의 Feature Map에서 모든 요소 $(i, j)$의 값을 합한다
- 이후 총 요소 수 $H \times W$로 나누어 $z_c$를 얻는다
3D Output Feature map을 1D Dense Classification layer에 연결 시
많은 연결 노드($H \times W \times C$)와 파라미터가 필요하나, GAP를 이용하면 효과적으로 노드와 파라미터를 줄일 수 있다.
충분히 Feature map의 채널 수가 많을 경우 이를 적용하고, 채널 수가 적다면 Flatten이 유리하다.
2. Global Average Pooling를 이용한 Fully Connected Layer
Flatten 하지않고 GAP를 하면, 채널 별로 뽑아낸 아웃풋들을 그대로 붙여넣을 수 있다.
훨씬 파라미터 수를 절약할 수 있다.
728x90