🤖 AI/ML

설명가능성

Explainability

AI 의사결정 과정을 인간이 이해할 수 있게 설명하는 능력. XAI 분야의 핵심 목표.

📖 상세 설명

설명가능성(Explainability)은 AI 시스템이 특정 결정을 내린 이유를 인간이 이해할 수 있는 방식으로 제시하는 능력입니다. 단순히 결과만 제공하는 것이 아니라, 그 결과에 도달한 과정과 근거를 투명하게 보여주는 것이 핵심입니다. 이는 XAI(Explainable AI, 설명가능한 AI) 분야의 핵심 목표입니다.

설명가능성이 중요한 이유는 여러 가지입니다. 먼저 규제 준수 측면에서, EU AI Act와 GDPR은 자동화된 의사결정에 대한 설명 요구권을 명시하고 있습니다. 의료, 금융, 법률 분야에서 AI를 활용할 때 왜 그런 판단을 했는지 설명할 수 없다면 법적 문제가 발생할 수 있습니다. 또한 사용자 신뢰 구축과 모델 디버깅에도 필수적입니다.

설명가능성을 구현하는 주요 기법들이 있습니다. LIME(Local Interpretable Model-agnostic Explanations)은 개별 예측에 대해 간단한 해석 가능한 모델을 만들어 설명합니다. SHAP(SHapley Additive exPlanations)은 게임 이론의 Shapley 값을 활용해 각 특성의 기여도를 계산합니다. Attention 시각화는 Transformer 모델에서 어떤 입력에 주목했는지 보여줍니다.

설명가능성은 해석가능성(Interpretability)과 구분됩니다. 해석가능성은 모델 자체가 단순해서 이해 가능한 것(예: 선형회귀, 결정트리)이고, 설명가능성은 복잡한 모델의 출력을 사후적으로 해석하는 것입니다. 실무에서는 두 개념을 함께 고려하여 모델 선택과 설명 전략을 수립해야 합니다.

코드 예제

SHAP을 사용한 모델 설명 예제입니다.

import shap
import xgboost as xgb
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split

# 데이터 로드 및 모델 학습
X, y = load_boston(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = xgb.XGBRegressor(n_estimators=100)
model.fit(X_train, y_train)

# SHAP Explainer 생성
explainer = shap.TreeExplainer(model)
shap_values = explainer.shap_values(X_test)

# 전역 특성 중요도 시각화
shap.summary_plot(shap_values, X_test)

# 개별 예측 설명 (첫 번째 샘플)
shap.force_plot(
    explainer.expected_value,
    shap_values[0],
    X_test[0]
)

# Waterfall plot으로 상세 분석
shap.plots.waterfall(shap.Explanation(
    values=shap_values[0],
    base_values=explainer.expected_value,
    data=X_test[0]
))

성능 & 비용

XAI 기법 계산 복잡도 설명 품질 사용 사례
SHAP (TreeExplainer) O(TLD) 높음 (이론적 근거) 트리 기반 모델
SHAP (KernelExplainer) O(2^M) 근사 높음 모든 모델 (느림)
LIME O(NM) 중간 개별 예측 설명
Attention 시각화 O(1) 추가 비용 중간 Transformer 모델
Feature Importance O(M) 낮음 빠른 전역 분석

🗣️ 실무에서 이렇게 말하세요

"이 모델은 SHAP 값으로 설명가능성을 확보했어요. 각 feature가 예측에 얼마나 기여했는지 정량적으로 보여줄 수 있습니다."

영어로는 "We've ensured explainability using SHAP values for this model"이라고 표현합니다. 또한 "model interpretability", "feature attribution", "prediction explanation" 등의 용어도 자주 사용됩니다. 규제 대응 회의에서는 "Right to Explanation(설명받을 권리)" 준수 여부를 언급하세요.

⚠️ 흔한 실수 & 주의사항

  • 1. 정확도와 설명가능성 트레이드오프 무시: 복잡한 모델이 더 정확하지만 설명이 어렵습니다. 도메인 요구사항에 맞게 균형을 잡으세요.
  • 2. Global vs Local 설명 혼동: 전체 모델 설명(global)과 개별 예측 설명(local)은 다릅니다. 목적에 맞게 선택하세요.
  • 3. 과도한 단순화: 복잡한 비선형 관계를 단순한 Feature Importance로만 설명하면 오해를 유발합니다.
  • 4. 계산 비용 과소평가: SHAP KernelExplainer는 매우 느립니다. 프로덕션에서는 배치 처리나 근사 기법을 고려하세요.
  • 5. 사용자 맥락 무시: 기술자용 설명과 일반 사용자용 설명은 달라야 합니다. 대상에 맞게 설명 수준을 조정하세요.

🔗 관련 용어

📚 더 배우기