게시물 검색

ICT/정보통신 설명 가능한 AI란? - Google의 ‘Explainable AI’를 통한 해설

  • 관리자 (irsglobal1)
  • 2021-01-22 11:20:00
  • hit853
  • 220.121.20.137

출처 : https://ledge.ai/explainable-ai/

 

AI가 주목받는 이유 중 하나인 딥러닝에는 모델이 블랙박스화되어 있다는 문제가 있다. 그래서 의료업계나 금융업계를 필두로, ‘설명 가능한 AI’에 주목하고 있다. 이번에는 설명 가능한 AI가 무엇인지? 하는 질문에서부터 최근 Google이 발표한 설명 가능한 AI를 실현하기 위한 툴의 장단점까지, 주식회사 HACARUS의 데이터 사이언티스트인 우사미 잇페이의 해설을 들어본다.

 

 

‘설명 가능한 AI’라는 말을 들어본 적이 있는가?

 

설명 가능한 AI란 미국의 DARPA의 연구에서 생겨난 개념으로, 모델의 예측을 인간이 이해할 수 있고, 충분히 신뢰할 수 있는 기술, 또는 그에 관한 연구를 가리킨다.

 

예를 들어, 의료업계와 같이 진단의 이유를 환자에게 설명해야 하는 경우에는, 설명할 수 있고 해석도가 높은 모델이 필요하다. 이러한 업계에서도 AI가 도입되고 있는 요즘, 설명 가능한 AI의 필요성도 높아지고 있다.

 

그러한 상황 속에서, 2019년 11월 21일에 Google이 ‘Explainable AI’라는 툴을 발표했다. 그래서 이 글에서는 설명 가능한 AI가 무엇인지 살펴본 후, Google의 Explainable AI를 통해 Google이 어떻게 설명 가능한 AI를 실현하려 하고 있는지 살펴본다.

 

설명 가능한 AI란?

 

최근 AI가 주목받게 된 한 가지 이유는 딥러닝이 발전했기 때문이다.

 

그런데 딥러닝은 매우 강력한 한편, 모델이 블랙박스화되어 있다는 문제점을 갖고 있다. 즉 AI의 예측 결과가 어떤 계산 과정을 거쳐 얻어진 것인지 알 수 없으므로 정밀도가 높다 해도 그 예측의 근거를 알 수 없다.

 

특히 모델의 블랙박스화가 문제시되는 경우는, 의료업계나 금융업계에서 주로 발생한다. 의료업계에서는 ‘AI가 왜 그러한 진단을 내렸는지’ 환자에게 설명할 수 없으면 진단할 때 AI를 활용할 수 없다. 또한 AI가 잘못된 판단을 내렸을 경우, 왜 잘못된 건지 검증할 수도 없다.

 

이러한 이유로, 설명 가능한 AI가 주목받게 되었다. 실제로 권위 있는 데이터 마이닝 회사로 유명한 KDD가 2019년에 했던 발표 중에, 설명 가능한 AI를 주제로 한 것도 있었다. 또한 Google의 Explainable AI뿐 아니라 후지쯔나 히타찌도 설명 가능한 AI에 관한 서비스를 발표하고 있다.

 

설명 가능한 AI를 실현하기 위한 방법도 다양하게 개발되고 있다. 예를 들어, 입력된 속성에 주목하는 ‘LIME’ ‘SHAP’ ‘Integrated Gradient’, 모델이 주목하는 개념을 테스트하는 ‘TCAV’, 각각의 학습 데이터의 유무 또는 그 섭동이 모델과 그 예측 결과에 어떻게 영향을 미치는지 계산하는 ‘Influence Functions’ 등이 있다.

 

Google의 Explainable AI에서는 ‘Feature Attributions’이라는 값에 주목하여 설명 가능한 AI를 실현하고자 하고 있다. Feature Attributions의 자세한 내용에 대해서는 후에 기술하겠다.

 

Google이 발표한 ‘Explainable AI’

 

