brunch

You can make anything
by writing

C.S.Lewis

인간처럼 설명하는 인공지능

기술스크랩 

XAI [eXplainable AI]


   “인간처럼 설명하는 인공지능”이라는 주제가 얘기하고자 하는 주제는 “설명가능한 인공지능 :eXplainable AI”, 줄여서 XAI다. XAI는 머신 러닝 알고리즘으로 작성된 결과와 출력을 인간인 사용자가 이해하고 이를 신뢰할 수 있도록 해주는 일련의 프로세스와 방법론이다. XAI를 사용하면 AI 모델, 이것들의 예상된 영향 및 잠재적 편향을 기술할 수 있다. 이는 AI 기반 의사결정에서 모델 정확성, 공정성, 투명성 및 최종 결과를 특성화하는 데 유용하다. 머신 러닝, 나아가 더 특수한 분야인 딥러닝은 만들어낸 모델에 데이터를 투입해 학습하고, 결괏값을 원하는 새로운 데이터들을 투입해 모델이 출력한 결과를 보는 과정이라고 설명할 수 있다. XAI는, 딥러닝의 핵심적인 과정을 하는 모델-최근에 활발하게 공개되고 이용되고 있는 초거대모델들을 알고리즘적으로 개발하는 데에 집중하기보단 그런 모델들이 만들어낸 결과들을 인간에게 논리적으로 설명을 하는 과정에 집중하는 인공지능의 영역이다. 설명 가능한 AI는 기업이 AI 모델을 생산에 투입할 때 신뢰감과 자신감을 얻는 데 있어서 매우 중요하다. AI 설명가능성은 기업이 AI 개발에 책임 있는 접근 방식을 적용하는 데도 도움이 된다. 


   AI가 고도로 발전함에 따라, 인간은 AI 알고리즘의 결과 도출 과정을 파악하고 이를 역추적해야 하는 난제에 봉착하게 되었다. 전체 계산 프로세스는 그 양과 속도는 인간이 따라갈 수 없는 수준으로 방대하고 빠르기 때문에, 알고리즘의 결과는 우리가 해석이 불가능한 소위 말하는 "블랙박스"로 전환된다.  이러한 블랙박스 모델은 투입한 데이터로부터 직접 구축되며 알고리즘을 직접 만드는 엔지니어나 데이터 사이언티스트조차도 그 내부에서 도대체 무슨 일이 발생하는지 혹은 AI 알고리즘이 특정 결과를 어떻게 도출하는지를 파악하거나 설명할 수가 없다. 


    AI 기반 시스템이 특정 결과를 도출하는 방법을 파악할 수 있으면 매우 유용하다. 설명가능성은 개발자가 시스템이 예상대로 작동 중인지를 보장할 수 있으며 의사결정으로 침해를 당한 사람들이 해당 결과에 이의를 제기하거나 이를 바꿀 수 있도록 허용하는 데 있어서 중요할 수도 있다. 다시 말해, 어떠한 과정으로 인공지능이 결과를 내뱉었는지를 알 수 있다면, 그 결과에 대한 이의들이 어느 과정에서 발생했는지 파악할 수 있고 수정 및 개선을 할 수 있다는 점이다. 


    종합적으로 XAI를 정리하자면, 머신 러닝과 딥러닝이 인간이 생각하고 추론하는 과정에 대한 것이라면 설명가능한 인공지능은 인간이 생각한 것을 추론과 논리를 통해 외부로 전달하는 과정을 모방하기 위한 것이라고 할 수 있다.


