담당교수: 서울대학교 문태섭 교수님
이미지 분별, 음성 인식, 기계학습과 같이 지도 딥러닝은 커다란 성장을 가져왔으나, 단순 신경망 -> resnet, densenet -> transformer 의 형태로 발전함에 따라 대용량 학습 데이터로부터 학습하는 모델구조가 점점 더 복잡해지고 이해하기 어려워짐. 결국 이러한 모델들이 어떻게 동작하는지는 잘 모르겠지만 입력을 집어넣으면 출력이 튀어나오는 하나의 블랙박스처럼 동작하게 된 것이다.
이러한 복잡한 모델을 응용분야에 적용할 때 단순한 예측결과만 있는 경우엔 큰 문제가 없지만 예측결과가 사람에게 직접 영향을 미칠 수 있는 경우 문제가 생길 수 있다(자율주행 자동차, 의료치료, 대출 승인, 인터뷰 등).
딥러닝 모델이 이미지를 받아들여서 예를 들어 말에 대한 사진이라고 분류를 하였는데 XAI 기법은 과연 이 모델이 이미지의 어느 부분을 보고 말이라고 했는지 빨간색으로 하이라이트를 해서 보여주는 방식이며 텍스트 워터마크에 기반 하여 말이라고 분류했기에 일반적인 상황에 적용할 수 있는 제대로된 말 분류기라고 할 수는 없다.
이 COMPAS에서는 흑인이 범죄를 저지르지 않았는데도 나중에 재범을 할 것이라고 예측하고 백인이 범죄를 다시 저질렀는데도 나중에 재범하지 않을 것이라고 잘못 인식
XAI를 통해 사고의 책임소재를 찾고 향후 더욱 안전한 알고리즘을 만들 수 있다.
왜 알고리즘이 그런 예측 결과를 냈는지 설명하는 것을 듣고 신뢰 여부를 결정 할 수 있다.
그러므로 본 강의에서는 주로 시각화를 통해서 모델의 예측 결과에 중요한 영향을 미친 특징이나 데이터를 하이라이트 해서 보여주는 방법들에 대해서 주로 살펴보고자 한다.
데이터 전체로부터 학습된 모델을 설명하는 것이므로 글로벌한 설명, 모델의 정확한 구조를 알아야하기에 white-box 설명 방식이며, 학습되는 모델 자체가 간단하고 직접적으로 설명을 만들어내는 모델이라서 intrinsic하며, 선형 모델이라는 특정 모델에만 적용되는 설명이기에 model-specific한 설명 방법이다.
개별 이미지마다 그 예측 결과를 설명할 수 있는 방법이기 때문에 local한 설명이고, 마찬가지로 모델의 정확한 구조와 계수들을 모두 알아야 구할 수 있는 설명이기 때문에 white-box설명이며 또 모델이 학습이 되고 난 후 적용해서 설명을 제공하는 post-hoc 설명 방법이고, 딥러닝 모델의 구조와 상관없이 항상 적용할 수 있는 방법이기 때문에 딥러닝 모델에 대해서는 model-agnostic 설명 방법에 해당한다.
하나의 이미지샘플이 모델의 입력으로 들어가게 되면 그 샘플에 대한 예측 결과에 대한 설명을 히트맵과 같이 이미지에서 중요하게 작용한 부분을 하이라이트해서 보여줌으로써 설명을 제공하는 방법이다.
• Simple Gradient method: 입력에 대한 모델의 gradient로 설명을 제공
즉 x0라는 이미지가 f라는 함수에 입력으로 들어가서 출력이 되었을 때 그 출력값의 입력 이미지의 각 픽셀에 대한 gradient를 구해서 그 값을 각 픽셀의 중요도로 해석하는 것
(input gradient는 딥러닝 모델의 경우 back-propagation이라는 효율적인 방법으로 쉽게 계산할 수 있기에 구현상으로도 간단히 구현할 수 있는 이점이 있다.)
x라는 이미지가 주어졌을 때 작은 Dependent Gaussian Noise Epsilon을 섞어준 뒤 노이즈가 섞인 이미지의 입력 gradient를 구하는 과정을 여러 번 수행해서 그 gradient들의 평균으로 설명을 제시하는 방법
Expectation is approximated with Monte-Carlo (around 50 runs)
𝜎 is set to be 10~20% of 𝑥𝑚𝑎𝑥 − 𝑥𝑚𝑖n
배경이 균일한 경우 더 깨끗하게 smoothgrad가 잘 설명하며 즉, 중요한 픽셀들을 잘 잡아낼 수 있다.
장점 : 간단한 평균을 내는 과정을 통해 훨씬 깨끗한 설명을 생성해낼 수 있다, 간단한 gradient 방법만이 아닌 대부분의 saliency-map 기반 방법들에도 동일하게 쉽게 적용 가능하다.
단점 : noise를 섞어주는 횟수만큼 어떤 딥러닝 모델의 forward-backward propagation을 해야 하기 때문에 계산 복잡도가 높다.