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\)로 간주한다.
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들을 찾는다.
Member discussion