Info) 아래 포스팅은 LGAimers에서 제공하는 AI 전문가 과정 중 서울대학교 문태섭 교수님의 [Explainable AI(XAI)] 강의에 대한 요약과 생각들을 정리한 것입니다. 정리된 내용들은 강의를 토대로 작성되었으나 수강자인 저의 이해도에 따라 일부 틀린 부분이 있을 수 있다는 점 알려드립니다. 잘못된 점이 발견될 시에는 즉각 수정하도록 하겠습니다. 또한, 강의의 모든 내용을 정리하기는 어렵기 때문에 인상깊었던 내용을 중심으로 정리하였습니다. 따라서, 설명의 맥락이 끊길 수도 있다는 점 양해 부탁드립니다. 

0. Introduction

이번 

1. Limitation of Supervised Learning

딥러닝을 기반으로 한 지도 학습은 이미지 처리, 음성 처리, 자연어 처리 등 다양한 분야에서 비약적인 기술 혁신을 이루어냈습니다. 그리고 많은 어플리케이션 분야에 활용되며 실질적으로 인간의 삶에도 영향을 미치기 시작했습니다. 하지만 우수한 성능에도 불구하고 지도학습 기반인 딥러닝 모델에는 중요한 한계점이 있습니다. 바로 대용량 학습 데이터로부터 학습하는 모델 구조가 점점 복잡해지면서 그 내부를 이해하기 어렵게 되었다는 것입니다. 즉, 모델에 입력을 넣으면 출력을 얻을 수 있는 black-box 방식으로 구현된다는 것만 확인될 뿐입니다. 그리고 이러한 점 때문에 여러 문제가 발생하게 됩니다. 모델이 예측한 결과가 인간에게 직접적인 영향을 미치는 경우 그 예측 결과가 타당한지에 대한 설명과 검토를 진행할 수 없다면 실효성에 있어 제약이 생기게 됩니다. 이와 관련된 흥미로운 사례 중 하나는 AI가 흑인과 동양인에 대해 인종 편향적인 예측 결과를 내놓았다는 것이 있습니다. 또한, 미국 재소자에 대한 재범죄율 예측 시스템인 Compass의 예측 결과를 설명한 결과 인종에 따라 다른 예측 결과를 보인 것이 확인되었습니다. 이처럼 제아무리 뛰어난 성능을 보이는 인공지능 모델이라고 하더라도 모델이 내놓은 결과가 생각보다 이상한 설명을 가지는 경우가 있습니다. 바로 이러한 점 때문에 설명가능한 인공지능(XAI)에 대한 연구와 개발이 필요하다고 할 수 있습니다. 

2. Explainability / Interpretability

설명 가능한 인공지능(XAI)에서 '설명 가능하다'는 것이 무엇을 의미하는지 살펴보면 다양한 해석이 가능합니다. 사전적으로 interpretability은 사람이 그 이유를 이해할 수 있게 해주는 것, 설명을 통해 모델이 결과를 예측할 수 있게 해주는 것, 이유를 설명할 수 있게 해주는 것 등 다양한 해석이 있을 뿐 구체적인 방법에 대해서는 알 수 없습니다. 다만, 최근의 연구들을 살펴보면 시각화를 통해 모델의 예측 결과에 영향을 미친 특징들을 찾아내어 설명을 하는 방식이 하나의 방법론으로서 활용되고 있음을 알 수 있습니다. 

3. Taxonomy of XAI Methods

XAI의 방법론을 다양한 기준에 의해 분류 해보면 다음과 같습니다. 가령, 일반적으로 많이 활용되는 선형 모델은 선형 계수(가중치)가 설명에 직접적인 영향을 주는 요소이기 때문에 Intrinsic하며, 전체 데이터에 대한 학습 결과를 설명하기 때문에 Global하고 모델의 정확한 구조가 선형회귀식으로 명확하기 때문에 White-box하고 선형 구조에만 적용 가능하기 때문에 Model-specific한 설명 방법입니다. 

