XAIの概要を把握する|LIMEとSHAPの手法の確認 #2
当シリーズでは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の概要
上記はLIMEの論文のSection3の冒頭部ですが、LIMEは"Local Interpretable Model-agnostic Explanations"の略であることが確認できます。"agnostic"は#1で取り扱いましたが、「ソフトウェアやハードウェアが特定のシステムに依存しないこと」を意味します。
また、ここでの"local"は「ある特定のサンプルの近傍(vicinity)」という意味であり、関数のテイラー展開と同様に理解すると良いと思います。
LIMEの概要に関しては上記のLIMEの論文のFigure.3を確認するとわかりやすいです。赤と青の領域が分類結果の際に、bold体の赤の×の近傍のサンプルの予測結果を元にグレーのdashed lineを学習し、これによって解釈を行います。
Figure.3のようなLIMEの学習結果の作成にあたっては、上記で定義されるlocality-aware lossのと、の複雑さ(complexity measures)を表すを用います。
ここで複雑なを、特定のサンプルの近傍の予測結果に基づき、linear modelのような単純なで近似を行うというのがLIMEの概要です。
また、特定のサンプルの近傍の値の生成は、上記のように乱数などを用いて近傍の入力を生成し、それをで予測した結果を元にの学習を考えます。この考え方は摂動(perturbations)と表されることも多いので抑えておくと良いと思います。
ここまでの内容を元に、LIMEの手順をまとめると下記のようになります。
① 摂動によって特定のサンプルの近傍の入力値を作成
② 解釈対象のを用いて入力値を予測
③ ①で生成した入力と②で生成した出力の組を元に、locality-aware lossのとcomplexity measuresのを基準にでの近似を行う
また、locality-aware lossで用いられているは上記で示されるように、①でから摂動によって生成されたのとの類似度(proximity measure)を表すと理解すると良いです。
ここまでの内容でLIMEの手順について確認を行いましたが、LIMEの概要をまとめるなら「複雑なを特定のサンプルの近傍のの予測結果を元に、シンプルな関数を学習し、を元にの解釈を行う」と理解すると良いと思います。
2. SHAPの概要
上記がSHAPの論文のAbstractですが、SHAPは"SHapley Additive exPlanations"の略で、ゲーム理論におけるShapley Valueの知見を元に特徴量に関して加法的な(additive)説明を行うというのがSHAPの概要です。
additiveと表されると難しく見えますが、単にlinear model以外もlinear modelのようにの形式で統一的に取り扱えるようにShapley Valueの考え方を活用すると理解すれば良いです。
当記事ではまずSHAPの基盤の考え方であるShapley Valueに関して確認します。
Shapley Valueに関しては上記の論文式が理解できれば十分だと思います。式は複雑に見えますが、表記を1つ1つ確認すればそれほど難しくありません。まず、に関してはが全ての特徴量の集合を表し、はその部分集合(subsets)を表します。
また、はで表した特徴量に特徴量を加えた際に予測値がどのように変化するかを表します。ここで部分集合に特徴量を加えることから、の下では以外のに含まれる部分集合を用いるとされていることに注意が必要です。
さらにやはそれぞれの特徴量の要素の数を表すことから、はの選び方が多いに補正をかけると理解すれば良いです。
このように特徴量の効果のを式のような重み付け和によって計算することで、それぞれの特徴量の効果の計算を行います。
それぞれの計算の結果は上記のFigure.1のように図示されます。このように考えることでlinear model以外の手法を用いていてもlinear modelのような解釈を行うことができ、大変有用です。
3. まとめ
#2ではLIMEとSHAPに関して取り扱いを行いました。
#3ではDeepLearningに関するXAIの手法に関して取り扱いを行います。