그 순간, 인공지능은 왜 그렇게 생각했을까?
설명 가능한 AI인 XAI로, AI의 마음속을 들여다본다!
어느덧 우리 주변에서 AI를 쉽게 접할 수 있는 시대가 되었다. 여러 다양한 기업에서도 AI를 통해 전략을 수립하거나 투자를 결정하고, 데이터 관련 법이 제정 및 공표되어 빅데이터를 수집하고 활용하는 근거가 마련되고 있다. 하지만 AI가 갑자기 일반적인 결과에서 벗어나 엉뚱한 결과를 도출한다면 어떻게 될까? 만약 생명과 관련된 AI에 이러한 문제가 발생한다면 큰 사고로도 이어질 수 있다. 하지만 ‘AI의 책임성’, 즉 AI가 도출하는 추론 결과에 명확한 근거를 제시하기 어려운 것이 현실인데, 이때 그 해결책으로써 'eXplainable AI', 즉 XAI가 주목받고 있다.
XAI는 AI에 관한 업무를 수행하거나 관심이 있다면 반드시 알아두어야 할 분야이다. 이 책은 XAI의 배경부터 개별 기술까지 체계적으로 학습하고 몇 가지 주요 라이브러리를 시험 삼아 구동해 보면서 실무 지식을 얻을 수 있는 해설서이다. 특히 각 기술들을 최소한의 수학적 전개를 통해 설명하며, 파이썬으로 구현하기 때문에 XAI를 실무에서 빠르게 적용할 수 있도록 하며, 그 외에 XAI에 대한 주요 이슈 및 앞으로의 전망도 설명한다. XAI가 무엇인지 개념을 잡고 싶거나 각 기술을 직접 소스 코드로 구현해 빠르게 확인해 보고 실무에 적용하려는 분들에게 꼭 필요한 책이 될 것이다.
Contents
제Ⅰ부 과제 설정
제1장 AI에게 ‘설명’이 필요한 이유
1.1 AI 보급과 새로운 요구 사항
1.2 AI의 공평성ㆍ책임성ㆍ투명성
1.2.1 AI의 공평성(Fairness)
1.2.2 AI의 책임성(Accountability)
1.2.3 AI의 투명성(Transparency)
1.3 AI의 설명 가능성
1.3.1 설명 가능성이 높은 알고리즘
1.3.2 설명 가능성이 낮은 알고리즘
1.4 AI를 업무에 적용할 때 AI 설명이 필요한 이유
이번 장을 정리하며
제Ⅱ부 기초 지식
제2장 ‘설명 가능한 AI’의 개요
2.1 XAI란 무엇인가?
2.1.1 XAI의 목적
2.1.2 ‘설명 가능한 AI’와 ‘해석 가능한 AI’
Column XAI 관련 용어 의미
2.2 XAI 동향
2.2.1 XAI에 대한 왕성한 연구 활동
2.2.2 XAI 구현
2.3 ‘전역 설명’과 ‘국소 설명'
2.3.1 전역 설명(Global Explanations)
2.3.2 국소 설명(Local Explanations)
2.4 설명 방법의 차이점
2.5 모델 의존성
2.5.1 모델 의존형 XAI
2.5.2 모델 불문형 XAI
이번 장을 정리하며
제3장 XAI 활용 방법
3.1 설명 분류별 활용 방법
3.1.1 국소 설명 활용 방법
3.1.2 전역 설명 활용 방법
3.2 국소 설명 활용 방법
3.2.1 신고 내용의 타당성 검증
3.2.2 의도와 다른 학습 재검토
3.3 전역 설명 활용 방법
3.3.1 AI 모델의 개선 운용
3.3.2 적대적 공격 검증
이번 장을 정리하며
제4장 다양한 XAI 기술
4.1 다양한 설명 방법
4.1.1 XAI 라인업
4.1.2 이 책의 해설 내용
4.2 기술 소개 ① LIME
4.2.1 개념과 동작 원리
4.2.2 데이터 종류별 동작 원리
4.2.3 LIME의 특징과 주의점
4.2.4 LIME 정리
4.3 기술 소개 ② SHAP
4.3.1 섀플리 값이란
4.3.2 SHAP의 개념
4.3.3 SHAP 계산 알고리즘
4.3.4 SHAP 정리
4.4 소개 기술 ③ Permutation Importance
4.4.1 Permutation Importance의 개념
4.4.2 Permutation Importance의 동작 원리
4.4.3 Permutation Importance 정리
4.5 소개 기술 ④ Partial Dependence Plot
4.5.1 PDP / ICE의 개념
4.5.2 PDP / ICE의 특장점과 주의점
4.5.3 PDP / ICE 정리
4.6 소개 기술 ⑤ Tree Surrogate
4.6.1 Tree Surrogate의 개념
4.6.2 의사결정 트리 대리 모델의 특ㆍ장점과 주의점
4.6.3 의사결정 트리 대리 모델 정리
4.7 소개 기술 ⑥ CAM / Grad-CAM
4.7.1 CAM의 개념과 동작 원리
4.7.2 Grad-CAM의 개념과 동작 원리
4.7.3 관련 기술ㆍ파생 기술
4.7.4 CAM / Grad-CAM 대응 모델
4.7.5 CAM과 Grad-CAM 정리
4.8 소개 기술 ⑦ Integrated Gradients
4.8.1 Integrated Gradients의 개념과 동작 원리
4.8.2 Integrated Gradients 대응 모델
4.8.3 Integrated Gradients 정리
4.9 소개 기술 ⑧ Attention
4.9.1 Attention의 개념과 동작 원리
4.9.2 Attention 대응 모델
4.9.3 Attention 정리
이번 장을 정리하며
제5장 XAI 라이브러리 평가·선정
5.1 XAI를 평가하는 기본적인 관점
5.1.1 사용할 XAI를 결정하기 위한 관점
5.1.2 범분야(Cross-Cutting) 평가 관점
5.2 XAI 선정 방법
5.2.1 XAI 선정 절차(Flow)
5.2.2 목적ㆍ최소 조건과 부합하는가?
5.2.3 중요 조건과 부합하는가?
5.2.4 사용자가 만족할 수 있는가?
5.3 일관된 관점
5.3.1 평가 관점 ① ‘충실도’
5.3.2 평가 관점 ② ‘신뢰성’
5.3.3 평가 관점 ③ ‘만족도’
5.3.4 평가 관점 ④ ‘Mental Model’
5.3.5 평가 관점 ⑤ ‘실작업 친화성’
이번 장을 정리하며
제Ⅲ부 실천 매뉴얼
제6장 LIME을 활용한 표 형식 데이터 국소 설명
6.1 검증 목적
6.2 라이브러리 준비
6.3 검증 대상 데이터
6.3.1 데이터 개요
6.3.2 데이터 이해
6.4 모델 학습
6.4.1 전처리
6.4.2 모델 학습
6.5 LIME을 활용한 예측 결과의 설명
6.5.1 LIME 사용 준비
6.5.2 주요 파라미터
6.5.3 LIME 실행
6.5.4 다른 데이터에 대한 설명
Column 이해 가능한 설명인가
6.6 국소 설명의 수준을 조정하는 kernal width
검증 결과 정리
제7장 LIME과 Grad-CAM을 활용한 이미지 데이터의 국소 설명
7.1 검증 목적
7.2 라이브러리 준비
7.3 검증 대상 데이터
7.4 AI 모델 준비와 예측
7.5 LIME을 활용한 설명
7.5.1 LIME을 활용한 AI 모델 설명
7.5.2 LIME 설명 가시화와 해석
7.5.3 LIME을 활용한 설명 정리
7.6 Grad-CAM을 활용한 설명
7.6.1 Grad-CAM을 활용한 AI 모델 설명
7.6.2 Grad-CAM 설명 가시화와 해석
7.6.3 Grad-CAM을 활용한 설명 정리
검증 결과 정리
제8장 LIME과 Integrated Gradients 텍스트 분류의 국소 설명
8.1 검증 목적
8.2 라이브러리 준비
8.3 검증 대상 데이터
8.4 모델 학습과 예측
8.5 LIME을 활용한 모델 해석
8.6 Integrated Gradients를 활용한 방법
검증 결과 정리
Column Attention 가시화
제9장 SHAP의 국소적·전역적 설명과 대응
9.1 설명 준비
9.1.1 환경 구축
9.1.2 데이터 세트 준비
9.1.3 모델 준비
9.2 SHAP 값 산출과 이해
Column LightGBM의 SHAP 연계 기능
9.3 SHAP 값 가시화
9.3.1 개별 예측에 대한 특징량의 영향
9.3.2 데이터 세트 전체에 대한 특징량 반영 방법
Column 특징량 중요도 상호 비교?
9.3.3 SHAP 값과 특징량의 상관 관계 가시화
Column 변수 사이의 상호 작용을 활용한 상세 관찰 방법: SHAP Interaction aVlues
9.4 SHAP 값의 추가적인 활용
9.4.1 SHAP 값의 클러스터링을 활용한 데이터 분류
9.4.2 차원 삭제에 따른 특징량의 조합 추출
9.4.3 유사 데이터 검색과 신규성의 산출
검증 결과 정리
제10장 ELI5, PDPbix, Skater를 활용한 전역 설명
10.1 다양한 전역 설명 XAI
10.1.1 모델 설명을 수행하는 라이브러리
10.1.2 개발 성숙도
10.2 사전 준비
10.2.1 XAI 실행을 위한 과정
10.2.2 파이썬 환경 구축
10.2.3 XAI 라이브러리 설치
10.3 ELI5(Permutation Importance)
10.3.1 ELI5는 어떠한 기술인가?
10.3.2 ELI5 실행
10.3.3 ELI5 평가
10.4 PDPbox(PDPㆍICE)
10.4.1 PDPbox는 어떠한 기술인가?
10.4.2 PDPbox 실행
10.4.3 PDPbox 평가
10.5 Skater(Tree Surrogate)
10.5.1 Skater는 어떠한 기술인가?
10.5.2 Skater 실행
10.5.3 Skater 평가
검증 성과 정리
제11장 LIME, SHAP의 한계와 해결책
11.1 XAI 방법의 한계
11.2 LIME 결과 안정성
11.3 SHAP 계산 시간 대처 방안
11.4 스파스(Sparse) 데이터 분석
이번 장을 정리하며
제Ⅳ부 장래 전망
제12장 업무에서 필요한 설명 능력
12.1 비즈니스상의 설명
12.1.1 AI 활용 상황
12.1.2 설명이 필요한 비즈니스 상황
12.1.3 비즈니스상 필요한 설명 분류
12.2 정밀도와 설명 능력의 Trade Off
12.2.1 복잡한 사상의 설명은 근본적으로 복잡하다
12.2.2 XAI에 과도한 기대는 금물
12.3 설득력 키우기
12.3.1 필요한 것은 ‘이해’가 아닌 ‘설득’?
12.3.2 왜 XAI의 설득에 선형회귀가 사용되는가?
12.3.3 XAI를 사용해 설득할 수 있는가?
이번 장을 정리하며
제13장 XAI의 전망
13.1 사용자에게 XAI란
13.1.1 XAI의 도달점
13.1.2 XAI는 사용자에게 도움이 되는가?
13.2 설득할 수 있는 설명을 위한 도전
13.2.1 설득력 부족에 대한 이유
13.2.2 지식 활용 방침
Column 지식 클럽과 LOD
13.3 XAI의 이상적인 모습
13.3.1 분야를 넘나드는 발전 방향 기대
13.3.2 XAI가 갖추어야 할 모습
부록 - 환경 구축 방법
A.1 파이썬 환경
A.2 Jupyter notebook 환경 구축
Author
오오쓰보 나오키,나카에 도시히로,후카사와 유타,도요카 쇼,사카모토 뎃페이,사토 마코토
2015년 NTT 데이터에 입사하여 헬스케어 분야 패키지 소프트웨어의 개발 업무를 거쳐서 2018년부터 AI 및 데이터 분석 기술 연구개발에 종사하고 있다. 헬스케어를 시작으로 사람의 판단에 중대한 책임을 지는 비즈니스 영역에 대해 업무의 고도화ㆍ효율화를 목표로 AI 개발에 매진하고 있다. ‘설명 가능한 AI’이 비즈니스와 기계 학습을 접목시키는 주요 기술이라고 생각하며, 고객ㆍ사용자 시선에서 사용하기 쉽고 이해하기 쉬운 것이 가장 중요하다고 생각한다.
2015년 NTT 데이터에 입사하여 헬스케어 분야 패키지 소프트웨어의 개발 업무를 거쳐서 2018년부터 AI 및 데이터 분석 기술 연구개발에 종사하고 있다. 헬스케어를 시작으로 사람의 판단에 중대한 책임을 지는 비즈니스 영역에 대해 업무의 고도화ㆍ효율화를 목표로 AI 개발에 매진하고 있다. ‘설명 가능한 AI’이 비즈니스와 기계 학습을 접목시키는 주요 기술이라고 생각하며, 고객ㆍ사용자 시선에서 사용하기 쉽고 이해하기 쉬운 것이 가장 중요하다고 생각한다.