iMTE

Interpretable and fine-grained visual explanations for CNNs 내용 정리 [XAI-7] 본문

Deep learning study/Explainable AI, 설명가능한 AI

Interpretable and fine-grained visual explanations for CNNs 내용 정리 [XAI-7]

Wonju Seo 2021. 4. 23. 10:30

논문 제목 : Interpretable and fine-grained visual explanations for CNNs

논문 주소 : openaccess.thecvf.com/content_CVPR_2019/html/Wagner_Interpretable_and_Fine-Grained_Visual_Explanations_for_Convolutional_Neural_Networks_CVPR_2019_paper.html

 

CVPR 2019 Open Access Repository

Interpretable and Fine-Grained Visual Explanations for Convolutional Neural Networks Jorg Wagner, Jan Mathias Kohler, Tobias Gindele, Leon Hetzel, Jakob Thaddaus Wiedemer, Sven Behnke; Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern R

openaccess.thecvf.com

주요 내용 :

1) 저자는 a post-hoc, optimized based visual explanation method로 FGVis를 제안하였다. Optimization based visual explanation 방법은 adversarial evidence (faulty evidence)에 취약하다. 이를 방지하기 위해서 constrainsts를 추가하거나, regularization 방법이 사용되는데, 기존 방법들은 hyper parameter가 추가가되거나 explanation map의 해상도가 작아지거나 smooth되는 단점이 있었다. 이는 fine-grained하게 설명해야하는 explanation map에 큰 obstacle이 된다. 저자는 hyper parameter를 필요로 하지않는 새로운 adversarial defense technique를 제안하였고, 이 방법을 사용해서 새로운 fine-grained explanation metohd를 제안하였다.

위의 그림을 보면, Image (a) 에서 sparse mask를 찾아내고 (c), Image와 mask를 element-wise multiplication을 통해서 explanation map (b)를 찾아내는 것이다.

2) Visual explanation methods는 세가지 방법이 제안되어 왔다.

(1) Backpropagation based methods (BBM) : 이 방법은 backpropagation을 사용해서 각 pixel의 중요도를 나타내는 방법이다. 이 방법은 빠르게 계산이 가능하고 (1번의 backpropagation), fine-grained map을 만들 수 있지만, 상당히 low quality 이고, interpretability가 작다. 

(2) Activation based methods (ABM) : 이 방법은 convolutional layers의 activation의 linear combination으로 explanation map을 그리는 것이다. 이 방법은 image에 heat-map을 그려서 어느 region이 class score에 영향을 미치는지 알 수 있지만, fine-grained한 특성을 갖기 힘들고, 생성된 explanation map이 model의 decision making process를 반영할 것이라고 보장하지 못한다. (이 부분은 다른 논문에서도 언급되었던 문제이다.)

(3) Perturbation based methods (PBM) : 이 방법은 input에 noise를 추가하여 (perturbation), model의 output을 분석하는 방법이다. 이 방법은 내부의 모델 구조에 영향을 받지 않는다는 점에서 model agnostic한 특징이 있지만, 시간이 많이 걸릴 뿐만 아니라, coarse explanation map을 형성한다.

위의 세가지 방법 중 (1)-(2)에 대해서 구체적으로 공부하고 싶다면 이전에 포스팅한 'Sanity checks for saliency maps 내용 정리'를 확인하길 바란다.

3) PBM의 방법 중, perturbed image를 optimizing함으로 explanation map을 만드는 방법들이 있다. 이 방법은 다음과 같이 perturbed image를 형성해낸다.

$$e=m\cdot x+(1-m)\cdot r$$

위의 식에서 $e$는 perturbed image, $x$는 input image, $m$은 mask, $r$은 reference image이다. $r$은 주로 zero가 사용된다. Adversarial evidence를 방지하기 위해서, 다양한 방법들이 사용될 수 있는데, 이 방법은 image space에서 좀더 이해하기 쉬운 explanation map을 만들어준다.

$e$를 만드는 방법은 두가지 방법이 있다. 1) Preservation : 이 방법은 model의 output을 유지위해 필요한 가장 작은 region을 유지하는 방법이다. 2) Deletion : 이 방법은 model의 output을 변화시키기 위해 필요한 가장 작은 region을 제거하는 방법이다.

CNN $f_{cnn}$은 주어진 image $x\in \mathbb{R}^{3\times H \times W}$를 출력 $y_x=f_{cnn}(x;\theta_{cnn})$으로 mapping을 한다. $y_x \in \mathbb{R}^C$는 C개의 class core를 나타내는 vector이다. 주어진 input image의 target class $c_T$ 의 explanation map $e_{c_T}^*$ 는 preservation 혹은 deletion을 통해서 구할 수 있다.

Mask  $m_{c_T}\in[0,1]^{3\times H \times W}$는 특정 operator $\Phi$로 표현되고 이는 다음과 같다.

$$e_{c_T}=\Phi(x,m_{c_T}) = x\cdot m_{c_T} +(1-m_{c_T})\cdot r$$

먼저, preservation 방법에서 최적의 mask는 다음과 같이 정의된다. (Eq 2)

$$e_{c_T}^*=m_{c_T}^*\cdot x, m_{c_T}^* = argmin_{m_{c_T}} \{ \rho (y_x^{c_T},y_e^{c_T})+\lambda \cdot ||m_{c_T}||_1 \}$$ 

