📍 강의 자료 출처 : LG Aimers
초창기 딥러닝 모델에 비해 성능이 점점 좋아지는 반면,
그에 따라 대용량 학습 데이터로부터 학습하는 모델의 구조가 점점 더 복잡해지고 이해하기 어려워지는 문제가 발생하고 있다.
입력이 주어지면 어떻게 모델이 동작하였는지는 알 수 없고 블랙박스처럼 출력만 나타나는데 그 결과가 사람에게 직접 영향을 미칠 수 있는 경우 문제가 생길 수도 있다.
예) 이미지 인식 기술에 기반한 자율주행 자동차, 의료 영상 기반 질병 진단
→ XAI 기법을 사용하면 모델이나 데이터셋이 가지고 있는 오류를 찾아낼 수 있다.
예) PASCAL VOC 데이터셋을 이용한 말 이미지 분류
→ XAI 기법을 사용하면 모델이 얼마나 편향되어있는지 알 수 있다.
예) COMPAS crime prediction에서 인종에 따른 편향된 결과 진단
설명가능성 (explainability)
- 사람이 그 이유를 이해할 수 있게 해주는 것
- 설명을 통해 모델의 결과를 예측할 수 있게 해주는 것
- 이유를 설명할 수 있게 해주는 것
⇒ 사람이 모델을 쓸 때 그 동장을 이해하고 신뢰할 수 있게 해주는 기계 학습 기술
딥러닝 이전 Linear model, Simple Dicision Tree model : Global, White-box, Intrinsic, Model-specific
딥러닝 기반 분류 모델에 많이 쓰이는 Grad-CAM : Local, White-box, Post-hoc, Model-agnostic

: 입력에 대한 모델의 gradient로 설명을 제공하는 방법
각 픽셀의 값이 조금 바뀌었을 때 이 함수의 출력값이 얼마나 빨리 변하는지를 구하는 값
⇒ 가 크다면 해당 픽셀이 출력값에 영향을 많이 미치는 것이므로 중요하다고 판단할 수 있다.
또한 input gradient는 딥러닝의 경우 Back-Propagation을 통해 쉽게 계산할 수 있어 간단하게 구현 가능하다는 이점이 있다.
하지만 이렇게 구한 설명들이 Noisy할 수 있다는 단점도 존재한다.
→ 똑같은 예측 결과를 가지고 있는 조금씩 변하는 이미지들이 있을 때 각 이미지들에 대한 설명이 많이 다르게 나타나기도 한다.
이러한 단점을 극복하기 위해 제시된 방법이 SmoothGrad이다.

: 라는 입력이 주어졌을 때 작은 noise 을 섞어준 뒤, noise가 섞인 입력의 gradient를 여러번 구해 평균을 제시하는 방법
→ noisy한 gradient가 많이 제거될 수 있고 평균적으로 남는 gradient들이 더 깨끗한 설명을 제공할 수 있다.
하지만 noise를 섞어주는 횟수만큼 forward-backward propagation을 해야 하기 때문에 계산 복잡도가 매우 높은 단점을 가진다.