발견 출처 dev.to/발행

The Explanation Gap: Why Explainable AI Still Struggles to Speak Human

설명의 간극 — 설명 가능한 AI가 아직도 '인간의 언어'로 말하지 못하는 이유

SHAP 같은 XAI 기법은 모델의 예측 근거를 수치로 보여주지만, 간호사·환자·규제자 같은 실제 의사결정자가 읽을 수 있는 설명으로 바꾸는 일은 여전히 미해결 과제입니다. 이 글은 수치 기여도(attribution)가 인과 관계를 의미하지 않는다는 함정을 짚고, 기여도를 자연어 서술로 변환하는 오픈소스 라이브러리 narrashap을 사례로 '내러티브 계층'의 설계 원칙을 살펴봅니다.

본문

병원 재입원 위험 92%라는 예측이 나왔다고 가정해 봅니다. SHAP 값은 나이, 이전 입원 이력, 복약 순응도를 주요 기여 요인으로 보여주지만, 간호사가 '왜 이 환자가, 이번 주에?'라고 물었을 때 '특성값에 계수를 곱해 소수점 넷째 자리까지 출력한 값'이라는 기술적 답변은 정확하면서도 실무적으로는 거의 쓸모가 없습니다. 글은 이것이 설명 가능한 AI(XAI)의 미해결 핵심이라고 지적합니다. 모델이 답을 계산하게 만드는 것은 어려운 부분이 아니었고, 실제로 행동해야 하는 사람에게 — 설명이 실제보다 더 확실해 보이지 않게 하면서 — 설명하게 만드는 것이 아직 진행 중인 과제라는 것입니다.

XAI의 배경과 설명 기법의 지형

2015년 DARPA는 XAI 프로그램을 시작하며 최종 사용자가 AI 시스템을 '이해하고, 적절히 신뢰하고, 효과적으로 관리'할 수 있게 하는 것을 목표로 삼았습니다. 이는 학술적 연습이 아니었습니다. 의료, 형사사법, 신용, 채용 같은 고위험 영역은 전체적으로는 정확하지만 개별 사례에서는 불투명한 결정을 용인할 수 없기 때문입니다. 이후 분야는 풍부한 설명 방법론을 개발해 왔습니다. LIME은 개별 예측 주변에 단순한 대리(surrogate) 모델을 적합하고, 반사실적(counterfactual) 설명은 '결과가 뒤집히려면 무엇이 바뀌어야 하는가'에 답하며, saliency map은 이미지의 영향력 있는 픽셀을 강조하고, attention 기반 설명은 트랜스포머가 '주의를 기울인' 토큰을 가리키고, 규칙 추출은 복잡한 모델을 if-then 문으로 증류합니다. 그러나 이 중 어느 것도 단독으로는 고위험 의사결정에서 가장 중요한 질문 — '나는 왜 이 설명을 믿어야 하는가' — 에 답하지 못합니다. '모델이 92% 정확하다'는 집계 성능 지표는 개별 추론을 설명하지 않습니다. 모델은 정확하면서도 허위 상관이나 보호 속성의 프록시 변수에 의존할 수 있습니다. 유럽 데이터보호감독기관(EDPS)의 2023년 TechDispatch는 'AI 결정의 근저 논리를 숨기는 블랙박스 효과는 용납될 수 없다'고 명시하며, 불투명성이 편향·부정확성·환각을 숨기고 영향받는 개인이 결정을 이해·이의제기·정정하는 것을 막는다고 지적합니다.

SHAP은 무엇을 나타내는가

SHAP(SHapley Additive exPlanations)은 협력 게임 이론의 Shapley 값에 기반해, 단일 인스턴스의 예측을 입력 특성들에 귀속시키는 방법입니다. '플레이어'는 입력 특성, '보수'는 예측값이며, 특성 i의 Shapley 값은 다른 특성들의 모든 가능한 연합에 대한 평균 한계 기여도입니다. 글은 이를 '친구가 시험에서 10점을 받은 이유를 공부·수면·문제풀이의 조합별 기여로 분해하는 것'에 비유합니다. SHAP은 지역 정확성(기여도 합이 예측값과 일치), 결측성(없는 특성은 기여도 0), 일관성(기여가 커지면 귀속도 감소하지 않음)이라는 세 가지 바람직한 성질을 만족합니다.

