이번 포스트에서는 ICCV 2019에서 발표될 논문인 SRM : A Style-based Recalibration Module for Convolutional Neural Networks에 대해 소개드리려고 합니다. 대부분의 기존 스타일 관련 연구들은 style transfer 혹은 StyleGAN과 같이 image generation 측면에서 스타일을 다루었습니다. 해당 논문은 여기서 한 발 더 나아가 이미지의 스타일을 활용하여 Convolutional Neural Network (CNN) 의 성능을 향상 시킬 수 있는 Style-based Recalibration Module (SRM)을 제안합니다. SRM은 스타일 중요도에 기반한 feature recalibration을 수행하여 model의 representational power를 향상시켜줍니다. 이를 통해 image classification과 같은 일반적인 computer vision task 뿐만 아니라 스타일 관련 task에서 적은 오버헤드 만으로 많은 성능 향상을 가져다줍니다.


Introduction

 

이미지가 표현하는 정보는 크게 content (i.e. shape)와 style (i.e. texture)로 구분될 수 있습니다 (이전 포스트 참조). 최근 연구에서는 CNN이 영상을 인식하는데 있어서 이미지의 content보다 style이 중요한 역할을 한다고 소개되었습니다 [1, 2]. 예를 들어 아래의 그림과 같이 고양이 사진에 코끼리의 style을 입힐 경우, 사람은 이를 고양이로 인식할 수 있지만 CNN은 이를 고양이로 인식하는 것이 아니라 코끼리로 인식하게 됩니다.

Screen Shot 2019-07-29 at 1.41.06 PM

반면 아래의 그림과 같이 이미지의 style은 동일하지만 global shape가 바뀐 경우, 사람은 이를 인식하는데 많은 어려움이 있지만 CNN은 큰 어려움 없이 이를 판별해냅니다. 이와 같은 실험에서 알 수 있듯이, 스타일은 CNN이 영상을 인식하는데 있어서 매우 중요한 역할을 합니다.

Screen Shot 2019-07-29 at 2.02.53 PM.png

이와 같이 스타일이 중요한 역할을 한다면, 이를 좀 더 잘 활용하여 CNN의 성능을 높일 수 있지 않을까요? SRM은 이러한 점에 착안하여 각 스타일의 중요도에 기반해 feature response를 재조정해줍니다. 이를 통해 불필요한 스타일은 무시하고 의미있는 스타일에 집중할 수 있도록 하여 네트워크가 주어진 task에 보다 더 잘 학습될 수 있도록 도와줍니다.


Style-based Recalibration Module (SRM)

 

SRM은 아래의 그림과 같이 크게 style poolingstyle integration 으로 이루어져 있습니다. Style pooling operator는 input tensor의 style 정보가 담긴 style feature를 추출하는 역할을 합니다.  Style integration operator는 이를 channel-wise operation을 통해 활용하여 example-specific한 style weight를 생성하며, 이 때 style weight 는 각 스타일의 상대적인 중요도 정보를 담고 있습니다.

Screen Shot 2019-07-29 at 2.59.18 PM

이를 조금 더 자세히 살펴보면, 아래의 그림과 같습니다. SRM은 input feature로부터 global average pooling 및 global standard deviation pooling을 통해 style feature를 생성합니다. 이 때 사용한 channel-wise 평균과 표준편차는 style transfer 연구인 Adaptive Instance Normalization [3] 에서 style descriptor로 사용된 바 있습니다. Style feature는 channel-wise fully connected layer, batch normalization 그리고 sigmoid를 거쳐 각 채널별로 [0, 1]의 style weight를 갖게 됩니다. 이렇게 생성된 style weight를 통해 input tensor을 최종적으로 recalibration 하여 불필요한 스타일은 억제하고, 중요한 스타일은 강조해줍니다. SRM을 residual block에 결합할 경우 아래의 그림의 (b)와 같은 형태로 결합될 수 있으며, 기존 네트워크와 함께 end-to-end로 학습이 가능합니다.

Screen Shot 2019-07-29 at 3.40.03 PM.png

 


Previous Works

 

SRM과 같이 feature recalibration을 통해 네트워크 성능을 높이고자 한 연구는 Squeeze-and-Excitation (SE) [4], Gather-Excite (GE) [5], Convolutional block attention module (CBAM) [6] 등 다양하게 진행된 바 있습니다. 본 포스트에서는 SRM과 같이 channel-wise recalibration을 적용한 Squeeze-and-Excitation에 대해서 간단하게만 짚고 넘어가도록 하겠습니다.

Squeeze-and-Excitation은 아래의 그림과 같이 input tensor로부터 global average pooling을 거친뒤, fully connected layer을 사용하여 서로 다른 채널간의 dependency를 활용하여 recalibration weight를 생성합니다. 이 때 단순하게 하나의 fully connected layer을 사용할 경우 전체적인 모델 파라미터가 많이 증가하기 때문에, 저자는 두 개의 fully connected layer을 사용하여 dimension을 압축했다가 복원하는 방식으로 이를 활용하였습니다. 해당 모듈은 적은 연산량 만으로 다양한 네트워크에서 성능 향상을 보여주었습니다.

Screen Shot 2019-07-29 at 4.44.39 PM


Experiments

 

1. Object Classification

