LIME : “Why Should I Trust You?”

minyoungxi·2023년 7월 4일
1

https://arxiv.org/pdf/1602.04938.pdf

본 논문에서는 LIME(Local Interpretable Model-Agnostic Explanations)이라는 새로운 설명 기법을 제안합니다. LIME의 주요 목표는 예측 주변에서 로컬로 해석 가능한 모델을 학습하여 해석 가능하고 충실한 방식으로 모든 분류기의 예측을 설명하는 것입니다.

Abstract

Despite widespread adoption, machine learning models remain mostly black boxes

In this work, we propose LIME, a novel explanation technique that explains the predictions of any classifier in an interpretable and faithful manner, by learning an interpretable model locally around the prediction.

We show the utility of explanations via novel experiments, both simulated and with human subjects, on various scenarios that require trust: deciding if one should trust a prediction, choosing between models, improving an untrustworthy classifier, and identifying why a classifier should not be trusted. </ span>

현재 머신러닝 모델들은 대부분 블랙박스 모델입니다. 본 논문은 모델의 예측 근거를 이해하는게 매우 중요하다고 언급하며 모든 classifier의 예측에 대해 적용될 수 있는 LIME 기법을 제안합니다.

Introduction & The Case For Explanations

It is important to differentiate between two different (but related) definitions of trust: (1) trusting a prediction, i.e. whether a user trusts an individual prediction sufficiently to take some action based on it, and (2) trusting a model, i.e. whether the user trusts a model to behave in reasonable ways if deployed.

In this paper, we propose providing explanations for individual predictions as a solution to the “trusting a prediction” problem, and selecting multiple such predictions (and explanations) as a solution to the “trusting the model” problem.
Our main contributions are summarized as follows.

  • LIME, an algorithm that can explain the predictions of any
    classifier or regressor in a faithful way, by approximating
    it locally with an interpretable model.
  • SP-LIME, a method that selects a set of representative
    instances with explanations to address the “trusting the
    model” problem, via submodular optimization

머신러닝 모델들은 많은 성과를 거두고 있지만, 사용자가 납득할 수 있는 설명을 제시하지 못한다면 모델을 사용하기 어려울 것입니다.

저자들은 Trust ( 신뢰 )에 대해서 다음과 같이 두 가지 정의를 내립니다.

  1. 개별 예측값에 대한 신뢰 ( Trusting a prediction )
    1. 사용자(user)가 모델의 예측을 참고하여 행동으로 옮길 만큼 충분히 신뢰하는지
  2. 모델에 대한 신뢰( Trusting a model )
    1. 모델이 real-world data에 대해서도 정상적으로 작동할 지에 대해서 사용자가 충분히 납득할 수 있는지

위의 두 신뢰는 인간이 모델의 예측에 대해 이해하는 정도에 따라 영향을 받습니다.

본 논문에서는 이렇게 정의한 두 가지 신뢰에 대한 설명(Explanation)을 제시하는 알고리즘을 제안합니다.

LIME(Local Interpretable Model-agnostic Explanations)은 개별 예측값에 대한 설명을 제시하며

SP-LIME(Submodular Pick - LIME)은 서브모듈러 최적화를 통해 설명 가능한 대표적인 예시들을 뽑아 모델을 신뢰할 수 있게 만드는 방법입니다.

저자는 텍스트(예: 랜덤 포레스트) 및 이미지 분류(예: 신경망)에 대한 다양한 모델을 설명하여 이러한 방법의 유연성을 보여줍니다.

The process of explaining individual predictions is illustrated in Figure 1

예측에 대해 설명하는 것 ( ‘Explaining a prediction’ )이란 문장 내 단어들 또는 이미지 내 패치같은 구성요소들과 모델의 예측 사이의 관계를 이해할 수 있는 양질의 시각 정보를 제공하는 것으로 볼 수 있습니다.

제시된 그림은 모델에서 Flu (감기)라고 판단하고 LIME은 Flu라는 예측에 대한 근거가 되는 증상을 하이라이트하여 보여줍니다.

다음은 단어의 연관성에 대한 예시입니다.

“Atheism”이라는 단어를 판단하는 근거로 Posting, Host, Re와 같이 관련없는 단어들을 제공한 것처럼 단순히 정확성에 의존하는 모델은 신뢰할 수 없습니다.

Explainer

논문에서는 설명에서 필요한 특성 (Desired Characters)을 다음과 같이 정리하였습니다.

1) interpretable; 입력과 그 결과를 “사용자가 이해할 수 있는” 설명을 제공해야 한다.

2) local fidelity; 유사한 데이터에 대해서는 유사한 설명이 이뤄져야 한다.

3) model-agnostic; 어떤 형태의 모델에도 적용할 수 있어야 한다.

