본문 바로가기
딥러닝 with Python

[딥러닝 with Python] XAI란? (eXplainable AI / 설명가능한 인공지능)

by CodeCrafter 2025. 6. 11.
반응형

 

 

Explainable AI(XAI)는 복잡한 인공지능 모델의 의사결정 과정을 사람이 이해할 수 있도록 설명해주는 기술입니다.

 

이 포스팅에서는 XAI의 필요성부터 접근 방식, 최신 트렌드까지 전체 맥락을 정리해보고자 합니다.

 

1. 왜 Explainable AI가 필요한가?

- AI에 대한 신뢰의 위기

 * AI가 내리는 결정의 이유를 알 수 없다면 그 모델을 실무에 적용하기는 어렵습니다.

 * 특히 의료, 금용, 법률 등 고위험 분야에서는 설명가능성의 부재(absence of explanation)는 규제와 신뢰의 가장 큰 장벽이 됩니다.

 * 대표적인 신뢰 문제의 예시는 아래와 같습니다.

   의료 진단 - 왜 다음과 같은 증상이 진단되었는지 이유를 알기 어려움

 

   COMPAS 사례 - 2016년 미 법원 재범 위험 예측 모델, 인종에 따라 예측 오류율이 다르게 나타났으며, 이를 뒷받침할 명확한 근거를 제시하기 어려워 사회적인 파장을 일으킴

 

 

 

  - 이에 따라 미 국방고등연구계획국인 DARPA는 설명 가능한 AI 개발을 위한 연구를 위한 XAI Program을 진행했습니다.

   * 2016년에 시작했으며, 기존 딥러닝 모델의 블랙박스 문제를 해결하여 모델의 신뢰/책임/수용성을 확보하기 위함

 

2. XAI 접근 방법론의 분류

XAI는 다음과 같이 크게 4가지의 범주에서 접근 방법론을 구분해볼 수 있습니다.

 

 

1) 모델의 구조

 * Intrinsic : 모델 자체가 내재적인 해석력을 보유

 * Post-hoc: 모델 외부의 다른 기법으로 설명을 추가

 

2) 설명 범위(Scope)

 * Global: 전체 작동 원리에 대한 이해

 * Local: 개별 예측(개별 샘플에 대한 예측)에 대한 설명

 

3) 모델 적합성(Compatibility)

 * Model-agnostic: 어떠한 모델에도 적용이 가능

 * Model-specific: 특정 모델 구조에만 적용 가능

 

4) 설명의 출력 형태(Output Type)

 * Arguments: 논리적 근거를 설명

 * Models: 단순 보조 모델로 설명

 * Text: 자연어로 설명

 * Visualization: Heat Map 등으로 시각화

 

3. Instrinsic vs Post-hoc

-Intrinsic: 모델 자체가 해석 가능한 모델로 구성

 * ex 1. Linear Regression

   회귀 계수를 통해 다음과 같은 해석이 가능 " 변수 x가 1단위 증가할 때 y의 값은 beta(x의 계수)만큼 증가 " 

 

 * ex 2. Decision Tree

   Tree의 분기점에 대한 조건을 기준으로 해석 가능하며, 각 노드는 어떤 조건을 기준으로 데이터를 나누었는지를 보여줌

 * ex 3. Attention-based MIL

   Bag를 구성하는 여러 Instance 중 중요한 Instance에 높은 Attention weight를 부여하는 방식으로, 모델은 예측에 가장 높은 기여를 한 Instance를 강조하여, 내재적 설명 가능성을 확보

   아래 예제에서는 시계열 분류에서 이를 적용한 예제이며, 해당 시계열이 Class A로 분류된 것은 각 시점 별 가중치에 따른 영향도에 따른 결과임을 의미 

 

 