ResNet50을 기반으로 ImageNet을 학습시켰을 때 Baseline, Squeeze-and-Excitation (SE) , Gather-Excite (GE)와 SRM의 성능을 비교한 그래프는 아래와 같습니다. 전체 학습 프로세스에 걸쳐서 SRM은 SE와 GE에 비해 training curve (좌측) 및 validation curve (우측) 모두 높은 성능을 보입니다.Screen Shot 2019-07-29 at 5.04.49 PM.png

뿐만 아니라 아래의 표에서 확인할 수 있듯이 SRM은 최소한의 parameter만을 추가로 사용하여 효율적으로 네트워크 성능을 향상시킵니다. 가령 SE-ResNet-50이 baseline 대비 2.53M의 추가적인 parameters가 필요한 반면, SRM-ResNet-50은 0.06M parameters 만을 추가적으로 사용함에도 불구하고 기존의 방법들에 비해 뛰어난 성능을 보입니다.

Screen Shot 2019-07-29 at 5.11.00 PM.png

 

2. Multi-Domain Classification

Multi-Domain 세팅에서는 아래의 그림과 같이 각 도메인간에 명확한 스타일 차이가 존재합니다. 다양한 스타일의 variation에 대한 학습 성능을 측정하기 위해 Office-Home 데이터셋의 모든 도메인을 합쳐 함께 학습을 시킨 뒤 성능을 확인하였습니다. 이 때 결과는 아래의 표에서 확인할 수 있듯이 SRM이 모든 도메인에 걸쳐 뛰어난 성능을 보여주었습니다. 이를 통해 SRM이 서로 다른 도메인간의 스타일 차이를 완화할 수 있음을 확인할 수 있으며, domain adaptation과 같은 task에 활용될 수 있는 가능성을 보여줍니다.

Screen Shot 2019-07-29 at 5.25.56 PM.png

Screen Shot 2019-07-29 at 5.31.23 PM.png

3. Style Transfer

기존 연구에서 알려져있듯이, Style transfer에서는 content image의 style을 제거하는 Instance Normalization (IN)이 Batch Normalization (BN)에 비해 뛰어난 성능을 보입니다. 해당 실험에서는 SRM이 기본 네트워크에 삽입되어 IN이 수행하는 역할과 같이 불필요한 style을 제거하는 역할을 할 수 있을지 확인해보았습니다. 아래의 그래프는 BN, IN,  BN+SE, BN+SRM을 적용했을 때의 content loss 및 style loss 학습 그래프입니다. BN 및 BN+SE의 경우 IN에 비해 훨씬 높은 loss를 보이는 반면, BN+SRM의 경우 거의 IN과 동일한 loss를 보입니다. 이는 SRM이 content image로부터 불필요한 style을 adaptive하게 제거할 수 있음을 보여줍니다.

Screen Shot 2019-07-29 at 5.45.57 PM

실제 style transfer된 이미지를 확인해보면 아래의 그림과 같이 BN 및 BN+SE은 풀이나 하늘 등 다른 배경과의 중요한 차이를 잘 구분하지 못하지만, BN+SRM과 IN은 이에 비해 뛰어난 성능을 보여주는 것을 확인할 수 있습니다.

Screen Shot 2019-07-29 at 5.46.11 PM

원 논문에서는 이 외에도 다양한 실험, ablation study 및 분석 등을 추가로 담고 있습니다 . 혹시 추가적으로 관심이 있으신 분이 계시면 참고하시면 좋을 것 같습니다. 또한 SRM 코드는  해당 github에서 확인하실 수 있습니다.


Conclusion

 

최근 다양한 연구들에서 [1,2] 이미지의 스타일 정보가 CNN이 판단을 하는데 있어서 중요한 역할을 한다는 점이 밝혀졌습니다. SRM은 이미지의 스타일을 활용한 feature recalibration을 통해서 CNN이 학습하는 과정에서 불필요한 스타일은 억제하고, 중요한 스타일은 강조할 수 있도록 합니다. 해당 모듈은 기존의 feature recalibration 방법인 Squeeze-and-Excitation [4], Gather-Excite [5] 에 비해 몇 십 배 적은 parameter만을 사용하지만,  이들 보다 더 높은 성능 향상을 가져다줍니다. 특히 스타일 관련 task에서는 기존의 방법들보다 훨씬 뛰어난 성능을 보입니다. 지금까지는 대부분의 스타일 관련 연구들이 image generation에 초점이 맞춰져 진행되어 왔지만, 앞으로는 SRM과 같이 스타일 정보가 CNN을 설계하는데 있어서도 다양하게 활용되기를 기대해봅니다.


Reference

 

[1] R. Geirhos et al., Imagenet-trained CNNs are biased towards texture; increasing shape bias improves accuracy and robustness. ICLR, 2019

[2] W. Brendel and M. Bethge, Approximating CNNs with bag-of-local-features models works surprisingly well on Imagenet. ICLR, 2019

[3] Xun Huang et al., Arbitrary style transfer in real-time with adaptive instance normalization. ICCV, 2017

[4] J. Hu, L. Shen, and G. Sun, Squeeze-and-excitation networks. CVPR, 2018

[5] J. Hu et al., Gather-excite: Exploiting feature context in convolutional neural networks. NeurIPS, 2018.

[6] S. Woo et al., Cbam: Convolutional block attention module. ECCV, 2018.

 

Posted by:Hyun Jae Lee

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s