4) global perspective; 모델에 대한 전반적인 설명이 필요하다.

LOCAL INTERPRETABLE MODEL-AGNOSTIC EXPLANATIONS

Interpretable Data Representation

Before we present the explanation system, it is important to distinguish between features and interpretable data representations.

저자는 feature와 interpretable data representations를 구분지어야 하는 것을 강조합니다.

Blackbox 모형을 해석하기 위해서는 사람이 해석할 수 있는 데이터 형태로 표현되어야 될 것입니다.

실제로 모델에 input 값으로 주어지는 feature와 별개로 인간이 해석할 수 있는 데이터 형태로 나타내는 것을 Interpretable Data Representations이라고 부릅니다.

예시

  • 텍스트 데이터 : 단어의 유무를 나타내는 binary vector ( 모델에는 word embedding 결과 등이 feature로 이용될 수 있다 )

  • 이미지 데이터 : 이미지상 비슷한 부분의 유무를 나타내는 binary vector

  • 테이블 데이터 : 연속형의 경우 feature와 동일하며, 범주형의 경우 각 변수의 수준별 유무를 나타내는 binary vector

xRd : 설명되는 데이터에 대한 기존의 표현

x′∈{0,1}d′ : 인간이 해석할 수 있는 데이터 표현

Fidelity-Interpretability Trade-off

Fidelity

논문의 핵심으로 , 데이터 공간의 전체에서 모형을 설명하는 것은 어렵지만 국소적인 데이터 공간 ( 설명하고자 하는 데이터와 가까운 거리에 있는 공간) 에서는 의미 있는 모형으로 설명할 수 있다.

위의 그림을 보면 굵은 빨간 십자가가 설명하고자 하는 데이터이고 , 검은 점선은 explanation입니다. 검은 점선을 전체 모형의 관점에서 본다면 우측의 빨간점 3개와 좌측의 파란점 2개를 설명할 수 없습니다. 하지만 국소적인 공간에서 검은 점선을 살펴보면 완벽하게 빨간 십자가와 파란점을 구분할 수 있을 것입니다.

Interpretability

국소 공간 ( local )의 explanation이 전체 공간을 설명할 수는 없습니다. 왜냐하면 국소적으로 중요한 feature가 전체 공간에서는 중요하지 않을 수 있고, 반대의 상황도 발생할 수 있기 때문입니다.

반면에 전체 공간의 explanation은 국소 공간을 설명할 수 있지만, 이는 모형의 복잡성 때문에 해석(interpretabilty)하기 어렵습니다.

따라서 local fidelity를 너무 신경쓰면 interpretability는 개선되지만 global fidelity는 확신할 수 없게 됩니다. global fidelity에 중점을 두면, local fidelity와 interpretability는 감소하게 됩니다. 논문에서는 이를 fidelity-interpretability Trade-off 라고 표현했습니다.

Interpretability와 Local fidelity 모두를 반영할 수 있는 explanation을 찾는 과정은 다음과 같이 요약할 수 있습니다.

마지막 LIME 식은 Interpretability와 Local fidelity를 모두 충족시키는 Explanation g를 찾기 위한 최적화 문제에 대한 정의라고 볼 수 있습니다.

  • 정리 : 해석가능성(Interpretability) 과 국소적 신뢰도(Local fidelity) 두 가지를 보장하기 위해 복잡성인 Ω(g)를 인간이 해석가능 할 정도로 최대한 낮추면서 L을 최소화해야 합니다.

Sampling for Local Exploration

We want to minimize the locality-aware loss L(f, g, πx) without making any assumptions about f, since we want the explainer to be model-agnostic.

Local Explanation을 생성하기 위해서는 데이터가 필요합니다. 각 데이터들의 종류마다 차이가 있지만 공통적으로 설명하고자하는 데이터에서 약간의 변화를 주고 어떤 feature가 변했을 때 결과가 크게 변하면, 모델에 영향을 많이 준다는 것입니다.

LIME의 M인 Model-agnostic 은 모델에 상관없이 local explanation을 생성하는 것이 목적입니다. 따라서 모델에 특정 모델을 가정하지 않고 진행합니다.

데이터별로 perturbed sample을 구체적으로 살펴보면

텍스트 데이터의 interpretable space는 어떤 단어의 유무를 나타내는 binary vector입니다.

‘i like a dog’라는 문장이 있다면 perturbed sample은 ‘i like’, ‘i a dog’, ‘i like dog’, ‘i dog’ 등이 됩니다.

a possible interpretable representation for text classification is a binary vector indicating the presence or absence of a word, even though the classifier may use more complex (and incomprehensible) features such as word embeddings

