최근 CNN이 더욱 발전하면서, 각 layer의 공간적인 정보와 필터로 생성된 채널간의 정보를 결합하여 많은 정보를 쌓는 것이 가능해졌다.
특징들의 계층성을 이용하여 공간 정보를 인코딩하는 CNN의 능력을 강화시킬 수 있었다.
해당 논문에서는 channel의 관계에 초점을 맞추었고, 새로운 구조인 SE block을 소개한다.
SE block은 채널간의 상호 의존성을 명확히 모델링함으로써 채널 간 feature response를 재측정 시켜준다.
이를 여러 개 쌓아서 SE Net이라는 아키텍쳐를 생성하며, 이는 다양한 데이터셋에서 매우 효과적인 일반화 능력을 지닌다.
약간의 계산량 증가로 높은 성능 증가를 달성했다고 한다.
Squeeze Operation
Squeeze란, 이전 convolution layer(Ftr)에서 받아온 feature map(U)을 압축하는 것을 목표로 한다.
여기서 받아온 feature map들은 각 학습된 필터들로 부터 생성된 지역적인 특징들이기 때문에, 그 지역 밖에서는 맥락적인 정보로 이용할 수 없는 것이 문제라고 저자들은 제시한다.
따라서, 이러한 문제를 해결하기 위해서 feature map들을 global average pooling을 통해서
HxWxC → 1x1xC의 형태로 압축하는 squeeze 과정을 통해서 이들을 channel descriptor이라고 칭한다.
Excitation Operation
Squeeze과정을 통해서 1x1x6의 벡터가 나왔다고 가정을 하면 FC layer를 통해서 reduction ratio인 r만큼 (위 그림에선 C=6, r=2) 노드 수를 줄여 ReLU함수를 거치고, 다시 FC layer를 통해 최종적으로 C개의 값을 출력하여 Sigmoid 함수를 통해 0-1의 값을 지닌 6개의 벡터로 만들어준다.
이렇게 하는 이유는 채널에 대한 벡터들을 한번 수축시킨 뒤에 채널 간의 관계를 한번 비선형 함수인 ReLU로 살펴봐주기 위해서다.
이후에 sigmoid 함수를 통과시켜 0과 1사이의 값으로 인코딩 하여 중요도를 값으로 매긴 후 이를 각 feature map에 다시 곱해주는 방식으로 적용시켜, 어떤 채널에 집중을 얼만큼 해야할지를 골라주는 역할을 하는 것을 Excitation Operation이라고 부른다.