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
댓글