이미지 데이터의 interpretable space는 super-pixel의 유무를 나타내는 binary vector입니다. 슈퍼 픽셀 중 몇 개를 랜덤하게 뽑고, 뽑히지 않은 부분은 회색으로 가린 곳이 perturbed sample이 됩니다. 이를 input으로 넣고 f에 넣으면 활성화된 부분 중 어떤 부분이 결과에 큰 영향을 주었는지 알 수 있습니다.

a model that predicts sepia-toned images to be retro cannot be explained by presence of absence of super pixels.

Sparse Linear Explanations

Local explanation이 모든 x’ interpretable representation으로 구성되어 있다면 데이터가 복잡한 경우 큰 도움이 되지 않을 것입니다. 따라서 사용자가 감당할 수 있을 representation의 수(Sparse)만큼 representation을 선택하고 , 선택한 것을 이용해서 linear model에 적합합니다.

we let πx(z) = exp(−D(x, z)2/σ2) be an exponential kernel defined on some distance function D (e.g. cosine distance for text, L2 distance for images) with width σ

또한 원래 모델과 유사하게 학습시키기 위해서 생성한 랜덤 데이터들의 가중치 파이를 거리에 따라 다르게 두어 최대한 원 모델과 비슷하게 학습시킬 수 있게 하였습니다.

설명하고자 하는 샘플과 유사한 데이터들을 생성하기 위해서 원본 데이터에 각 attribute를 포함할지 제외할지를 1 또는 0으로 표현한 binary mask인 z′={0,1}d′ 를 생성합니다.

이때 가중치는 다음과 같고 D는 task에 따라 정의되는 x,z 사이의 거리를 나타내는 임의의 함수입니다.


SUBMODULAR PICK FOR EXPLAINING MODELS

Submodular pick은 설명에 요구되는 특성 중 4) global perspective를 표현하기 위한 방식입니다. 입력 값 중에서 어떤 set이 결정에 중요한지를 표현해서, 특히 vision 데이터에 대해서 한 눈에 알아볼 수 있도록 설명할 수 있다는 장점이 있습니다.

n개의 샘플 X = x1, x2, x3 … 에 대해서 학습시킨 각각의 gi 함수들의 weight를 바탕으로 최종적인 global importance를 생성합니다. weight를 matrix로 표현한 것을 explanation matrix Wij로 표현하는데, i는 각 샘플 j는 각 attribute를 의미합니다. explanation matrix를 기반으로 , 각 attribute의 중요도입니다. (논문에서는 feature importance로 표현합니다.)

행(row)마다 다른 샘플으로 각각 2개씩의 attribute를 중요하다고 판단하였습니다. 이 때 열(column)기준으로 보면 f2인 점선으로 표현된 부분이 가장 빈번하게 중요하다고 판단됨을 알 수 있습니다. feature importance가 높은 순으로 총 B 개의 attribute를 선택하여 set을 구성합니다.

Result

XAI 방법은 그 성능을 증명하기가 어렵다는 점에서 한계가 있습니다.

가장 중요한 특성이 “user의 수준에 맞는 설명”이기 때문에 설명을 잘했는지 못했는지를 객관적으로 입증하기가 어렵습니다. 대부분 정성적인 방식으로 Amazon Mechanical Turk (AMT)를 통해 우수성을 입증합니다. 이를 제외하고, 이 논문에서 흥미로웠던 실험은 객관적인 결과를 보여주기 위해 중요한 attribute들로 학습시킨 성능을 report했다는 점입니다. LIME의 결과로 중요도가 높은 attribute를 최대 10개 이용하여 모델을 학습시킨 후 그 성능을 비교하였습니다.

즉, LIME이 중요하다고 선정한 Feature들과 기존 설명가능 방법론들이 선정한 Feature이 90%이상의 재현율(recall)을 보였다는 것입니다.

논문의 마지막에서는 허스키에 대해서 늑대로 분류한 경우의 원본 사진 (a), 이 때 모델은 흰 눈 배경을 중요하다고 보았습니다. 이러한 설명을 통해 모델의 취약점을 파악하고 딥러닝 모델의 수정 및 개선도 기대할 수 있다는 insight를 주었습니다.

Insight

이 논문이 2016년에 나왔으니 XAI와 관련된 논문은 현재 훨씬 더 많고 성능이 개선되었을 것입니다.

저는 XAI를 이제 막 공부하기 시작해서 필수적이고 중요한 논문인 LIME을 읽었는데요.

본 논문 리딩을 통해 조금 더 공부가 필요하다고 느낀 부분은 Feature importance에 관련된 파트입니다. LIME도 결국 user에게 맞는 Feature의 중요도를 통해 모델링을 하는 것이기에 피처 중요도에 관한 논문 리딩도 필요할 것 같습니다.

profile
초심!!

0개의 댓글