Local
주어진 특정 데이터에 대한 예측 결과를 개별적으로 설명하려는 방법
설명 범위 Global
전체 데이터셋에서 모델의 전반적인 행동을 설명하고자 하는 방법
White-box
모델의 내부 구조를 정확하게 알고 있는 상황에서 설명을 시도하는 방법
모델의 구조 확인 가능여부 Black-box
모델의 내부 구조는 모르는 상태에서 단순히 모델의 입출력만 가지고 설명을 시도하는 방법
Intrinsic
모델의 복잡도를 훈련하기 이전부터 설명하기 용이하도록 제한한 뒤 학습을 시켜서 그 후 학습된 모델을 설명하는 방법
모델 통제 여부 Post-hoc
임의의 모델 훈련이 끝난 뒤에 XAI 방법을 적용하여 모델의 행동을 설명하는 방법
Model-specific
특정 모델 구조에만 적용 가능
적용 가능 범위 Model-agnostic
모델의 구조와 관계없이 어느 모델에도 항상 적용 가능

 4. Saliency map-based

4.1 Simple Gradient Method

Saliency map-based 방식은 예측 결과에 대한 설명을 히트맵 방식으로 이미지에서 중요하게 작용하는 부분을 하이라이트하는 방식입니다. 다양한 method들이 존재하는데 그 중 simple gradient method는 입력에 대한 모델의 gradient로 설명을 제공하게 됩니다. f(x)함수에 입력된 x0에 대한 출력에 대해 입력값의 각 pixel의 gradient를 계산해서 그 값을 각 pixel의 중요도로 사용합니다. 이러한 gradient 계산을 통해 pixel이 변화할 때 출력이 얼마나 변하는 지를 알 수 있기 때문에 각 pixel의 중요도를 파악할 수 있습니다.

아래 그림을 보면 모델이 강아지와 과일을 출력하는데 설명하는 부분을 하이라이트한 것을 볼 수 있습니다. 아주 분명하게 표시하지는 않았지만 어느정도 영역에 맞추어 표시했음을 알 수 있습니다. 저는 아직 이미지 처리를 공부해보지 않아 이 부분이 너무나도 신기하고 놀라웠습니다. 요즘 자율주행자동차가 각광을 받으며 image detection에 대한 연구가 활발히 진행되고 있는데 한번 관심을 가져보면 좋을 것 같다는 생각이 들었습니다. 

simple gradient method는 back-propagation을 통해 간편하게 계산할 수 있다는 장점이 있지만 매우 noisy한 결과를 가져올 수도 있다는 단점이 있습니다. 똑같은 예측 결과를 가지고 있는 조금씩 변하는 이미지들에 대한 설명이 다르게 나타나게 되며 이는 작은 noise에 대한 입력 gradient 값이 매우 noisy하다는 것을 나타냅니다. 

출처: 문태섭 교수님 강의자료

4.2 SmoothGrad

위의 문제를 보완하기 위해 SmoothGrad를 사용할 수 있습니다. SmoothGrad는 입력 데이터에 가우시안 noise를 섞어주어 noise가 섞인 input의 gradient들을 평균내어 설명하는 방식입니다. 이렇게 하면 noisy한 gradient들은 제거가 되고 평균적인 gradient값이 남게 된다고 합니다. 평균적으로 noise gradient를 계산하는 횟수는 50회 정도입니다. 아래 그림을 보면 기존의 simple gradient를 사용한 saliency map에 비해 smoothgrad 방식이 더 중요한 pixel을 찾아내는 것을 확인할 수 있습니다. smoothgrad는 평균을 통해 더 명확한 설명이 가능하게 된다는 장점이 있고 대부분의 saliency map에 사용할 수 있습니다. 하지만 noise의 횟수만큼 더 많은 computational load가 발생하는 단점이 있습니다. 

 

'LGAimers' 카테고리의 다른 글

[XAI] 3강 정리 및 소감  (0) 2022.07.29
[XAI] 2강 정리 및 소감  (0) 2022.07.29
[품질과 신뢰성] Part5 & 6 정리  (0) 2022.07.28
[품질과 신뢰성] Part3 & 4 정리  (0) 2022.07.27
[품질과 신뢰성] Part1 & 2 정리  (0) 2022.07.26

+ Recent posts