Notice
Recent Posts
Recent Comments
Link
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

Seung-MinJi

[Review] Enhancing the Interpretability of SHAP Values Using Large Language Models 본문

Paper

[Review] Enhancing the Interpretability of SHAP Values Using Large Language Models

지승민 2025. 11. 1. 19:01

0. Abstract

Model interpretability is crucial for understanding and trusting the decisions made by complex machine learning models, such as those built with XGBoost. SHAP (SHapley Additive exPlanations) values have become a popular tool for interpreting these models by attributing the output to individual features. However, the technical nature of SHAP explanations often limits their utility to researchers, leaving non-technical end-users struggling to understand the model's behavior. To address this challenge, we explore the use of Large Language Models (LLMs) to translate SHAP value outputs into plain language explanations that are more accessible to non-technical audiences. By applying a pre-trained LLM, we generate explanations that maintain the accuracy of SHAP values while significantly improving their clarity and usability for end users. Our results demonstrate that LLM-enhanced SHAP explanations provide a more intuitive understanding of model predictions, thereby enhancing the overall interpretability of machine learning models. Future work will explore further customization, multimodal explanations, and user feedback mechanisms to refine and expand the approach.
  • 복잡한 머신러닝 모델이 어떤 이유로 특정 결과를 내렸는지 설명하는게 중요함
  • SHAP이라는 기법은 각 요소(나이, 성별 등)이 결과에 얼마나 영향을 줬는지 숫자로 알려줌
  • 하지만 SHAP 결과는 너무 기술적이이서 일반인들은 이해하기 어려움
  • 이 연구는 대형 언어 모델(LLM)을 사용해 SHAP 설명을 쉽고 평이한 문장으로 바꾸는 방법을 소개함
  • 그 결과, 전문가가 아니어도 모델의 판단 이유를 이해할 수 있게됨

 

1. Short Background

  • 인공지능 모델이 점점 복잡해지면서 왜 그런 결과가 나왔는지 설명하는 게 더 어려워짐
  • 특히 의료, 금융처럼 중요한 분야에서는 결과를 납득할 수 있어야 신뢰할 수 있음
  • SHAP은 각 입력 정보가 결과에 얼마나 기여했는지 보여주지만 숫자와 그래프로만 보여줘서 비전문가는 이해하기 어려움.
  • 그렇기 때문에 SHAP 결과를 자연어로 풀어서 보여줄 필요가 있음.

 

2. Methods

(1) SHAP 값 이해하기

  • SHAP(SHapley Additive exPlanations)는 머신러닝 모델의 출력 예측값이 각 입력 피처에 얼마나 영향을 받았는지 수치로 표현해주는 방법
  • 예측 결과는 마치 게임의 총 점수와 같고, 각 피처는 그 점수에 기여한 플레이어처럼 다뤄짐
  • 협력 게임 이론에 따라 각 피처가 없을 떄와 있을때의 예측 차이를 모든 가능한 조합에서 평균하여 SHAP 값을 계산
  • 수학적으로는 매우 공정하고 정밀한 방식이지만, 설명은 숫자 형태로만 제공되기 때문에 일반 사용자가 이해하기 어려움

(2) LLM을 활용한 설명 방식

  • SHAP 값의 수치 기반 설명을 누구나 이해할 수 있는 무장으로 바꾸는 것,
  • 즉, '성별은 생존 확율에 +0.24 기여했다' -> 여성이어서 생존 확률이 높아졌습니다. 같은 형식으로 변환

(3) 절차별 설명 - 입력 구성

  • SHAP 값은 모델이 하나의 예측을 한 결과에 대해 계산되며, 이 값을 LLM이 읽을 수 있도록 다음과 같은 형식으롤 정리
  • EX) [("성별", 0.24), ("객실 등급", 0.15), ("나이", -0.10)]
  • 각 피처 이름과 SHAP 값을 튜플(쌍)의 목록 형태로 표현

(4) 모델 선택

  • 논문에서는 자연어 처리 성능이 우수하며 프롬프트에 따라 문맥에 맞는 텍스트 생성 가능한 LLM으로 Mistral 7B를 선택
  • 로컬에서 동작하므로 속도 빠르고 보안 우수

(5) 프롬프트 설계

  • LLM은 입력만 보면 뭘해야 할지 모르므로 '어떻게 설명하라" 는 프롬프트가 반드시 필요함
  • ex) "다음 특성들이 모델의 예측에 어떤 영향을 미쳤는지 설명해줘. 일반 사용자도 이해할 수 있도록 쉬운 말로 작성해줘."
  • 이 프롬프트 뒤에 정리된 SHAP 값 목록을 붙여서 LLM에 전달

