[Naver AI Summit 2020] XAI개요와 Integrated Gradient의 구현
연사 : 네이버클라우드 - 솔루션 아키텍트 김용민님
개요
설명가능한 AI XAI(eXplainable AI)와 Integrated Gradient 구현 방법을 소개
XAI 정의와 도입 배경
- 정의 : 차트와 분석을 통해 사용자에게 광범위하면서도 자세한 설명을 제공하는 기술
- 도입배경
1) 자율주행 :FSD 베타 출시에 NHTSA와 PAVE가 테슬라의 신기술 면밀이 검토
2) 의료 : IBM Watson 위암 진단 정확도 / 엠디 앤더슨의 암 진단
XAI와 적대적 공격(Adversarial Attack)
- Noise injection이나 조작을 통해서 AI가 잘못된 판달을 하게 되는 공격이 적대적 공격
- 모델의 성능측정, 디버깅에 XAI 기술의 필요성이 대두
- 해석력(Intepretability) : 파라미터 개수가 거대한 모델 등은 레이어를 전부 시각화하더라도 판단이 어려울 수 있음
- Shallow learning인 Decision tree 같은 단순한 모델이 논리적 설명력은 오히려 높음
- 구글에서 XAI 서비스로 What-if-tool 출시 : Datapoint 시각화, ROC, PR, ConfusionMX, Features에 대한 정보 제공
https://pair-code.github.io/what-if-tool/
What-If Tool
pair-code.github.io
응용분야와 사례
1. Data protection
2. Medical : 의료 진단을 위해 공복혈당, 심박수, DNA분석등에 XAI 적용
3. Defense : 민간인과 군인 식별
4. Banking : 의심스러운 금융 거래 조사
5. Finance
CNN Saliency Map(Heat Map) Techniques
- 제일 유명한 것은 GradCAM
-> 클래스의 Activation map에 대한 히트맵 시각화
- 그라디언트를 이용하는 기법도 있음 -> 금일 설명하는 Integrated Gradient
tf-explain
- XAI를 쉽게 시각화하는 도구
- Vanilla Gradients, Grad CAM, Occlusion sensitivity, integrated gradient 등을 쉽게 구현
sicara/tf-explain
Interpretability Methods for tf.keras models with Tensorflow 2.x - sicara/tf-explain
github.com
Integrated gradient의 개념과 데모 코드의 이해
Integrated gradient란?
- 모델의 예측 결과와 피쳐의 관계를 설명하기 위한 XAI 알고리즘
- 주요 feature를 표시함으로서 데이터의 정합성, 과적합 여부, 모델의 정확도를 향상시키는데 활용 가능
Demo
- 세팅 : 네이버 클라우드에서 우분투, TF2 등을 세팅
- TF-Hub API를 사용하여 Inception 모델을 로딩하고 탱크 이미지로 top 3 classification을 실행
- Linera interpolation으로 일정 간격의 alpha값이 적용된 interpolated image 생성
-> alpha가 0에 가까우면 baseline에 가깝고, 1에 가까우면 원본에 가까움
- 간단한 함수(sigmoid, L-relu, x^2, sin x)들의 Gradient 시각화
Integrated Gradient 개념3 :Riemann Sum
-> 적분에 대한 approximation됨
IG의 시각화
- IG의 Attribution MAsk와 원본 이미지를 overlay해보면 캐터필러, 휠의 윤곽 픽셀이 강조된 것으로 보임
- 사진의 시퀀스에서 모션을 분석하거나 모델의 결과에 민감한 과제에 주요한 설명 툴이 될 것 같음
활용
- 모델 배포 전에 사용하면 작동 방식과 직관적으로 모델을 설명하는 데 도움이 될 수 있음
- 모델의 과적합 / 왜곡 여부 등 성능 저하요인 등을 판단하는 도움이 될 수 있음
- 의료, 자율주행, 얼굴인식 등 비전 딥 모델의 결과 해석
- GradCam 등은 비전 모델에만 사용 가능하지만 IG는 시계열, 텍스트 모델에도 적용가능함
- 모델 개발 업무를 스폰서나 고객에게 설명할 때도 도움이
한계
- 주요 픽셀에 대한 직관은 제공하지만, 전체 데이터 셋에 걸쳐 전역 기능 중요성을 제공하지는 않음
- 학습된 피쳐 간 상호 작용 및 연관 작용에 대한 설명은 제공하지 않음
XAI는 내가 정말 잘 모르는 분야였고, 심지어 Activation map에 대한 히트맵인 GradCAM도 본 적은 있지만, 저거를 XAI라고 부르는지 몰랐다.
제일 공감갔던 부분은 AI가 왜 잘 되는지 설명하기가 모호한 경우가 많은데, 그러한 경우에 고객 또는 상사들에게 설명하기 위해 사용할 수 있는 것이 바로 XAI라는 것이었다.
앞으로 나도 누군가에게 나의 모델에 대한 결과를 설명할 일이 많을텐데 XAI를 써먹고 fancy한 실험결과를 만들어봐야겠다.