- Post-hoc : 모델 학습 이후, 예측결과에 대해 사후적으로 설명을 생성하는 방식

 * 모델의 구조는 복잡하지만, 출력에 영향을 미친 Feature를 외부 알고리즘으로 추정하는 방식

 *ex 1. SHAP (Shapely Additive exPlanations)

  각 feature 가 예측 값에 기여한 정도를 게임이론 기반으로 수치화

 

 

 * ex 2. LIME(Local Interpretable Model-agnostic Explanations): 예측값 주변에서 유사한 데이터를 생성하고, Local 선형 모델로 근사 ( 원 입력 근처에서 샘플링 후, 가중치를 주어 선형 모형에 적합시킴)

 

4. Global vs Local

1) Global Explanation: 모델 전체가 어떻게 작동하는지를 설명

 

* Ex 1. Permutation Feature Importance : 모델의 예측 성능을 기준으로, 특정 Feature 값을 섞어(Shuffle) 성능이 얼마나 떨어지는지를 측정 / 성능이 크게 하락할 수록, 해당 feature가 중요하다는 의미

 

2) Local Explanation: 특정 샘플에 대한 예측이 왜 나왔는지를 설명

 * Ex 1. Local SHAP(SHAP를 특정 샘플 x의 결과에 대한 해석에 활용)

    특정 샘플 x에 대한 예측값 f(x)가 각 feature에 얼마나 기여했는지를 샘플 단위로 분해하여 해석

 

5. Model-agnostic vs Model-specific

1) Model-agnostic: 어떤 모델 구조든 적용가능한 방법으로 입력 - 출력만으로 설명을 생성할 수 있음

 Ex 1~3. LIME, SHAP, Permutation Feature Importance

 Ex  4. PDD(Partial Dependence Plot): 특정 feature 값 변화가 모델 예측에 미치는 평균적 영향을 시각화

 입력 feature를 일정 범위로 조정하면서, 그에 따른 예측값의 평균 변화를 계산해 시각화

 

Ex 5. Counter Factual Explanation: 예측 결과를 바꾸기 위해 입력 feature 중 어떤 요소를 어떻게 조정해야할지를 제시

 

 

 

2) Model-sepcific: 특정 모델 구조에 맞춰 설계된 전용 설명 기법

 * Ex 1. CAM / Grad-CAM (CNN 전용)

   입력 이미지에 대해 어떤 영역이 예측에 기여했는지 시각적으로 보여주는 것으로 마지막 Convolutional Layer의 gradient를 기반으로 heatmap을 생성

 

* Ex 2. Attention Map (Transformer 계열)

 입력 시퀀스에 각 토큰이 다른 토큰에 얼마나 주의(Attention)를 기울였는지를 시각화

 

 

6. XAI의 최신 동향 : Post-hoc에서 Intrinsic으로

- 최근에는 처음부터 해석 가능한 구조를 설계하는 built-in explainability에 관심이 집중되고 있으며,

  예를 들어 Self-Explaining Neural Networks나 Interpretable Transformer 같은 것들이 그 예 입니다.

 

- 즉 설명 대상은 머신이 아니라 사람이므로, 사람의 이해 구조와 언어에 맞는 설명이 중요합니다.

 

이에 따라 대표적으로 연구되고 있는 분야는

 

1) Concpet-based Explanation

 * 고차원 특징을 사람이 이해할 수 있는 개념 단위 (feature -> concpet -> decision)으로 연결하는 것

 * Ex 1. CBM(Concept Bottleneck Model) : 사전 정의된 개념을 먼저 예측 후 Class 결정

 

 * Ex 2. ACE(Automated Concept Explanation): 사람 정의 없이 클러스터링을 통해 시각 개념 자동 추출

 

 

2) Prototype-based Explanation

 * 예측은 가장 비슷한 예시(Prototype)와의 유사도를 기반으로 이루어짐

 * 모델은 클래스 별 대표 feature patch를 기억하고 이를 비교

 

 * EX 1. ProtoTree

 

* Ex 2. Deformable ProtoPNet

반응형

댓글