Module 5. 『설명가능한 AI(Explainable AI)』 1. Explainable AI (XAI)

YSL·2023년 1월 23일

LG Aimers

목록 보기
22/30
post-thumbnail

📍 강의 자료 출처 : LG Aimers

초창기 딥러닝 모델에 비해 성능이 점점 좋아지는 반면,
그에 따라 대용량 학습 데이터로부터 학습하는 모델의 구조가 점점 더 복잡해지고 이해하기 어려워지는 문제가 발생하고 있다.

입력이 주어지면 어떻게 모델이 동작하였는지는 알 수 없고 블랙박스처럼 출력만 나타나는데 그 결과가 사람에게 직접 영향을 미칠 수 있는 경우 문제가 생길 수도 있다.
예) 이미지 인식 기술에 기반한 자율주행 자동차, 의료 영상 기반 질병 진단

어떻게 XAI 기법이 실생활에 적용될 수 있을까?

→ XAI 기법을 사용하면 모델이나 데이터셋이 가지고 있는 오류를 찾아낼 수 있다.
예) PASCAL VOC 데이터셋을 이용한 말 이미지 분류

→ XAI 기법을 사용하면 모델이 얼마나 편향되어있는지 알 수 있다.
예) COMPAS crime prediction에서 인종에 따른 편향된 결과 진단

설명가능성 (explainability)

  • 사람이 그 이유를 이해할 수 있게 해주는 것
  • 설명을 통해 모델의 결과를 예측할 수 있게 해주는 것
  • 이유를 설명할 수 있게 해주는 것
    ⇒ 사람이 모델을 쓸 때 그 동장을 이해하고 신뢰할 수 있게 해주는 기계 학습 기술

XAI 기법의 분류

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

딥러닝 이전 Linear model, Simple Dicision Tree model : Global, White-box, Intrinsic, Model-specific

딥러닝 기반 분류 모델에 많이 쓰이는 Grad-CAM : Local, White-box, Post-hoc, Model-agnostic


Simple Gradient method

: 입력에 대한 모델의 gradient로 설명을 제공하는 방법
gradient=∵ gradient = 각 픽셀의 값이 조금 바뀌었을 때 이 함수의 출력값이 얼마나 빨리 변하는지를 구하는 값
gradientgradient가 크다면 해당 픽셀이 출력값에 영향을 많이 미치는 것이므로 중요하다고 판단할 수 있다.

또한 input gradient는 딥러닝의 경우 Back-Propagation을 통해 쉽게 계산할 수 있어 간단하게 구현 가능하다는 이점이 있다.

하지만 이렇게 구한 설명들이 Noisy할 수 있다는 단점도 존재한다.
→ 똑같은 예측 결과를 가지고 있는 조금씩 변하는 이미지들이 있을 때 각 이미지들에 대한 설명이 많이 다르게 나타나기도 한다.

이러한 단점을 극복하기 위해 제시된 방법이 SmoothGrad이다.

SmoothGrad

: xx라는 입력이 주어졌을 때 작은 noise εε을 섞어준 뒤, noise가 섞인 입력의 gradient를 여러번 구해 평균을 제시하는 방법
→ noisy한 gradient가 많이 제거될 수 있고 평균적으로 남는 gradient들이 더 깨끗한 설명을 제공할 수 있다.

하지만 noise를 섞어주는 횟수만큼 forward-backward propagation을 해야 하기 때문에 계산 복잡도가 매우 높은 단점을 가진다.

0개의 댓글