Explainable AI(XAI) in CNN

Junsoo-Kim·2025년 3월 21일

딥러닝을 돌릴 때 우리는 output과 input 사이의 과정들을 제대로 볼 수 없이 그저 성능만 평가하는 경우가 많다. AI가 어떻게 학습하고 또 어떤 부분을 중심적으로 보아 weight를 초기화 하는지를 알기가 힘들다.

이런 현상을 "Black-Box" 라고 부른다.

출처 : https://liquidity-provider.com/articles/demystifying-black-box-ai-and-its-use-cases/

그래서 이 현상을 보완하기 위해, explainable AI(XAI)라는 개념이 등장하였다.
요즘 CNN을 공부하고 있기 때문에, explainable CNN에 대해서 알아보도록 하겠다.

CNN의 구조를 보면 크게 input layer, convolutional layer, fully-connected layer 그리고 output layer가 있다.

여기서 convolutional layer에서 feature map를 만드는데, 이 feature map을 시각화 하는 것이 explainable CNN의 특징이라고 볼 수 있다.

그럼 이제 explainable cnn을 구현하는 대표적인 방법 몇가지를 소개하겠다.

1. Saliency Maps

출처 : https://www.geeksforgeeks.org/what-is-saliency-map/

Saliency는 한국어로 "두드러지는, 눈에 띄는" 이라는 뜻이다. 즉 Saliency maps은 중요한 특징이 담긴 부분을 시각화 하는 것이다.

Saliency maps을 구하는 방법은, 입력 데이터를 CNN 모델에 넣어서 예측한 후
예측된 출력값 Y를 입력값 X의 대해서 미분한 gradient를 구한다.
그리고 gradient의 크기를 hitmap 형식으로 변환하여 시각화한다.
-> 따라서 gradient의 절댓값이 클수록 해당 픽셀이 예측에 중요한 영향을 미친다고 판단할 수 있다.

하지만 Saliency maps 방법은 noise의 발생과 low localization 문제가 있어, 이 문제점을 보완한 다양한 아키텍쳐가 등장했다(ex. CAM).

아직 논문을 읽을 정도의 수준이 아니기 때문에, 나중에 수준이 된다면 논문을 통해 공부하고 싶어 논문 링크를 첨부한다.

https://arxiv.org/abs/1312.6034
Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps

profile
CS Undergraduate 2nd, University of Seoul

0개의 댓글