콘텐츠로 이동하기
AI 및 머신러닝

머신러닝 모델을 설명할 수 있어야 하는 이유

2021년 10월 4일
https://storage.googleapis.com/gweb-cloudblog-publish/images/gcp_explainable_ai.max-2600x2600.jpg
Lak Lakshmanan

Director, Analytics & AI Solutions

GCP 사용해 보기

$300의 무료 크레딧과 20개 이상의 항상 무료인 제품으로 Google Cloud 사용을 시작해보세요.

무료 체험

 * 본 아티클의 원문은 2021년 6월 12일 Google Cloud 블로그(영문)에 게재되었습니다. 

오늘날 많은 회사가 AI를 적극적으로 사용하고 있거나 미래 전략에 포함시키는 계획을 세우고 있습니다. 현재 76%의 기업이 IT 예산에서 AI와 ML을 다른 이니셔티브보다 우선순위에 두고 있으며 전 세계 AI 산업의 규모는 2027년까지 $2,600억 이상으로 성장할 전망입니다.  그런데 AI와 고급 분석이 널리 사용될수록 AI 기술의 작동 방식에 대한 투명성을 향상할 필요성이 커질 것입니다. 

이 게시물에서는 Explainable AI(XAI)가 AI 도입의 확산에 필수적인 이유, 일반적인 XAI 메서드, Google Cloud에서 제공하는 지원에 대해 살펴보겠습니다. 

ML 모델을 설명할 수 있어야 하는 이유

AI 기술에는 이른바 '블랙박스'라고 하는 문제가 있습니다. 즉, 사용자가 질문 또는 데이터(입력)는 알 수 있더라도 AI가 최종 답(출력)을 내놓는 단계나 프로세스는 확인할 수 없습니다. 이러한 특성은 패턴 인식을 통해 '학습'하는 노드의 히든 레이어가 다수 포함되는 딥 러닝 및 인공 신경망 접근방식에서 특히 문제가 됩니다. 

이해관계자는 ML이 무엇을 하는지 이해할 수 없기 때문에 ML 프로젝트를 신뢰하지 않으려는 경우가 많습니다. 특히 머신러닝에 중요한 의사 결정이 달려있는 경우 의사 결정권자들이 이해하기 힘든 머신러닝 모델을 제어하려는 시도를 포기하기란 어려운 일입니다. AI 시스템은 막대한 영향을 미치는 예측을 수행하고 있으며 의료나 자율주행차 등의 산업에서는 생사를 가르는 영향을 미칩니다. 

특히 의사 결정이 어떻게 내려졌는지에 대한 설명이 없는 경우에는 모델이 사람보다 더 나은 결정을 내리도록 만드는 것은 차치하고 모델이 내리는 결정을 신뢰할 수 있다는 데 지지를 얻기도 어려울 때가 많습니다. AI 모델이 어떻게 예측하거나 결정을 내렸나요? 알고리즘에 편향이 반영되지 않았다고 어떻게 확신할 수 있나요? 모델의 결정을 신뢰할 수 있을 만큼 투명성과 해석 가능성이 충분한 수준인가요?

의사 결정권자는 AI를 토대로 내린 결정이 옳다고 확신할 수 있도록 AI가 내린 의사 결정의 근거를 알고 싶어 합니다. 실제로 PwC 설문조사에 따르면 대다수의 CEO(82%)가 설명 가능해야만 AI 기반 결정을 신뢰할 수 있다고 생각합니다.

Explainable AI란 무엇인가요? 

Explainable AI(XAI)는 머신러닝 모델의 의사 결정 방식을 파악할 수 있도록 지원하는 도구 모음이자 프레임워크입니다. 하지만 AI 모델을 단계별로 완전히 분해하여 보여주는 것으로 혼동해서는 안 됩니다. 딥 러닝 알고리즘에 사용되는 수백만 개의 매개변수를 추적하려는 시도는 불가능에 가깝습니다. XAI는 인간 전문가가 의사 결정의 로직을 이해할 수 있도록 모델의 작동 방식에 대한 유용한 정보를 제공하는 것을 목표로 합니다. 

XAI를 성공적으로 도입할 때 얻을 수 있는 세 가지 중요한 이점은 다음과 같습니다. 

1. ML 모델의 신뢰 향상