위 사진은 설명가능한 인공지능의 Taxonomic framework이다. 세션에서 배운 Information Architecture 내지는 MECE 분석의 구조도와 닮아있다고 할 수 있다. 크게 대 분류를 Transparent models vs Opaque models와 Model specific vs Model agnostic으로 구분한다. 이 외에도 설명가능성이 어디까지 설명할 건지 그 범위(scope)의 관점에서 global vs local technique으로 구분하기도 한다. 먼저 Transparent models와 Opaque models, 투명한 모델과 불투명한 모델에 대해 먼저 다뤄보겠다. Transparency는 모델이 결과를 도출하는 과정에 대한 이해가능성을 의미한다. 즉 Transparent model은 상대적으로 단순한 Linear Regression, Decision Tree, K-Nearest Neighbors 등의 알고리즘, Opaque model은 Random Forest, Deep Neural Network 등의 복잡한 알고리즘에 해당된다. 다른 말로, Transparent model은 white box, Opaque model은 black box 모델이라고도 부를 수 있다. Transparent model은 그 자체로 XAI라고 할 수 있으나 opaque model은 설명력을 갖기 위해 결과가 나온 후 결과를 바탕으로 과정을 탐색하는 사후 탐색인 post-hoc한 방법론을 필요로 한다. Post-hocexplainabilty technique(사후 설명력 기법)은 opaque model처럼 머신러닝 모델의 해석이 힘든 경우에 사용되는데, 말 그대로 모델이 만들어진 이후 설명력을 추가적으로 얻기 위한 기법이다.


    XAI를 기술적으로 분류하는 두 번째 기준인 Model specific과 Model agnostic에 대해서 설명하자면, Model-specific한 기법은 모델의 본질적인 구조를 이용하여 설명력을 제공하는, 특정 알고리즘에만 적용가능한 기법이다. 예를 들면 CNN(Convolutional Neural Network)계열의 알고리즘에서 layer-level의 시각화를 통하여 input image가 특정 layer에서 어떻게 reconstruct 되는지 알아볼 수 있는 것과 같다. 추가적으로, 각 input image에 대한 discriminative image region을 localize 하는 CAM(Class Activation Map)이라는 기법도 존재한다. 아래의 그림과 같은 것이 CAM 기법의 예시로 볼 수 있다. 그 외의 Model-specific 기법으로는 상기 문단에서 언급한 Opaque model의 Decision Tree 중 Tree ensemble model에서 사용되는 inTrees, 앞선 브런치 포스트에서 언급됐던 강화학습인 Reinforcement Learning을 해석하기 위한 XRL(eXplainable Reinforcement Learning)등이 있다. 

CAM 기법 예시

둘째로, Model-agnostic 기법은 일반적으로 사건이 일어난 후 결과를 추적하는 사후 추정인 post-hoc을 기본 기제로 가지고 있으며, 어떤 알고리즘에도 적용 가능하다는 장점이 있다. 실제 인기 있는 XAI 기법(PDP, ICE, LIME, SHAP 등) 상당수가 이 분류에 속한다. LIME(Local Interpretable Model-agnostic Explanations)은 이름에서 알 수 있듯이 특정 예측 값 근처에서 지역적 해석력을 도출하는 기법이다. 다른 말로는 Local surrogate(로컬 대리분석)이라고도 일컬어지며 LIME의 작동원리는 아래와 같은 수식으로 나타낼 수 있다.

위 수식에서 f는 우리가 설명하고자 하는 모델, g는 임의의 interpretable model, G는 interpretable models의 전체 집합,  �는 특정 point x에 대한 근접성,  �는 모델의 complexity, L은 g가 f를 얼마나 불충분하게 설명하는지에 대한 측정값이다. 즉, complexity와 local fidelity(로컬 충실도)를 minimize 하는 해석가능한 모델 g를 찾는 것이 LIME의 목표라고 볼 수 있다. 실제 적용 시에는 설명력을 원하는 특정한 데이터 포인트 x 주변에 샘플 데이터를 무작위로 생성한 후,  �(근접성)를 반영하기 위해 데이터가 x에 가까울수록 높은 가중치를 적용한다. 그다음, 샘플 데이터를 학습하여 x 주변 모델을 가장 잘 설명하는 local interpretable model을 찾아 모델의 지역적 해석력을 도출한다. Lime기법이 간단한 분류 toy problem에 적용된 예시는 아래 사진과 같다. 분홍색과 하늘색의 비선형으로 이루어진 non-linear 영역에 대해서도 분홍색과 유사한 붉은색 십자가들이 표시된 영역을 파란색 동그라미와 구분해 linear 하게 분류한 모습을 확인해 볼 수 있다.