(6) 설명 생성

  • LLM은 입력된 SHAP 값과 프롬프트를 기반으로 자연스러운 문장을 생성
  • ex) '이 승객은 여성이고 1등석에 탑승했기 때문에 생존 확률이 높습니다. 다만 나이가 많아 약간의 위험 요소로 작용했습니다.'
  • 이렇게 생성된 문장은 숫자에 익숙하지 않은 사람도 직관적으로 이해 가능

(7) 시스템 구현 방법

  • 실행 환경 구성 은 Mistral 7B 모델을 로컬 컴퓨터에 설치해 실행
  • 전체 프로세스를 하나의 Python 파이프라인으로 구성
    • 머신러닝 모델이 입력 데이터를 받아 예측 실행
    • SHAP 라이브러리로 해당 예측의 SHAP 값을 계산
    • 각 피처와 SHAP 값을 튜플로 정리 
    • 미리 정의한 프롬프트와 함계 LLM에 입력
    • LLM이 설명 문장을 생성
    • 결과를 사용자에게 보여줌
  • LLM이 생성한 문장은 사람이 읽기 좋게 (문법 오류 수정, 중복된 내용 제거, 불필요하게 긴문장은 요약 ) 등등 하여 다듬음

 

3. Results

 

(1) 실험 목적

  • 본 연구의 목표는 SHAP 값 을 대형 언어 모델을 활용하여 일반인이 이해할 수 있는 문장으로 바꾸는 것이 실제로 가능 확인
  • 실제 머신러닝 모델에 SHAP값을 적용하고 그 결과를 LLM(Mistral 7b)을 통해 문장으로 변환하여 평가함

 

(2) 사용된 데이터 셋 

  • Titanic 데이터셋은 머신러닝에서 널리 사용되는 공개 데이터로, 탑승객의 정보와 생존 여부를 포함함

 

(3) 예측 모델 구성: XGBoost  

  • Titanic 데이터를 바탕으로 XGBoost 모델을 훈련시킴.
  • 훈련된 모델은 각 승객에 대해 생존 확률을 예측함

 

(4) SHAP 값 계산

  • 각 예측 결과에 대해 SHAP 값을 사용하여 특성별 영향력을 수치화함.

 

(5) SHAP 값을 LLM 입력 변환

  • SHAP 값을 다음처럼 LLM이 이해할 수 있는 형태로 변환
    • ex) [  ("성별", 0.25),("좌석 등급", 0.15), ("나이", -0.05)]
  • 이 리스트와 함께 프롬프트(prompt) 문장을 함께 입력함
    • ex) "다음 특성들이 모델 예측에 어떤 영향을 주었는지 일반인이 이해할 수 있도록 설명해줘."

 

(6) LLM 설명 생성 (Mistral 7B 출력 예시)

  • SHAP 값을 직접 언급하지 않고, 자연어로 간결하게 해석
  • 원래 SHAP 값의 의미는 유지하면서도 이해하기 쉬움
  • 설명의 흐름도 자연스럽고 실제 사람이 쓴 듯함
  • ex) “이 승객은 여성이고 1등석에 탑승했기 때문에 생존 확률이 높아졌습니다. 하지만 나이가 많아 생존 가능성이 다소 낮아졌습니다.”

사용자는 기술 용어 없이 다음과 같은 쉽고 명확한 문장으로 예측 결과를 이해할 수 있게 됨:

 

 

4. Conclusion 

  • 복잡한 SHAP 값을 LLM을 이용해 쉽게 풀어 설명하는 방법이 효과적임을 확인함.
  • 제안된 방식은 SHAP의 정확성을 유지하면서도 비전문가도 이해할 수 있게 해줌.
  • 특히 의료나 금융처럼 설명이 중요한 분야에서 활용 가능성이 높음.
  • 모델 개발자와 일반 사용자 사이의 이해 격차를 줄이는 데 기여함.

 

5. Discussion

  • 다만 프롬프트 설계, 계산 자원, 설명 신뢰성 등 몇 가지 한계도 존재
  • LLM이 생성한 설명을 맹신하지 않도록 사용자 교육과 검증이 필요함
  • 사용자 피드백 반영과 분야별 튜닝을 통해 더욱 정밀하고 신뢰할 수 있는 설명 시스템을 구축할 수 있음