위 식에서, $||m_{c_T}||_1$을 최소화 하기 때문에 많은 pixel이 black이되는 형태로 sparse한 mask를 만들어 낸다.

다음으로 deletion 방법에서 최적의 mask는 다음과 같이 정의된다. (Eq 3)

$$e_{c_T}^*=m_{c_T}^*\cdot x, m_{c_T}^* = argmax_{m_{c_T}} \{ \rho (y_x^{c_T},y_e^{c_T})+\lambda \cdot ||m_{c_T}||_1 \}$$ 

Eq 2 와 달리, argmax이기에, 대부분의 pixel이 white가되는 형태로 sparse한 mask를 만들어낸다. Eq 2와 Eq 3에서 $\rho (y_x^{c_T},y_e^{c_T}) $은 explanation의 model output $y_e^{c_T}$과 input image의 model output $y_x^{c_T}$의 similarity를 계산한다. (비슷하면 이 값이 작고, 다르면 이 값이 크도록 설계되었다.) 

저자는 preservation 보다는 deletion이 더 sparse한 mask를 만드는 것을 확인하고 이를 사용할 것을 추천한다. Eq 2와 Eq 3의 optimization problems을 해결하기 위해서 (해결이 되면 적절한 mask를 얻는 것이다.) $e_{c_T}^0=1\cdot x$를 시작으로 (Init1) stochastic gradient descent (SGD)를 사용하였다. 다른 방법으로 $m_{c_T}^0=0$을 시작으로 (Init2) SGD를 사용하였다. Init1은 irrelevant한 부분을 제거하고 (repression game), Init2는 relevant한 부분을 추가하는 형태로 학습한다. (generation game)

4) 기나긴 one step을 통과하였다. 밑의 그림을 보면, 생성된 explanation map이 상당한 fine-grained 특징이 있다는 것을 알 수 있으며, deletion 방법이 preservation 보다 더 sparse 하며, 덜 noisy하게 보인다.

5) 다음으로, 이 논문의 핵심은 adversarial defense technique이다. CNN은 adversarial images에 취약하고, 이는 adversarial evidence에 대한 optimization based visual explanation 방법이 취약하다는 것으로 확장될 수 있다. 이를 해결하기 위해 다양한 방법이 있겠지만, human-tuned parameter에 의존하고, 저해상도와 smooth된 특징으로 인해서 fine-grained 성능을 저하시킨다. 

이 문제를 해결하기 위해서 저자는 새로운 방법을 제시하였는데, 이 방법은 backpropagation 동안 gradients를 원하는 방향으로 filtering 하는 방법이다. 이 방법의 아이디어는 original image $x$로 activated된 neuron 내에서만 neurons이 explanation $e_{c_T}$에서 activation되어야 한다는 것이다. 만약, neurons을 edge나 object part등을 나타내는 것이라고 생각해보면, 이 제약은 $e_{c_T}$이 original image $x$에서 edge나 object part를 얻을 수 있는 동일한 위치의 특징을 유지하게한다는 것이다! 이 방법을 통해서 $e_{c_T}$의 features들은 $x$의 features의 subset이 되고, 이는 새로운 evdience를 생성하는 것을 방지한다. (adversarial defense)

복잡한 식들이 있지만, 결과적으로 clipping layer를 추가하는 것으로 network structure의 변화없이, hyper parameter의 추가 없이 이 방법을 쓸 수 있다.

위 그림에서, 제안된 방법으로 defend가 된 경우, adversarial evidence에 대해서 probability가 0이 되는 것을 확인할 수 있다. 뿐만 아니라 color에 대한 dependence를 c)에 비해서 b)가 더 잘 표현하고 있다.

6) 주요 결과를 확인해보자. 먼저, interpretability 관점에서 밑의 그림을 보자.

위의 그림을 보면 다른 기존의 방법대비 제안된 FGVis가 fine-grained 특징이 뚜렷하다는 것을 알 수 있다. 뿐만아니라, class discriminative/fine-grained 관점에서 밑의 그림을 보면, class가 overlap이 되더라도 fine-grained image를 얻을 수 있음을 보여주고 있다.

추가적으로 network의 structure가 explanation에 영향을 미친다는 것과 (Figure 6, ResNet을 쓸 때, grid같은 pattern이 나타나는 것이 확인되었고, 이는 이전 연구에서 발견되었다고 한다.) fine-grained 뿐만 아니라 color dependence에 대한 정보도 추출할 수 있다는 점에서 이 방법은 매우 유용하다 (Figure 7, school bus가 노란색으로 dependence 되어 있다. 반면 van은 그런 모습이 보이지 않는다.)

마지막으로, medical 데이터에 적용을 시켰을 때, 제안된 방법이 기존 방법보다 더 잘 detection 한다는 것을 알 수 있다. (medical image에서는 fine-grained 가 더 잘 될 수록 병변 위치를 잘 잡아서 detection 정확도가 향상된다.)

+

새로운 adversarial defense technique를 제안하고, mask를 씌우는 optimization based visual explanation 방법을 융합하여 fine-grained 한 explanation map을 생성하는 방법을 제안하였다. 이렇게 좋은 기술인데 아직 46회 (2021년 4월 기준)밖에 인용이 안된 것이 신기하다.

Comments