의사 결정권자와 기타 이해관계자가 ML 모델이 최종 출력을 도출한 방법을 자세하게 파악할수록 AI 기반 시스템을 신뢰할 가능성이 큽니다. Explainable AI 도구를 사용하면 모델이 어떠한 추론을 거쳐 출력을 내놓았는지에 대한 명확하고 이해 가능한 설명을 제공할 수 있습니다. 딥 러닝 모델로 엑스레이 같은 의료 영상을 분석한다고 가정해 보겠습니다. 이 경우 Explainable AI를 사용하면 진단에 사용된 픽셀을 강조표시하는 특징 맵(예: 히트맵)을 만들 수 있습니다. 예를 들어 골절을 분류하는 ML 모델은 환자가 골절상을 입었다고 진단하는 데 사용된 픽셀을 강조표시합니다.

2. 전반적인 문제 해결 개선 

AI의 설명 기능으로 모델을 디버깅하고 모델이 얼마나 잘 작동하는지에 대한 문제 해결도 할 수 있습니다. 모델이 이미지에서 동물을 식별할 수 있어야 하는 경우를 가정해 보겠습니다. 시간이 지남에 따라 모델이 눈밭에서 놀고 있는 개의 이미지를 계속 여우로 분류하는 것을 발견합니다. Explainable AI 도구를 사용하면 이러한 오류가 계속 발생하는 이유를 손쉽게 파악할 수 있습니다. 예측이 수행되는 방식을 확인하기 위해 사용 중인 Explainable AI 모델을 살펴보면 ML 모델이 개와 여우를 구별하기 위해 이미지의 배경을 사용한다는 것을 알 수 있습니다. 이 모델은 배경이 집일 때는 개가, 배경이 눈밭일 때는 여우가 이미지에 포함되어 있다고 잘못 학습한 것입니다. 

3. 편향 및 기타 잠재적인 AI 오류 제거

XAI는 편향의 원인을 확인하는 데에도 유용합니다. 예를 들어 자동차가 불법 좌회전을 하는지 식별하는 모델이 있습니다. 영상에서 위반의 근거를 정의하라는 메시지가 표시되면 모델이 학습 데이터에서 편향된 요소를 선택했음을 알 수 있습니다. 불법으로 좌회전하는 차에 초점을 두는 대신 도로 보수가 필요한 곳이 있는지 살펴보고 있는 것입니다. 제대로 관리되지 않은 도로에서 촬영한 영상이 대거 포함된 왜곡된 데이터 세트가 이러한 현상의 원인일 수 있습니다. 혹은 도시의 예산 부족 지역에서 위반 단속을 실시할 가능성이 더 높을 수 있다는 실제 편향이 영향을 주기도 합니다. 

설명 기능은 ML의 수명 주기 중 어느 단계에서 사용해야 하나요? 

Explainable AI를 ML 워크플로의 마지막 단계에서 부차적으로 추가해서는 안 됩니다. 설명 기능은 데이터 수집과 처리부터 모델 학습, 평가, 모델 제공에 이르는 모든 단계에 통합 및 적용되어야 합니다. 

ML 수명 주기에 설명 기능을 적용하는 방법에는 몇 가지가 있습니다. Explainable AI를 사용해 데이터 세트 불균형을 식별하거나, 모델 동작이 특정 규칙과 공정성 측정항목을 충족하는지 확인하거나, 모델 동작을 로컬 및 글로벌 관점에서 보여주는 방식으로 적용할 수 있습니다. 예를 들어 모델이 합성 데이터를 사용해 학습된 경우 실제 데이터를 사용할 때에도 동일하게 동작하는지 확인해야 합니다. 또는 앞서 살펴본 의료 영상 딥 러닝 예시와 같이 일반적으로 설명 기능은 히트맵을 만들어 영상 분류에 사용된 픽셀을 식별하는 형태로 활용됩니다.

사용할 수 있는 또 다른 도구로는 머신러닝 모델 성능의 슬라이스 평가가 있습니다. Google Cloud의 AI 원칙에 따르면 불공정한 편향을 만들거나 강화해서는 안 됩니다. AI 알고리즘과 데이터 세트는 많은 경우 불공정한 편향을 반영하거나 강화할 수 있습니다. 모델이 소수의 사례에서 제대로 작동하지 않는 것을 발견하면 공정성 문제를 해결해야 합니다. 

슬라이스 평가를 사용하면 데이터 세트의 다양한 부분이 결과에 어떤 영향을 미칠 수 있는지 살펴볼 수 있습니다. 이미징 모델의 경우 조명 부족이나 노출 과다와 같은 요소에 따라 다양한 이미지를 살펴볼 수 있습니다. 

또한 잠재적인 제한사항과 성능 확보를 위한 절충사항을 설명해주는 모델 카드를 만든 다음 모델의 수행 동작을 테스트하는 방법을 제공하는 것이 좋습니다. 

Explainable AI 메서드

Explainable AI 메서드에 대해 이야기하려면 먼저 글로벌 및 로컬 메서드의 차이를 알아야 합니다.

  • 글로벌 메서드는 모델이 어떻게 결정을 내리는지에 대한 전체 구조를 이해하는 방식입니다. 
  • 로컬 메서드는 모델이 단일 인스턴스에 대한 결정을 어떻게 내렸는지를 이해하는 방식입니다. 

예를 들어 글로벌 메서드에서는 사용된 모든 기능이 포함된 표를 살펴보고 의사 결정에 미치는 전반적인 중요성이 큰 순서로 정렬됩니다. 특성 중요도 표는 특정 입력 변수가 모델의 최종 출력에 미치는 영향을 파악하는 데 도움이 되도록 보통 구조화된 데이터 모델을 설명하는 데 사용됩니다.

그렇다면 모델이 개별 예측을 하거나 특정한 사용자를 위해 결정을 내리는 방식은 어떻게 설명할 수 있을까요? 이것이 바로 로컬 메서드가 적용되는 분야입니다.

이 게시물의 목적에 맞게 이미지 데이터 모델 예측을 설명하기 위해 사용되는 방법을 중심으로 로컬 메서드를 살펴보겠습니다.

다음은 가장 일반적인 Explainable AI 로컬 메서드입니다.

  • LIME(Local interpretable model-agnostic explanation)  
  • KernalSHAP(Kernel Shapley additive explanations) 
  • IG(Integrated gradients) 
  • XRAI(Explainable explanations through AI) 

LIME 및 KernalShap는 이미지를 예측에서 무작위로 샘플링되는 패치로 분할하여 여러 교란된(변경된) 이미지를 생성합니다. 이미지가 원본처럼 보이겠지만 이미지의 일부가 삭제된 상태입니다. 변경된 이미지는 학습된 모델에 제공되고 예측을 하도록 요청됩니다. 

아래 예시에서 모델은 이미지가 개구리인지, 개구리가 아닌지 질문을 받게 됩니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/LIME___KernelSHAP.max-1000x1000.jpg

모델은 이미지가 개구리일 확률을 제공합니다. 선택된 패치를 토대로 각 패치가 최종 확률에 미치는 중요도 순위를 직접 매길 수 있습니다. 이 두 가지 메서드를 사용하면 이미지에 개구리가 포함되어 있는지 여부를 결정하는 데 미치는 중요도를 로컬 관점에서 설명할 수 있습니다.

적분 경사(Integrated Gradients)는 최종 출력의 경사에 따라 중요도 값을 부여하기 위해 사용되는 기법입니다. IG는 기준 이미지를 가져와서 해당 모델이 식별하도록 설계된 정보를 포함하는 이미지의 실제 픽셀 값과 비교합니다. 모델이 찾아내도록 학습된 정보가 포함된 이미지인 경우 정확성 값이 개선되어야 한다는 원리입니다. 기준 이미지부터 예측을 수행하는 지점까지 경사가 변화하는 정도를 판단하는 데 도움이 되며 이미지를 분류하기 위해 기준 이미지가 무엇을 사용하는지 파악할 수 있는 속성 마스크를 제공합니다.
https://storage.googleapis.com/gweb-cloudblog-publish/images/Integrated_gradients.max-1000x1000.jpg

XRAI는 앞서 설명한 세 가지 메서드가 모두 통합된 기법입니다. 패치 식별과 적분 경사를 결합하여 개별 픽셀보다는 결정에 가장 큰 영향을 미치는 중요 영역을 표시합니다. 이 접근방식에서 표시되는 영역이 클수록 더 나은 결과가 도출되는 경우가 많습니다

https://storage.googleapis.com/gweb-cloudblog-publish/images/xRAI.max-1000x1000.jpg

Google Cloud에서 채택하기 시작한 새로운 메서드인 TracIn은 학습 데이터의 영향을 추정하는 간단하고 확장 가능한 접근방식입니다. ML 모델의 학습 데이터의 품질은 모델의 성능에 지대한 영향을 미칩니다. TracIn은 다양한 데이터 세트에서 라벨이 잘못 지정된 예시와 이상점을 추적하고 예측을 설명할 수 있도록 각 학습 예시에 영향력 점수를 부여합니다. 

이미지에 애호박이 포함되어 있는지 여부를 예측하도록 모델을 학습시키는 경우 경사 변화를 확인하면 무엇이 손실을 줄이고(찬성) 무엇이 손실을 늘리는지(반대) 결정할 수 있습니다. TracIn을 사용하면 모델이 애호박을 식별하는 방법을 학습할 수 있는 이미지와 애호박이 아닌 것을 구별하는 데 사용되는 이미지를 식별할 수 있습니다.
https://storage.googleapis.com/gweb-cloudblog-publish/images/tracin.max-1000x1000.jpg

Google Cloud에서 Explainable AI 사용하기

Google Cloud에서는 데이터 과학자의 모델 개선 노력을 지원할 뿐만 아니라 의사 결정권자가 모델에 보다 쉽게 접근할 수 있도록 유용한 정보를 제공하는 데 도움이 되는 Vertex Explainable AI를 출시했습니다. Google Cloud의 목표는 ML 모델이 결론에 도달하는 방식을 설명하고, 모델을 디버깅하며, 편향을 방지하는 등 다양한 방식으로 데이터 과학팀에 도움을 주는 유용한 도구 집합과 프레임워크를 제공하는 것입니다.

Vertex Explainable AI 플랫폼을 사용하면 다음과 같은 이점을 누릴 수 있습니다.

  • 해석 가능하고 포괄적인 AI 설계. 데이터와 모델 간 편향, 드리프트 등의 차이를 감지하고 해결하도록 설계된 Vertex Explainable AI 도구를 사용하여 AI 시스템을 처음부터 빌드합니다. AI Explanations를 사용하면 데이터 과학자는 AutoML Tables, Vertex Predictions, Notebooks를 활용하여 각 요소가 모델 예측에 얼마나 기여했는지 설명할 수 있기 때문에 데이터 세트와 모델 아키텍처를 개선하는 데 도움이 됩니다. What-If 도구로 다양한 기능에 대한 모델 성능을 조사하고 전략을 최적화할 수 있으며 개별 데이터 포인트 값을 조작할 수도 있습니다.
  • 사용자 친화적인 설명을 제공하여 확신을 가지고 ML 모델 배포. 모델을 AutoML Tables 또는 Vertex AI에 배포하면 학습 데이터에서 발견한 패턴을 반영하여 예측을 확인하고 다양한 요소가 최종 출력에 어떤 영향을 미쳤는지에 대한 실시간 점수를 파악할 수 있습니다. 
  • 성능 모니터링과 학습을 통해 모델 거버넌스 간소화. 예측을 손쉽게 모니터링하고 지속적 평가 기능으로 예측 입력에 정답 라벨을 제공할 수 있습니다. Vertex Data Labeling은 예측과 정답 라벨을 비교하여 피드백을 반영하고 모델 성능을 최적화합니다.  

앞으로도 AI는 흥미진진한 선도 기술로서 모든 산업에서 기업의 미래를 만들고 영감을 주는 일을 지속할 것입니다. 그러나 AI를 충분히 활용하고 널리 사용하기 위해서는 데이터 과학자뿐 아니라 모든 이해관계자가 ML 모델의 작동 방식을 이해할 수 있어야 합니다. 이러한 이유에서 Google Cloud는 AI의 미래가 어느 방향을 향하든 상관없이 고객, 비즈니스 사용자, 의사 결정권자 등 모두를 위해 사용되도록 계속 노력할 것입니다. 

다음 단계

Cloud AI Platform에서 Jupyter 노트북을 실행하여 예측과 함께 설명을 확인하는 방법을 알아보세요. Qwiklabs에서도 단계별 안내를 확인할 수 있습니다. 향후 5년 동안 머신러닝이 어떻게 발전할지 궁금하다면 Applied ML Summit을 확인하여 Spotify, Google, Kaggle, Facebook 등 머신러닝 커뮤니티의 다양한 선두업체가 들려주는 이야기를 들어보세요. 

게시 위치