Slide 1

Slide 1 text

LIME & SHAP -機械学習モデルによる予測結果の説明性- 2018-05-19 @ PyCon mini Osaka 2018

Slide 2

Slide 2 text

⾃⼰紹介 Miyauchi Takashi (@hightensan) ⼤阪⼤学⼤学院 M2 Web Data Mining #Python #Twitter #AWS #機械学習

Slide 3

Slide 3 text

もくじ #1 説明性(Interpretability) is 何? #2 LIME #3 SHAP #4 Tutorials on Jupyter #5 まとめ

Slide 4

Slide 4 text

#1 説明性(Interpretability) is 何?

Slide 5

Slide 5 text

## 背景 機械学習モデルの複雑化・ブラックボックス化 – Deep Learning, アンサンブル学習 – モデル⾃⾝や出⼒の結果が⼈間にとって解釈困難 予測はできたけど,信頼できるの? – 何を根拠に判断を⾏っているのかよくわからん – “The problem is that a single metric, such as classification accuracy, is an incomplete description of most real-world tasks.”1 ※ https://arxiv.org/abs/1702.08608

Slide 6

Slide 6 text

## 背景 機械学習モデルの説明性に関する要求の⾼まり – ICML 2017 Tutorial “Interpretable Machine Learning” – Workshops ICML@2018, 2017, 2016 NIPS@2017, 2016 – 総務省 AI開発ガイドライン案 ・透明性の原則 ・アカウンタビリティの原則 ※ http://people.csail.mit.edu/beenkim/papers/BeenK_FinaleDV_ICML2017_tutorial.pdf 年 説明性に関する論⽂の数 ※

Slide 7

Slide 7 text

## 説明性(Interpretability) Interpretability is the degree to which a human can understand the cause of a decision.1 複雑な分類器の判断基準を, ⼈間にも解釈可能(interpretable)になるように提⽰2 1. https://christophm.github.io/interpretable-ml-book/interpretability.html 2. https://www.slideshare.net/shima__shima/kdd2016

Slide 8

Slide 8 text

## 説明性(Interpretability) Interpretability is the degree to which a human can understand the cause of a decision.1 複雑な分類器の判断基準を, ⼈間にも解釈可能(interpretable)になるように提⽰2 1. https://christophm.github.io/interpretable-ml-book/interpretability.html 2. https://www.slideshare.net/shima__shima/kdd2016 ⼊⼒ 出⼒ 根拠を⽰す表現 (グラフなど)

Slide 9

Slide 9 text

## 説明性に関する⽅向性 # 局所的な説明 特定の⼊⼒に対する予測の根拠を提⽰ # ⼤域的な説明 複雑なモデルを可読性の⾼い解釈可能なモデルで表現 # 説明可能なモデルの設計 最初から可読性の⾼い解釈可能なモデルを設計 (# 深層学習モデルの説明) 深層学習モデル,特に画像認識モデルの説明 ※ https://www.ai-gakkai.or.jp/my-bookmark_vol33-no3/ 仕組みの理解 挙動の理解

Slide 10

Slide 10 text

## 説明性に関する⽅向性 # 局所的な説明 特定の⼊⼒に対する予測の根拠を提⽰ # ⼤域的な説明 複雑なモデルを可読性の⾼い解釈可能なモデルで表現 # 説明可能なモデルの設計 最初から可読性の⾼い解釈可能なモデルを設計 (# 深層学習モデルの説明) 深層学習モデル,特に画像認識モデルの説明 ※ https://www.ai-gakkai.or.jp/my-bookmark_vol33-no3/ 仕組みの理解 挙動の理解 挙動の理解 どんな⼊⼒をしたらどんな出⼒がでるかを説明 LIME と SHAP

Slide 11

Slide 11 text

#2 LIME

Slide 12

Slide 12 text

## LIME LIME(Local Interpretable Model-agnostic Explainations) – KDDʼ16 論⽂ “Why should I trust You?:Explaining the predictions of any classifier” – 個別のデータに対する予測結果に対し, 特徴量(テキストや画像の⼀部など)をハイライトして説明 ※ https://arxiv.org/pdf/1602.04938.pdf

Slide 13

Slide 13 text

## Examples テキスト分類(TF-IDF値による atheism/christian 分類) – Random Forest Classifier (with 500 trees) – Accuracy : 92.4% ヘッダ情報を有力な特徴と判断 本当に信頼に足りうる? ※ https://www.oreilly.com/learning/introduction-to-local-interpretable-model-agnostic-explanations-lime

Slide 14

Slide 14 text

## Examples 画像分類(学習済みInceptionによる分類) – わずかな確率ながらも, ビリヤード台・気球とも予測 ※ https://www.oreilly.com/learning/introduction-to-local-interpretable-model-agnostic-explanations-lime 画像のどの部分を 判断の根拠としているかを可視化

Slide 15

Slide 15 text

## LIMEのアイデア 説明したいデータの周辺からデータをサンプリング – 分類器の出⼒と近似するよう,局所的かつ単純なモデルを学習 説明したいデータ 説明用の分類器 負ラベルのデータ 正ラベルのデータ

Slide 16

Slide 16 text

## LIMEのアイデア 元データの⼀部を変更した⼊⼒を複数作成し各々を予測 – テキストなら単語,画像なら部分マスク など 局所的かつ単純なモデルで各々のペアを学習→判断根拠出⼒ ※ https://www.oreilly.com/learning/introduction-to-local-interpretable-model-agnostic-explanations-lime

Slide 17

Slide 17 text