2019년 11월 12일에 Google이 발표한 Explainable AI. 이것은 Google이 제공하는 ‘AutoML Tables’와 ‘Cloud AI Platform’의 기계학습 모델에 대해 이용할 수 있다.

 

<그림> Google의 ‘Explainable AI’

 

Google에 따르면, Explainable AI를 사용하면 어떤 특징이 모델의 예측 결과에 얼마나 영향을 미쳤는지 알 수 있다.

 

사용하기 전에 ‘Google Cloud Platform’의 프로젝트 작성 및 API의 유효화, 학습 완료 모델을 저장하는 ‘Google Cloud Storage’를 준비해야 하지만, 한 번 준비하면 기본적으로는 어떤 모델에 대해서든 예측 결과를 평가할 수 있게 된다. 또한 사용 시 특별한 요금이 발생하지 않는다. 다만, Cloud AI Platform의 사용 시간이 증가하면 전체의 사용 요금이 증가하게 된다.

 

또한 예측 결과를 평가함으로써 다음과 같은 도움을 받을 수 있다.

 

⦁ 모델의 디버그

모델이 확실하게 이상한 낌새를 보일 때, 예를 들어 부자연스럽게 정밀도가 너무 높은 경우를 생각해 보자. Explainable AI를 사용하여 모델이 주목하는 부분을 가시화하면, 테스트 대상이 어노테이션된 이미지를 가지고 예측하였기 때문에 정밀도가 높았다는 등의 실수를 찾을 수 있다.

 

⦁ 모델의 최적화

모델이 어떤 특징량을 중시하는지 특정 지어, 중요시되고 있지 않은 특징을 제거함으로써 예측 정밀도를 높일 수 있다.

 

다음 장에서는 Google의 Explainable AI에서 모델의 예측 결과를 평가하는 데 사용하는 Feature Attribution에 대해 설명한다.

 

모델의 예측 결과를 평가하는 ‘Feature Attribution’

 

Google의 Explainable AI에서는 Feature Attribution이라는 값에 따라 모델의 예측 결과를 평가한다.

 

Feature Attribution의 계산 방법에는 ‘Integrated Gradients’와 ‘Sampled Shapley’가 있다. Feature Attribution은 Shapley 값을 위의 방법을 사용하여 계산한 것이다. Shapley 값이란 어떤 특징량이 모델의 예측에 얼마나 영향을 미쳤는가를 나타내는 값이다.

 

Integarated Gradients는 baseline(이미지라면 화소 값이 모두 0인 이미지, 텍스트라면 모두 0인 embedding 등)에서부터 입력까지의 구배(勾配)를 적분함으로써 얻어진다. 그러므로 뉴럴 네트워크와 같은 미분할 수 있는 모델이나 거대한 특징량 공간을 가진 모델에 대해 사용하는 것이 좋다.

 

Sampled Shapley는 Shapley 값의 근사치이다. Sampled Shapley는 앙상블 트리와 같은 미분할 수 없는 모델에서 사용할 수 있다. Google Explainable AI의 기능을 이용하면 이러한 값을 계산할 수 있다.

 

그럼 실제로 Explainable AI의 튜토리얼을 실행하여 Feature Attribution을 살펴보자.

 

Explainable AI의 실행 예시

 

Google의 Explainable AI에는 튜토리얼이 있으며, Collaboratory 형식으로 배포되기 때문에, 간단히 실행할 수 있다. 튜토리얼에는 테이블 데이터와 이미지 데이터용이 있다.

 

먼저 테이블 데이터용 튜토리얼을 실행한다. 데이터세트로서 런던의 공공자전거에 관한 데이터와 미국 해양대기청의 기상 데이터가 준비되어 있으며, 그중 몇 가지 변수를 사용하여 자전거가 얼마의 시간 동안 사용되었는지 예측하는 모델을 만드는 것이 이 튜토리얼의 목적이다. 그 과정에서 Feature Attribution을 계산한다.

 

