XAIの概要を把握する|LIMEとSHAPの手法の確認 #2

f:id:lib-arts:20220409221345p:plain

当シリーズではXAIの研究の概要の把握を行います。#1ではSurveyを元に大まかな体系の確認を行いました。

#2では汎用的に用いることの可能なModel-Agnosticな手法であるLIMEやSHAPに関して、それぞれの論文を元に確認を行います。

[1602.04938] "Why Should I Trust You?": Explaining the Predictions of Any Classifier

[1705.07874] A Unified Approach to Interpreting Model Predictions

以下が目次となります。
1. LIMEの概要
2. SHAPの概要
3. まとめ


1. LIMEの概要

f:id:lib-arts:20220409221857p:plain

上記はLIMEの論文のSection3の冒頭部ですが、LIMEは"Local Interpretable Model-agnostic Explanations"の略であることが確認できます。"agnostic"は#1で取り扱いましたが、「ソフトウェアやハードウェアが特定のシステムに依存しないこと」を意味します。

また、ここでの"local"は「ある特定のサンプルの近傍(vicinity)」という意味であり、関数のテイラー展開と同様に理解すると良いと思います。

f:id:lib-arts:20220409223644p:plain

LIMEの概要に関しては上記のLIMEの論文のFigure.3を確認するとわかりやすいです。赤と青の領域が分類結果の際に、bold体の赤の×の近傍のサンプルの予測結果を元にグレーのdashed lineを学習し、これによって解釈を行います。

f:id:lib-arts:20220409224102p:plain

Figure.3のようなLIMEの学習結果の作成にあたっては、上記で定義されるlocality-aware lossの\mathscr{L}(f,g,\pi_{x})と、gの複雑さ(complexity measures)を表す\Omega(g)を用います。

ここで複雑なfを、特定のサンプルの近傍の予測結果に基づき、linear modelのような単純なgで近似を行うというのがLIMEの概要です。

f:id:lib-arts:20220409225052p:plain

また、特定のサンプルの近傍の値の生成は、上記のように乱数などを用いて近傍の入力を生成し、それをfで予測した結果を元にgの学習を考えます。この考え方は摂動(perturbations)と表されることも多いので抑えておくと良いと思います。

ここまでの内容を元に、LIMEの手順をまとめると下記のようになります。

① 摂動によって特定のサンプルの近傍の入力値を作成
② 解釈対象のfを用いて入力値を予測
③ ①で生成した入力と②で生成した出力の組を元に、locality-aware lossの\mathscr{L}(f,g,\pi_{x})とcomplexity measuresの\Omega(g)を基準にgfの近似を行う

f:id:lib-arts:20220409230120p:plain

また、locality-aware lossで用いられている\pi_{x}は上記で示されるように、①でxから摂動によって生成されたzxとの類似度(proximity measure)を表すと理解すると良いです。

ここまでの内容でLIMEの手順について確認を行いましたが、LIMEの概要をまとめるなら「複雑なfを特定のサンプルxの近傍のzの予測結果f(z)を元に、シンプルな関数gを学習し、gを元にfの解釈を行う」と理解すると良いと思います。


2. SHAPの概要

f:id:lib-arts:20220409233204p:plain

上記がSHAPの論文のAbstractですが、SHAPは"SHapley Additive exPlanations"の略で、ゲーム理論におけるShapley Valueの知見を元に特徴量に関して加法的な(additive)説明を行うというのがSHAPの概要です。

additiveと表されると難しく見えますが、単にlinear model以外もlinear modelのように\displaystyle y = b_0 + \sum_{i=1}^{n} b_i x_iの形式で統一的に取り扱えるようにShapley Valueの考え方を活用すると理解すれば良いです。

当記事ではまずSHAPの基盤の考え方であるShapley Valueに関して確認します。

f:id:lib-arts:20220409235047p:plain

Shapley Valueに関しては上記の論文(4)式が理解できれば十分だと思います。式は複雑に見えますが、表記を1つ1つ確認すればそれほど難しくありません。まず、S, Fに関してはFが全ての特徴量の集合を表し、Sはその部分集合(subsets)を表します。

また、f_{S \cup \{i\}}(x_{S \cup \{i\}}) - f_{S}(x_{S})Sで表した特徴量に特徴量iを加えた際に予測値がどのように変化するかを表します。ここで部分集合Sに特徴量iを加えることから、\displaystyle \sumの下ではi以外のFに含まれる部分集合Sを用いるとされていることに注意が必要です。

さらに|S||F|はそれぞれの特徴量の要素の数を表すことから、\displaystyle \frac{|S|!(|F|-|S|-1)!}{|F|!} = \frac{1}{|F| \times {}_{|F|-1} C_{|S|}}Sの選び方が多い|S|に補正をかけると理解すれば良いです。

このように特徴量iの効果の\phi_i(4)式のような重み付け和によって計算することで、それぞれの特徴量の効果の計算を行います。

f:id:lib-arts:20220409235911p:plain

それぞれの計算の結果は上記のFigure.1のように図示されます。このように考えることでlinear model以外の手法を用いていてもlinear modelのような解釈を行うことができ、大変有用です。


3. まとめ
#2ではLIMEとSHAPに関して取り扱いを行いました。
#3ではDeepLearningに関するXAIの手法に関して取り扱いを行います。