Anchors - High Precision Model-Agnostic Explanations
- Anchor는 쉽게 생각하면 Blackbox 모델의 특정 Instance에 대한 설명을 If-Then 형태의 Rule 형태로 설명한다고 보면 된다.
- Anchors는 기존 Blackbox Model을 최대한 적게 호출하기 위해서, graph search algorithm와 Reinforcement learning techniques (MAB)를 적절히 활용한다.
- Rule이라는 것이 하단의 그림처럼 Feature에 기반해서 범위 형태로 설명하기 때문에 현재 가지고 있지 않은 데이터에 대해서도 설명을 제공할 수 있다는 장점을 가지고 있다. 그래서 재사용이 가능하다.
- LIME처럼 설명하고자 하는 Instance \( x \)의 Neighborhood를 Perturbation을 통해서 생성하고 이를 기반으로 Rule(Anchor) 를 구축해나간다.
- Anchor \(A\)는 다음과 같이 정의된다 → \( E_{D_x(z|A) }[1_{\hat{f}(x) = \hat{f}(z) }] \ge \tau, A(x) = 1\)
- Anchor의 경우 설명하고자 하는 인스턴스 \(x\)가 있고 \(A(x)=1\)은 Rule A가 있을 때 x의 Feature와 Rule A의 Feature값이 모두 부합될 때 이다. 이 때 \(D_x(\cdot|A)\)은 Rule A에 Matching되는 \(x\)의 Neighborhood의 Distribution인데 이 Distirbution의 기댓값이 특정 \(\tau\)라는 threshold를 넘어야 \(A(x)=1\)로 간주한다.
Finding Anchors
- Probabilistic Defintion as follows:
- \( P(prec(A) \ge \tau ) \ge 1- \delta \hspace{0.3cm} with \hspace{0.3cm} prec(A) = E_{D_x(z|A)}[1_{\hat{f(x)}=\hat{f(z)}}] \)
- Coverage: \( cov(A) = E_{D_{(z)}}[A(z)] \)
- Coverage를 Maximization할 수 있는 Anchor를 찾아야 한다.
\( \underset{A:\textrm{s.t.};P(prec(A)\geq\tau)\geq{}1-\delta}{\textrm{max}}cov(A) \)
Approach
- Candidate Generation: \(x\)의 Feature별로 Candidate을 만듬, 10개의 Feature면 10개의 Candidate(Rule)이 우선 마들어짐. 매번 Round마다 Best Candidate에 이전에 포함되어 있지 않던 Feature를 추가시키면서, Candidate를 만듦.
- Best Candidate Identification: \(x\)를 가장 잘 설명하는 Candidate을 찾기 위해 Candidate 간에 비교가 이뤄짐 . 이 작업을 위해서 모델을 계속 Call해야 함. 이 때 실행횟수를 최소화하기 위해서 MAB(Multi Armed Bandit) 사용
- Candidate Precision Validation: 정해놓은 \(\tau \)를 초과할 때까지 계속적으로 이 작업을 반복한다.
- Beam Search와 MAB를 적절히 이용해서 기존 Blackbox Model 호출을 최소화하면서 Best Anchor들을 찾는다.
- Beam Search는 $FeatureCount(x)$ 만큼 진행이 됨.
Advantages & Disadvantages
Advantages
- easy to interpret
- Anchor는 부분집합을 별도로 표기할 수도 있음 → A1) A>X, B>Y, A2) A>X, 이런 식으로 각각 설명할 수 있고 이에 따른 Coverage나 Importance도 설명할수 있음
- 그리고 강화학습을 쓰기 때문에 Surrogate Model 대비 Underfitting Issue도 없고, 설명하고자 하는 데이터와 neighborhood역시 비선형이어도 이슈없이 작동함
- model-agnostic
Disadvantages
- 대부분의 Perturbation 모델이 그렇듯이 설정해야할 Parameter가 매우 많다. (Beam Serach에서 Hyperparameter 등)
- 때로는 결과가 너무 디테일할 수 있어서, Discretization이 필요할 수 있음
- ML Model에 대한 많은 호출이 요구된다. MAB를 쓴다고 해도, 모델의 성능에 대한 의존도가 높음
- Coverage의 정의가 여전히 특정 도메인(이미지) 등에서는 명확하지 않다.