## 数学的背景 説明したいデータに対して最適化問題を解く – :解釈可能なモデルの集合 – :説明したい分類器 – :の中のモデルで説明⽤の分類器 – & :説明したいデータとサンプリングデータとの類似度 – ℒ:損失関数 = ∑ & , ( − ())0 – Ω():の複雑度 “データの周辺でのとの差分”+”の複雑さ”を最⼩にするが解 ※ https://arxiv.org/pdf/1602.04938.pdf

Slide 18

Slide 18 text

#3 SHAP

Slide 19

Slide 19 text

## SHAP SHAP(SHapley Additive exPlanations) – NIPSʼ17 論⽂ “A Unified Approach to Interpreting Model Predictions” – LIMEを含むいくつかの局所的な説明法を ゲーム理論の枠組みのもとで統⼀的に記述 説明モデルが満たすべき性質を定式化,指標化 → SHAP Value ※ https://github.com/slundberg/shap

Slide 20

Slide 20 text

## Examples 住宅価格の予測(xgboostによる回帰) – 各特徴量がどの程度出⼒に寄与しているかを可視化 ※Feature importanceは モデルに対する説明 (各データに対してではない) →重要度の出⼒結果は 必ずしも⼀致しない

Slide 21

Slide 21 text

## Examples 画像分類(学習済みVGG16による分類) – strawberryを⽰す領域がSHAP valueが⾼い Granny_Smith(りんご),fig(イチジク)も予測しているものの SHAP valueは低い ※ https://github.com/slundberg/shap

Slide 22

Slide 22 text

## SHAPのアイデア 説明モデルを統⼀的に定義 – :説明したい複雑な分類器 – :説明⽤のシンプルな分類器 – :ある1つの⼊⼒データ – ′:単純化した⼊⼒データ → = ℎ&(′) 説明モデル ′ ≈ 8のときに, g(8) ≈ (ℎ& (′))となるように学習

Slide 23

Slide 23 text

## SHAPのアイデア 説明モデルを統⼀的に定義 – :説明したい複雑な分類器 – :説明⽤のシンプルな分類器 – :ある1つの⼊⼒データ – ′:単純化した⼊⼒データ → = ℎ&(′) Additive feature attribution methods 説明モデル ′ ≈ 8のときに, g(8) ≈ (ℎ& (′))となるように学習 説明⽤のシンプルなモデルは 単純化した⼊⼒数個の貢献の加法で表現可能

Slide 24

Slide 24 text

## SHAPのアイデア 説明モデルを統⼀的に定義 – :説明したい複雑な分類器 – :説明⽤のシンプルな分類器 – :ある1つの⼊⼒データ – ′:単純化した⼊⼒データ → = ℎ&(′) Additive feature attribution methods 説明モデル ′ ≈ 8のときに, (8) ≈ ( (′))となるように学習 説明⽤のシンプルなモデルは 単純化した⼊⼒数個の貢献の加法で表現可能 LIMEも含む

Slide 25

Slide 25 text

## 数学的背景 説明モデルを統⼀的に定義 – Additive feature attribution methods 理想的な説明モデルが満たすべき性質を定式化(後述) 上の性質を満たす唯⼀の特徴配分⼿法(説明モデル)は 協⼒ゲーム理論で解ける!(らしい...)

Slide 26

Slide 26 text

## 数学的背景 説明モデルが満たすべき性質 #1 Local accuracy – ある⼊⼒データとその予測()と, 単純化した⼊⼒データ′に対して局所的に近似した 8 元の出⼒()と同じになるべき という条件

Slide 27

Slide 27 text

## 数学的背景 説明モデルが満たすべき性質 #2 Missingness – 出⼒を変えないような特徴は識別に貢献していない という条件

Slide 28

Slide 28 text

## 数学的背景 説明モデルが満たすべき性質 #3 Consistency – の⽅がよりも特徴= の有無で出⼒が⼤きく影響を受けるなら, の⽅がよりも特徴の貢献が⼤きくなるべき という条件 ⇓ ? @ A @B=

Slide 29

Slide 29 text

## 数学的背景 説明モデルが満たすべき性質 Local accuracy・Missingness・Consistency を満たす唯⼀の特徴配分⼿法(説明モデル)は 協⼒ゲーム理論で解ける あらゆる組み合わせで特徴があるとき・特徴がないときの差分を計算 SHAPでは近似

Slide 30

Slide 30 text

#4 Tutorials on Jupyter

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

#5 まとめ

Slide 33

Slide 33 text

## まとめ 機械学習モデルの説明性を担保:LIME と SHAP – 個々の予測の判断根拠となった特徴などを可視化 – エラー分析,継続的なメンテナンスのハードルを下げる ⼈間による最終的な意思決定をフォロー – 精度だけでなく,説明を提⽰することで ⼈と機械学習モデルの連携を可能に

Slide 34

Slide 34 text

## References LIME : 著者実装 https://github.com/marcotcr/lime SHAP : 著者実装 https://github.com/slundberg/shap KDD2016勉強会 資料 https://www.slideshare.net/shima__shima/kdd2016 機械学習における解釈性(Interpretability in Machine Learning) https://www.ai-gakkai.or.jp/my-bookmark_vol33-no3/ ディープラーニングの判断根拠を理解する⼿法 https://qiita.com/icoxfog417/items/8689f943fd1225e24358 ICML 2017 Tutorial http://people.csail.mit.edu/beenkim/papers/BeenK_FinaleDV_ICML2017_tutorial.pdf Interpretable Machine Learning https://christophm.github.io/interpretable-ml-book/

Slide 35

Slide 35 text

Questions? @hightensan