本記事はQrunchからの転載です。
モデルの予測結果を説明する方法としてLIMEがあります。 LIMEはディープラーニングに限らず、任意のモデルに対して予測結果を適用することができます。 また手法としては結構有名かと思います。
今回はそんなLIMEの理論について説明します。
論文:“Why Should I Trust You?” Explaining the Predictions of Any Classifie
LIMEの戦略
任意のモデルに入力が与えられたときの予測結果への特徴量の寄与を求めることを考えます。
LIMEでは近傍(近傍については後述)に対してはと同じような予測をすることができる、かつ解釈が容易なモデルを求めます。 例えばが線形モデルの場合には、の各係数を見ることで特徴量の寄与を得ることが可能です。あるいはが決定木であれば、人間でもある程度容易にモデルの解釈が可能です。ですから、このようなモデルをの代わりに使って、予測結果の解釈をしようというモチベーションです。 ただし、LIMEではには特徴量の値がかとなるベクトルが入力として与えられるものとします。これは何らかのルールでの要素との要素が対応づいているとします。ここも詳細をあとで述べます。 以上のように、解釈が難しいモデルを解釈が容易なモデルに落とし込むことがLIMEのやりたいことになります。
実際にどうやってを求めるのかといえば、次式のようになります。
ここで、
- は損失関数です。近傍での予測値がの予測値に近いと、小さくなるようにを定義します。
- は損失関数で使われる重みで、の近傍点がから遠いほど小さい値を取るようにします。詳細は後述する線形モデルの項を参照。
- はモデルの複雑さとなります。決定木を使う場合には木の深さであったり、線形モデルの場合には非ゼロの重みの数になります。モデルを解釈するためには、モデルはシンプルな方が良いため、を加えることでをなるべく人間にやさしいモデルにしてあげます。
まだ色々と詳細を述べていないため、わからないところは多々あると思いますが、上式はなるべくシンプルなモデルでの近傍でと近似するを見つけるといったことを意味します。 この局所的に近似されたが得られれば、近傍での特徴量がへ与える寄与がわかる、つまりへ与える寄与が近似的にはわかります。
次に画像の場合のケースについて、詳細に踏み込みます。
画像に対する線形モデルでのLIME
superpixel
画像にLIMEを適用する場合、まず次のように入力画像をsuperpixelに分割し、領域ごとに寄与を求めていきます。
引用元:https://towardsdatascience.com/understanding-how-lime-explains-predictions-d404e5d1829c
実際には上記のようにある程度細かく領域を分けますが、以下では例として扱いやすいように次のような画像を考えて、粗く領域を分けていきます(左がオリジナルのくまモンで、右がsuperpixelに分割されたくまモンです)。
各領域をに与える入力の各要素に対応させます。例えば1番の領域がの1番目の要素、2番が2番目の要素のようにします。その上で、の各要素が1のときには対応する領域のピクセルがと同じピクセル値、0のときにはその領域がグレーで埋められた画像と対応していると考えます。 具体的には としたとき、3番目と4番目だけが1ですので、このに対応した画像は次のようになります。
近傍のサンプリング
LIMEでは の近傍のサンプリングをおこないます。 画像の場合に近傍とはどうなるんでしょうか?直感的には謎じゃないでしょうか。
LIMEの場合には分割された領域のうち、適当な個数(個数もランダムに決めますが、個数の下限は決めておきます)をそのままにし、それ以外をグレーに置き換える処理をします。 の話でいえば、適当な個数の要素については1とし、それ以外は0とする処理に等しいです。
このようにして得られた画像をの近傍として扱います。またこのようにして近傍を得ることを、近傍のサンプリングとします。 先程示したに対応した画像もの近傍になります。
線形モデルのケース
が線形モデルの場合にはは次のようになります。
線形モデルの係数(寄与)を求めるため、次のように損失関数を定義します。 ここでは以下のとおりです。 は近傍の画像をあらわし、は先程まで説明していた(に対応する)と同じものです。はサンプリングされたとのペアになります。
上式の意味合いとしては、近傍画像の学習済みモデルでの予測値と解釈が容易なモデルが近い値になるようにを学習していきます。
また、の存在のため、がに近ければ(=近傍が入力画像に近い)二乗誤差がに与える影響は大きいですが、一方でがと大きく異なれば(=近傍が入力画像と大きく異なる)、がに与える影響が小さくなります。 よりに近いに関してはが良くに近似されるべきですので、このように重み付けされているのは分かる話かと思います。
なお論文中ではLasso回帰としてを解いています。
LIMEの実験結果
実験結果は他の方のブログなどで散々書かれていますので、そちらを参考ください(力尽きました)。