- 2020년 9월 9일 오전 5:38
- 조회수: 11698
INFORMATION
- 2020년 9월 18일
- 오후 1시 ~
- 온라인 비디오 시청 (YouTube)
TOPIC
On-Line Video
OVERVIEW
요약:
참고 문헌:
1. MT Ribeiro et al. (2016). “LIME: “Why Should I Trust You? : Explaining the Predictions of Any Classifiers”. ACM-KDD
2. Scott Lundberg et al. (2017). “A Unified Approach to Interpreting Model Predictions”. NeurIPS.
3. Scott Lundberg et al. (2020). “From local explanations to global understanding with explainable AI for trees”. Nature Machine Intelligence
4. Christoph Molnar. 『Interpretable Machine Learning』. lulu(2020)
5. SHAP, https://github.com/slundberg/
발표자 후기
우리 모두 관심분야가 다르지만, 결국에는 모델을 디버깅을 해야하는 공통분모가 있기 때문에 특정 모델에 구애받지 않는 Model-Agnostic한 interpretation method가 매력적으로 다가왔다. 특히나, 본 발표에서 마지막으로 설명한 SHAP은 기존 방법들에 비해 해석방법이 이론적으로 탄탄하게 뒷받침되기에 해석의 신뢰가 높을뿐만 아니라, 나아가 풍부한 라이브러리를 제공해주는 실용성이 돋보였기에, 많은 사람들이 꼭 한번즘은 경험해보았으면 하는 마음에 본 주제로 마음이 정착했던 것 같다. Attention, CAM 등 딥러닝 모델 결과를 해석하는 테크닉이 있기는 하나, 본 발표에서 소개된 model-agnostic interpretation method를 같이 사용한다면 모델검증과 디버깅에 이 둘이 좋은 시너지효과를 내지 않을까 기대한다. 끝으로, 금일 발표 이전까지는 계속 온라인 속 청중 입장이었다가 발표자의 입장이 되어보니 생각보다 준비해야할 것이 많았다. 발표측면에서는 다소 아쉬운 부분이 있었으나, 누군가가 내 말을 들어준다는 생각 때문에 나도 모르게 뿌듯한 기분이 더 크게 든 세미나였다. 참여해주신 모든 분들께 감사하다는 말을 전합니다.
청취자 후기
오늘 세미나는 "An Overview of Model-Agnostic Interpretation Methods"라는 주제로 진행되었습니다. 딥러닝이 좋은 성능을 보임에 따라 다양한 분야에서 딥러닝이 활용되고 있습니다. 하지만 딥러닝 모델은 왜 그러한 결과를 나타냈는지에 대한 해석이 어렵다는 단점이 있습니다. 이미지를 분류하는 단순한 문제에서는 모델의 해석이 중요하지 않을 수 있지만, 의료, 자율주행과 같이 사람의 생명 혹은 안전과 직결되어있는 분야에서는 모델의 결과에 대한 해석이 중요해지게 됩니다. 따라서 최근에 설명 가능한 인공지능에 관한 연구가 많이 진행되고 있으며 오늘 세미나에서는 모델의 결과를 해석하는 방법론들에 관해 소개되었습니다. 해석하는 방법론 중에서도 모델의 종류에 상관없는(Model-Agnostic) 방법론들을 주제로 세미나가 진행되었습니다. 처음에 소개된 Partial Dependence Plot(PDP)과 Individual Conditional Expectation(ICE)은 입력값의 변화에 따라 출력값이 어떻게 변하는지에 대해 시각화하여 타겟에 어떤 입력값이 큰 영향을 미쳤는지에 대해 해석할 수 있게 됩니다. PDP는 출력값을 모두 평균 내어 직관적인 해석이 가능하지만, 데이터의 전체적인 분산을 볼 수 없는 반면 ICE는 개별 데이터를 모두 시각화 하므로 데이터의 전체적인 양상을 파악할 수 있습니다. 다음으로 소개된 Permutation Feature Importance는 특정 변숫값들의 순서를 랜덤하게 변화시킨 후 모델을 학습하여 성능을 평가하는 방식입니다. 특정 변수의 값들을 변화시켰을 때 모델의 성능이 떨어진다면 해당 변수가 중요한 변수라는 것을 확인할 수 있습니다. 마지막으로 소개된 LIME과 SHAP은 이전에 소개된 방법론들과 다르게 데이터 하나에 대해서 해석할 수 있는 방법론입니다. LIME은 기존의 이미지를 super pixel이라고 하는 해석하기 쉬운 이미지로 만든 후 별도의 surrogate model이라고 하는 해석을 위한 모델을 학습합니다. Super pixel 이미지를 만들 때 기존 이미지와 비슷한 이미지에 큰 가중치를 줌에 따라 주어진 데이터의 지역적인 부분에서 동작하는 모델을 만들어 줍니다. 이에 따라 surrogate model로 단순한 선형 모델을 사용할 수 있게 되기 때문에 주어진 이미지에 대한 해석이 가능해집니다. 하지만 LIME은 협업 게임 이론 관점에서 공정하지 않은 게임이라는 특성이 있으며 이를 개선하기 위해 제안된 모델이 SHAP입니다. SHAP은 Shapley Value를 활용해 이러한 불공정성을 개선하여 LIME보다 더 좋은 성능을 내게 됩니다. 하지만 LIME보다 계산량이 많다는 단점을 가지게 됩니다. 이번 세미나를 통해서 평소에 관심 있었던 XAI 모델들을 살펴볼 수 있어서 좋았습니다. 이해하기 어려운 내용을 쉽게 설명해주기 위해 고생해준 민재형에게 감사의 뜻을 표하며 세미나 후기 마무리하겠습니다.
금일 세미나는 민재가 "An Overview of Model-Agnostic Interpretation Methods"라는 주제를 가져왔다. 기존의 머신러닝에서는 선형회귀나 트리계열의 모델들에서 Impurity Score나 아니면 선형의 변수마다의 가중치들을 가지고 모델에 들어가는 딥러닝만큼의 많은 피쳐들이 아니기 때문에 모델에 들어가는 변수들을 가지고 왜 그 결과에 이르게 되었는지 설명을 할 수 있었다. 그리고 딥러닝 모델에 와서는 모델 학습시에 Gradient의 크기가 큰 부분에 대해서 이미지에 Heatmap으로 보여주거나 Attention이 등장하면서 이것으로 모델의 내부를 들여다보면서 모델의 결과에 대한 Reasoning을 시도해보고 있었다. 하지만 ML처럼 입력에 사용된 변수들에 대해서 얼만큼 결과에 큰 영향이 되었는지 E2E로 연결되는건 쉬어 보이지 않았다고 생각한다. 하지만 오늘 머신러닝도 물론이거니와 딥러닝 모델에도 입력 변수를 그대로는 아니지만 입력한 데이터를 가공한 차원의 모습으로 해석이 가능한 연구에 대해서 여태까지는 몰랐던 새로운 방법론에 대해서 설명을 들을 수 있어서 좋았다. 다섯가지를 소개했는데 처음 Partial Dependence Plot과 Individual Condition Expectation은 실용적이진 못할것 같다. 학습시 사용되는 변수가 Production에서 사용되는 데이터의 분포가 같다고쳐도 변수가 많게 되면 각 변수마다 다른 변수들의 데이터의 조합들이 아무리 MC를 써서 하더라도 정확하지 않거니와 계산량이 모델 학습보다도 더 오래 걸릴 것 같았다. 그리고 사전에 EDA도 충분히 해야지 어느정도 해석력을 갖는 결과를 얻을 것 같았다. 이것은 Individual Condition Expectation 또한 분포를 Expectation하지 않고 다 뿌린다고 하더라도 변수가 많을 때도 그렇고 그 Plot에 많은 Plot line을 보고 해석이 어려워질 것 같았다. 그다음 Permutation Feature Importance는 Tree계열에서의 Impurity Score를 구하거나 Isolation Map과 유사하다고 생각이 들었고 언급했던대로 방법론중의 하나라고 이해했다. Permutation은 데이터 개수에 따라서 어느 정도의 연산을 해야 하는지도 궁금해졌다. 이 Permutation을 통해서 Feature Importance를 scaling해서 각 변수간의 수치가 비교가 가능하도록 변수간의 중요도에 대한 Plot을 보여주는건 직관적이서 방법론이 다르더라도 같은 시각화 방법으로 보여주면 좋겠다라는 생각했다. LIME Local Interpretable Model-agnostic은 단일 관측치에 대한 모델 예측값 해석에 초점을 둔다라는게 신기했다. 그럼 이 LIME은 관측치 여러개에 대한 해석을 하면 그 개수만큼 따로 surrogate 함수 학습을 해야하는건지 궁금했지만 문제 상황마다 다를것 같다. 그리고 Super Pixel이란걸 이미지에선 segmentation을 한다고 했지만 다른 데이터(고차원의 tabular 데이터)는 어떻게 바꾸는지에 대한건 어떤 예시가 있는지 궁금하다. 슈퍼픽셀은 보통 무작위로 segmentation한것 같은데 저것도 얼만큼 쪼개야하는건지 그리고 각 조각들은 얼만큼의 크기로 하는건지 각각 랜덤인건지 궁금하다. SHAP은 Consistency와 Missingness에서 불공정한 부분을 게임 이론을 가지고 와서 설명을 쉽게 해주었고 이론적인 뒷받침으로 좋은 성능을 내고 있고 깃헙의 스타도 12k이상으로 엄청나게 성숙된 라이브러리임에 놀라웠고 그 결과를 보여주는 SHAP plot은 모델의 변수 설명하는 것으로 해석이 참 좋게 구성이 되어있는 것 같아서 나중에 꼭 모델 해석시에 한번 사용해봐야겠다. 딥러닝 모델에 대해서 해석을 하고 싶어서 어텐션과 Grad-cam Regression같은 것을 고민하고 있었는데 이와 함께 같이 꼭 한번 적용해봐야겠다. 그 시작을 하게 해준 민재에게 감사의 말을 전한다.
이번 세미나는 모델의 종류와 상관없이 모델을 해석하는 알고리즘에 대한 내용으로 이루어졌다. 연구실에서 프로젝트를 진행하다보면 항상 듣는 질문이 '어째서 이런 결과가 나왔나요?'이다. 또는 어떤 수식으로 표현할 수 있는가에 대한 질문도 꽤 자주 들을 수 있다. 이만큼 모델로부터 얻은 결과에 대한 이유를 해석하는 것은 실제 사용에 있어서 매우 중요한 문제이다. 이 때문에 explainable AI라는 용어도 생겨났다. 세미나에서 다룬 논문의 수가 꽤 많았는데 LIME 이전과 이후로 구분할 수 있을 것 같다. LIME은 처음 논문이 나왔을 때 관심이 있어서 읽어보려다가 난해한 부분이 많아서 상당 부분을 이해하지 못하고 넘어갔었는데 이번 세미나를 통해서 다시 접할 수 있었다.
LIME 이전에 소개되었던 논문들은 '전체적인 모델을 구축하는데 있어서의 변수 중요도'를 산출하는데 초점이 많이 맞추어져 있었다고 한다면, LIME은 '관측치별로 얻은 모델의 예측값'에 대한 이유를 해석하는데 초점이 맞추어져 있다. 복잡한 데이터를 복잡한 모델로 학습하기 때문에 모델을 해석하는데 많은 장애가 발생한다. 이 때문에 LIME에서는 사람이 쉽게 이해할 수 있도록 간단한 구조를 갖고 해석이 가능한 (마치 linear model 같은) surrogate model을 사용하며, input으로는 사람이 이해하기 쉬운 상위개념의 input을 만들어서 surrogate model을 학습시킨다. 이미지로 생각했을 때는 pixel이 아닌 여러 pixel의 집합을 사용한다. 하지만 이 단계가 LIME의 키 포인트임과 동시에 도메인별로 방법이 상이하다는 단점이 된다.
SHAP는 게임이론에서 사용되는 새플리값(Shapley Value)와 LIME을 결합한 방법론이다. 섀플리값은 한 변수에 대한 중요도를 알기 위해서 여러 변수들의 조합을 구성한 다음, 해당 변수의 유무에 따른 평균적인 변화를 통해 구할 수 있다. Permutation과 매우 유사하며 수많은 경우에 대해서 많은 실험을 해야 한다는 단점 또한 똑같이 갖고 있다. 이 단점을 극복하기 위해 Kernel/Tree/Deep SHAP 등의 다양한 구조를 제안하고 모델을 학습함으로써 Shapley value estimation을 빠른 시간 내에 수행한다. Shapley value를 구한다는 것 자체가 모델의 해석력을 얻는다는 것과 동일한 의미를 갖는다.
오늘은 민재가 Model Agnostic Interpretation 방법론을 소개했다. 예측 결과에 대한 해석, 즉 모델이 왜 그 예측값을 도출했는지 살펴보는 건 그 예측모델을 활용하는 여러 산업에서 중요한 과업으로 여겨진다. 제조공정에서는 불량 품질에 대한 원인을 분석, 의료산업에서는 질병에 대한 원인 분석 등 그 분야는 다양하다. 최근, 딥러닝 모델을 활용할 때 예측값에 대한 원인을 분석하는 방법론이 활발히 연구되고 있다. 가장 대표적인 방법론으로 LSTM의 Attention, CNN의 Activation mapping을 예로 들 수 있는데 이는 모델 구조에 기반한 원인 분석 방법론이다. 오늘은 "Model agnostic:모델 종류에 구애 받지 않는" Interpretation 방법론 여러개를 소개해 주었다. Model agnostic interpretation의 핵심은 특정 변수를 사용했을때와 그렇지 않을 때 예측값에 미치는 영향을 파악하는 것으로 모델 종류에 구애 받지 않는 장점이 있다. PDP(partial dependence plot)은 여러개 변수 중 우리가 영향을 살펴볼 수 있는 특정 변수 1개 혹은 2개를 예측값과 선형관계인지, 단조증가관계인지 등을 plot을 통해 확인하는 방법이다. 모든 학습데이터에 대해 "예측값을 평균 내어 관심변수의 영향력을 근사"한다. 평균값으로 데이터 를 대표하지 못하는 경우를 보완하고자 제안된 방법론이 ICE(Individual Conditional Expectation)이다. 모든 예측값을 평균취하는 게 아니라, "모든 예측값에 대해 설명변수의 영향도"를 살펴본다. PFI(Permutation Feature Importance)는 특정 변수를 사용하지 않았을 때, "성능 손실"에 얼마만큼의 영향을 주는지를 살펴본다. LIME(Local Interpretable Model-Agnostic Explanations)은 "입력값"을 조금 바꿨을 때 모델의 예측값이 크게 바뀌면, 그 변수는 중요한 변수로 판단한다. 그를 위해 입력변수에 약간의 변화(perturbation)를 부여하며 탐색한다. SHAP(Shapley Additive exPlanations)은 "특정 변수가 제거" 되면 얼마나 예측에 변화를 주는지 살펴보고 그에 대한 답을 SHAP value로 표현한다. 즉, SHAP value는 한 예측에서 변수의 영향도를 방향과 크기로 표현한다. 오늘 활용도가 높은 해석 방법론들이지만 연구실에서 접해보지 않았던 내용들을 많이 접했다. 오늘 세미나를 토대로 공부하고 여러 프로젝트에 적용해 볼 수 있을 것 같다.
보험료 Prediction 모델 등 예시로 모델 해석의 중요성을 설명하였으며, 해석 모델로 Linear Regression, Decision Tree, Tree Ensemble Model, Deep Neural Network를 설명하였다. 그러나 본 해석모델들은 Accuracy와 Interpretability를 동시에 이루기 어렵고, 다른 모델간의 비교 관점(동일선상에서의 비교)에서도 어려움을 가지고 있다. 대안으로 모델에 구애받지 않는 해석방법을 제안하였다. (대안방법론 : Model-Agnostic Interpretation method)
Model Agnostic Methods의 5가지 방법론에 대해 알아보았으며, 각 방법론의 모델 및 예시, 장/단점을 설명해주었다. LIME의 경우 Super pixel 단위로 Input으로 사용하여 모델을 분석하는 방법으로 고양이/개 사진으로 래브라도 확률을 증명하는 설명을 자세하게 해주었다. 마지막으로 SHAP(Shapley Additive exPlanations으로 현재까지 Model Agnostic Methods 중 성능(속도 등)이 좋은 모델을 설명하였다. 또한 모델 복잡도를 줄이기 위해 KernelSHAP, TreeSHAP, DeepSHAP, GradientSHAP 모델들을 소개하였다. SHAP plot의 해석에 대해 자세하게 설명함으로써 모델을 이해할 수 있도록 설명해주었다. SHAP의 단점으로 kernelSHAP 같은 경우 속도가 느리다는 점이 존재한다.
금일 세미나는 “An Overview of Model-Agnostic Interpretation Methods”를 주제로 진행되었다. Model-Agnostic Interpretation method이란 해석 가능하지 못한 Deep Neural Network 등의 모델들에서도 기존 모델의 종류에 상관없이 모델을 해석하는 방법론을 의미한다. 주로 모델의 인풋과 아웃풋을 조절하고 변화시키면서 그 변동에 대하여 알아보고 이를 기반으로 모델에 대한 해석을 진행하게 된다. 평소에도 여러 딥러닝 모델들에 대하여 공부하면서, 그 모델이 어떻게 학습하는지는 배우지만, 실제로 학습 후 결과값을 보면서 모델이 왜 이렇게 해석했을까 궁금했던 경험이 자주 있었다. 이와 관련한 연구가 활발하게 이루어지고 있고 그 분야에 대해서도 공부해보고 싶다고 생각만 했었는데, 이렇게 세미나를 통하여 다양한 방법들에 대하여 알아볼 수 있어서 더욱 의미있는 시간이었다.
이번 시간에서 배운 여러가지 모델 중에서 가장 최근에 등장하였으며 성능이 가장 좋은 모델은 SHAP(Shapley Additive exPlanations)이다. 해당 모델은 LIME (Local Interpretable Model-agnostic Explanations) 모델을 기반으로 만들어진 방법론이다. 우선 LIME이란, 기존의 복잡한 모델에서 해석을 하기 보다는, 해석이 간단한 surrogate model을 학습시켜 이를 기반으로 해석하고자 하는 방식이다. 이 때 surrogate model에 적합한 형태로 데이터를 넣기 위하여 SuperPixel로 각 관측치를 표현하고, surrogate model에서는 각 SuperPixel을 넣는지 빼는지와, 그 값에 대한 가중치를 계산하게 된다. 모델을 해석할 때에는 가장 가중치가 높은 값들을 기반으로 해석한다. 하지만 해당 방법론은 협업 게임 이론의 관점에서 불공평하기 때문에, 이를 개선하고자 Shapley Value값을 활용하는 SHAP모델을 제안하게 된다. SHAP모델은 각 변수의 유무에 따른 기여도를 계산하여 얼마나 기존 모델의 예측에 얼마나 많은 영향을 주는지 Shapley Value로 계산한다. 이 때, 기존 모델의 특징에 따라 model specific하게 계산법을 달리하여 효과적으로 계산을 진행하는 여러 방법들도 함께 제시되었다. 이렇게 SHAP 모델에 대한 설명 뿐만 아니라 실제 해당 방법을 활용했을 때의 결과를 시각적으로 보여주었는데, 생각보다 직관적으로 해석 결과를 보여주는 것이 놀라웠고, 실제 프로젝트나 연구를 진행할 때 해당 모델을 활용해보는 것도 좋을 것 같다는 생각이 들었다. 그동안의 세미나에서 들어오던 분야와는 조금 다른 주제로 세미나를 듣게 되었는데, 오히려 그만큼 더 흥미롭게 들을 수 있었다. 앞으로도 이번 세미나에서 공부한 내용을 기반으로 XAI라는 주제에 대하여도 관심있게 찾아보고 공부해보아야겠다.
모든 모델에 통용되는 해석 방법론이 있으면 얼마나 편할까? 오늘의 세미나는 linear regression/bagging/boosting/Neural Net 등 모델의 구조와 상관없이 모델을 해석하게 해주는 다양한 방법론에 대해 알아보았다.
모델을 해석한다는 것이 어떤 의미일까?? 보통 tree 계열(bagging/boosting)의 모델에서 볼 수 있는 feature importance와는 무엇이 다를까? feature importance는 모델이 전반적으로 예측 성능을 높이기 위해 어떠한 feature를 중요하게 봤는지를 나타낸다. 보통 impurity가 감소한 정도로 나타낸다. 하지만 특정 인스턴스를 어떠한 값으로 예측한 이유를 나타내고 싶을 때가 있다. 세미나에서 예제가 잘 설명되었듯이, 암환자라면 내가 왜 암환자로 판명난 것인지를 알고 싶을 것이다. 이렇듯 각 인스턴스 별로 모델의 예측의 이유를 표현할 수 있으며, black box라고 불리우는 복잡한 모델들을 쉽게 해석할 수 있다.
이번에 빅콘테스트 2020 라는 공모전에 참가를 하게 되었는데, NS 홈쇼핑의 판매 목록을 가지고 판매총액을 예측하는 모델을 만드는 중이다. 작년에는 비행기 지연 예측을 주제로 본선에 나갔지만 안타깝게 수상은 하지못하였는데, 그 이유는 내가 만든 모델이 예측 성능은 좋았으나, 심사위원들에게 그러면 지연이 일어나지 않으려면 어떠한 것을 개선시켜야겠냐는 질문의 대답을 하지 못해서였다. 무작정 모델을 복잡하고, 깊게 설계하면 예측 성능을 높일 수는 있으나, 예측에 대한 정량적, 논리적 사후 검정 결과는 도출할 수 없다. 이번 세미나를 통해 LIME을 접목시킴으로써 모델의 예측값에 대한 사후 검정 결과를 보여주면 어떨까라는 아이디어를 얻게 되었다. 세미나를 준비해주신 민재형께 감사의 말씀을 드린다.
오늘은 민재오빠가 ‘An Overview of Model-Agnostic Interpretation Methods’라는 주제로 세미나를 진행해주었다. 예측모델의 적용사례가 늘어남에 결과에 대해 해석을 제공하고자 하는 연구가 활발하게 수행되고 있다. 이러한 해석에 대한 결과는 사용자에게 결과에 대한 타당성을 제공하는 것 뿐만 아니라 알고리즘을 구현하는 과정에서는 추가적인 모델 개선사항들을 간접적으로 확인할 수 있기 때문에 매우 활용가치가 높다고 할 수 있다. 대표적인 해석가능 모델로는 linear regression(coefficient), decision tree(importance score), ensemble(importance score), DNN(attention, CAM)가 대표적으로 활용되고 있다. 이런 경우, 모델에 대한 구애를 받기 때문에 각 해석방식이 각 모델에 대해서만 적용 가능하며 해석력과 성능에 대한 trade-off도 존재한다는 한계점이 있다. 오늘 주로 다뤄진 Model-Agnostic Methods는 모델을 해석하는 다양한 방법 중 모델에 구애 받지 않는 해석 방법으로 모델의 입력값과 출력값을 조절하면서 그 변동에 대한 값을 해석하는 것이 주된 특징으로 우수한 해석력과 성능을 도출하는 것을 목표로 한다. PDP(partial dependence plot)는 변수 중 관심대상인 변수의 값을 변화시켰을 때 이에 대한 출력값의 변화를 살펴보는 방법론으로 관심 변수가 예측값 사이의 경향을 plot을 통해 직관적으로 해석할 수 있다. 이는 비관심대상인 변수들에 대한 예측 기대값을 도출하기 때문에 관심대상인 변수의 분포를 반영하지 못한다는 한계점이 있으며, 이를 개선하기 위한 방법으로는 ICE(Individual Conditional Expectation)가 있다. ICE는 PDP와는 달리 모든 변수에 대해서 개별적으로 시각화를 하게 된다. 모든 관측치에 대해 변수를 변화시킴에 따른 예측값을 시각화하며, 최종적으로 이를 평균하여 해당 변수에 대한 영향을 살펴볼 수 있다. PFI(Permutation Feature Importance)는 관심 대상인 변수를 permutation(새로운 조합으로 섞었을 때)하였을 때 예측결과를 확인함으로써 해당 변수에 대한 중요도를 파악한다. 이는 실제로 변수와 예측값 사이 유의미한 경향을 파악하기 위함이라고 할 수 있다. LIME(Local Interpretable Model-Agnostic Explanations)의 경우, 해석이 간단한 linear model과 같은 간단한 알고리즘으로 surrogate model을 학습시키고 이를 통해 해석을 하게된다. 마지막으로 SHAP(Shapley Additive exPlanations)은 각 변수에 대한 사용여부에 따라 예측에 대한 변화를 SHAP value로 계산한다. SHAP value를 Bee Pollen Plot에 시각화하여 모든 관측치에 대한 변수별 영향도를 확인할 수 있다. 최근 모델 해석에 대한 프로젝트를 수행중에 있는데, 해석이 가능한 알고리즘들에 대해 개괄적으로 살펴볼 수 있어서 흥미로웠고, Model-Agnostic Interpretation Methods 적극적으로 활용해야겠다는 생각이 들었다.
이번 세미나는 Model-Agnostic Interpretation Methods에 대한 주제로 진행되었다. 모델의 예측 성능도 중요하지만 그 예측결과가 나오게 된 이유를 해석하는 것 또한 중요하다고 할 수 있다. 특히 모델을 사용하는 사람 입장에서는 모델 결과에 대한 해석이 중요한 주제인 것 같다. 이러한 모델에 대한 해석은 사용자를 납득시켜주는 수단이 될 수 있고, 모델 개선을 위한 디버깅 수단이 될 수 있을 것이다. 그 중에서도 이번에 소개되는 방법은 Model-Agnostic, 즉 어떤 모델이냐에 특별히 구애받지 않는 모델 해석 방법이어서 무척 흥미로운 주제였던 것 같다. 기존 모델 중 해석이 가능한 모델로는 Linear Regression, Decision Tree, Tree Ensemble 등이 있으나, 이러한 모델은 Deep Neural Network에 비해 상대적으로 Accuracy가 부족하기도 하고, 모델별 해석방법이 각 모델들에 종속되어 있어 다른 모델에 적용하기는 어렵다는 단점이 있다. 이렇듯 모델의 Accuracy와 Interpretability는 반비례하는 경향이 있는데, 이번에 소개되는 Model-Agnostic Interpretation은 Accuracy와 Interpretability를 동시에 잡을 수 있다는 특징이 있다. 총 5가지 Method에 대해 소개가 되었다. Partial Dependence Plot(PDP)는 해석이 직관적이고 구현하기 쉽다는 장점이 있으나, 계산량이 많고 각 점들이 갖는 분포가 무시되는 단점이 있다. 이러한 단점을 보완한 Individual Conditional Expectation(ICE)가 소개되었는데 이 방법 또한 해석이 직관적이고 명확하나, 관측치 수가 너무 많으면 plot을 통해 파악하기가 어려울 수 있다는 단점이 있다. Permutation Feature Importance는 어떤 선택된 변수의 특성치를 Shuffle하여 Base 성능과의 차이를 변수의 중요도로 사용하는 방법이다. 마지막에 소개된 LIME과 SHAP은 원래의 모델이 아니면서 해석이 간단한 Linear Regression과 같은 모델을 Surrogate Model로 사용하여 해석하고자 하는 방법이다. 특히 SHAP은 Shapley Value를 사용하여 LIME에서 발생하던 문제들을 해소하였으며, 이 Shapley Value를 어떻게 계산하느냐에 따라 KernelSHAP, TreeSHAP, DeepSHAP 등이 나오고 있다. SHAP을 통해 모델 해석이 잘된 사례들을 소개해주었는데, 향후 연구를 하게 되면 꼭 해석이 가능한 방법을 적용해야겠다는 생각이 들었다. 현업에서도 어떤 모델의 결과만이 중요한 것이 아니라 충분한 해석력이 있어야 실제 적용되는 사례들을 많이 봐왔기 때문에 이번 Model-Agnostic Interpretation Method가 많은 도움이 될 것 같다. 좋은 주제로 자세하게 소개해준 이민재 연구원에게 감사의 말을 전한다.
이번 세미나를 통해 모델에 종속되지 않는 해석방법에 대해 접할 수 있었다. 기계학습에 입문하는 단계에서 성격이 상이한 각종 모델간의 성능 비교를 어떻게 할 수 있을지 궁금했는데, 이번 세미나를 통해 기본적인 개념과 아이디어를 얻을 수 있었다. 'Model-Agnostic Methods'는 원래 모델을 블랙박스로 보고, 모델 내부 변수에 접근하지 않은채 모델의 Input과 Output을 조절하면서 그 변동에 기반하여 해석하는 방법론이다. 복잡한 전역데이터 대신 국소적으로 비교적 해석이 가능한 모델로 근사시키거나(해석이 간단한 surrogate모델 활용) 확인하고자 하는 특성치 순열을 Shuffle하여 특성을 무효화함으로써 주요도를 파악하는 기법을 활용 할 수 있다. 크게 Partial Dependence Plot,Individual Conditional Expectation,Permutation Feature Importance, Local Surrogate(LIME), SHAP(Shapley Additive explanations) 5가지의 방법이 있는데, 내부변수 랜덤성에 의해 발생하는 예측결과 불공정성(LIME의 단점)을 개선하고, addivity/Consistency/Missingness 요건을 충족시키는 SHAP이 현재 SOTA로 알려져 있다.
각 Class를 예측해내는데 있어서 어느 부분이 큰 기여를 했는지 시각화하여 그래프형태로 분포 확인이 가능하고, SHAP plot decompose(SHAP Interection value활용)를 통해 Dependency plot에서 볼 수 없었던 관계까지도 심층 분석이 가능하여 모델 구현시 쉽고 편리하게 활용 가능할 것으로 보인다. 유익한 세미나 진행해 주신 이민재 연구원님께 감사드립니다.
금일은 An overview of Model-Agnostic Interpretation Methods를 주제로 세미나가 진행되었다. 먼저 모델에 대한 해석이 필요한 이유에 대해 설명으로 세미나가 진행되었다. 모델에 대한 해석이 필요한 이유는 사실 “Why?” 때문이다. 우리는 모든 일에 대해서 이 “Why?”를 궁금해한다. 친구가 슬프면 “Why?”, 내가 꿈이 있다면 “Why?” 등 각자 하는 일, 타인이 하는 일 모두에 대해서 “Why?”를 궁금해한다. 이처럼 사람의 기본적인 욕구는 내가 공부하고 있는 AI 분야에서도 적용이 된다. 변수도 많고 관측치도 수없이 많은 데이터를 사람들이 육안으로 보면 데이터 패턴을 구분하기 쉽지 않다. 하지만 이렇게 복잡한 데이터도 우리가 공부하고 있는 다양한 예측 모델은 나름대로 그 안에서 패턴을 찾아 좋은 예측 성능을 보이는 결과를 만들어 낸다. 이 때 우리는 “Why?”, 도대체 왜? 어떻게? 구분한 것인가에 대한 궁금증이 발생하게 된다. 이처럼 인간이 가지고 있는 “Why?”에 대한 대답을 해줄 수 있는 부분이 모델 Interpretation 부분이라 할 수 있다. 개인적으로도 이러한 궁금증이 많기 때문에 Explainable A.I. 쪽에 관심이 많다. Explainable A.I.에서도 다양한 방법이 많은데 이번 세미나에서는 내가 잘 알지 못했던 방법론에 대한 설명이 많아서 좋았다. Partial Dependence Plot(PDP), Individual Conditional Expectation(ICE), Permutation Feature Importance, Local Surrogate(LIME), Shapley Additive explanations(SHAP)와 같은 방법론들이 설명되었다. SHAP는 복잡한 모델을 간단한 Surrogate Model을 통해 해석하게 된다. 그리고 각 Class를 예측하는데 SHAP value 값을 계산해 이 값을 토대로 어느 부분이 큰 기여를 했는지 판단해 해석하게 된다. 이번 세미나는 개인적으로 새로운 정보에 대한 공부를 할 수 있어서 좋았다. 여러 방법론에 대해서 사례를 바탕으로 잘 설명해준 민재에게 고맙다고 말해주고 싶다.
프로젝트를 진행할 때마다, 모델을 해석하는 방법에 대해 어려움을 느낄 때가 많았습니다. 세미나 서두에서 설명해주신 것처럼 저희 내부에서는 해석에 대한 어려움이 없지만 외부 고객사에게 지표를 건네주어야 할 때 왜 이렇게 가져가야하는 지 설명하는 것이 어려울 때가 많습니다. 저의 경우엔 다양한 모델이 존재하고, 다양한 만큼 모델 전체에 대해 Agnotic한 해석 방식이 존재한다는 것 또한 알지만 이에 대해 자세하게 설명할 정도로 깊이 있는 수준은 아니여서 이민재 연구원님의 세미나가 더욱 도움이 되었습니다. Partical Dependence Plot(PDP) 에서부터 시작하여, individual Conditional Expectation (ICE), LIME, SHAP까지 정리하기에 좋은 계기가 되었습니다. 특히, 해석하기 편한 모델을 대신(Surrogate model) 가져와서 해석을 진행한다는 방식, 그리고 이를 제안한 LIME에서의 문제점이 불공평함이며 이를 보완하기 위해 제안된 방식이 SHAP라는 사실이 기억에 남습니다. 저로서는 컴퓨터 비전 관련 프로젝트를 많이 진행하기 때문에 DeepSHAP를 다음 프로젝트에서 활용해볼 수 있을 것 같습니다. 좋은 세미나 감사드립니다.
특정 문제를 잘 해결하는 성능이 뛰어난 기계 학습 모형을 학습하는 것은 굉장히 중요하다. 하지만 뛰어난 성능을 가지지만 인간이 납득할만한 근거를 가지고 학습을 한 것인지 아닌지는 알기 어렵다. 예를 들어 Support vector machine, Deep neural networks이 그러하다. 이와 같은 모형을 블랙 박스 모형이라 하고 해당 모형들에게 설명력을 부여하기 위한 방법을 이번 세미나에서 소개해주었다. 세미나 내용 중 특히 LIME의 경우, 이전부터 관심있게 지켜보았고 혼자서 적용도 해보았지만 민재의 세미나를 통해 이론적인 내용부터 파악가능하였다. 나의 연구 분야인 Weakly supervision 분야는 현재 이미지에 대해서 많은 발전이 있어왔다. 하지만 자연어 처리, 시그널 데이터에 대해서는 많은 연구가 없었는데 이번 세미나에서 나온 SHAP부분에서 많은 힌트를 얻을 수 있을 것 같다. 현재 진행중인 프로젝트에서 시그널 데이터에서 이상 구간을 탐지해야하는 상황인데 이를 적용한다면 기존 분석 방법의 대안으로 고객이 만족하는 분석이 가능할 것으로 기대한다.
이번 세미나는 "An Overview Of Model Agnostic Interpretation Methods"를 주제로, 모델 해석의 중요성과 다양한 해석 방법을 소개하는 시간이었다. 모델 해석은 모델의 결과에 대한 근거를 제시함으로써 의사결정에 당위성을 부여하고, 나아가 모델 파이프라인 개선에도 활용할 수 있어 그 중요성이 더욱 대두되고 있다. 본 세미나에서는 모델의 종류에 구애받지 않는 Model Agnostic Interpretation Methods에 대하여, 고전적인 방법론인 PDP(Partial Dependence Plot) 부터 최신 모델인 LIME(Local Interpretable Model-Agnostic Explanations)과 SHAP(Shapley Additive exPlanations) 까지 폭넓고 자세하게 설명해주었다. 특히, 지난 프로젝트에서 모델의 예측 결과에 대한 근거를 고객에게 제공하기 위해 SHAP 모델을 사용해본 경험이 있었기 때문에 이 부분을 더욱 집중하여 흥미롭게 들을 수 있었다. SHAP을 이해하기 위해서는 그 이론적 배경의 기초가 되는 LIME을 먼저 알아야한다. LIME은 각각의 관측치에 대한 해석에 초점을 맞춘 모델이다. 복잡한 데이터에 적합된 복합한 모델은 전역적 해석(Global Interpretation)이 쉽지 않으므로, 이를 비교적 국소적(Local) 해석이 간단한 모델(Surrogate Model)에 근사시켜 모델의 결과를 해석한다. SHAP은 이러한 LIME의 계산법에 각 변수가 결과에 기여한 정도를 공정하게 계산하는 지표인 Shapley Value를 사용함으로써 LIME에서 발생하던 문제들을 해소한 방법론이다. 이후, Shapley Value를 더 효과적으로 계산할 수 있는 KernelSHAP와 TreeSHAP, 딥러닝 모델에서도 사용할 수 있는 DeepSHAP, GradientSHAP에 대한 예시도 함께 소개해주었다. 실제 비즈니스 필드에서는 모델의 결과를 실제 의사결정에 반영하기 위한 근거를 제시하는 것이 무척 중요한데, 지난 프로젝트에서는 TreeSHAP을 사용하여 개별 관측치에 대한 결과를 설명할 수 있었고, Bee Pollen plot 및 Dependency plot을 활용한 직관적이고 시각적인 정보 제시를 통해 고객 만족도를 크게 상승시킬 수 있었다. 모델 해석은 모델의 성능 만큼이나 중요한 영역이기 때문에, 이번 세미나를 통해 다양한 Model Agnostic Interpretation Methods를 알게 되어 좋았고, 이론적 배경을 이해함으로써 앞으로 해당 방법론들을 적용할 때, 더욱 유용하게 사용할 수 있을 것으로 기대한다.
이번 세미나는 민재가 An Overview of Model-Agnostic Interpretation Methods라는 주제로 진행하였다. Model-Agnostic은 모델 종류에 구애를 받지 않는다는 뜻으로 세미나에서 다양한 모델에 통용할 수 있는 모델 해석 방법에 대해서 설명을 해주었다. Model Interpretability는 어떤 요인이 모델 결과에 영향을 미쳤는지 답변을 줄 수 있는가에 대한 것이다. 대표적으로 선형 회귀나 트리 계열의 모델들이 있고 이 각각들은 모델 자체적으로 결과를 해석할 수 있도록 해주는 지표들을 제시해준다. 하지만 딥러닝의 경우에는 Black-box 모델이기 때문에 결과에 어떤 요인이 영향을 미쳤는지 알기 위해서는 Attention이나 CAM 모듈을 추가해주어야 한다. 이렇듯 모델 별 해석 방법이 모두 상이한 경우에는 그 중요도에 대해서 모델 간 비교가 힘들다는 단점이 있다. 이에 대한 대안으로서 model-agnostic interpretation method가 나오게 된 것이다. 이 방법은 해석에 대한 초점을 모델 내부 변수가 아닌 입력 및 출력값의 변동에 둔다. 먼저 PDP는 각 변수들이 독립적이라고 가정하고 이들이 변화하는 값에 따른 target 값의 변화를 관찰하는 방법으로 결과를 해석한다. 하지만 관심대상인 변수를 해석하기 위해서 관심대상 외 모든 변수들을 사용하여 기댓값을 취하기 때문에 관심대상 변수에 대한 분포가 고려되지 못한다는 단점이 있다. 이를 보완한 것이 ICE로 이는 관심변수가 변화함에 따라서 예측값의 변화를 전체 훈련 데이터에 걸쳐 보여준다. 그리고 그 변화의 평균값을 구함으로써 변수의 영향력을 가늠할 수 있다. PFI는 관심대상 변수의 데이터를 무작위로 섞어가면서 성능을 측정하고 이를 기존 데이터로 구한 성능과 비교함으로써 변수의 영향력을 측정한다. LIME은 데이터와 모델이 복잡한 경우 이를 전체적으로 해석하기에는 무리가 있기 때문에 국소적인 단위로 해석을 해서 문제를 단순화한 뒤 해석을 제공한다. 다만, 이때 단순화된 데이터에 대한 모델로는 선형 회귀가 제시가 되는데 만일 국소적인 데이터가 비선형적이라면 설명력에 한계를 갖는 단점이 있다. 그리고 모든 모델에 범용적으로 적용할 수 있지만 데이터 종류나 국소적인 데이터를 분석할 모델에 따라서도 내부의 전처리 방식이 달라지기 때문에 agnostic하다는 장점이 가려지는 측면이 있다. SHAP은 게임이론에서 사용되는 shapley value를 활용하여 모델을 해석하는 방법으로 이 분야의 SOTA로서 인정받고 있다. 게임 이론에서는 Additivity, Consistency, Missingness를 모두 갖추어야 공평한 게임이라고 한다. LIME의 경우 super pixel을 랜덤 섞는 과정에서 consistency를 위반하고 해석에 기여한 바가 없더라도 그 효과가 0이 된다는 보장이 없다는 점에서 missingness를 위반한다. 하지만 SHAP는 shapley value를 사용하여 이 세 가지 조건을 모두 충족시킴으로써 LIME의 단점을 보완하게 된다. 지난 학기에 과제를 하면서 모델의 해석하는 방법에 대해서 리서치를 한 적이 있었다. 이 때 SHAP의 경우 관심이 있었지만 조금 이해가 어려웠던 부분들이 있었다. 하지만 이번 민재의 세미나를 통해서 기본적인 방법부터 SHAP까지 장점과 단점 그리고 개선 방향까지 차근차근 알게 되어서 정말 유익했던 것 같다. 정말 방대한 내용이었음에도 이를 잘 정리해서 발표해준 민재에게 감사의 말을 전한다.
금일 세미나 주제는 An Overview of Model-Agnostic Interpretation Methods로 민재형이 진행해주셨다. Model Interpretability에 관한 토픽을 다룬 세미나로 머신러닝 예측 결과를 납득시킬 수 있는 수단에 관한 이야기였다. 세미나의 시작은 모델 해석력의 중요성을 언급하고 해석 가능한 몇 가지 모델을 소개하며 시작되었다. 그리고 모델 종류에 상관없이 해석력을 설명할 수 있는 Model-Agnostic Methods가 오늘 핵심 주제였고, 다섯가지 방법 PDP,ICE,Permutation Feature importance, LIME, SHAP에 대한 설명이 이어졌다.
먼저 PDP와 ICE는 관심 변수가 주어졌을 때, 그 변수에 대한 marginalize를 하여 관심변수와 Target간에 관계를 파악하는 방법론이다.가장 쉬운 방법론이기 때문에 직관적이고 명확한 계산과정에 의해 산출되는 장점을 가지고 있으나, 모든 feature들이 독립이라는 가정과 관심변수, 그 이외의 모든 변수를 고려하며 다 산출하기 때문에 계산량이 많다. 이 때 PDP와 ICE 사이의 차이점은 데이터의 각 관측치별 변수 중요도를 보고 싶은지, 아니면 평균적으로 모든 데이터를 고려한 변수 중요도를 보고 싶은지에 있다. 두 번째로 소개해준 방법론은 Permutation Feature importance로 tree계열 모델의 feature importance 산출 과정과 아이디어가 비슷했다. 핵심은 관심 변수의 정보를 임의로 뒤섞어 섞기 전과 섞은 후의 성능 차이를 관찰하는 것이다. 성능 차이가 많이 날 경우에 해당 변수는 중요한 변수로 인식 될 수 있기 때문에 직관적인 아이디어라 생각이 들었다. 하지만 특정 feature의 변수를 임의로 뒤섞기 때문에 비현실적인 데이터가 발생할 수도 있고, 랜덤한 요소로 섞이다보니 Feature importance가 매번 다른 결과가 나올 수 있다는 단점이 있다. 다음에 설명된 Lime 알고리즘은 해석력이 없는 복잡한 모델이더라도 해석이 가능한 간단한 모델(surrogate 모델)을 사용해 해석을 시도한 방법론이다. 간단한 모델에는 간단한 입력 데이터가 들어가야 하기 때문에 이에 맞는 데이터 전처리 방법을 필요로 한다. 전처리 된 후기존 모델과 대리 모델이 결합된 모델을 다시 학습시켜 최종적으로 surrogate 모델로 해석을 진행해 어떤 원리(변수)로 예측을 진행했었는지 알 수 있는 알고리즘이다. 그리고 마지막으로 소개해준 알고리즘 SHAP은 게임이론의 관점과 LIME을 접목한 알고리즘으로 오늘 소개해준 모델 해석력 알고리즘 중 가장 좋은 것이다. 한 변수의 중요도를 알기 위해 여러 변수들의 조합을 구성하여 라임 알고리즘을 적용하고 평균적인 값들을 이용해 최종 중요도를 산출한다. 이 때문에 효과적인 계산 과정을 거쳐야 하기 때문에 모델 구조별 Kernel, Tree, Deep SHAP 등의 다양한 구조로 단점을 효과적인 계산과 학습을 진행하여 최종 값을 산출한다. 이렇게 다섯가지 알고리즘을 설명한 뒤 실제로 SHAP을 적용한 케이스를 설명하며 세미나가 마무리 되었다. 평소 본인은 실용적인 것에 대해 많은 관심이 있는데 오늘 세미나를 들으며 무척 실용적이다라고 느꼈다. 향후 산업 프로젝트나 개인 연구 부분에 있어서 모델 해석력을 필요로 할 시에 오늘 민재형이 소개시켜주었던 알고리즘을 적용하면 좋겠다 생각하였고, 구현 관점에서 여러 코드나 라이브러리로 잘 구축되어 활발하게 연구되고 있는 분야라고 생각하였다.
이번 세미나는 민재가 ‘An Overview of Model-Agnostic Interpretation Methods’라는 주제로 진행하였다. 모델이 왜 좋은지를 설명해주는 것이 model interpretability이다. Model Interpretability는 자연스럽게 모델의 결과를 사용자에게 납득시켜줄 뿐만 아니라 모델의 전체적인 파이프라인을 개선시키기 위한 수단으로 사용된다. Linear regression, decision tree, tree ensemble과 같은 경우에는 해석이 쉽거나 어느정도 가능하지만 Deep Neural Network같은 경우에는 해석에 어려움이 따르게 된다. 이러한 문제를 해결하기 위해 나온 방법론이 Model-Agnostic Interpretability method이다. 원래의 모델을 black box모델로 보기 때문에 모델의 input과 output을 조절하면서 어떻게 바뀌는지에 대해 해석을 한다. 이러한 방법론에는 PDP, ICE, LIME, Permutation Feature Importance, SHAP등이 존재한다. 그 중에 LIME의 핵심적인 아이디어는 복잡한 데이터에 맞는 모델은 해석이 어려운 부분이 존재하는데 이를 국소적으로 해석함으로써 비교적 해석이 간단한 모델로 근사 시킨다. 이번 세미나를 듣고 모델을 해석하는 방법에 대해 자세히 알아 볼 수 있었고 방법론 하나씩 자세하게 설명해준 민재에게 감사하다는 말을 전하고 싶다.
금일 세미나는 "An Overview of Model-Agnostic Interpretation Methods"라는 주제로 민재형이 진행해주었다. 개인적으로 이번 주제는 내가 관심있는 분야이다. 최근 머신러닝, 딥러닝을 실현시켜줄 수 있는 자원이 개발됨으로 인해서 다양한 산업분야에 예측 모델이 사용되고 있다. 연구실 인원들과 같이 데이터 분석을 전공하는 사람들은 주어진 목표를 위해 최적의 성능을 보여줄 수 있는 다양한 방법론을 연구하고 적용하고 있다. 하지만 프로젝트 파트너나 현업에 종사하고 있는 관계자들은 예측 모델의 성능 뿐만 아니라 모델의 성능이 왜 좋게 나오고 때로는 왜 안좋게 나오는지 이유에 대해서 궁금해하는 경우가 많았다. 예측 모델의 결과에 대해 이유를 분석하고 설명하는 것이 중요하다고 생각되어 해석 가능한 예측 모델은 내가 평소에 관심있어 하는 주제였다. 민재형 발표에서도 역시 모델의 결과를 해석해주는 것이 고객에게 납득을 시킬 수 있는 수단으로서의 의의를 지닌다는 것을 들을 수 있었다. 세미나는 수업시간에도 배웠고 익숙하게 사용했던 의사결정나무나 선형회귀모델에 해석 가능한 방법론에 대해서 설명해주었고, 각 방법론마다 장단점을 설명해주어서 상황에 따라 적절하게 사용할 수 있도록 도와주었다. 또한 모델 해석이 복잡한 블랙 박스 모델을 해석이 용이한 surrogate 모델을 통해 해석하는 방법에 대해서 설명해주었다. 이 방법은 처음 알게된 방법론인데 입력 데이터의 feature 마다 해석을 도출할 수 있어 나중에 꼭 적용해야될 방법인 것 같다. 오늘도 유익한 내용을 이해하기 쉽도록 발표해준 민재형에게 감사하다.
이번주 세미나는 "An Overview of Model-Agnostic Interpretation Methods"라는 주제로 진행되었다. 딥러닝이 발전하면서 좋은 성능을 보여주는데 좋은 성능이 어떻게 나온건지는 알기가 어렵다. 이 좋은성능이 나오게되는 why? 에 대한 답변을 제공하는 능력이 모델해석력(model interpretability)이다. 기존에 해석가능한 모델들인 Linear Regression, Decision Tree, Tree Ensemble Models, Deep Neural Network들이 있는데 이 모델들은 Accuracy와 interpretability동시에 이루기어렵고 모델별 해석방법이 모델에 종속되어 다른 모델간 비교를 함부로 하기어렵다. Model Agnostic Methods는 이 모델들이 어느것이 들어가든 상관없이 input과 output을 조절하여 그 변동에 대해 해석을 한다.
Partial Dependence Plot(PDP)과 Individual Conditional Expectation(ICE)은 해석이 직관적이고 구현이 쉽지만 관측치가 많을 경우 파악하기 어렵고 계산량이 많은 단점들이 있다. Local Interp0retable Model-agnostic Explanations(LIME)은 단일 관측치에 대한 모델 예측값 해석에 대해 초점을 두어 어떤 한 관측치가 어떤 특정 클래스로 구분이 되는가에 대한 답을 줄수 있었다. 계산량도 그렇게 높지 않아 장점도 많지만 데이터 분포가 국소적인 매우 비선형이면 설명력에 한계를 가지고 유연성이 좀 떨어진다. 그래서 최신에 나온것이 Shapley Additive exPlanations(SHAP)이다. DeepSHAP는 모든 class 마다 SHAP값을 갖는다. GradientSHAP는 CLASS를 예측해내는데 있어 어느부분이 큰 기여를 했는지 SHAP의 크고,작음으로 알수있다. TreeSHAP에서 SHAP interaction value를 사용하면 interaction plot과 interaction value plot을 decompose하여 해석할 수 있다. 현재까지 나온 explanation중 Model-Agnostic방법론에서 가장 Explanation model이 가져야 할 좋은 특성을 이론적으로 잘 증명했다라고 표현된다. 매우 어렵고 복잡한 논문을 잘 설명해 준 민재에게 고마움을 표한다.
이번 세미나에서는 예측모델의 판단 로직을 해석하는 여러 방법론이 소개됐다. 머신러닝・딥러닝 알고리즘의 예측 성능은 날로 발달하고 있지만, 모델이 복잡해지는 만큼 '왜 이런 예측을 했는지'를 명확히 알기는 어려워지고 있다. 하지만 실제 산업에서 예측모델을 채택하기 위해선 이 질문에 답하는 것(interpretability)이 필수적이다. 자동화된 모델이 잘못된 예측 및 판단을 했을 때 그 이유를 설명할 수 있어야 하고, 또한 연구자와 기업도 이를 통해 모델의 성능을 개선할 수 있어야 해서다.
세미나 내용에 따르면 초기에 쓰였던 해석 방법론으로는 PDP, ICE, PFI가 있다. PDP, ICE는 특정 관심변수에 따른 타깃값의 변화를 측정하고 시각화하는 방법이다. 때문에 직관적인 이해가 가능하다. 하지만 PDP는 관심변수에 대한 분산이 무시된다는 제약이, ICE는 데이터가 너무 많을 경우 plot을 명확히 보기 어렵다는 단점이 있다. PFI는 관심변수의 값을 뒤섞어 놓았을 때 예측 결과를 살펴봄으로써 해당 변수의 중요도를 판별하는 방법론이다.
이후 고안된 LIME은 linear 모델과 같이 단순한 대리 모델을 이용해 해석하는 방식이다. 기존의 데이터를 대리모델에 맞는 입력값(ex.superpixel)으로 변환해 학습시킨다. 이를 통해 데이터 하나에 대해서도 해석이 가능해졌지만, 데이터 분포가 극히 비선형적인 경우엔 설명에 한계가 있다.
현재는 2017년 제시된 SHAP이 해석 분야에선 가장 성능이 뛰어나고 안정적인 방법론으로 인정 받는 추세다. SHAP은 LIME에 샤플리값을 접목한 알고리즘으로, local뿐 아니라 global 측면에서 변수의 중요도를 찾아내는 장점을 갖고 있다.
이번 세미나를 계기로 explainable AI 분야를 더 공부해봐야겠다는 생각이 들었다. 특히 향후 연구에서 모델 성능 개선에 한계를 느낄 때 이를 활용해 솔루션을 찾을 수 있을 듯해, 매우 유익한 세미나였다.
금주 세미나는 민재가 Model-Agnostic Methods에 대하여 소개해주었다. 딥러닝 알고리즘의 급격한 성장으로 예측 성능은 날로 발전하고 있지만 모델이 복잡해질수록 결과에 대한 해석의 측면에서 어려움을 갖게 된다. 대표적으로 앙상블을 사용하는 알고리즘같은 경우 일반적인 방법으로는 결과의 해석이 불가능에 가깝다. Model-Agnostic Methods는 학습에 사용된 모델의 복잡도에 상관없이 모델의 input과 output의 조절을 통해 결과의 변동을 해석하는 방법론이다. 이 중 PDP는 관심변수 1,2개가 예측 결과에 얼마나 영향을 미치는지를 그 외의 모든 변수들을 integrated out시켜서 확인하는 방식이다. 하지만 이 방법론은 각 변수가 모두 독립이라는 가정이 없다면 예측값의 왜곡이 발생할 수 있다는 단점이 있다. 다음으로 소개한 ICE는 각 관측치별로 관심있는 변수 외의 변수들이 조건으로 주어졌을 때 관심변수와 예측결과의 관계를 파악하는 방식이다. 즉, 관측치마다 관심변수 외의 나머지 변수는 고정되어 있고, 관심변수만 변했을 때 예측결과가 어떤 값을 가질지 구하고 이를 선으로 표현해 관측치마다 겹쳐 그리면 관심변수의 변화에 따른 예측결과의 변동에 대한 전반적인 경향을 확인할 수 있다. 하지만 이 역시 변수 간 독립을 가정하기에 한계가 있다. 이후에 고안된 LIME과 SHAP는 복잡한 모델을 해석이 용이한 모델을 통해 해석을 하는 방식을 취한다. 이 중 SHAP는 게임이론의 알고리즘을 취해 한 변수에 대한 중요도를 여러 변수들의 조합을 구성하여 해당 변수의 유무에 따른 평균적인 변화를 통해 관찰한다. 또한 각 관측치에 대한 Local Explanation뿐만 아니라, 각 변수별 SHAP 평균으로 Global Explanation도 얻을 수 있다.
그간 모델의 해석에 있어 Model-Specific한 해석방법에 대해서만 조금 알고 있었는데 민재의 발표 덕분에 결과의 해석에 대해 많은 연구가 진행되고 있다는 것을 알게 되어 유익했다.
우리가 학습한 머신러닝/딥러닝 모델의 예측 결과를 해석하는 것은 단순히 정확도를 높이는 일만큼이나 중요하다. 오늘 세미나에서는 모델을 설명할 수 있는 일련의 알고리즘들이 소개되었다. 이미지/텍스트는 변수 하나하나가 중요한 의미를 갖지 않지만, 여러 값이 모여 의미를 만들어낸다. 가령 이미지 내 픽셀들이 그러하다. 이번 세미나에서 소개된 LIME 같은 관측치 단위의 해석 모델이 필요한 이유라고 생각한다. SHAP 계열 연구도 상당히 많이 진행되어 있는 것 같은데, 쉽게 가져다 쓸 수 있도록 패키지가 잘 제공되어 있으니 한 번쯤 사용해보면 좋을 것 같다.
이번 세미나는 민재가 XAI를 주제로 여러 approach를 소개해주었다. 모델의 해석력은 모델을 적용하여 실제 문제를 풀고자 하는 사람과 모델을 구현한 엔지니어 양측에 있어 매우 중요한 이슈이다. Linear model, Ensemble(Bagging/Boosting) model과 같은 통계적인 모델들은 모델 해석을 위해 수학적인 이론을 바탕으로 coefficient / feature importance 등의 지표를 사용할 수 있다. 대표적인 black-box 모델인 딥러닝이 각광받기 시작한 이래로 딥러닝의 단점인 해석력을 보완하기 위해 Attention-based approach와 CAM/Grad-CAM과 같은 알고리즘들이 연구되었고, 그 우수성을 입증하였다. XAI 분야는 최근까지도 많은 연구자들이 관심있게 연구하고 있는 분야이고, 나도 관심있게 보고 있는 분야여서 이번 세미나를 흥미롭게 들을 수 있었다. 민재가 소개해준 5개 알고리즘은 Model-Agnostic 알고리즘들로, 관심 변수의 변화에 따른 타겟 변수의 변화를 추적하는 3가지 방식의 접근법(PDP, ICE, Permutation)과 해석을 위해 원본 데이터에 mapping된 local representation data을 사용하여 간단한 구조의 surrogate model을 fitting 하여 해석력을 보완하는 LIME, Shapley value를 사용하여 LIME에서 충족시키지 못했던 협업 게임 이론 관점에서의 3가지 문제점을 해결한 SHAP 방법론의 5가지였다. 또한 SHAP의 변형 형태인 KernelSHAP, TreeSHAP, DeepSHAP, GradientSHAP 등에 대해서도 소개해주었고, 실제로 다양한 형태의 데이터에 적용하였을 때 납득할만한 성능을 보임을 확인하였다. 실제로 산학프로젝트를 할 때 feature importance를 도출하기 위해 모델 선택이 제한되는 경우들이 종종 있었는데, 민재가 오늘 소개해준 방법들은 model-agnostic approach일 뿐만 아니라 패키지로 사용하기 쉽게 구현이 되어있기 때문에 프로젝트에서 적용해볼만할 것 같다. 또한 설명을 들으면서 LIME이나 SHAP은 아이디어가 재밌었고 이런 방법론을 연구해낸 연구자들이 대단하다고 생각이 듦과 동시에 한편으로는 이 알고리즘들도 여전히 개선 포인트가 있을 것이라고 생각도 들었다. 민재가 핵심 내용들을 친절한 예시와 함께 설명해주어 이해하기 쉬웠고 재밌는 연구분야를 소개해줘서 감사한 세미나였다.
이번주 세미나는 "An Overview of Model-Agnostic Interpretation Methods"라는 주제로 진행되었다. X가 투입되었을 때 나오는 Y를 맞출 수 있는 함수. 즉 f(x)를 정확히 만들어 내는 것이 머신러닝과 딥러닝을 포함하는 인공지능의 최종 목표이다. 최근 딥러닝의 발전을 통해 인공지능은 급격한 발전을 거듭했다. 충분한 양의 X와 Y만을 주어주면 인공신경망이 업데이트 되며 스스로 특징을 추출하고 이를 바탕으로 높은 정확도를 가지는 f(x)를 만들어 낸다. 역설적으로 문제는 여기서 생긴다. 인공신경망 스스로 찾아낸 f(x)를 해석할 수가 없기 때문에 가지고 있는 데이터에서는 충분히 높은 정확도를 보이지만, 학습에 참여하지 않은 데이터가 들어왔을 때에도 높은 정확도를 나타낼 수 있는지 신뢰하기 어렵기 때문에 사람의 생명과 직결되거나 심각한 안전 위험성을 만들어 낼 수 있는 분야에 적용하기에는 제한이 있다. 때문에 f(x)가 어떠한 사유로 예측 값을 도출해 냈는지에 대한 해석이 중요한 연구분야로 떠오르고 있다. Shapley additive explanations (SHAP)는 가장 최신의 Model-Agnostic Interpretation Methods이다. SHAP는 복잡한 원래의 모델을 Linear regression과 같은 해석이 용이한 형태의surrogate model 사용하여 각 변수 X를 제거하는 방법으로 각 변수의 중요도를 해석하는 방식을 취한다. 모델을 해석하기 위해 또 해석이 쉬운 모델을 다시 학습시킨다는 아이디어가 머리를 한방 때리는 인사이트가 있는 세미나였다. 발전하는 딥러닝 모델을 더욱 안전하게 그리고 여러 분야에서 널게 사용하기 위해 꼭 이해해야 하는 연구분야라고 느껴졌다. 어려운 내용의 세미나를 이해하기 쉽도록 잘 설명해준 이민재 연구원에게 감사하다는 말을 전한다