Study/논문 리뷰

[XAI] 1. 설명 가능한 인공지능(eXplanable AI) 기초 개념

슈빔멘 2022. 7. 8. 17:30

논문 리뷰가 맞는가? 논문을 리뷰한 다양한 글과 영상을 리뷰하는 것이 맞지 않나? 일단 정리해보고 부족하다 싶으면 논문도 읽어야겠다


XAI 정의

AI 시스템의 신뢰성과 투명성을 향상시키기 위해 설계된 일련의 기술과 알고리즘

Black Box AI와 반대되는 개념으로 AI가 어떤 결과물을 도출해냈을 때, 판단 과정을  '인간이 이해할 수 있는 형태로 설명'하는 기법을 의미한다. 

기존의 BlackBox AI
XAI : explain이 추가되었다 (local)

 

왜 AI는 블랙박스라고 불리는가? 그 이유는 x를 모델에 넣으면 y를 출력해주지만, 어떤 이유로/과정을 거쳐서 y가 도출되는지 알 수 없기 때문이다. 수학 시간에 배우는 함수와는 다르다. y = 2x + 1이라는 함수에 x값으로 2를 넣으면, '2*2 + 1'라는 연산과정을 거쳐 5라는 y값이 나오지만, AI는 그렇지 않다.

 

XAI 중요성

  1. 투명성 증대 
  2. 신뢰성 증대 
  3. 편향 이해 및 공정성 증대

뭐.. 당연히 그렇겠지 

 

 


XAI 분류

분류 기준이 총 3가지가 있다.

 

  1. Scope : 데이터 설명 범위. 단일 데이터는 local, 전체 데이터는 global 모델로 분류된다
  2. Methodology : 방법론. 역전파 BackProb과 Perturbation(섭동?, 대충 피처 드롭/마스킹 or 샘플링해서 결과를 비교하는 방식인 것 같다)
  3. Usage : 모델 적용 범위. 특정 모델에만 적용할 수 있다면 Intrinsic, 범용으로 적용된다면 Post-Hoc으로 분류.

-> 난 LIME 모델을 사용할 것이다. LIME은 Scope는 local, Methodology는 perturbation, Usage는 Post-Hoc(Model-agnostic)이다. (사실 이름부터가 Local Interpretable Model-agnostic Explanations다)

 

 

사실 이 분류별로 모델이 정말정말정말 많은데... 선택과 집중이 필요하므로 난 LIME만 판다 (한놈만팬다)

다음 편에서 대리 모형(Surrogate Model)과 라임(LIME)에 대해 적고 실습 코드도 좀 정리해보려구 한다.


 

(사담) 모델의 판단 과정과 해당 결론이 도출되는 원인을 아는 것이 왜 중요한가? 내가 생각하기론 두 가지가 있을 것 같다

  1. 모델 성능 개선에 도움 (improve model)
  2. 모델 검증에 도움 (verify model)

1. 딥러닝 모델을 적용할 때 엔지니어는 필연적으로 모델을 튜닝해야한다. 내가 제일 처음 배운 딥러닝 모델은 합성곱신경망 CNN(Convolutional Neural Network)이였다. AI 교양수업이었는데, 하이퍼파라미터 튜닝을 배울 때는 layer를 몇 개 쌓을지부터 시작해서 filter size와 개수, 학습률은 어떤 값으로 설정해야하며 padding은 어떻게 해야할까.. (그 외에도 배치사이즈, epoch, drop out 등등...) 인공지능이라면서 뭐 이렇게 해야하는게 많은지? ㅠㅠ. 튜닝을 하면서도 어떤 값이 성능이 잘 나올지 예측을 못하니 16,32,64,128... 애꿎은 2진수만 끝없이 호출했었다.

즉 XAI는 모델의 각 파라미터가 갖는 중요도나 결과 도출 프로세스를 투명하게 알 수 있게 한다는 점에서, 모델 성능을 개선시키는데 도움이 될 수 있다.

CNN 모델    출처:http://computing.or.kr/14708/cnnconvolutional-neural-network-%EC%BB%A8%EB%B3%BC%EB%A3%A8%EC%85%98-%EC%8B%A0%EA%B2%BD%EB%A7%9D/

 

 

2. 모델을 검증하는 것은 정확히 말해 AI를 인간에게 납득시키는 문제라고 생각한다. 인공지능 모델을 활용해 고객의 '신용점수'를 예측하는 프로젝트를 진행한 적이 있다. ('비금융데이터를 활용한 신용평가모형 고도화' 이런 멋진 제목으로 ..) 아무튼 이런 프로젝트를 잘 발전시켜 상용화 할 수 있을까? 실제로 서비스되기엔 무리가 있다고 생각한다. 왜냐, 고객(인간)이 AI가 평가한 자신의 신용점수를 납득하기 쉽지 않기 때문이다. 어떠한 기준도 공개하지 않고 '당신은 8등급입니다' 이러면 나같아도 화가 날 것.. 

아무튼 XAI를 적용한다면 고객에게 신용점수의 판단 근거를 명확하게 제시할 수 있다는 것이다. 아래 사진은 신용점수 모델 프로젝트를 할 때 XAI 중 SHAP VALUE 기법을 적용한 모습이다. (마감 며칠 전에 팀원 언니들이 다급하게 두뇌 풀가동해서 분석할 수 있었다._

 

고객에게 어떤 이유(피처)로 해당 신용등급이 나왔는지 설명할 수 있다.

 


논문 및 참고자료

 

Opportunities and Challenges in Explainable Artificial Intelligence (XAI): A Survey

https://arxiv.org/pdf/2006.11371.pdf

 

[고려대학교 DSBA 연구실 유튜브] XAI Review - 1. Overview

https://www.youtube.com/watch?v=Grc7egfZP84&t=1208s 

 

[tobigs_xai 블로그] 논문 리뷰

https://velog.io/@tobigs_xai/3%EC%A3%BC%EC%B0%A8-XAI-%ED%8A%B8%EB%A0%8C%EB%93%9C-%EB%A6%AC%EB%B7%B0%EB%85%BC%EB%AC%B8-%EC%95%9E%EB%B6%80%EB%B6%84