Squeeze-and-Excitation (2018) 논문 리뷰
Squeeze-and-Excitation의 논문 이름은 Squeeze-and-Excitation Networks다. (링크)
저자는 Jie Hu, Li Shen, Samuel Albanie, Gang Sun, Enhua Wu다.
Abstract
CNN의 블록의 핵심은 convolution operator 컨볼루션 연산자에 있다. 컨볼루션은 각각의 레이어에서의 local receptive field 내에 존재하는 spatial information 공간 정보와 channel-wise information 채널 정보을 융합하여 informative features를 구성한다. 광범위한 선행 연구들은 공간 정보의 component 요소들 간의 관계를 연구하고 representational power 표현력을 강화하고자 했다. 본 연구에서는 대신에 채널들의 관계를 연구하는 새로운 아키텍처 유닛을 제안하며 이를 Squeeze-and-Excitation (SE) block 이라고 명명했다. 이는 채널 간의 interdependencies 상호 의존성을 명시적으로 모델링함으로써 채널 피쳐의 응답을 recalibrate 재계산 혹은 재보정한다. 이러한 SE blocks를 쌓아서 다양한 데이터 셋에 대한 유의미한 성능 향상이 있음을 보인다. 이때의 계산 비용은 약간만 상승한다.
3. Squeeze-and-Excitation Blocks
SE Block의 구조는 아래 Figure 1과 같다.

이제 아래 부터는 수식화한 논문의 내용을 번역 및 전개하고자 한다.
우선 Transformation $\textbf{F}_{tr}$은 input $\textbf{X} \in \mathbb{R}^{H' \times W' \times C'}$을 feature map $\textbf{U} \in \mathbb{R}^{H \times W \times C}$으로 mapping 매핑한다.
이때 Transformation $\textbf{F}_{tr}$는 컨볼루션 연산자다.
그리고 $\textbf{V} = \left[ \text{v}_1, \text{v}_2, ..., \text{v}_C \right]$는 학습된 필터 커널의 집합이다.
$ \text{v}_c$는 $c$-th 필터를 의미한다.
그리고 Output은 다음과 같이 정리할 수 있다. $\textbf{U} = \left[ \text{u}_1, \text{u}_2, ..., \text{u}_C \right]$
아래의 *는 컨볼루션을 의미한다.
$ \text{u}_c = \text{v}_c * \textbf{X} = \sum_{s=1}^{C'} \text{v}_c^s * \text{x}^s$
이때, $ \text{v}_c = \left[ \text{v}_c^1, \text{v}_c^2, ..., \text{v}_c^{C'} \right]$ 이며
$\textbf{X} = \left[ \text{x}^1, \text{x}^2, ..., \text{x}^{C'} \right]$이고, $ \text{u}_c \in \mathbb{R}^{H \times W}$
$ \text{v}_c^s$는 단일 채널 $ \text{v}_c$가 표현하는 2D spatical kernel 중 하나다.
3.1. Squeeze: Global Infomration Embedding
기존의 학습된 필터의 연산은 local receptive field만을 활용하게 된다.
Global features가 없기 때문에 squeeze global spatial information을 활용하여 channel descriptor로 사용한다.
이는 Global average pooling으로 channel-wise로 생성한다.
Squeezed global spatial information는 $\text{z} \in \mathbb{R}^C$로 표기한다.
$\text{z} = \textbf{F}_{sq} (\text{u}_c) = \frac{1}{H \times W} \sum_{i=1}^{H} \sum_{j=1}^{W} u_c(i, j) $
3.2. Exciation: Adaptive Recalibration
Squeeze 연산으로 집계된 정보를 활용하게 위해서 channel-wise dependencies를 완전하게 학습하는 두 번째 연산을 도입한다.
위 연산은 Flexible해야 하며 non-mutually-exclusive relationship을 학습해서 여러 채널들에 대해서 강조가 가능해야 하기 때문이다. (one-hot activation이 아니어야 한다.)
이를 위해서 간단한 gating mechanism와 sigmoid activation을 적용한다.
$\text{s} = \textbf{F}_{ex} (\text{z}, \textbf{W}) = \sigma(g(\text{z}, \textbf{W})) = \sigma( \textbf{W}_2 \sigma (\textbf{W}_1 \text{z}) ) $
이때 $\sigma$는 ReLU 함수다. 그리고 $\textbf{W}_1 \in \mathbb{R}^{\frac{C}{r} \times C}, \textbf{W}_2 \in \mathbb{R}^{C \times \frac{C}{r}}$다.
Gating 메커니즘은 두 개의 fully-connected (FC) 레이어들로 달성한다.
Squeeze와 Excitation, 그리고 마지막에 scaling을 덧붙인 SE 블록의 최종 결과물은 다음과 같다.
$\tilde{\text{x}}_c = \textbf{F}_{scale} (\text{u}_c, s_c) = s_C \text{u}_c$
그리고 $ \tilde{\textbf{X}} = \left[ \tilde{\text{x}}_1 , \tilde{\text{x}}_2 , ..., \tilde{\text{x}}_C \right] $
이며 $\textbf{F}_{scale}$은 channel-wise multiplication으로 스칼라 $s_c$와 feature map $\text{u}_c \in \mathbb{R}^{H \times W}$다.

Figure 2는 Inception 모듈에 적용한 SE를 나타내며, Figure 3는 ResNet 모듈에 적용한 SE를 나타낸다.
5. Experiments
- ImageNet2012, ILSVRC 2017, CIFAR-10과 100의 Image Classification
- Places365-Challenge의 Scene Classification
- COCO의 object detection
에 대해서 실험했다.

위 Table 1과 2는 ImageNet 2012에 대한 실험 결과다.
re-implementation과 SENet을 비교하면 SEnet의 결과가 더 낮은 오류율을 보여줌을 알 수 있다.

Table 3에서는 MobileNet와 ShuffleNet 같은 효율적인 모델과의 비교를 보여준다.
MFLOPs가 약간만 증가하면서 더 좋은 성능을 달성했다.

Table 4와 5는 CIFAR-10과 100에 대한 이미지 분류 결과를,
Table 6에서는 Places365에 대한 Scene 분류 결과를,
Table 7에서는 COCO에 대한 객체 탐지 결과를 보여준다.

Table 8은 ILSVRC 2017의 이미지 분류 결과를 보여준다.