상세 컨텐츠

본문 제목

[XAI]XAI 해석 가능한 인공지능

Technology/Tech Insight

by JunHyuk_Kim 2021. 12. 7. 17:00

본문

XAI(Explainable Artificial Intelligence)란 무엇인가

  • 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)등의 기법으로 데이터와 모델을 설명한다.

기존의 AI와 XAI를 적용한 AI를 사용자가 결과에 대한 정확도를 확인 할 수 있다.


의사 결정 트리(Decision Tree)

  • 의사 결정 트리는 질문을 던지고 답을 하는 과정을 연쇄적으로 반복해 집단을 분류하거나 예측하는 전통적인 머신러닝 방법이다.
  • 의사 결정 트리를 시각화하면 그 자체적으로 해석력을 가지고 있지만, XAI를 결합하면 일반인들도 해석 가능하게 만들 수 있다.
  • 의사 결정 트리는 해법을 찾아가는 과정을 도식적으로 표현할 수 있어 연구자가 분석 과정을 쉽게 이해하고 설명할 수 있다는 장점이 있다.
    • 의사 결정 트리를 시각화함으로써 모델이 내리는 결정을 단계별로 이해할 수 있다.

XGBoost(depth=2) 알고리즘을 사용해 파마 인디언의 당뇨를 진단하는 의사 결정 트리 모델의 시각화

  • 의사 결정 트리를 시각화 하면 모델이 어떤 비중으로 특정 피처를 우선순위로 생각하는지, 그리고 단계마다 어떤 기준으로 당뇨병을 진단하는지 순서대로 따라가 볼 수 있다. 따라서 의사 결정 트리에서 피처는 모델의 성능과 결정에 대한 이해를 높이는데 매우 중요하다.

피처 중요도

  • 데이터의 피처가 알고리즘의 정확한 분류에 얼마나 큰 영향을 미치는지 분석하는 기법
  • 특정 피처의 값을 임의의 값으로 치환했을 때 원래 데이터보다 예측 에러가 얼마나 더 커지는지 측정

XBoost의 depth가 2일 때와 4일 때의 피처 중요도

부분 의존성 플롯

  • 부분 의존성 플롯은 피처의 수치 변화에 따라 모델에 기여하는 정도가 어떻게 달라지는지 확일 할 수 있는 XAI 기법이다.
  • 부분 의존성 플롯은 특정 피처의 값에 따라서 알고리즘 해석 능력이 얼마나 증가하고 감소하는지 관찰할 수 있다

글루코스 수치에 따른 당뇨병 발생 확률


대리 분석(Surrogate Analysis)

  • 대리 분석이란 엔지니어링에 사용되던 용어였다. 이름에서 알 수 있듯이 본래 기능을 흉내 내는 간단한 대체재를 만들어서 프로토타입이 동작하는지 판단하는 분석 방법이다. 이 방법은 결과를 내기까지 너무 비용이 많이 들거나 연산이 많아 정확한 결과를 내는데 시간이 많이 소요될 때 사용됐다.

이미지 출처 :XAI 설명 가능한 인공지능, 인공지능을 해부하다.

  • 대리 분석의 핵심은 분석해야 할 모델 f를 흉내 내는 모델 g를 만들어 학습 하는 방법이다. 이 때 모델 g는 모델 f의 학습 방식과 같을 수도 있고, 다를 수도 있다.
  • 모델 f가 SVM을 사용한 모델이라면, 모델 g는 Tree나 선형 회귀 모델일 수 있다.
  • 모델 g를 결정하는 요소
    1. 모델 f보다 학습하기 쉬워야 한다.
    2. 설명이 가능하다.
    3. 모델 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 (Local Interpretable Model-Agnostic Explanation)

  • 로컬 대리 분석으로 데이터 하나에 대한 해석과정을 보여주는 알고리즘
  • 학습 기법과 관계없이 모델을 설명할 수 있는 로컬 설명 가능 모델
  • LIME은 현재 데이터의 어떤 영역을 집중해서 분석했고, 어떤 영역을 분류 근거로 사용했는지 알려주는 XAI 기법, 모델 학습 방법과 관계없이 적용할 수 있는 XAI다.
  • LIME은 크게 텍스트와 이미지 분석이 있다.

LIME이 적용된 이미지

  • 장점
    • 머신 러닝 알고리즘에 관계없지 XAI를 적용 가능
    • 매트릭스로 표현 가능한 데이터(텍스트, 이미지)에 대해 작동하는 XAI 기법이다.
    • 다른 XAI 기법과 비교했을 때 매우 가볍다.
  • 단점
    • 슈퍼 픽셀을 구하는 알고리즘과 구하는 모델 g의 결정 경계를 확정 짓는 방법이 비결정적이다.
      • 슈퍼 픽셀 알고리즘에 따라 마스킹 데이터가 달라져 랜덤 한 결과를 보일 수 있다.
      • 비결정적이기 때문에 입력 값이 같아도 출력 결과가 항상 일정하지 않다.
    • 데이터 하나에 대해 설명을 하기 때문에 모델 전체에 대한 일관성을 보전하지 못함.
      • 전체 데이터 신뢰도를 떨어뜨릴 수 있다.

LIME을 적용한 결과

텍스트 데이터에 LIME을 적용한 결과

  • 각 클래스 sincere와 insincere에 대해 각 단어를 분류하였다. 75% 확률로 insincere 클래스라고 분류하였으며, stupid, earth, insist은 insincere로 분류하는데 영향을 끼친 단어들이다.

이미지 데이터에 LIME을 적용한 결과

  • 위의 개구리 사진을 개구리로 판단한 근거(또는 당구대, 열기구로 판단한 근거)들을 이미지 형식으로 설명해 주고 있다.

Grad-CAM(Gradient-weighted Class Activation Mapping)

  • CAM(Class Activation Mapping)은 CNN 기반 네트워크에서 많은 클래스를 결정할 때, 시각적인 설명을 제공한다.
  • CAM은 GAP(Global Average Pooling) Layer가 반드시 필요하다.

일반적인 CNN 모델과 CAM 모델

  • 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을 적용한 모델과 Grad-CAM을 적용한 모델의 학습 과정

  • CAM의 경우 GAP를 사용하고 그 뒤에 완전 연결 층을 사용하지만 Grad-CAM은 기존의 모델 구조를 그대로 사용할 수 있기 때문에 모델의 변경이 없다. 따라서 Grad-CAM은 모델의 구조가 제한되는 문제를 해결함으로써, 다양한 CNN 모델에서 사용할 수 있다.

Reference