logo logo

February 24, 2019 05:19

論文要約:A Unified Approach to Interpreting Model Predictions

動機

  • LIME論文(要約記事)を読んだので、より包括的に議論しているSHAPについても興味を持った
  • 読んでみるとLIME論文よりもLIMEのことがよくわかる気がした(幾分理論目線に書いてくれているので個人的に読みやすかった)

要約

  • 最近、説明性関連の論文で話題になっているLIME、DeepLIFTなどは、Additive Feature Attribution Method(バイナリーベクトル空間で線形モデルを構築し、分類平面の法線ベクトルを用いて主要なパラメータ箇所を議論する手法群という理解)という枠組みで統一的に理解できる
  • Additive Feature Methodでは、3つの良い性質を備えた線形モデルを一意に定めることができ、Shapley valueと呼ばれる
  • 例えばLIMEでは、特定の損失関数、カーネル、罰則項を定義した時にこのShapley valueと同一の結果を得られ、その場合は必然的に3つの性質を満たすことができる
  • Shapley valueの厳密な計算を行うことは多くの場合計算コストが高くつき、従って種々の近似方、アルゴリズムで計算すると高速に近似することができる(その手法も提案されている)

本論&主要結果

説明可能表現については以前の記事でまとめたので省略。
Additive feature attribution MethodというのはLIMEやDeepLIFTに共通する手法で、まずはこれがストーリーライン上重要。

Additive feature attribution method

バイナリーベクトル空間$z' \in \{0, 1\}^{M}$における線形モデル
$$g(z’) = \phi_{0} + \sum _{i=1}^{M}\phi _{i}z’ _{i}$$
の係数$\phi _{i}$を$i$番目の特徴量$z' _{i}$の重要度とみなす手法群

Shapley valueが満たす3つの性質

$\phi _{i}$は、以下のように決めると、望ましい以下の3つの性質を満たす。この形は3つの性質を満たす唯一の形である。
$$\phi _{i}(f, x) = \sum _{z' \subseteq x'} \frac{|z!|(M - |z'| - 1)!}{M!}(f _{x}(z') - f _{x}(z'\backslash i))$$

  • 性質1:局所正確性の担保

$x = h_{x}(x')$である時、
$$f(x) = g(x')$$
つまり、$g$の入力として説明表現空間で$x$の情報を完全に持った元を選べば、元のモデルの予測値と完全に同じになる

  • 性質2:欠損情報の無意味性の担保

$x' _{i}$を常に0として情報欠損させた時、その場合の対応する$\phi _{i}$は必ず0になる。
これは数式からも明らかに成り立つ性質だし、直感的にもそうなって欲しい

  • 性質3:オリジナルモデル比較との一貫性の担保

あるモデルで重要性の高い因子は、対応するAdditive feature attribution methodでの線形モデルでの重要性も相対的に高くなるという性質。つまり、$f' _{x}(z') - f' _{x}(z' \backslash i) \geq f _{x}(z') - f _{x}(z' \backslash i)$が任意の入力元$z' \in {0, 1}^{M}$で成り立つのであれば、

$$\phi _{i}(f',x) \geq \phi _{i}(f, x).$$

仮定強すぎ・・・

SHAP valueの計算方法

上の3つの当然成り立っていて欲しい性質を備えるSHAP valueだが、計算をするには総和を取るためのサンプリングが計算資源的に現実的でない場合がありそう。そこで近似値を求めることになるが、論文の後半ではモデル毎に効率的な計算アルゴリズムを提案しており、なんとも丁寧な研究という印象。個人的にはSHAP valueとLIMEアルゴリズムとの関連性に興味があったので、p.5のKernel SHAPという手法だけメモを残しておく。

実は、Additive feature attribution法であるLIMEアルゴリズムにおいて、以下の特定の罰則項、カーネル関数、損失関数を定義することでSHAP valueと同一の値を得ることができ、必然的に3つの性質を満たすことができる。それは以下のような形。

$$
\Omega(g) = 0, \\
\pi _{x}(z') = \frac{(M-1)}{{} _{M} \mathrm{C} _{|z'|}|z'|(M-|z'|)}, \\
L(f, g, \pi _{x'}) = \sum _{z' \in \mathcal{Z}}(f(z') - g(z'))^{2}\pi _{x'}(z^{'}),
$$

サプルメンタルには証明が与えられている。
これをみると使用者の責任も自由度も低いSHAP、責任も自由度も高いLIMEという感じがする。(SHAPではLIMEで決めるべきパラメータや目的関数が3つの性質を満たすべきという要請で絞られるという考え方ができる。)

まとめ

  • Additive feature attributionという枠組みにおいて、3つの性質(局所正確性、欠損情報の無意味性、オリジナルモデル比較との一貫性 )を担保する係数ベクトルは一意に定まる(SHAP value)
  • SHAP valueはLIMEアルゴリズムにおいて特定の罰則項、カーネル、損失関数を定めることに対応している。
  • データ解像度の設定問題は、SHAPにしたからといって解決する訳ではない。なんの指針もないのであればSHAPを使う方が幾分でもリーズナブルかもしれないが、説明の階層性を意識した解析を行いたいなどのモチベーションがあれば、LIMEの方が自由度が高い分扱いやすいかもしれない。