본문 바로가기
딥러닝

[딥러닝 논문 리뷰] ImageNET-Trained CNNS Are Biased Towards Texture; Increasing Shape Bias Improves Accuracy And Robustness

by 미스터탁 2022. 12. 10.

이번에 리뷰할 논문은 ImageNET-Trained CNNS Are Biased Towards Texture; Increasing Shape Bias Improves Accuracy And Robustness 이라는 논문으로 ICLR2019에 oral 발표로 accept된 논문입니다. ICRL2019에 accept된 논문 500편 중에 20여편정도가 oral인걸 감안한다면, 매우 좋은 점수를 받은것을 알 수 있죠.

 

논문을 읽어보면 아시겠지만, 수식이 거의 없고 직관적으로 설명이 잘 되어 있습니다. 

 

이 논문이 oral로 accept된 이유는 (제생각) 기존의 CNN을 바라보는 관점을 깨뜨린 점과 다양한 실험으로 본인들의 가설을 증명하려고 노력한 점 때문이 아닐까 싶습니다.

 

이 논문의 핵심은 다음 이미지 한장으로 알 수 있습니다.

 

ResNet으로 분류 했을 때 그림 (a), (b)는 각각 코끼리, 고양이로 잘 분류하지만, 고양이 모양에 코끼리 질감이 합성된 이미지 (인간의 눈에게는 고양이로 보이는 )는 코끼리로 분류한다는 것입니다. 즉, CNN은 이미지의 shape를 학습하는 것이 아니라, texture를 학습한다라는 것이 이 저자들의 주장입니다.

 

 

 

 

저자들은 본인들의 가설을 입증하기 위해 다양한 실험을 진행하였습니다. 가장 기본적인 실험으로 CNN vs 인간 의 실험을 진행하였습니다. CNN모델로는

ImageNet, AlexNet, GoogLeNet, VGG-16, ResNet-50 등을 사용 하였으며, 인간의 경우에는 97명의 참가자를 모집하여 이미지를 보여주고 분류하도록 실험을 하였다고 합니다.

 

아래 그림과 같이 original 이미지와 이를 greyscale, silhoutte(실루엣), edges 등으로 변환한 이미지와 48개의 texture이미지를 분류하게 하였습니다. 그 결과, 아래 그림에서 보시는 것처럼 인간은 대부분 높은 정확도를 갖추고 정답을 선택하지만, CNN모델은 실루엣과, edges 스타일 (shape는 유지되고 texture정보가 없어진) 의 경우에는 낮은 정확도를 보였습니다.

 

 

 

 

 

 

다음 실험으로는 이미지 (shape)에 texture이미지를 합성시킨 이미지를 분류하는 실험입니다. 이미지합성은 style-transfer algorithm을 활용하였습니다. Style-transfer의 content image와 style image를 shape image와 texture image로 지정해서 총 1280개의 이미지를 생성하였습니다. (논문에서는 이 이미지를 cue conflict images라고 정의합니다). 더불어 ImageNET데이터는 IN, ImageNET데이터에 texture 이미지를 합성시킨 이미지를 Stylized-ImageNet (SIN) 이라고 정의해서 사용합니다. 

 

 

 

실험에 대한 결과는 아래 그림과 같이, 예상했던 대로 인간을 제외한 나머지 network 모델들은 낮은 정확도를 보였습니다. 결국, CNN은 local feature를 통합하고 global shape를 분류하는 것이 아니라, 많은 local texture feature많을 이용한다라는 결론을 내리게 됩니다. (CNN은 texture bias라는 특징을 가진다)

 

 

 

 

 

저자들은 여기서 그치지 않고 어떻게하면 texture bias를 극복할 수 있을지에 대해서도 연구를 진행하였습니다. 아래 표를 보시면 ResNet과 BagNet을 사용했는데(BagNet도 ICRL2019에 accept된 논문입니다....) BagNET은 ResNet과 구조는 똑같고 receptive field size만 9*9, 17*17, or 33 * 33로 제한 시킨 network입니다. 아래표에서 알수 있는 것은 ResNet에서 SIN은 학습하는 것 자체가 어렵다라는 점(SIN->SIN : 79%, IN->IN : 92.9%), SIN을 통해 IN을 예측하는것이 IN을 통해 SIN을 예측하는 것 보다 쉽다라는점입니다. SIN의 경우 texture가 더 이상 예측요소가아니라 쓸모없는 요소이기 때문입니다. 고양이 모양에 코끼리 질감을 가진 이미지를 고양이로 예측해야하는 문제에서 이 코끼리 질감은 더 이상 예측을 위한 요소가 아니게 되버리는 것이죠.  더불어 BagNet에서 receptive field size를 더 작게 제한하면 제한 할수록 IN과 SIN의 예측 문제의 성능차이가 커진다라는 것을 알 수 있습니다. Receptive field size를 작게 제한할수록 장거리 공강정보를 학습에서 배제하겠다라는 의미이고, 저자들은 이 결과에 대해서  "SIN data set이 실제로 local texture cue를 제거하여 네트워크가 장거리 공간 정보를 통합하도록 한다"라고 주장합니다. 다시말해, SIN데이터는 장거리 정보를 사용하도록 한다라는 것입니다 (receptive field size가 크면 클수록 성능이 좋아진다라는 것).

 

 

 

 

더불어 저자들은 실험을통해 SIN과 IN을 같이 학습하는데 사용하면 model performance가 더 좋아진다라고 주장합니다. 아래 표에서 보시는 것처럼, classification 뿐만 아니라 object detection에서도 좋은 성능을 보인다라고 합니다. 가장 좋은것은 SIN+IN으로 학습하고 IN으로 다시 fine-tuning하는 것이라고 합니다.

 

 

 

 

 

마지막으로 저자들이 제시하는 실험결과는 SIN 데이터셋 자체가 학습하는데 매우 robust하다라는 특성을 가진다라는 것입니다. 아래 그림은 이미지에 여러 noise를 추가해서 network(IN) / network(SIN) / 인간에게 분류하게 하였을 때, network(SIN)이 거의 인관과 유사한 성능을 보인다라는 것입니다.  

 

 

 

 

결국 이 논문을 요약하면, 기존에 알고 있던것과 달리 CNN은 shape를 학습하는 것이 아니라, texture를 학습하는 것이다. original 이미지의 texture 정보를 바꿔버린 SIN 데이터셋을 일반데이터셋과 같이 활용하면 더 robust한 모델을 만들 수 있으며, SIN 데이터셋 자체가 robust한 모델을 만들 수 있는 이미지 source이다. 라고 할수 있겠네요.

 

 

 

 

 

반응형

댓글