- Today
- Total
작심삼일
[SENet 리뷰] Squeeze-and-Excitation Networks (CVPR 18) 본문
[SENet 리뷰] Squeeze-and-Excitation Networks (CVPR 18)
yun_s 2021. 5. 20. 19:11My Summary & Opinion
이 논문에서 제일 맘에 드는 점은 이름이 직관적이라는 점이다.
Squeeze-and-Excitation이라는 이름을 보면 누구나 이것이 어떻게 작동하는지 와닿을 것이다.
Squeeze 하는 부분은 핵심 feature들만 남기는 역할을 하고, Excitation은 그 핵심 feature들의 channel-wise dependency를 사용할 수 있게 하는 역할을 한다.
그 이후에 원래 크기로 다시 rescaling을 진행한다.
SE block에서 제일 중요한 부분은 Excitation 부분이라고 생각한다.핵심 feature들을 뽑는 것은 쉽지만, 그것들을 어떻게 사용하느냐에 따라서 성능이 많이 달라지기 때문이다.
그리고 다른 네트워크들에 쉽게 적용할 수 있는 점이 SE block의 장점이라고 생각한다.
Introduction
CNN은 다양한 visual task에서 뛰어난 성능을 보였다.
최근 연구는 spatial correlation을 이용하는 learning machanism으로 네트워크의 성능이 더 높아질 수 있다는 것을 증명했다.
본 논문에서는 Squeeze-and-Excitation(SE) block을 통해 channel 간 관계를 이용하는 새로운 네트워크를 선보인다.
우리의 목표는 convolutional feature들 사이의 channel 간의 관계를 이용하는 네트워크의 효용을 설명하는 것이다.
Related Work
Deep architectures
VGGNet과 Inception model들은 깊이가 깊어질수록 모델의 성능이 좋아진다는 것을 증명했다.
Batch Normailization(BN)은 layer input을 평균화해서 학습이 더 안정적으로 되게 함으로써 gradient propagation을 향상했다.
ResNet은 깊은 네트워크에서 skip connection의 효율성을 보였다.
Multi-branch convolutions가 우리의 컨셉과 비슷하다고 볼 수 있다.
Attention and gating mechanisms
Attention은 input 중 가장 중요한 부분을 사용할 수 있게 해주는 도구라고 볼 수 있다.
주로 gating function과 함께 쓰인다.
Squeeze-and-Excitation Blocks
Squeeze: Global Information Embedding
Channel 간의 관계를 이용하기 위해, 먼저 output features의 각 channel을 고려했다.
학습된 각 필터들은 local receptive 영역에서 작동하기 때문에 그 밖의 영역과 연관성을 잘 갖지 못한다.
이 문제를 해결하기 위해 global spatial 정보를 channel descriptor에 squeeze 하는 것을 제안했다.
Channel-wise 하게 하기 위해 Global Average Pooling(GAP)을 사용했다.
$z_c = F_{sq}(u_c) = {1 \over {H \times W}} \displaystyle \sum^H_{i=1} \sum^W_{j=1}u_c(i, j)$
Excitation: Adaptive Recalibration
Squeeze 연산에서 합쳐진 정보들을 사용하기 위해 channel-wise dependencies를 fully capture 하기 위한 연산을 바로 뒤에 붙였다.
이 목적을 달성하기 위해서는 해당 연산은 다음 두 가지 기준을 만족해야 한다.
첫째, flexible 해야 하고(channel 간의 nonlinear interaction을 학습할 수 있어야 함), 둘째, one-hot activation에 반대되는 non-mutually-exculsive 한 관계를 학습할 수 있어야 한다.
$s = F_{ex}(z, W) = \sigma(g(z, W)) = \sigma (W_2 \delta (W_1, z))$
$\delta$: ReLU
모델의 복잡도를 제한하기 위해, 그리고 일반화를 위해 non-linearity 옆에 두 개의 fully connected(FC)로 bottleneck 구조를 만들었다.
$\gamma$만큼 줄이는 dimensionality-reduction layer $W_1$ → ReLU → 다시 늘리는 dimensionality-increasing layer $W_2$ 순서로 구성된다.
이 block의 최종 output은 transformation output $U$를 activation과 함께 rescaling을 한 것이다.
$\tilde{x}_c = F_{scale} (u_c, s_c) = s_c \cdot u_c$
$\tilde{X} = [\tilde{x}_1, \tilde{x}_2, ..., \tilde{x}_C]$, $F_{scale}(u_c, s_c)$: channel-wise multiplication between the feature map $u_c$ and the scalar $s_c$
Activation은 $z$에 적용되는 channel weights처럼 행동한다.
이 점에서 SE block은 본질적으로 input을 조절함으로써 feature discriminability를 높여준다.
Exemplars: SE-Inception and SE-ResNet
SE block을 AlexNet이나 VGGNet에 적용하는 것은 직관적이다.
SE block는 convolution 뒤에 바로 붙일 수 있다.
Model and Computational Complexity
SE block은 model complexity와 성능 간에 trade-off가 있다.
추가되는 파라미터 수는 다음과 같이 계산할 수 있다.
${2 \over r} \displaystyle \sum^S_{s=1} N_s \cdot C_s^2$
$r$: reduction ratio, $S$: number of stages, $C_s$: dimension of the output channels, $N_s$: repeated block number for stage $s$
Experiments
Conclusion
본 논문에서는 novel architectural unit인 SE block을 소개한다.
SE block은 dynamic channel-wise feature recalibration을 통해 네트워크의 성능을 높인다.
Reference
Hu, Jie, Li Shen, and Gang Sun. "Squeeze-and-excitation networks." Proceedings of the IEEE conference on computer vision and pattern recognition. 2018.