XAI는 인공지능 모델이 특정 결론을 내리기까지 어떤 근거로 의사 결정을 내렸는지를 알 수 있게 설명 가능성을 추가하는 기법이다. 주로 머신 러닝과 연관된 사람이 시스템을 신뢰하기 위해 사용한다. 요즘의 인공지능은 점점 더 복잡해지고, 학습하는 데이터의 양이 사람이 해석 불가능할 만큼 많아졌기 때문에 XAI는 모델의 복잡성을 해소하기 위해 등장했다. XAI는 해석 가능한 인공지능(Interpretable AI), 또는 투명한 인공지능(Transparent AI)이라고 부른다.
딥러닝을 비롯한 현대 머신 러닝 알고리즘은 불투명한 편이다. XAI 기법 중 피처 중요도 표시, 필터 시각화 기법, LRP를 이용한 히트맵 해석 등이 불투명한 인공지능의 의사 결정 과정을 설명적으로 개선한다. 다르파의 지침에 의하면 XAI는 세 가지 과정을 포함한다.
기존 머신 러닝 모델에 설명 가능한 기능 추가
머신 러닝 모델에 HCI(Human Computer Interaction) 기능 추가
XAI를 통한 현재 상황의 개선
시각화와 XAI의 차이
XAI의 많은 산출물이 시각화 기법에 의존하고 있지만, 머신 러닝 모델의 과정을 시각화했다고 해서 모두 XAI라고 말할 수는 없다. XAI의 핵심은 해석 가능성이다.
해석 가능성
해석 가능성은 왜 해당 모델을 신뢰해야 하는지, 아니면 하지 말아야 하는지, 모델이 왜 특정 결정을 했는지에 관한 근거를 찾고, 어떤 결과가 예상되는지 판단하는 과정이다.
XAI는 대리 분석(Surrogate Analysis), 부분 의존성 플롯(Partial Dependence Plots, PDPs), 유사도 분석(Similarity Measure), 피처 중요도(Feature Importance)등의 기법으로 데이터와 모델을 설명한다.
의사 결정 트리(Decision Tree)
의사 결정 트리는 질문을 던지고 답을 하는 과정을 연쇄적으로 반복해 집단을 분류하거나 예측하는 전통적인 머신러닝 방법이다.
의사 결정 트리를 시각화하면 그 자체적으로 해석력을 가지고 있지만, XAI를 결합하면 일반인들도 해석 가능하게 만들 수 있다.
의사 결정 트리는 해법을 찾아가는 과정을 도식적으로 표현할 수 있어 연구자가 분석 과정을 쉽게 이해하고 설명할 수 있다는 장점이 있다.
의사 결정 트리를 시각화함으로써 모델이 내리는 결정을 단계별로 이해할 수 있다.
의사 결정 트리를 시각화 하면 모델이 어떤 비중으로 특정 피처를 우선순위로 생각하는지, 그리고 단계마다 어떤 기준으로 당뇨병을 진단하는지 순서대로 따라가 볼 수 있다. 따라서 의사 결정 트리에서 피처는 모델의 성능과 결정에 대한 이해를 높이는데 매우 중요하다.
피처 중요도
데이터의 피처가 알고리즘의 정확한 분류에 얼마나 큰 영향을 미치는지 분석하는 기법
특정 피처의 값을 임의의 값으로 치환했을 때 원래 데이터보다 예측 에러가 얼마나 더 커지는지 측정
부분 의존성 플롯
부분 의존성 플롯은 피처의 수치 변화에 따라 모델에 기여하는 정도가 어떻게 달라지는지 확일 할 수 있는 XAI 기법이다.
부분 의존성 플롯은 특정 피처의 값에 따라서 알고리즘 해석 능력이 얼마나 증가하고 감소하는지 관찰할 수 있다
대리 분석(Surrogate Analysis)
대리 분석이란 엔지니어링에 사용되던 용어였다. 이름에서 알 수 있듯이 본래 기능을 흉내 내는 간단한 대체재를 만들어서 프로토타입이 동작하는지 판단하는 분석 방법이다. 이 방법은 결과를 내기까지 너무 비용이 많이 들거나 연산이 많아 정확한 결과를 내는데 시간이 많이 소요될 때 사용됐다.
대리 분석의 핵심은 분석해야 할 모델 f를 흉내 내는 모델 g를 만들어 학습 하는 방법이다. 이 때 모델 g는 모델 f의 학습 방식과 같을 수도 있고, 다를 수도 있다.
모델 f가 SVM을 사용한 모델이라면, 모델 g는 Tree나 선형 회귀 모델일 수 있다.
모델 g를 결정하는 요소
모델 f보다 학습하기 쉬워야 한다.
설명이 가능하다.
모델 f를 유사하게 흉내 낼 수 있다.
모델 g를 학습시키는 과정은 두 가지다.
모델 f를 학습시킬 때처럼 학습 데이터 전부를 학습하는 방법
데이터 라벨 별로, 학습 데이터의 일부를 추려 학습하는 방법
위의 과정이 끝나면 모델 g는 모델 f를 어설프게 따라 한 것이다. 모델 g는 설명 가능하기 때문에 모델 f가 어떻게 학습됐을지 간단하게 해석할 수 있다. 다만 모델 g는 모델 f의 비해 정확도가 떨어진다
학습 데이터(일부 또는 전체)를 사용해서 대리 분석 모델을 글로벌 대리 분석이라고 하며, 데이터 하나를 해석하는 과정을 로컬 대리 분석이라고 한다
글로벌 대리 분석
전체 학습 데이터를 사용해 블랙박스 함수 f를 따라 하는 유사 함수 g를 만들고 g를 해석 가능하도록 변조하는 기법
장점
다양한 XAI 기법을 자유롭게 적용할 수 있으며, 블랙박스 모델을 이해하고 있지 않아도 메저(measure function) 함수를 가지고 모델 f가 어떻게 학습됐는지 설명할 수 있을 정도로 유연하다.
직관적임
원래 모델을 유사하게 따라 하는 대리 모형을 찾을 수 있으면 큰 힘을 들이지 않고 모델을 해석 할 수 있다.
단점
모델 g는 모델 f를 유사하게 설명하는 모델이라는 점
메저 함수 설명 가능성 판단 기준이 주관적이다.
글로벌 대리 분석에 사용되는 데이터 X가 편향 됐을 위험이 있다.
로컬 대리 분석
데이터 하나에 대해 블랙박스가 해석하는 과정을 분석하는 기법
‘LIME(Local Interpretable Model-agnostic Explanations, 학습 기법과 관계없이 모델을 설명할 수 있는 로컬 설명 가능 모델)’이라는 이름으로 더 잘 알려져 있다.
LIME은 현재 데이터의 어떤 영역을 집중해서 분석했고, 어떤 영역을 분류 근거로 사용했는지 알려주는 XAI 기법, 모델 학습 방법과 관계없이 적용할 수 있는 XAI다.
LIME은 크게 텍스트와 이미지 분석이 있다.
장점
머신 러닝 알고리즘에 관계없지 XAI를 적용 가능
매트릭스로 표현 가능한 데이터(텍스트, 이미지)에 대해 작동하는 XAI 기법이다.
다른 XAI 기법과 비교했을 때 매우 가볍다.
단점
슈퍼 픽셀을 구하는 알고리즘과 구하는 모델 g의 결정 경계를 확정 짓는 방법이 비결정적이다.
슈퍼 픽셀 알고리즘에 따라 마스킹 데이터가 달라져 랜덤 한 결과를 보일 수 있다.
비결정적이기 때문에 입력 값이 같아도 출력 결과가 항상 일정하지 않다.
데이터 하나에 대해 설명을 하기 때문에 모델 전체에 대한 일관성을 보전하지 못함.
전체 데이터 신뢰도를 떨어뜨릴 수 있다.
LIME을 적용한 결과
각 클래스 sincere와 insincere에 대해 각 단어를 분류하였다. 75% 확률로 insincere 클래스라고 분류하였으며, stupid, earth, insist은 insincere로 분류하는데 영향을 끼친 단어들이다.
위의 개구리 사진을 개구리로 판단한 근거(또는 당구대, 열기구로 판단한 근거)들을 이미지 형식으로 설명해 주고 있다.
Grad-CAM(Gradient-weighted Class Activation Mapping)
CAM(Class Activation Mapping)은 CNN 기반 네트워크에서 많은 클래스를 결정할 때, 시각적인 설명을 제공한다.
CAM은 GAP(Global Average Pooling) Layer가 반드시 필요하다.
CNN모델은 마지막 feature map을 flatten 해서 FC(Fully Connected) layer로 변환 한 후 학습한다. flatten을 하게 되면 기존의 feature map이 가지고 있던 정보를 잃게 되어, CAM은 flatten 대신에 GAP을 사용한다.
CAM은 GAP가 반드시 필요하기 때문에 CNN 모델에 GAP가 없는 경우, GAP를 추가하는 작업이 필요하다. 이는 기존 CNN 모델에 새로운 layer가 추가 되기 때문에 다시 fine-tuning을 해야 하고, 약간의 성능 감소가 동반될 수 있다. 이러한 단점을 보안하고자 나온 것이 GAP를 사용하지 않고, 가중치를 활용하는 Grad-CAM이다.
CAM의 경우 GAP를 사용하고 그 뒤에 완전 연결 층을 사용하지만 Grad-CAM은 기존의 모델 구조를 그대로 사용할 수 있기 때문에 모델의 변경이 없다. 따라서 Grad-CAM은 모델의 구조가 제한되는 문제를 해결함으로써, 다양한 CNN 모델에서 사용할 수 있다.