LIME 활용 분류 예시

   Model-agnostic 기법 중 또 하나의 중요 방법론인 SHAP(SHapley Additive exPlanation)는 Shapley value(섀플리값)을 이용하여 예측에 대해 각 feature(특성)의 기여도를 계산하는 기법이다. Shapley value는 Game theory에 그 기반을 두고 있는데, 대략적으로 말해서 Shapley value는 feature의 모든 combination에 대해 feature의 기여도를 계산하여 그 값을 평균 낸 값이다. 하지만 feature의 개수가 k라고 할 때 전체 combination의 개수는 2의 k승이 되므로 feature의 개수가 늘어날수록 전체 Shapley value를 연산하는데 들어가는 비용이 매우 커지게 된다. SHAP에서는 이러한 높은 연산 비용을 극복하기 위해 원래 모델의 conditional expectation의 Shapley value를 계산하게 된다. 정확한 SHAP 값을 계산하는 것은 어렵기 때문에 approximation을 위한 다양한 방법이 연구되고 있는데, 일부는 model-agnostic 하며 일부는 model-specific 하다. Approximation methods 중 Shapley sampling values와 Kernel SHAP는 model-agnostic에 해당하며 Max SHAP, Deep SHAP, TreeSHAP 등은 model-specific에 해당한다. TreeSHAP는 Random Forest, XGBoost 등의 트리 계열 알고리즘의 SHAP값을 Kernel SHAP보다 훨씬 빠르게 계산할 수 있다는 장점이 있다.


   SHAP의 장점은 feature 간의 interaction(상호작용)을 고려하여 기여도를 계산한다는 점이다. XGBoost 등의 라이브러리에서 사용 가능한 feature importance 함수는 permutation 기법을 사용하는데, feature 간 상호 연관성이 높을 경우 interaction의 importance 또한 각각의 feature importance에 반영되어 버려 결과가 편향될 수 있다. Feature 간 상관관계가 높은 경우 feature importance 함수 대신에 SHAP를 사용하는 것이 더 정확한 결과를 얻을 수 있다. 


   이렇듯 인공지능의 설명 가능성에 대해 다루는 XAI는 그 설명 방식을 외부로 표현하는 인터페이스와 Human Computer Interaction(HCI)의 특성을 많이 지니고 있지만 실제로는 알고리즘단에서의 수정과 개발등 기술적인 요소들도 많이 포함하고 있는 분야라고 할 수 있다. 



활용 사례 


   XAI는 마케팅, 생산, 품질 관리, 의료 등 다양한 분야에서 이미 적용되고 있다. 그중에서도 대표적인 예를 몇 가지 소개한다. 미국 심머신(simMachines, Inc.)이 개발·공급하는 AI 심머신(AI simMachines)은 XAI의 일종이다. 이 설루션은 소비자 행동에 영향을 미치는 빅데이터에 기반하여, 기업의 패턴을 감지하고 미래의 수요 또는 소비를 예측하며 과거의 추이를 가시화한다. 심머신의 솔루션은 소비자의 특성과 소비행태로 고객을 동적으로 그룹화하고, 그룹의 특징을 가시화하여, 마케팅이나 광고에 활용 가능한 통찰을 제공한다.

'모션보드 스카이 AI(MotionBoard for SkyAI)'는 일본 스타트업 스카이디스크(Skydisc)에서 제조한 자동차의 부품 제조 결함 발생 시기와 원인을 판정하는 XAI 기반의 서비스이다. 이 서비스는 성형가공기에서 불량품 발생을 예측한 AI의 판정 결과와 결함이 발생했을 때 그 요인이 되는 매개 변수를 실시간으로 시각화하는 것이 특징이다. 또 양품과 불량품의 데이터 비교 및 월·주·일 단위로 생산 데이터의 변화를 그래프로 확인할 수 있다. 일반적으로 AI를 활용하여 검지할 때 기존에는 문제가 일어날 것 같은 시기나 원인만을 보여주지만, 이 서비스에서는 XAI를 활용하여 AI가 어떤 문제에 주목하여 결과를 판단하였는지를 함께 설명한다. 이 서비스는 공장 관리자들에게 하자 발생의 이유를 전달해 공정의 문제점이나 인력 배치를 재검토해 업무를 효율성을 높이는 데 활용될 것으로 기대된다.