아래의 그림이 Feature Attribution를 계산한 결과이다. 값의 음양, 대소(大小)에 따라 어떤 변수가 모델을 예측하는 데 기여했는지, 그렇지 않은지를 평가할 수 있다.

 

<그림> 테이블 데이터에 대한 Feature Attribution의 계산 예시

 

다음으로, 이미지 데이터에 대한 튜토리얼을 실행해 보자. 준비된 데이터세트는 다섯 종류의 꽃 사진이며, 튜토리얼 내용은 꽃 사진을 분류하는 것이다. 예측 모델을 작성한 후 이미지에 대해 Feature Attribution을 계산하면, 예측 대상 이미지에 모델의 예측에 가장 많이 영향을 미친 화소의 상위 60%를 표시한다.

 

다음의 그림이 Feature Attribution을 이미지에 겹쳐놓은 것이며, 녹색으로 칠해진 부분이 해당 이미지를 특정 클래스로 분류하는 데 영향을 미친 상위 60%의 화소이다.

 

<그림> 이미지에 대한 Feature Attribution

 

Explainable AI의 장단점

 

지금까지 튜토리얼을 실행하여 Feature Attribution이 어떻게 표현되는지 살펴보았다. 그럼 이제 간단하게 내가 느낀 Explainable AI의 주요 특징에 대해 정리해본다.

 

장점 : 중요한 특징량을 한눈에 평가할 수 있다

 

지금까지 튜토리얼을 통해 본 것처럼 모델의 예측에 어떤 특징량이 크게 기여했는지 가시화할 수 있기 때문에, 직감적으로 어떤 특징량이 중요한지 한눈에 판단할 수 있다.

 

테이블 데이터라면, 어떤 특징량이 모델의 예측에 기여했는지 살펴봄으로써 특징량을 선택하는 데 사용할 수 있다. 이미지 데이터라면, 모델이 중요시하는 부분을 살펴봄으로써 그 모델이 정말로 의미 있는 부분에 주목했는지 확인할 수 있다.

 

단점 : Feature Attribution이 반드시 모델의 계산 결과를 반영하는 것은 아니다.

 

Integrated Gradients와 Sampled Shapley 모두 모델의 계산 결과를 근사치로 얻을 수 있다.

 

그러므로 기본적으로 블랙박스인 DNN 등을 사용하면 Feature Attribution이 모델의 계산 결과를 반영하고 있다고는 단정 지을 수 없으며, 또한 모델이 어떻게 계산하고 있는지는 알 수 없다.

 

즉 예를 들어 이미지에 대해 Feature Attribution을 사용하여 모델이 중요시한 부분을 알 수는 있지만, 왜 그 부분을 중요시했는지, 어떻게 계산하여 중요시했는지는 알 수 없다. 즉 모델은 여전히 블랙박스인 채로 남게 된다.

 

마지막으로

 

지금까지 Google의 Explainable AI에 대해 살펴보았다.

 

장단점 부분에서 말한 것처럼, 기본적으로 블랙박스인 것을 모델로 사용하면, 계산 과정은 여전히 블랙박스일 뿐이며, Google이 도큐먼트에서 ‘Limitations of AI Explanation’이라고 말한 것처럼 Feature Attribution은 어떤 특징이 예측 결과에 얼마나 영향을 미쳤는지를 나타낼 뿐, 모델의 전체 행동을 나타내는 것은 아니라는 등의 문제가 존재한다.

 

그럼에도 손쉽게 계산 결과를 근사치로 평가할 수 있는 것음 매우 유용한 일이라 생각한다. 위와 같은 점은 ‘문제’라고 보기보다는 그러한 ‘특징’을 가진 기능이라고 보고, Google의 Explainable AI를 잘 활용해나가면 된다.

 
 
 
[설명가능한 인공지능(XAI) 기술 동향과 데이터 산업의 시장 전망] 보고서 상세보기
 
게시글 공유 URL복사