Module 2. Explainable AI (XAI)

hwi·2023년 1월 17일
0

LG Aimers

목록 보기
3/6
post-thumbnail

설명가능한 AI

XAI의 필요성

딥러닝 모델은 편향(bias)된 정보일 수 있다. 따라서 모델이 예측한 결과에 대해 어떻게 이런 결과가 일어났고, 이 결과를 얼마나 신뢰할 수 있는지 판단되고 평가될 필요가 있다.

위 말의 이미지 경우에는 PascalVOC7의 결과를 분석해보면, 판단에 중요한 영향을 끼친 Pixel이 말이 아닌 왼쪽 밑을 가르키고 있는 것을 알 수 있다. 따라서 해당 모델은 말의 모습이 아니라 말의 사진마다 첨부된 워터마크만을 보고 분류하고 있는 것이었다. 이런 식으로 XAI를 통해 잘못된 모델을 디버깅할 수 있다.

이미지 task에서의 설명력은 주로 시각화를 통해 예측 결과를 중요한 영향을 끼친 특징(critical pixel)이나 데이터 sample를 highlighting하는 것으로 이루어진다.

딥러닝 모델은 매우 복잡하기 때문에 중요한 결정 ( AI기반면접, 대출 가능 여부 등..)을 하는 데에 있어 결과에 대한 이유를 설명해야 할 때도 있다.

Taxonomy of XAI method

XAI는 여러 갈래로 특징을 가질 수 있다.

  • Local : 개별 데이터에 대해서 설명을 하는 방법
    : e.g. 한 이미지에서 분류에 중점적으로 사용된 pixel들을 highlighting

  • Global : 전체 데이터 셋에 대해서 전반적인 분포를 설명하는 방법

  • White Box : 설계자(Explainer)가 모델 내부에 대해 알고 있으며 접근 가능한 경우

  • Black Box : 설계자(Explainer)가 모델 내부에 접근할 수 없으며, 입출력을 통해서만 모델을 설명할 수 있는 경우

  • Model-specific : 특정 모델, 클래스에 설명 방법이 제한되는 경우
    : e.g. CAM의 경우에는 모델 내부에 Global Average Pooling (GAP) 가 필요하다.

  • Model-agnostic : 어떤 모델이든 상관 없이 범용적으로 설명 가능하다.

XAI Method

강의 내용에서 Image Task 위주로 다루고 있기 때문에 정리 내용 또한 Image model에 대한 설명 방법을 포함하고 있습니다.

Simple Gradient Method

설명에 대한 근거로 input image에 대한 gradient를 사용하는 방법이다.
ground truth 이미지와 차이에 대한 loss를 계산하고, 그 loss에 대한 gradient 값이 크다면 그만큼 중요도가 높은 pixel이라고 판단하는 것이다.

이 방법의 장점으로는 Gradient를 통해 이미지에 대한 설명을 제공하기 때문에 따로 계산할 필요 없이 back propagation을 통해 설명이 가능하다는 것이다. 따라서 계산이 쉽다. 하지만 단점으로는 Gradient 값이 항상 정확하지 않고 noise가 쉽게 끼는 Shattering gradient problem이 있어 설명력이 다소 떨어지는 경우가 잦다는 점이 있다.

Class Activation Map (CAM)

각 Activation map을 weight에 곱하고 이를 합하여 Class에 대한 Activation map을 만드는 XAI 방법이다. CNN 모델을 사용한다고 가정했을 때, Conv layer 이후에 마지막에 Global Average Pooling을 사용하여 각 class activation map에 대한 평균으로 최종 설명 이미지를 산출한다.

CAM은 이미지에 있는 객체를 인식할 수 있으며, 각 지역에 대해 최대 CAM 값과 주변 20%의 값을 갖는 bounding box를 만들 수도 있다. 확실하게 모델이 중요하게 판단한 부분을 알 수 있다는 장점이 있지만, GAP가 달려 있는 모델에 대해서만 적용가능하다는 한계점이 있다.

Grad-CAM

이 XAI method는 channel에 따른 Weight를 계산하는 것이 아니라, Average Pooled Gradient를 사용하여 가중합을 계산하는 것이다. 따라서 GAP가 없는 모델에서도 사용 가능한 설명 방법이다. 따라서 다양한 아웃풋 모델에 적용할 수 있다는 장점이 있다.

하지만 Average Gradient 값을 사용하기 때문에 결과가 부정확할 수 있다는 단점이 있다.


LIME & RISE

LIME은 중요한 영향을 끼치는 super-pixel에 교란을 주고, 이에 대한 모델의 설명력을 관찰하는 방법이다. 교란한 instance와 확률값을 pair로 활용하고 이를 regression한다. 그리고 그 regression을 통해 모델이 중요하게 판단한 부분을 설명한다.

RISE는 random mask를 이용해서 input image를 sampling하여 해당 클래스에 대한 확률값이 얼마나 낮아지는 지 관측하는 방법이다. 어떤 pixel이 가려졌는지에 따라 중요 픽셀 (suepr-pixel)이 어디인지 추출할 수 있게끔 하여 모델이 판단한 부분을 추측할 수 있다.

XAI Method 평가 지표

Human-based visual assessment

이 평가 지표는 사람한테 직접 퀴즈를 내서 설명력을 평가하는 방법이다. 하지만 사람에게 평가를 맡기고 이를 관찰하는 것은 매우 비싼 비용이 요구되며, 자동화되어야 효율적으로 XAI Method를 찾을 수 있을 것이다.

Pixel perturbation

해당 포스트는 LG Aimers 활동 중 서울대학교 문태섭 교수님의 강의자료를 기반으로 작성된 글입니다. 학습 정리용으로 작성하였으며, 잘못되었거나 수정해야 할 내용이 있을 수 있습니다. 해당 내용이 있다면 이메일이나 댓글로 알려주세요. 감사합니다.

profile
"잘" 살고 싶은 사람입니다.

0개의 댓글