의료 분야의 경우 당뇨병성 망막병증을 진단하고 병변을 검출하는 컴퓨터 보조 검출 시스템이 소개된 바 있다. 네덜란드의 한 안과 연구진의 연구 사례로 망막 기저부의 이미지를 입력 데이터로 사용하면, 건강한 망막을 자동으로 감지하고 병이 진행되고 있는 망막의 이미지를 선별해 안과 전문의를 돕는 보조 시스템이다. 이 시스템은 의심스러운 국소 병변을 안과의와 함께 검사할 수 있는 대화형 도구를 제공하여, 인공지능의 의사 결정을 신뢰할 수 있도록 돕는다는 데에 의의가 있다.


자율주행의 영역에서도 NDRT(Non-Driving Related Task) 상황에서 인공지능이 상황 제어권을 가지고 있다는 것을 어떻게 운전자에게 설명할 것인지, 그런 상황들을 어떻게 분류하고 짧은 시간 내에 효율적으로 전달할 것인지에 대한 연구도 XAI의 영역이라고 할 수 있다. 자율주행의 특성상 운전자와 실시간으로 상황에 대한 interaction이 필요하기 때문에 운전자에게 전달하기 위한 설명 인터페이스를 개발하는 User eXperience와 인터페이스 영역까지 확대되어 있는 분야라고 할 수 있다. 




기술과 사례에 대한 인사이트


   설명가능한 인공지능이라는 영역을 들었을 때는 인공지능이 내놓은 결과를 단순히 사람들에게 어떻게 전달할 것인지, 순수한 인터페이스와 디자인의 영역이라고 생각했는데, 알고리즘적인 개발이 생각보다 훨씬 더 활발하다는 것에서 연구 가치가 있는 분야라고 생각할 수 있었다. 또한 상기 언급된 예시들 중 ‘모션보드 스카이’처럼 인공지능의 산출 내용을 또 다른 인공지능이 설명을 한다는 점과, 생길 수 있는 오류들과 이 오류들의 원인에 대해서 설명한다는 점에서 인공지능 연구의 그다음 차원을 설명가능한 인공지능이 담당하고 있다고 생각한다. 


   하지만 인공지능의 설명가능성은 일반인들이 그 필요성을 이해하기까지는 시간이 걸린다고 생각한다. 연구원들과 모델을 치열하게 개발하는 영역의 사람들은 모델의 정확성과 논리성의 제고를 위해 설명가능성이 중요하다고 생각할 수 있지만 이 분야에 대한 지식이나 관심이 없는 일반인의 경우에는 인공지능이 제공해 주는 결과를 그대로 받아들이는데 익숙해져 있을 뿐, 어떻게 이 결과가 나왔고 어떤 과정에서 오류가 발생할 수 있는지, 그리고 이 내용들을 설명해 준다 하더라도 주의 깊게 보지 않을 가능성이 높다. 이런 생각에서, 설명가능한 인공지능이 일상의 영역까지 와 사람들에게 녹아들기까지는 시간이 필요할 것으로 생각된다. 



함께 생각해 볼 논점


Q. 앞선 “기술과 사례에 대한 인사이트”에서 언급했듯, 일반인의 관점에서도 그러하고 개발자들과 연구자들에 입장에서도 인공지능의 설명가능성을 얼마나 신뢰할 수 있는지에 대한 문제점이 있을 것이다. 서로 다른 결과가 나왔을 땐 어떤 제안을 선택해야 할까? 

앞선 어떤 XAI의 기술적 방법들도 하나의 절대적인 기준이 될 수 없는데 이는 정량적인 기준들과 방법들보단 사용자의 주관과 정성적인 기준들이 설명성을 평가하는 데에 아직은 많은 비율이 차지하고 있기 때문이다. 지금의 인공지능이 그렇듯, 인공지능의 신뢰성을 어떻게 일반 사용자들이 체감할 수 있게 해야 하는지는 분명히 고려해봐야 하는 논점일 것이다. 



Reference

https://www.irsglobal.com/bbs/rwdboard/15501

https://www.ibm.com/kr-ko/watson/explainable-ai

https://www.ibm.com/blogs/research/2019/08/ai-explainability-360/

https://icnweb.kr/2022/68085/

http://www.incodom.kr/XAI(explaniable_AI)


작성자: ITS 24기 구본승




작가의 이전글 이점을 능가하는 공격성을 지닌 기술, 챗GPT의 실체
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari