책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
https://github.com/AcornPublishing/interpretable-ai
요약
AI 기술이 발전하고 활용 사례가 늘어남에 따라 모델이 한 예측의 안전성과 신뢰성을 확보하기 위해 왜 그런 예측에 도달했는지, 또 어떻게 하면 결과가 달라졌을지 설명을 해야 할 상황도 늘어나고 있다. 머신러닝 모델에 최신 해석 기술을 적용해 공정하고 설명 가능한 AI 시스템을 구축하는 데 도움을 주고자 하는 책이다. 해석 가능성에 대한 얘기는 많지만, 실무에 필요한 기술을 설명하거나 실용적인 지침을 제공하는 자료는 거의 없다. 이 책은 그 격차를 해소하고자 한다.
추천의 글
"실무자를 위한 흥미진진한 AI 해석 가능성 분야에 대한 정통한 소개서."
"저자는 해석 가능한 AI의 중요성을 누구나 쉽게 이해하도록 설명하고 있다."
"이제 막 시작하는 사람과 전문가 모두를 위해 해석 가능한 AI의 수수께끼를 효율적으로 설명하고 있다."
"이 책에 제시된 구체적인 예제는 해석 가능한 AI 시스템을 이해하고 구축하는 데 도움을 준다."
이 책에서 다루는 내용
◆ AI 모델 해석 기법
◆ 편향, 데이터 누수, 개념 드리프트에 따른 오류에 대처하는 방법
◆ 공정성을 측정하고 편향을 완화하는 방법
◆ GDPR을 준수하는 AI 시스템을 구축하는 방법
이 책의 대상 독자
모델의 동작 방식과 공정하고 편향 없는 모델의 구축 방법을 더 깊이 이해하고자 하는 데이터 과학자 및 엔지니어를 위한 책이다. 공정성을 보장하고 비즈니스 사용자와 브랜드를 보호하기 위해 AI 시스템의 근간을 이루는 모델을 이해하려는 설계자와 비즈니스 이해 관계자에게도 유용할 것이다.
이 책의 구성
이 책은 9개의 장과 4개의 부로 구성돼 있다.
1부에서는 해석 가능한 AI의 세계를 소개한다.
■ 1장은 다양한 유형의 AI 시스템을 살펴보고 해석 가능성과 그 중요성을 정의한다. 화이트박스와 블랙박스 모델을 살펴보고 해석 가능한 AI 시스템을 구축하는 방법을 소개한다.
■ 2장은 화이트박스 모델과 이를 해석하는 방법, 특히 선형 회귀, 의사 결정 트리, GAM(Generalized Additive Model, 일반화 가산 모델)에 초점을 둔다.
2부에서는 블랙박스 모델에 초점을 맞추고 모델이 입력을 처리하고 최종 예측에 도달하는 방법을 소개한다.
■ 3장은 트리 앙상블이라는 블랙박스 모델 클래스와 PDP(Partial Dependence Plot, 부분 의존성 도표) 및 특성 상호작용 도표 등 범위가 글로벌하거나 모델의 유형에 상관없이 훈련 후에 적용할 수 있는 기법을 사용해 이를 해석하는 방법을 다룬다.
■ 4장은 심층 신경망을 설명하고 LIME(Local Interpretable Model-agnostic Explanation, 로컬 해석 가능한 모델 애그노스틱 설명), SHAP(SHapley Additive exPlanations, 샤플리 첨가 설명), 앵커(anchor)와 같이 범위가 로컬이면서 모델의 유형에 상관없이 훈련 후에 적용할 수 있는 기법을 사용해 이를 해석하는 방법을 다룬다.
■ 5장은 합성곱 신경망과 돌출 맵(Saliency map)을 사용해 모델이 집중하고 있는 영역을 시각화하는 방법을 다룬다. 특히 경사, 유도 역전파, Grad-CAM(경사-가중 클래스 활성화 매핑), 유도 Grad-CAM, SmoothGrad(평탄화 경사) 등과 같은 기술에 중점을 둔다.
3부에서는 블랙박스 모델을 계속 다루지만, 블랙박스 모델이 학습한 특성이나 표현을 이해하는 단계로 이동한다.
■ 6장은 합성곱 신경망을 분석해 신경망의 중간 및 히든 레이어에서 학습한 데이터 표현을 이해하는 방법을 살펴본다.
■ 7장은 언어 모델과 PCA(Principal Component Analysis, 주성분 분석) 및 t-SNE(t-distributed Stochastic Neighbor Embedding, t-분산 확률적 이웃 임베딩)와 같은 기술을 사용해 그것이 학습한 고차원 표현을 시각화하는 방법을 다룬다.
4부에서는 공정성과 편향에 초점을 맞춰 설명 가능한 AI를 위한 길을 제시한다.
■ 8장은 공정성에 대한 다양한 정의와 모델이 편향됐는지 확인하는 방법을 다룬다. 또한 편향을 완화하는 기법과 AI 시스템의 이해 관계자 및 사용자에 대한 모델의 투명성과 책임성을 개선하는 데 도움이 되는 데이터시트(datasheet)를 사용한 데이터 세트의 정보를 문서화하는 표준 접근 방식을 설명한다.
■ 9장은 설명 가능한 AI 시스템을 구축하는 방법을 이해함으로써 시스템을 구축할 수 있는 길을 제시하고 반사 실적 예를 사용한 대조적인 설명을 다룬다.
목차
목차
- 1부. 해석 가능성 개요
- 1장. 소개
- 1.1 진단+ AI ― AI 시스템 예제
- 1.2 머신러닝 시스템 유형
- 1.2.1 데이터 표현
- 1.2.2 지도 학습
- 1.2.3 비지도 학습
- 1.2.4 강화 학습
- 1.2.5 진단+ AI를 위한 머신러닝 시스템
- 1.3 진단+ AI 구축
- 1.4 진단+ AI의 문제점
- 1.4.1 데이터 누출
- 1.4.2 편향
- 1.4.3 규제 미준수
- 1.4.4 (개념) 드리프트
- 1.5 강건한 진단+ AI 시스템 구축
- 1.6 해석 가능성 대 설명 가능성
- 1.6.1 해석 기법 유형
- 1.7 이 책에서는 무엇을 배우나?
- 1.7.1 이 책을 읽는 동안 어떤 도구를 사용하게 되는가?
- 1.7.2 이 책을 읽기 전에 무엇을 알아야 하는가?
- 요약
- 2장. 화이트박스 모델
- 2.1 화이트박스 모델
- 2.2 진단+ ― 당뇨병 진행
- 2.3 선형 회귀
- 2.3.1 선형 회귀 해석
- 2.3.2 선형 회귀의 한계
- 2.4 결정 트리
- 2.4.1 결정 트리 해석
- 2.4.2 결정 트리의 한계
- 2.5 GAM
- 2.5.1 회귀 스플라인
- 2.5.2 진단+ 당뇨병을 위한 GAM
- 2.5.3 GAM 해석
- 2.5.4 GAM 한계
- 2.6 앞으로 살펴볼 블랙박스 모델
- 요약
- 2부. 모델 처리 해석
- 3장. 모델 애그노스틱 기법: 글로벌 해석 가능성
- 3.1 고등학교 학생 성적 예측기
- 3.1.1 탐색적 데이터 분석
- 3.2 트리 앙상블
- 3.2.1 랜덤 포레스트 훈련
- 3.3 랜덤 포레스트 해석
- 3.4 모델 애그노스틱 기법: 글로벌 해석 가능성
- 3.4.1 부분 의존성 도표
- 3.4.2 특성 상호작용
- 요약
- 4장. 모델 애그노스틱 기법: 로컬 해석 가능성
- 4.1 진단+ AI: 유방암 진단
- 4.2 탐색적 데이터 분석
- 4.3 심층 신경망
- 4.3.1 데이터 준비
- 4.3.2 DNN 훈련 및 평가
- 4.4 DNN 해석
- 4.5 LIME
- 4.6 SHAP
- 4.7 앵커
- 요약
- 5장. 돌출 매핑
- 5.1 진단+ AI: 침습성 관 암종 탐지
- 5.2 탐색적 데이터 분석
- 5.3 CNN
- 5.3.1 데이터 준비
- 5.3.2 훈련 및 평가
- 5.4 CNN 해석
- 5.4.1 확률 풍경
- 5.4.2 LIME
- 5.4.3 시각적 귀속 기법
- 5.5 바닐라 역전파
- 5.6 유도 역전파
- 5.7 기타 경사 기반 방법
- 5.8 Grad-CAM 및 유도 Grad-CAM
- 5.9 어떤 귀속 기법을 사용해야 할까?
- 요약
- 3부. 모델 표현 해석
- 6장. 레이어와 유닛의 이해
- 6.1 시각적 이해
- 6.2 합성곱 신경망: 요약
- 6.3 망 해부 프레임워크
- 6.3.1 개념 정의
- 6.3.2 망 조사
- 6.3.3 일치 정도 정량화
- 6.4 레이어 및 유닛 해석
- 6.4.1 망 해부 실행
- 6.4.2 개념 식별기
- 6.4.3 학습 과업별 개념 식별기
- 6.4.4 개념 식별기 시각화
- 6.4.5 망 해부의 한계
- 요약
- 7장. 의미론적 유사성의 이해
- 7.1 감정 분석
- 7.2 탐색적 데이터 분석
- 7.3 신경 단어 임베딩
- 7.3.1 원 핫 인코딩
- 7.3.2 워드투벡
- 7.3.3 글로브 임베딩
- 7.3.4 감성 분석 모델
- 7.4 의미론적 유사성 해석
- 7.4.1 유사성 측정
- 7.4.2 PCA
- 7.4.3 t-SNE
- 7.4.4 의미론적 유사성 시각화 검증
- 요약
- 4부. 공정성과 편향
- 8장. 공정성과 편향 완화
- 8.1 성인 소득 예측
- 8.1.1 탐색적 데이터 분석
- 8.1.2 예측 모델
- 8.2 공정성 개념
- 8.2.1 인구통계학적 동등성
- 8.2.2 기회와 확률의 평등
- 8.2.3 기타 공정성 개념
- 8.3 해석 가능성과 공정성
- 8.3.1 입력 특성을 통한 차별
- 8.3.2 표현을 통한 차별
- 8.4 편향 완화
- 8.4.1 무지를 통한 공정성
- 8.4.2 가중치 재설정을 통한 라벨 편향 수정
- 8.5 데이터 세트용 데이터시트
- 요약
- 9장. 설명 가능한 AI로 가는 길
- 9.1 설명 가능한 AI
- 9.2 반사실적 설명
- 요약
- 부록 A. 준비하기
- A.1 파이썬
- A.2 깃 코드 저장소
- A.3 콘다 환경
- A.4 주피터 노트북
- A.5 도커
- 부록 B. 파이토치
- B.1 파이토치는 무엇인가?
- B.2 파이토치 설치
- B.3 텐서
- B.3.1 데이터 유형
- B.3.2 CPU 및 GPU 텐서
- B.3.3 운영
- B.4 데이터 세트 및 데이터로더
- B.5 모델링
- B.5.1 자동 미분
- B.5.2 모델 정의
- B.5.3 훈련