[Paper Review] Approximating CNNs With Bag-Of-Local Features Models Works Surprisingly Well On ImageNet

저자: Wieland Brendel and Matthias Bethge

Abstract  

 기존의 DNN들의 decision process를 이해하기는 어려웠다. 본 논문에서는 Decision을 쉽게 이해할 수 있는 BagNet(ResNet기반)을 소개한다. Spatial Ordering을 생각하지 않고, 작은 local image feature가 얼마나 많이 발생했는가에 대한 부분을 고려하는 모델이다.
이에 따라, 어떤 local image feature가 classification에 있어서 강력한 영향을 주었는지 알 수 있게 해준다.

Introduction

 기존의 DNN에서는 어떤 input part에 대해 activation값이 다른 part에 의존적인 성향이 강하고, Spatial Relationship을 크게 고려하므로 DNN이 어떻게 decision을 내리는지에 대해서 분석하기가 까다로웠다.
 따라서 본 논문에서는 Bag of Feature model(local image feature들의 count값을 가지고 classify하는 모델)을 기반으로 BagNet을 설계하였다.

Network Architecture

Network Architecture은 아래와 같다.


 먼저, Input을 patch단위로 나눠준다. 그 다음 모든 patch를 BagNet에 input으로 넣은 후, 나오는 activation 값(fully connected layer의 output 값)에 따라 각 클래스별로 heatmap(class evidence)을 만들어준다. 이러한 heatmap을 spatial average를 통해 "total class evidence"라는 하나의 값(logit)으로 만들어주고 이를 softmax를 거쳐 Loss 에 들어가게끔 학습이 진행된다.
 ResNet 모델을 기반으로 해서 BagNet을 설계하였는데, 차이점은 많은 3x3 convolution을 1x1 convolution으로 바꾸어서 receptive size를 patch size(q)와 동일하도록 하였다.

Results

 Accuracy & Runtime of BagNets on ImageNet

 Patch size를 17x17로 주었을 때 AlexNet과 비슷한 성능(top-5 80.5%) 을 보였고 33x33 으로 주었을 때 top-5 87.6%를 보였다.
 inference time의 경우 BagNets가 155images/s를 processing할 때 ResNet50이 570images/s를 processing하였다. 이는 downsampling을 안해주었기 때문이라고 사료된다.

Patch size에 따른 성능



 Explaining Decisions


  q x q patch 각각에 대한 activation 값을 가지고 heatmap을 만들기 때문에, 어떤 부분이 classification하는데 있어서 중요하게 작용했는 지를 heatmap을 보고 알 수 있다. 그 예로, 위 그림은 top-1으로 예측된 class에 대한 heatmap을 나타낸 것이다. 보면, object의 윤곽선에 따라서 attend 되어있는걸 볼 수 있다. 사슴 사진에서 보면 background 는 아예 무시되고 있는 것을 볼 수 있다.


  위 그림은 Correct label class(위)와 Incorrect label class(아래)의 Correct label에 대한 top-7 activation 값을 가지는 patch들을 나열한 것이다. 자세히 보면, Book Jacket에서 중요하게 작용하는 부분은 표지 위 text인 것을 알 수 있고 이에 따라 incorrect class에서 text를 보고 book-jacket이라고 예상한 것으로 보인다.

Misclassified 된 이미지들(BagNet-33의 예측확률 / VGG의 예측확률)


 위 그림은 Correct class와 top-1 predicted class 에 대한 heatmap을 나타낸 것이며, 검은색 정사각형들은 BagNet-33이 Correct class에 대해서 most predictive 하다고 예측한 patch들, 빨간색 정사각형들은 Top-1 predicted class에 대해서 most predictive 하다고 예측한 patch들을 의미한다.


Comparing The Decision making of BagNets and High-performance DNNs

 VGG 16과 BagNet의 Activation(logits)값 분포에 대한 Pearson Correlation을 조사해 봤을 때, Patch size가 클수록 두 분포가 증감하는 비율이 일정해지는 것을 알 수 있다.
 그러나 이를 토대로 BagNet과 VGG를 비교하기는 어렵다.

 본 논문에서의 가정에 따르면, BagNet은 만약 5개의 wheel이 연결되있지 않은 상태로 존재하는 이미지가 완전한 형태의 자전거 이미지 보다 더 많은 evidence를 제공해야 한다. 즉, frame이 어디있고, 안장이 어디있는지 상관 안해야 된다는 것이다. 즉, 모든 이미지의 어떤 부분이 존재하거나 제거되었을 때, class evidence(logit) 값에 대한 영향은 모두 동일하다고 주장하고 싶은 거고, 아래의 과정을 통해 보인 것이다.
-> Bag of Feature 개념이 왜 잘 동작하는지에 대해 보이고 싶었던 것.



 이를 수식적으로 나타내면 위와 같다. x는 input이라고 하고, l은 logit 값을 의미한다고 하자. 위 수식의 의미는 아래의 그림으로 완벽하게 이해될 수 있다. 아래에서 검은색 마스크는 channel wise mean값으로 채워주었다고 한다.


 즉, 위 그림에서 (따로 따로 noise를 줬을 때 original logit값과의 차이)을 summation한 값 = 모든 noise를 한번에 줬을 때 original logit값과의 차이 임을 보였다.

Error Distribution

 각 클래스별로 error rate 를 나타낸 그림은 아래와 같다.



Spatial Sensitivity

 Most predictive 한 image part를 지웠을 때 성능은 drop되는 것이 자명한데, 다른 Masking 기법들(White box - 모델에 대해서 모든 것을 아는 상태에서 heatmap을 만드는)에 비해서 BagNet이 예측한 image part가 가장 predictive하다는 것을 보여주고 싶은 실험이다.

 아래의 그림에서, 2가지 사실을 알 수 있다.
1. 다른 Attribution 기법들 보다, BagNet이 예측한 image part가 가장 predictive하다.(BagNet이 예측한 most predictive part를 지웠을 때 그 class에 대한 예측 확률이 제일 줄어드므로)
2. BagNet이 예측한 image part에 대해서 다른 DNNs에서도 critical하게 작용하고 있는 것을 볼 수 있다.
가로축은 masked된 patch(8 x 8)의 개수를 의미한다.





 위 그림은 왼쪽 4개의 heatmap은 VGG16에 대한 다양한 Attribution기법을 적용한 것이고, 오른쪽 두개는 BagNet의 heatmap을 나타낸 것이다.

댓글