개념
설명이 산출물이 되면 검증 대상이 된다
AI 기능에 "왜 이렇게 판단했는지" 화면이 붙기 시작하면 QA에게 새 질문이 떨어진다. 이 화면이 맞는지 어떻게 아는가.
ISO/IEC 25059가 25010에 더한 품질 특성에는 설명가능성이 들어 있다(모듈 36 레슨 1). 특성이 품질 모델에 있다는 것은 측정 가능해야 한다 는 뜻이다. 그런데 설명가능성은 다른 특성과 성격이 다르다. 응답시간은 재면 끝이지만, 설명은 재는 대상이 주장(claim) 이다. "소득이 이 판정의 가장 큰 근거였다"는 주장이고, 주장은 참이거나 거짓일 수 있다.
이 레슨은 그 주장을 시험하는 절차를 다룬다. 설명을 만드는 법이 아니라 받아 든 설명을 판정하는 법 이다.
SHAP·LIME 이 실제로 주는 것
둘 다 사후(post hoc) 설명 방법 이다. 모델을 바꾸지 않고, 바깥에서 입력을 흔들어 보며 기여도를 추정한다.
| LIME | SHAP | |
|---|---|---|
| 발상 | 한 예측 주변을 선형 모델로 국소 근사 | 협력 게임 이론의 섀플리 값으로 기여 배분 |
| 출력 | 그 지점 근방에서의 피처 가중치 | 피처별 기여도. 기여도 합 + 기준값 = 예측값 |
| 성격 | 국소적, 빠름, 샘플링 의존 | 가산성 같은 성질을 만족. 정확 계산은 비싸 근사 사용 |
| 대표적 흔들림 | 샘플링 난수에 따라 설명이 달라진다 | 배경 데이터 선택과 근사 방식에 따라 달라진다 |
표의 마지막 행이 이 레슨의 출발점이다. 두 방법 모두 난수와 설정에 의존한다. 그래서 같은 입력에 두 번 돌려 다른 설명이 나오는 일이 정상 범위 안에서도 일어난다. 그 범위를 모르면 "설명이 바뀌었다"가 결함인지 아닌지 판정할 수 없다.
또 하나 짚어야 할 것이 있다. SHAP의 기여도는 모델 출력에 대한 기여 이고, 인과가 아니다. "소득을 올리면 승인된다"가 아니라 "이 모델의 이 예측에서 소득 항이 출력을 이만큼 밀었다"가 전부다. 설명 화면의 문구가 인과처럼 읽히면 그 자체가 결함 보고 대상이다.
무엇을 재는가 — 네 가지 축
설명 검증을 네 축으로 나누면 시험 설계가 바로 나온다.
| 축 | 질문 | 재는 방법 |
|---|---|---|
| 안정성 | 같은 입력에 같은 설명이 나오는가 | 반복 실행 후 상위 k 중복도·순위 상관 |
| 민감도 | 비슷한 입력에 비슷한 설명이 나오는가 | 미세 변형 입력쌍의 설명 거리 |
| 충실도 | 설명이 가리킨 피처가 실제로 예측을 지배하는가 | 삭제·치환 곡선, 랜덤화 검사 |
| 타당성 | 설명이 도메인 상식과 맞는가 | 도메인 담당자 검토, 금지 피처 점검 |
마지막 축만 보고 끝내는 것이 가장 흔한 실수다. 타당성은 사람이 보고 "그럴듯하다"고 느끼는 것이고, 그럴듯함은 충실도와 독립적이다. 이 레슨 후반의 핵심이 바로 그 분리다.
안정성 시험 — 절차와 합격 기준
1 대표 입력 50건을 고른다 (승인·거절·경계 사례를 섞는다)
2 각 입력에 설명을 R 회 생성한다 (R = 10 권장, 난수 시드를 고정하지 않는다)
3 매 회의 상위 5개 피처 집합을 기록한다
4 지표를 계산한다
상위 5 중복도 자카드 유사도의 평균
순위 상관 스피어만 상관의 평균
최상위 일치율 1위 피처가 같았던 비율
5 합격 기준을 선언한다 (예: 상위 5 중복도 `≥ 0.8`, 최상위 일치율 `≥ 0.9`)기준값의 출발점은 관행이 아니라 우리 모델의 측정값 이다. 먼저 재서 분포를 보고, 사용자에게 보여 줄 설명으로 쓸 수 있는 수준인지 판단한다. 설명이 매번 다른 피처를 1위에 올리면 그 화면은 켜지 말아야 한다. 레슨 2에서 SHAP 상위 피처로 드리프트 경보 대상을 고르자고 했던 설계도 이 안정성이 전제다 — 불안정한 설명으로 경보 범위를 정하면 범위가 매일 바뀐다.
충실도 시험 — 삭제 곡선과 랜덤화 검사
안정성은 "일관된가"이고 충실도는 "맞는가"다. 일관되게 틀린 설명이 가능하므로 둘을 따로 재야 한다.
1) 삭제 곡선(deletion curve)
설명이 중요하다고 한 피처를 중요도 순으로 하나씩 제거(또는 기준값·중앙값으로 치환)하면서 예측 확률의 변화를 기록한다.
제거한 상위 피처 수 0 1 2 3 5
예측 확률 0.91 0.72 0.55 0.41 0.28 ← 충실도 높음
예측 확률 0.91 0.90 0.89 0.87 0.85 ← 충실도 의심비교군을 꼭 둔다. 무작위 피처를 같은 개수만큼 제거한 곡선 과 비교해야 의미가 있다. 두 곡선이 겹치면 그 설명은 무작위 선택과 구별되지 않는다.
주의할 점이 하나 있다. 피처를 제거한 입력은 학습 분포를 벗어나므로, 예측이 변한 이유가 "중요한 피처가 빠져서"가 아니라 "비현실적 입력이 되어서"일 수 있다. 그래서 치환 방식(중앙값·분포 표본·그룹 평균)을 바꿔 두 번 재고, 결론이 흔들리면 판정을 보류한다.
2) 랜덤화 검사(sanity check)
Adebayo 등이 제안한 검사의 발상을 그대로 쓴다. 모델을 망가뜨렸는데 설명이 그대로면 그 설명은 모델을 설명하지 않는다.
A 정상 모델의 설명을 기록
B 라벨을 무작위로 섞어 재학습한 모델의 설명을 기록
C A 와 B 의 설명이 유사하면 → 그 설명 방법은 이 모델에 쓸 수 없다이 검사는 한 번만 해 두면 되고, 통과하지 못하면 설명 화면 전체를 재검토해야 한다. 비용이 작고 판정이 명확해서 XAI 도입 초기에 반드시 넣는다.
3) 대리 모델 일치도
해석 가능한 모델(결정 트리·규칙 집합)을 같은 데이터로 학습해 그 모델의 근거와 비교한다. 완전히 일치할 필요는 없지만, 전혀 다른 피처를 가리키면 둘 중 하나는 틀렸다 는 신호다. 조사 시작점으로 쓸모가 있다.
설명이 그럴듯하지만 틀린 경우
이 절이 이 레슨의 이유다. 네 가지 전형이 있다.
1) 상관 피처가 근거를 훔친다. 지역 코드와 소득이 강하게 상관된 데이터에서, 모델이 실제로는 지역 코드를 쓰고 있어도 설명은 소득을 1위로 올릴 수 있다. 기여도가 상관된 피처들 사이에서 임의로 배분되기 때문이다. 공정성 검토(모듈 36 레슨 4)에서 치명적이다 — 금지 피처를 안 쓴다는 증거로 설명을 쓰면 안 된다. 금지 피처는 설명이 아니라 피처 목록과 상관 분석으로 확인한다.
2) 설명 대상이 모델이 아니라 파이프라인이다. 전처리가 여러 원본 컬럼을 한 피처로 합쳤다면, 설명은 합성 피처를 가리키고 사용자는 그것을 원본 컬럼으로 읽는다. 설명 화면의 피처 이름이 원본 컬럼명과 1:1 대응하는지 를 확인하는 것이 QA의 점검 항목이다.
3) 설명이 의도적으로 조작될 수 있다. Slack 등은 입력 교란에 의존하는 사후 설명 방법(LIME·SHAP)에 대해, 설명을 임의로 통제하는 분류기를 구성할 수 있음을 보였다. 즉 "설명이 깨끗하다"가 모델이 깨끗하다는 증거가 되지 못한다. 외부에서 받은 모델의 설명 화면을 적합성 증거로 받을 때는 이 한계를 명시한다.
4) 사람이 그럴듯함을 충실도로 착각한다. 도메인 담당자가 "맞는 것 같다"고 한 설명이 삭제 곡선에서 무작위와 구별되지 않는 경우가 실제로 나온다. 타당성 검토는 필요하지만 충분하지 않다. 그래서 검토 기록에 "타당성 검토 통과 / 충실도 미측정" 처럼 축을 나눠 적는다.
Rudin은 고위험 결정에서는 블랙박스를 설명하려 하지 말고 애초에 해석 가능한 모델을 쓰라고 주장했다. QA가 이 주장을 그대로 집행할 수는 없지만, 설계 리뷰에서 물어볼 질문 은 된다 — "이 결정의 위험 등급을 보면, 사후 설명이 아니라 해석 가능한 모델이 맞지 않는가."
QA 는 XAI 출력을 받아 무엇을 판정하는가
판정 항목을 합격 기준까지 적어 두면 리뷰가 끝난다.
| 판정 항목 | 합격 기준의 형태 |
|---|---|
| 안정성 | 상위 5 중복도·최상위 일치율이 선언한 임계값 이상 |
| 충실도 | 삭제 곡선이 무작위 제거 곡선과 통계적으로 구별됨 |
| 랜덤화 검사 | 라벨 셔플 모델의 설명과 유사하지 않음 |
| 피처 이름 추적 | 화면의 모든 피처 이름이 원본 컬럼·사전 정의에 매핑됨 |
| 문구 | 인과로 읽히는 표현 없음, 신뢰 범위·한계 고지 포함 |
| 금지 피처 | 설명이 아니라 피처 목록·상관 분석으로 별도 확인됨 |
| 코호트 | 주요 코호트별로 안정성·충실도가 함께 측정됨 |
| 기록 | 모델 버전·설명 방법·설정(배경 데이터·샘플 수)이 함께 보존됨 |
마지막 줄을 빠뜨리면 나중에 재현이 안 된다. 설명은 모델 버전과 설정의 함수 다. 모듈 38 레슨 5의 배포 게이트 기록에 설명 방법과 설정을 같이 남겨야 "그때 그 설명"을 다시 만들 수 있다.
실무에서 왜 필요한가
규제와 계약이 설명을 요구하기 시작했다. 신용·채용·보험 심사에서 거절 사유를 제시하는 화면이 들어가고, 레슨 5에서 볼 고위험 시스템 의무에도 운영 담당자가 출력을 해석할 수 있게 하라는 요구가 있다. 그 화면이 켜지는 순간 잘못된 설명은 잘못된 기능 이다. 사용자가 그 근거로 행동하고, 분쟁에서 그 화면이 증거로 쓰인다.
실무적으로 더 큰 효용은 다른 데 있다. 설명 검증은 모델 결함을 찾는 경로 이기도 하다. 설명이 엉뚱한 피처를 1위에 올린 것을 추적하다가 타깃 누수를 발견하는 일이 흔하다(레슨 2). 안정성이 낮은 것을 추적하다 전처리 비결정성을 찾는 일도 있다. 설명 화면은 모델 내부로 들어가는 창이고, QA가 쓸 수 있는 진단 도구다.
그리고 이 레슨의 내용은 조용한 거절의 근거 가 된다. "설명 화면을 붙이자"는 요구에 "붙이려면 안정성과 충실도를 먼저 재야 하고, 지금 수치로는 사용자에게 보일 수 없다"고 말할 수 있는 사람이 팀에 있어야 한다. 그렇지 않으면 틀린 근거가 제품 화면에 올라간다.