그러나 SHAP은 인과적 설명이 아닙니다. '이전 입원 이력 +0.18'은 이 특성을 알게 되면 예측이 기준값 대비 18%포인트 올라간다는 뜻이지, 실제로 입원 이력을 줄이면 위험이 18포인트 낮아진다는 뜻이 아닙니다. SHAP 문서도 'SHAP은 예측 모델이 잡아낸 상관관계를 투명하게 하지만, 상관관계를 투명하게 한다고 인과적이 되지는 않는다'고 경고합니다. 편향된 데이터에서 우편번호가 인종의 프록시로 학습되었다면 SHAP은 그 허위 연관을 성실하게 설명할 뿐입니다. 기여도를 문장으로 옮기는 순간 — '이 요인이 예측을 이끌었다', '이 변수가 위험을 유발했다' — 방법이 지지하지 않는 인과 주장을 밀반입할 위험이 생깁니다.

attribution에서 언어로 — narrashap의 사례

전형적인 SHAP 출력은 base value 0.12와 함께 [0.08, -0.03, 0.15, 0.02, -0.01] 같은 값 배열과 특성명 목록입니다. ML 엔지니어에게는 유익하지만 간호사·환자·규제자·대출 심사관에게는 거의 무용합니다. 수치는 log-odds 같은 변환 스케일 위에 있고, 특성명은 내부 식별자이며, '0.15가 큰 값인지 보통인지' 맥락도 없습니다. Christoph Molnar의 『Interpretable Machine Learning』이 반복해 강조하듯, 해석 가능성은 설명을 생산하는 것이 아니라 의도된 독자가 이해하고 사용할 수 있는 설명을 생산하는 문제입니다.

이 간극을 메우는 사례로 글은 오픈소스 Python 라이브러리 narrashap을 소개합니다. 인터페이스는 narrate() 하나로, SHAP 값·해당 사례의 특성값·학습 데이터·위험도를 받아 평이한 문장 템플릿 또는 LLM을 통해 서술을 생성합니다. 생성된 서술은 특성값을 모집단 백분위로 프레이밍하고, 상위 기여 요인을 과장 없이 짚으며, 인과 해석을 명시적으로 부인하고, 의학적 조언을 피합니다. LLM에 '인과를 암시하지 말라'고 부탁하는 것만으로는 부족하기에, narrashap은 생성 후 금지 인과 표현 목록과 대조해 위반 시 재작성합니다. 단순 키워드 매칭보다 정교해야 했는데, 'this is not proven to cause the outcome'처럼 헤지된 안전한 문장 속 'proven'을 오탐하지 않도록 부정 처리를 다듬는 데 여러 시도가 필요했다고 합니다. 또한 attribution이 모델에 충실한지는 평가되지만 그 위에 얹힌 내러티브가 attribution에 충실한지는 거의 평가되지 않는다는 문제의식 아래, 실제로 중요한 특성을 언급했는지·방향이 맞는지·데이터가 지지하지 않는 주장을 지어냈는지를 측정하는 fidelity scorer를 둡니다. 의료와 사기(fraud) 도메인 설정으로 어휘와 어조는 바꾸되 헤징 요건은 고정합니다.

한계와 열린 과제

글은 narrashap이 완결된 해법이 아님을 분명히 합니다. 의미 있게 검증된 실제 통합은 로지스틱 회귀 건강위험 모델 하나뿐이고, 개별 예측을 설명할 뿐 모델 거버넌스 도구나 공정성 감사를 대체하지 않습니다. LLM을 루프에 넣으면 환각·과도한 확신 어조·프로바이더 측 모델 업데이트라는 익숙한 위험이 다시 들어오고, 부정 인식 안전 검사에도 '문장 앞부분의 무관한 부정이 뒤의 안전하지 않은 주장을 통과시킬 수 있는' 알려진 엣지 케이스가 남아 있습니다. 분야 전체의 미해결 과제로는 내러티브 계층 자체의 평가(attribution과 별개의 연구 문제), 독자별 설명의 일급 파라미터화, 모델 재학습·LLM 업데이트 후 같은 입력이 다른 서술을 낳는지 추적하는 '설명 드리프트(explanation drift)' 모니터링, 집계 감사를 넘어 개별 설명 수준에서의 공정성 신호 표면화, 로컬 전용·무API 생성, 그리고 출처 명시·편집 가능한 서술·감사 추적을 포함한 상시적 인간 검토 체계를 꼽습니다. XAI의 미래는 '더 많은 설명'이 아니라, 기여도에 충실하고 적절히 불확실하며 실제 독자가 읽을 수 있고 자신이 무엇이 아닌지 정직한 '더 나은 설명'이라는 것이 글의 결론입니다.

원문: dev.to / 번역·요약: Trawling