Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
©2018 Pasona Tech, Inc. All Rights Reserved.
機械学習の解釈について
AIの判断理由について考える
2019年9月28日
株式会社パソナテック夏谷
©2018 Pasona Tech, Inc. All Rights Reserved.
2
アウトライン
自己紹介
なぜ機械学習の解釈が必要か
機械学習を解釈するための事前知識
まとめ
見るべきポイント
アルゴリズムの紹介
会社紹介
©2018 Pasona Tech, Inc. All Rights Reserved.
自己紹介
名前:夏谷実
所属:株式会社パソナテック IoEソリューション事業部
好きな物:FPGA, 組込みプログラミング, プログラミング言語,
Deep Learning, 機械学習
好きなプログラミング言語:Python, C, Verilog-HDL, F#, Rust, Common Lisp,
Scheme, Tcl/Tk
SNS:はてなID natsutan, @natsutan
3
http://natsutan.hatenablog.com/
TensorFlow Users Group Kansai
©2018 Pasona Tech, Inc. All Rights Reserved.
4
なぜ機械学習の解釈が必要か
©2018 Pasona Tech, Inc. All Rights Reserved.
なぜ機械学習の解釈が必要か
5
AI
あなたが病気の確率
○○:99.8%
△△:72.9%
◇◇:22.1%
薬出しておきます。
未来のAIドクター
なぜこの病気と判断したのか、なぜこの薬を飲め
ば良いのか、わからないまま薬を飲むのは不安
©2018 Pasona Tech, Inc. All Rights Reserved.
なぜ機械学習の解釈が必要か
6
AI搭載の車が、何も無い所で
ブレーキをかけた。
原因追及とフィードバックをしな
いと危険
AIがどういう理由でブレーキをかけたのかを解釈しないといけない
©2018 Pasona Tech, Inc. All Rights Reserved.
AI BIASの例
https://www.ben-
evans.com/benedictevans/2019/4/15/notes-on-ai-bias
7
AI BIAS(偏り)の例
画像から皮膚がんを検出するプロジェクト
皮膚がんの画像には大きさをわかりやすくするために横に定規を置くことが多く、健康な
画像には定規がない。皮膚がんではなく定規を識別するAIができてしまう。
©2018 Pasona Tech, Inc. All Rights Reserved.
モデルを解釈する目的
8
①モデルの推論理由を理解したい。
推論の過程を数式に落としたい。
②モデルの推論結果を、誰かを納得させたい。
理解する 納得させるVS
同じように見えて違う
→ノートPCの買い取り価格で説明
©2018 Pasona Tech, Inc. All Rights Reserved.
理解と納得
9
https://www.irasutoya.com/
モデル 10,000
なんで10,000円
なん?
ノートPC買い取りセール
買い取り価格
30,000円
学生の時に
買ったノート
PCを持ってる
ので売ろう
実際に売りに行った結果
©2018 Pasona Tech, Inc. All Rights Reserved.
理解と納得
10
説明①
d𝑌 = 𝛼𝑥0 + 𝛽𝑥1 + 𝛾𝑥2 + 𝛿𝑥3 + 𝜖𝑥4
サイズが大きい -1231円
厚さが1mm につき329円 329×3mm = -987円
重さが1gにつき-72円 72×150(g) = - 10,800円
VGAポート +1582円
メーカと販売店のエンベディング -9322円 合計:-20,758円
©2018 Pasona Tech, Inc. All Rights Reserved.
理解と納得
11
説明①
d𝑌 = 𝛼𝑥0 + 𝛽𝑥1 + 𝛾𝑥2 + 𝛿𝑥3 + 𝜖𝑥4
サイズが大きい -1231円
厚さが1mm につき329円 329×3mm = -987円
重さが1gにつき-72円 72×150(g) = - 10,800円
VGAポート +1582円
メーカと販売店のエンベディング -9322円 合計:-20,758円
説明②
生協モデルは、買取が低くなってしまうんですよ。
https://www.irasutoya.com/
©2018 Pasona Tech, Inc. All Rights Reserved.
理解と納得
12
説明①
d𝑌 = 𝛼𝑥0 + 𝛽𝑥1 + 𝛾𝑥2 + 𝛿𝑥3 + 𝜖𝑥4
サイズが大きい -1231円
厚さが1mm につき329円 329×3mm = -987円
重さが1gにつき-72円 72×150(g) = - 10,800円
VGAポート +1582円
メーカと販売店のエンベディング -9322円 合計:-20,758円
明らかに特徴量に相関があ
るので解釈としてはよくない
値が大きいのでデータに問題がある可能性あり。
例:エンベディングされたデータの個数が少なくて特徴量としては不適。
データを増やす or 特徴量から外す
©2018 Pasona Tech, Inc. All Rights Reserved.
理解と納得
13
説明②
生協モデルは、買取が低くなってしまうんですよ。
・納得するかしないかは、「相手」による。
「誰が」説明するかでも変わってくる。
・損する場合と得する場合で納得のしやすさが違う。
50000円の買い取りになった時は、「AIがそう言ってる」でも納得してもらえる。
・正確である必要はない
・普通と大きく違う方が納得しやすい。
「厚さが3mm」よりは「生協モデル」の方が納得しやすい
・項目は少ない方が納得しやすい。多くても3つまで。
©2018 Pasona Tech, Inc. All Rights Reserved.
14
機械学習を解釈するための事前知識
©2018 Pasona Tech, Inc. All Rights Reserved.
機械学習の解釈について
There is no mathematical definition of interpretability.
15
https://christophm.github.io/interpretable-ml-book/
解釈しやすさ(interpretability)の数学的な定義は無い。
Interpretability is the degree to which a human
can understand the cause of a decision.
判断の原因を人間が理解できる度合い
arXiv Preprint arXiv:1706.07269. (2017)
Interpretable Machine Learning
A Guide for Making Black Box Models Explainable. によると
数学的でない定義
©2018 Pasona Tech, Inc. All Rights Reserved.
機械学習の解釈について
16
・まだまだこれからの領域
・新しい手法がどんどん出てくる
・Deep Learning、非Deep Learning
・画像、時系列・・・
Kaggleで話題に
なるケースも
©2018 Pasona Tech, Inc. All Rights Reserved.
機械学習の解釈で考慮すべき項目
・アルゴリズムによる解釈しやすさ
・解釈する対象の話
・全体を見るのか、一部を見るのか
・モデル特化か、汎用のアルゴリズムか
17
©2018 Pasona Tech, Inc. All Rights Reserved.
アルゴリズム(モデル)による違い
18
解釈しやすいアルゴリズム
・ルールベース 血圧>150 なら高血圧
・線形モデル d𝑌 = 𝛼𝑥0 + 𝛽𝑥1 + 𝛾𝑥2 + 𝛿𝑥3 + 𝜖𝑥4
・決定木
解釈しやすいアルゴリズムと、解釈しにくいアルゴリズムがある。
解釈しにくいアルゴリズム
・Deep Learning
・アンサンブル学習(複数のモデルの多数決)
・複数モデルの組み合わせ(Deep Learningで次元削減+SVM)
©2018 Pasona Tech, Inc. All Rights Reserved.
解釈する対象
19
アルゴリズムの特性を解釈したい場合
・Deep LearningにおけるNNの違い
VGG16とGoogleNetで得意、不得意はあるか
・モデルのパラメータによる推論結果の違い
物体検出では同じ場所に検出できる個数の最大値は決まっている。
学習結果(重み、モデル)を解釈したい場合
・AI BIASの検出
特定の推論結果を解釈したい場合
・全体的に上手くいってるけど、一部の推論で上手く行かないケース
ノートPC買い取りの例
©2018 Pasona Tech, Inc. All Rights Reserved.
全体を見るのか、一部を見るのか
20
一部の入力に限定して傾向を見つける
・範囲を絞る事で、精度が高い数式に変換できるときがある。
「滋賀県大津市堅田の家賃は、駅からの距離と、部屋の面積からy=f(x1,
x2)で表すことができる」
・モデル全体を数式に落とすのは無理でも、一部なら近似して解釈できる可
能性がある。欲しい数式はこっちだったりする。
全ての入力に対しての傾向を見つける
・一般的な傾向の方が、納得しやすく、本質を突いている可能性が高い
「年齢が高い方が○○の病気にかかりやすい」
「人口が多い都市の方が家賃が高い」
見つけるのが難しく、数式に落としにくく、結果の応用が効かないケースも
ある。ただし、納得させる力は強い。
©2018 Pasona Tech, Inc. All Rights Reserved.
モデル特化か、汎用のアルゴリズムか
21
汎用的なアルゴリズム(ブラックボックス)
・Permutation Importance
特徴量の1系列をランダムに入れ替えて重要度を見る。
・Global Surrogate 別のモデルで近似
・LIME(Local interpretable model-agnostic explanations)
特定のモデルにのみ適用できるアルゴリズム(ホワイトボックス)
・GRAD-CAM CNNの最後の勾配を見て、判断結果を可視化する。
CNNでしか使えないアルゴリズム
現状は、モデル特化の方が使いやすく計算量が少ない。
今後は汎用的に流れていくと思います。
©2018 Pasona Tech, Inc. All Rights Reserved.
22
見るべきポイント
©2018 Pasona Tech, Inc. All Rights Reserved.
見るべきポイント
・前提条件を確認する。
・出力を確認する。
・最終的に使うモデルの前後で確認
23
©2018 Pasona Tech, Inc. All Rights Reserved.
前提条件を確認する
・特徴量と予測結果が線形である事
「気温が上がるとお客は増えるが、上がりすぎるとお客が減る」など
・特徴量の相関が無い事
単純な相関だけでなく「通常は風が吹くとお客が減るけど、気温が高くなると少し風があった方
がお客は増える」 (intercection)等もある。
・入力データが正規分布に従っていること
・予測結果が正規分布に従っていること
24
前提条件から外れていくと、解釈の意味が無くなっていく
前提条件の例
©2018 Pasona Tech, Inc. All Rights Reserved.
強い相関のあるデータ
25
推論したい値:正方形の4辺の和
特徴量1 x1:1辺の長さ(cm)
特徴量2 x2: 1辺の長さ(mm)
scikit-learnで線形回帰した結果 [4.00000000e+00 2.12584036e-12]
x2に関する解釈
x2が増えてもyに
は影響が無い
x1に関する解釈
x1が増えるとy
は4倍で増える
x2
y
x2について間違った解釈をしている!
特徴量に x1= 10x2という強い相関がある。
©2018 Pasona Tech, Inc. All Rights Reserved.
強い相関のあるデータ
26
d𝑌 = 𝛼𝑥0 + 𝛽𝑥1 + 𝛾𝑥2 + 𝛿𝑥3 + 𝜖𝑥4 … + 𝜁𝑥 𝑛
線形回帰に持ち込めれば、解釈はしやすい。
ただし、特定の特徴量の影響を説明するには、各特徴量の相関が無い事が前提。
相関がある場合(大概は何かしらある)は、解釈を間違える可能性がある。数十
個の特徴量になったときに、EDA(Explanatory Data Analysis)を行い、特徴量の
相関を確認すること。
前提条件を必ず確認すること
©2018 Pasona Tech, Inc. All Rights Reserved.
出力を確認する
27
https://en.wikipedia.org/wiki/Dog
犬・猫識別の結果をGRAD-CAMで分析
元画像 heatmap 合成結果
©2018 Pasona Tech, Inc. All Rights Reserved.
出力を確認する
28
GRAD-CAMは最後のConv層の傾きから意味づけを行う。
本来の出力は9x9の値
元画像 GRAD-CAMの出力 scikit-learnとPillow
による補正
可視化する場合、可視化する前のデータを押さえよう
https://en.wikipedia.org/wiki/Dog
©2018 Pasona Tech, Inc. All Rights Reserved.
最終的に使うモデルの前後で確認
29
Epoch 1-10
Epoch 11-20
Epoch 21-29
79% 74% 84% 87% 94% 91% 95% 94% 96% 93%
96% 97% 94% 96% 96% 96% 95% 95% 94% 96%
89% 96% 97% 96% 97% 96% 96% 91% 96%
特定の重みで解釈しても、1EPOC
で解釈が変わる物はNGhttps://en.wikipedia.org/wiki/Dog
©2018 Pasona Tech, Inc. All Rights Reserved.
最終的に使うモデルの前後で確認
30
Epoch 1-10
Epoch 11-20
Epoch 21-29
79% 74% 84% 87% 94% 91% 95% 94% 96% 93%
96% 97% 94% 96% 96% 96% 95% 95% 94% 96%
89% 96% 97% 96% 97% 96% 96% 91% 96%
ちゃんと解釈できる場合は、EPOCHが進んで
も結果が同じになって信頼できる。https://en.wikipedia.org/wiki/Dog
©2018 Pasona Tech, Inc. All Rights Reserved.
31
アルゴリズムの紹介
©2018 Pasona Tech, Inc. All Rights Reserved.
GRAD-CAM
CNNの最終層の勾配から、どこに注目しているかを計算する。
32
・・・
Maxpool Convolution
Dog
学習済みのモデル+特定の入力に対しての解釈を可視化する。
計算量が少なく、コードも簡単。
楽に可視化できるアルゴリズムのポジションで、改良版が多数存在する。
論文にはCNN以外のLSTM等にも応用可能と記載あり。
https://arxiv.org/abs/1610.02391
https://en.wikipedia.org/wiki/Dog
©2018 Pasona Tech, Inc. All Rights Reserved.
Global Surrogate、Local Surrogate (LIME)
33
データ
訓練済みモ
デル
推論結果
代理モデル 推論結果
Blackbox
解釈しやすいモデル
線形モデル等
訓練済みのモデル
を、解釈しやすい
モデルで近似する。
・近似した代理モデルで、訓練済みモデルの解釈を行う。
・どれだけ近似できているかの定量的な指標がある。
・訓練済みのモデルはブラックボックスでOK
・全てのデータを使うのでは無く、特定の範囲のデータで近似する方法もある(LIME)
©2018 Pasona Tech, Inc. All Rights Reserved.
Local Surrogate (LIME)
34
https://arxiv.org/pdf/1602.04938.pdf
“Why Should I Trust You?” Explaining the Predictions of Any Classifier
Figure3
ブラックボック
スのモデルの
推論結果
解釈しやすいモデルによるローカルな近似
解釈したい
データ
©2018 Pasona Tech, Inc. All Rights Reserved.
Local Surrogate (LIME)
35
https://www.oreilly.com/learning/introduction-to-local-interpretable-model-agnostic-explanations-lime
画像を分割して、それらを特徴量に線形回帰モデルを作る。
その重みを使って解釈を行う。
©2018 Pasona Tech, Inc. All Rights Reserved.
36
まとめ
©2018 Pasona Tech, Inc. All Rights Reserved.
まとめ
・理解すると納得するは別
・モデルの解釈は最先端のトピックで、今後もど
んどん改善されていく
・モデルの解釈にはいくつかの視点がある。
・モデルと解釈に使う前提条件と、その出力を確
認してください。
・実際にやってみて動きを確認しましょう。
37
©2018 Pasona Tech, Inc. All Rights Reserved.
38
会社紹介
©2018 Pasona Tech, Inc. All Rights Reserved.
パソナテックの紹介
39
エッジAIソリューション
https://ja.wikipedia.org/wiki/Raspberry_Pi
組込じゃない時系列分析、異常検知もやってます。
エンジニア募集中(未経験者歓迎)
Wantedlyでパソナテックを検索してください。
もしくは、 mnatsutani@pasona.tech まで連絡ください
受講者300
名突破
©2018 Pasona Tech, Inc. All Rights Reserved.
参考資料
・Interpretable Machine Learning
https://christophm.github.io/interpretable-ml-book/
・機械学習モデルの判断根拠の説明
https://www.slideshare.net/SatoshiHara3/ss-
126157179?fbclid=IwAR1H4Ert-_XpcoL-
Vy3W_MvtSI7DjFmS3M0ldHgm1k3Y-1Ob-uiXWsSE8Q4
・AIプログラマになれる本
https://www.amazon.co.jp/dp/4296102052
40
©2018 Pasona Tech, Inc. All Rights Reserved.

