research notes

Image-specific Saliency 본문

인공지능 신뢰성/eXplainable AI(XAI)

Image-specific Saliency

forest62590 2022. 2. 22. 12:59
728x90

1. Image-specific saliency 개요

컨볼루션 신경망의 attribution을 보여주기 위한 대표적인 수단이 ‘Saliency Map(현저성 맵)’이다. 보통 Saliency Map은 이미지 상의 두드러진 부분을 지칭하나, 컨볼루션 신경망의 예측 결과에 대한 설명의 맥락에서는 예측 결과를 이끌어낸 이미지 상의 주요한 부분을 표현하기 위한 목적으로 생성된다.

 

컨볼루션 신경망의 예측 결과로부터 Saliency Map을 도출하기 위한 가장 간단한 방법은, 예측 클래스의 입력 이미지 X에 대한 gradient ∂yc/∂X를(기여도) 계산하는 것이다.

 

2. Image-specific saliency 알고리즘 정리

Pixel들을 rank시켜 각 픽셀이 예측에 얼마나 영향을 주었는지 판단을 하기 위해 linear score model을 적용한다고 하자 (2)

 

이 때 linear score model을 통해 class score에(Sc) 가장 영향을 많이 미치는 항목은 w(magnitude of the weights)라고 정의할 수 있다.

  • 여기서 weight(WcT)는 ConvNet의 backpropagation을 통한 weight가 아니다.
  • back propagation은 loss function에 대한 gradient이며, image-specific sailency에서 gradient 계산은 class score에 관한 것이다.

문제는 선형적인 linear score model을 비선형적인(non-linear model) CNN 모델에 바로 적용할 수 없기 때문에, 테일러 급수를 활용한 linear approximation(선형근사)를 통해서 위의 방정식을 만족시킬 수 있다. (3)

- 위 도출된식에서의 특징은 w만 Image-specific saliency를 도출 하는데 사용된다.

 

- 소스코드에서 max(score)를 활용하여 class score를 구하는 이유는 softmax와 같은 계층에 들어가기 전의 계층(penultimate)에서 도출된 결과가 가장 높은 값이 결국 그 클래스의 예측을 나타나는 값이 되기 때문이다. (Class scores, by the way, are the values in the output layer that the neural network assigns to classes before the softmax, so they’re not probabilities, but they’re directly related to probabilities through a function like softmax.)

 

- Image-specific Saliency 도출을 위해 컬러 이미지일 경우 각 픽셀별 최대 값을 도출하여 반영

References:

[1] https://medium.datadriveninvestor.com/visualizing-neural-networks-using-saliency-maps-in-pytorch-289d8e244ab4

[2] https://simonjisu.github.io/paper/2020/03/12/deepinsidecnn.html

[3] https://blogik.netlify.app/BoostCamp/U_stage/41_cnn_visualization/

[4] https://glassboxmedicine.com/2019/06/21/cnn-heat-maps-saliency-backpropagation/

[5] https://www.cognex.com/ko-kr/blogs/deep-learning/research/overview-interpretable-machine-learning-2-interpreting-deep-learning-models-image-recognition

728x90
Comments