More Related Content

Interpretable ml

  • 1. ©2018 Pasona Tech, Inc. All Rights Reserved. 機械学習の解釈について AIの判断理由について考える 2019年9月28日 株式会社パソナテック夏谷
  • 2. ©2018 Pasona Tech, Inc. All Rights Reserved. 2 アウトライン 自己紹介 なぜ機械学習の解釈が必要か 機械学習を解釈するための事前知識 まとめ 見るべきポイント アルゴリズムの紹介 会社紹介
  • 3. ©2018 Pasona Tech, Inc. All Rights Reserved. 自己紹介 名前:夏谷実 所属:株式会社パソナテック IoEソリューション事業部 好きな物:FPGA, 組込みプログラミング, プログラミング言語, Deep Learning, 機械学習 好きなプログラミング言語:Python, C, Verilog-HDL, F#, Rust, Common Lisp, Scheme, Tcl/Tk SNS:はてなID natsutan, @natsutan 3 http://natsutan.hatenablog.com/ TensorFlow Users Group Kansai
  • 4. ©2018 Pasona Tech, Inc. All Rights Reserved. 4 なぜ機械学習の解釈が必要か
  • 5. ©2018 Pasona Tech, Inc. All Rights Reserved. なぜ機械学習の解釈が必要か 5 AI あなたが病気の確率 ○○:99.8% △△:72.9% ◇◇:22.1% 薬出しておきます。 未来のAIドクター なぜこの病気と判断したのか、なぜこの薬を飲め ば良いのか、わからないまま薬を飲むのは不安
  • 6. ©2018 Pasona Tech, Inc. All Rights Reserved. なぜ機械学習の解釈が必要か 6 AI搭載の車が、何も無い所で ブレーキをかけた。 原因追及とフィードバックをしな いと危険 AIがどういう理由でブレーキをかけたのかを解釈しないといけない
  • 7. ©2018 Pasona Tech, Inc. All Rights Reserved. AI BIASの例 https://www.ben- evans.com/benedictevans/2019/4/15/notes-on-ai-bias 7 AI BIAS(偏り)の例 画像から皮膚がんを検出するプロジェクト 皮膚がんの画像には大きさをわかりやすくするために横に定規を置くことが多く、健康な 画像には定規がない。皮膚がんではなく定規を識別するAIができてしまう。
  • 8. ©2018 Pasona Tech, Inc. All Rights Reserved. モデルを解釈する目的 8 ①モデルの推論理由を理解したい。 推論の過程を数式に落としたい。 ②モデルの推論結果を、誰かを納得させたい。 理解する 納得させるVS 同じように見えて違う →ノートPCの買い取り価格で説明
  • 9. ©2018 Pasona Tech, Inc. All Rights Reserved. 理解と納得 9 https://www.irasutoya.com/ モデル 10,000 なんで10,000円 なん? ノートPC買い取りセール 買い取り価格 30,000円 学生の時に 買ったノート PCを持ってる ので売ろう 実際に売りに行った結果
  • 10. ©2018 Pasona Tech, Inc. All Rights Reserved. 理解と納得 10 説明① d𝑌 = 𝛼𝑥0 + 𝛽𝑥1 + 𝛾𝑥2 + 𝛿𝑥3 + 𝜖𝑥4 サイズが大きい -1231円 厚さが1mm につき329円 329×3mm = -987円 重さが1gにつき-72円 72×150(g) = - 10,800円 VGAポート +1582円 メーカと販売店のエンベディング -9322円 合計:-20,758円
  • 11. ©2018 Pasona Tech, Inc. All Rights Reserved. 理解と納得 11 説明① d𝑌 = 𝛼𝑥0 + 𝛽𝑥1 + 𝛾𝑥2 + 𝛿𝑥3 + 𝜖𝑥4 サイズが大きい -1231円 厚さが1mm につき329円 329×3mm = -987円 重さが1gにつき-72円 72×150(g) = - 10,800円 VGAポート +1582円 メーカと販売店のエンベディング -9322円 合計:-20,758円 説明② 生協モデルは、買取が低くなってしまうんですよ。 https://www.irasutoya.com/
  • 12. ©2018 Pasona Tech, Inc. All Rights Reserved. 理解と納得 12 説明① d𝑌 = 𝛼𝑥0 + 𝛽𝑥1 + 𝛾𝑥2 + 𝛿𝑥3 + 𝜖𝑥4 サイズが大きい -1231円 厚さが1mm につき329円 329×3mm = -987円 重さが1gにつき-72円 72×150(g) = - 10,800円 VGAポート +1582円 メーカと販売店のエンベディング -9322円 合計:-20,758円 明らかに特徴量に相関があ るので解釈としてはよくない 値が大きいのでデータに問題がある可能性あり。 例:エンベディングされたデータの個数が少なくて特徴量としては不適。 データを増やす or 特徴量から外す
  • 13. ©2018 Pasona Tech, Inc. All Rights Reserved. 理解と納得 13 説明② 生協モデルは、買取が低くなってしまうんですよ。 ・納得するかしないかは、「相手」による。 「誰が」説明するかでも変わってくる。 ・損する場合と得する場合で納得のしやすさが違う。 50000円の買い取りになった時は、「AIがそう言ってる」でも納得してもらえる。 ・正確である必要はない ・普通と大きく違う方が納得しやすい。 「厚さが3mm」よりは「生協モデル」の方が納得しやすい ・項目は少ない方が納得しやすい。多くても3つまで。
  • 14. ©2018 Pasona Tech, Inc. All Rights Reserved. 14 機械学習を解釈するための事前知識
  • 15. ©2018 Pasona Tech, Inc. All Rights Reserved. 機械学習の解釈について There is no mathematical definition of interpretability. 15 https://christophm.github.io/interpretable-ml-book/ 解釈しやすさ(interpretability)の数学的な定義は無い。 Interpretability is the degree to which a human can understand the cause of a decision. 判断の原因を人間が理解できる度合い arXiv Preprint arXiv:1706.07269. (2017) Interpretable Machine Learning A Guide for Making Black Box Models Explainable. によると 数学的でない定義
  • 16. ©2018 Pasona Tech, Inc. All Rights Reserved. 機械学習の解釈について 16 ・まだまだこれからの領域 ・新しい手法がどんどん出てくる ・Deep Learning、非Deep Learning ・画像、時系列・・・ Kaggleで話題に なるケースも
  • 17. ©2018 Pasona Tech, Inc. All Rights Reserved. 機械学習の解釈で考慮すべき項目 ・アルゴリズムによる解釈しやすさ ・解釈する対象の話 ・全体を見るのか、一部を見るのか ・モデル特化か、汎用のアルゴリズムか 17
  • 18. ©2018 Pasona Tech, Inc. All Rights Reserved. アルゴリズム(モデル)による違い 18 解釈しやすいアルゴリズム ・ルールベース 血圧>150 なら高血圧 ・線形モデル d𝑌 = 𝛼𝑥0 + 𝛽𝑥1 + 𝛾𝑥2 + 𝛿𝑥3 + 𝜖𝑥4 ・決定木 解釈しやすいアルゴリズムと、解釈しにくいアルゴリズムがある。 解釈しにくいアルゴリズム ・Deep Learning ・アンサンブル学習(複数のモデルの多数決) ・複数モデルの組み合わせ(Deep Learningで次元削減+SVM)
  • 19. ©2018 Pasona Tech, Inc. All Rights Reserved. 解釈する対象 19 アルゴリズムの特性を解釈したい場合 ・Deep LearningにおけるNNの違い VGG16とGoogleNetで得意、不得意はあるか ・モデルのパラメータによる推論結果の違い 物体検出では同じ場所に検出できる個数の最大値は決まっている。 学習結果(重み、モデル)を解釈したい場合 ・AI BIASの検出 特定の推論結果を解釈したい場合 ・全体的に上手くいってるけど、一部の推論で上手く行かないケース ノートPC買い取りの例
  • 20. ©2018 Pasona Tech, Inc. All Rights Reserved. 全体を見るのか、一部を見るのか 20 一部の入力に限定して傾向を見つける ・範囲を絞る事で、精度が高い数式に変換できるときがある。 「滋賀県大津市堅田の家賃は、駅からの距離と、部屋の面積からy=f(x1, x2)で表すことができる」 ・モデル全体を数式に落とすのは無理でも、一部なら近似して解釈できる可 能性がある。欲しい数式はこっちだったりする。 全ての入力に対しての傾向を見つける ・一般的な傾向の方が、納得しやすく、本質を突いている可能性が高い 「年齢が高い方が○○の病気にかかりやすい」 「人口が多い都市の方が家賃が高い」 見つけるのが難しく、数式に落としにくく、結果の応用が効かないケースも ある。ただし、納得させる力は強い。
  • 21. ©2018 Pasona Tech, Inc. All Rights Reserved. モデル特化か、汎用のアルゴリズムか 21 汎用的なアルゴリズム(ブラックボックス) ・Permutation Importance 特徴量の1系列をランダムに入れ替えて重要度を見る。 ・Global Surrogate 別のモデルで近似 ・LIME(Local interpretable model-agnostic explanations) 特定のモデルにのみ適用できるアルゴリズム(ホワイトボックス) ・GRAD-CAM CNNの最後の勾配を見て、判断結果を可視化する。 CNNでしか使えないアルゴリズム 現状は、モデル特化の方が使いやすく計算量が少ない。 今後は汎用的に流れていくと思います。
  • 22. ©2018 Pasona Tech, Inc. All Rights Reserved. 22 見るべきポイント
  • 23. ©2018 Pasona Tech, Inc. All Rights Reserved. 見るべきポイント ・前提条件を確認する。 ・出力を確認する。 ・最終的に使うモデルの前後で確認 23
  • 24. ©2018 Pasona Tech, Inc. All Rights Reserved. 前提条件を確認する ・特徴量と予測結果が線形である事 「気温が上がるとお客は増えるが、上がりすぎるとお客が減る」など ・特徴量の相関が無い事 単純な相関だけでなく「通常は風が吹くとお客が減るけど、気温が高くなると少し風があった方 がお客は増える」 (intercection)等もある。 ・入力データが正規分布に従っていること ・予測結果が正規分布に従っていること 24 前提条件から外れていくと、解釈の意味が無くなっていく 前提条件の例
  • 25. ©2018 Pasona Tech, Inc. All Rights Reserved. 強い相関のあるデータ 25 推論したい値:正方形の4辺の和 特徴量1 x1:1辺の長さ(cm) 特徴量2 x2: 1辺の長さ(mm) scikit-learnで線形回帰した結果 [4.00000000e+00 2.12584036e-12] x2に関する解釈 x2が増えてもyに は影響が無い x1に関する解釈 x1が増えるとy は4倍で増える x2 y x2について間違った解釈をしている! 特徴量に x1= 10x2という強い相関がある。
  • 26. ©2018 Pasona Tech, Inc. All Rights Reserved. 強い相関のあるデータ 26 d𝑌 = 𝛼𝑥0 + 𝛽𝑥1 + 𝛾𝑥2 + 𝛿𝑥3 + 𝜖𝑥4 … + 𝜁𝑥 𝑛 線形回帰に持ち込めれば、解釈はしやすい。 ただし、特定の特徴量の影響を説明するには、各特徴量の相関が無い事が前提。 相関がある場合(大概は何かしらある)は、解釈を間違える可能性がある。数十 個の特徴量になったときに、EDA(Explanatory Data Analysis)を行い、特徴量の 相関を確認すること。 前提条件を必ず確認すること
  • 27. ©2018 Pasona Tech, Inc. All Rights Reserved. 出力を確認する 27 https://en.wikipedia.org/wiki/Dog 犬・猫識別の結果をGRAD-CAMで分析 元画像 heatmap 合成結果
  • 28. ©2018 Pasona Tech, Inc. All Rights Reserved. 出力を確認する 28 GRAD-CAMは最後のConv層の傾きから意味づけを行う。 本来の出力は9x9の値 元画像 GRAD-CAMの出力 scikit-learnとPillow による補正 可視化する場合、可視化する前のデータを押さえよう https://en.wikipedia.org/wiki/Dog
  • 29. ©2018 Pasona Tech, Inc. All Rights Reserved. 最終的に使うモデルの前後で確認 29 Epoch 1-10 Epoch 11-20 Epoch 21-29 79% 74% 84% 87% 94% 91% 95% 94% 96% 93% 96% 97% 94% 96% 96% 96% 95% 95% 94% 96% 89% 96% 97% 96% 97% 96% 96% 91% 96% 特定の重みで解釈しても、1EPOC で解釈が変わる物はNGhttps://en.wikipedia.org/wiki/Dog
  • 30. ©2018 Pasona Tech, Inc. All Rights Reserved. 最終的に使うモデルの前後で確認 30 Epoch 1-10 Epoch 11-20 Epoch 21-29 79% 74% 84% 87% 94% 91% 95% 94% 96% 93% 96% 97% 94% 96% 96% 96% 95% 95% 94% 96% 89% 96% 97% 96% 97% 96% 96% 91% 96% ちゃんと解釈できる場合は、EPOCHが進んで も結果が同じになって信頼できる。https://en.wikipedia.org/wiki/Dog
  • 31. ©2018 Pasona Tech, Inc. All Rights Reserved. 31 アルゴリズムの紹介
  • 32. ©2018 Pasona Tech, Inc. All Rights Reserved. GRAD-CAM CNNの最終層の勾配から、どこに注目しているかを計算する。 32 ・・・ Maxpool Convolution Dog 学習済みのモデル+特定の入力に対しての解釈を可視化する。 計算量が少なく、コードも簡単。 楽に可視化できるアルゴリズムのポジションで、改良版が多数存在する。 論文にはCNN以外のLSTM等にも応用可能と記載あり。 https://arxiv.org/abs/1610.02391 https://en.wikipedia.org/wiki/Dog
  • 33. ©2018 Pasona Tech, Inc. All Rights Reserved. Global Surrogate、Local Surrogate (LIME) 33 データ 訓練済みモ デル 推論結果 代理モデル 推論結果 Blackbox 解釈しやすいモデル 線形モデル等 訓練済みのモデル を、解釈しやすい モデルで近似する。 ・近似した代理モデルで、訓練済みモデルの解釈を行う。 ・どれだけ近似できているかの定量的な指標がある。 ・訓練済みのモデルはブラックボックスでOK ・全てのデータを使うのでは無く、特定の範囲のデータで近似する方法もある(LIME)
  • 34. ©2018 Pasona Tech, Inc. All Rights Reserved. Local Surrogate (LIME) 34 https://arxiv.org/pdf/1602.04938.pdf “Why Should I Trust You?” Explaining the Predictions of Any Classifier Figure3 ブラックボック スのモデルの 推論結果 解釈しやすいモデルによるローカルな近似 解釈したい データ
  • 35. ©2018 Pasona Tech, Inc. All Rights Reserved. Local Surrogate (LIME) 35 https://www.oreilly.com/learning/introduction-to-local-interpretable-model-agnostic-explanations-lime 画像を分割して、それらを特徴量に線形回帰モデルを作る。 その重みを使って解釈を行う。
  • 36. ©2018 Pasona Tech, Inc. All Rights Reserved. 36 まとめ
  • 37. ©2018 Pasona Tech, Inc. All Rights Reserved. まとめ ・理解すると納得するは別 ・モデルの解釈は最先端のトピックで、今後もど んどん改善されていく ・モデルの解釈にはいくつかの視点がある。 ・モデルと解釈に使う前提条件と、その出力を確 認してください。 ・実際にやってみて動きを確認しましょう。 37
  • 38. ©2018 Pasona Tech, Inc. All Rights Reserved. 38 会社紹介
  • 39. ©2018 Pasona Tech, Inc. All Rights Reserved. パソナテックの紹介 39 エッジAIソリューション https://ja.wikipedia.org/wiki/Raspberry_Pi 組込じゃない時系列分析、異常検知もやってます。 エンジニア募集中(未経験者歓迎) Wantedlyでパソナテックを検索してください。 もしくは、 mnatsutani@pasona.tech まで連絡ください 受講者300 名突破
  • 40. ©2018 Pasona Tech, Inc. All Rights Reserved. 参考資料 ・Interpretable Machine Learning https://christophm.github.io/interpretable-ml-book/ ・機械学習モデルの判断根拠の説明 https://www.slideshare.net/SatoshiHara3/ss- 126157179?fbclid=IwAR1H4Ert-_XpcoL- Vy3W_MvtSI7DjFmS3M0ldHgm1k3Y-1Ob-uiXWsSE8Q4 ・AIプログラマになれる本 https://www.amazon.co.jp/dp/4296102052 40
  • 41. ©2018 Pasona Tech, Inc. All Rights Reserved.