More Related Content
AutoMLとQumicoを使って、ラズパイでディープラーニングを動かす話 AutoMLとQumicoを使って、ラズパイでディープラーニングを動かす話 AutoMLとQumicoを使って、ラズパイでディープラーニングを動かす話 不足するAI人材に対する「パソナテックの人材育成ソリューション」 What's hot (20)
Jakarta EE + MicroProfile, and our activities [CVPR2020読み会@CV勉強会] 3D Packing for Self-Supervised Monocular Depth Estimation リクルートはいかにして、ディープラーニング(深層学習)の導入を成功させたか ボトムアップアプローチでのVRサービス立ち上げ / DeNA TechCon 2016 【虎の穴ラボLT】非エンジニアにGASを教えた話(とらラボTech conference) 俺が好きなのはJavaだけどJavaじゃない 〜虎の穴でのJava活用について〜 MLP-Mixer: An all-MLP Architecture for Vision Similar to Interpretable ml (20)
深層学習の判断根拠を理解するための 研究とその意義 @PRMU 2017熊本 BlackBox モデルの説明性・解釈性技術の実装_DLLAB_191127 BlackBox モデルの説明性・解釈性技術の実装 深層学習(ディープラーニング)入門勉強会資料(浅川) 東北大学AIE - 機械学習中級編とAzure紹介 Image net classification with Deep Convolutional Neural Networks Seeing Unseens with Machine Learning --
見えていないものを見出す機械学習 【初学者向け】AI・機械学習・深層学習の概観と深層学習による暗号通貨価格予測トライアル <インフラ管理者向け>チームでのAI開発を支援するAI開発プラットフォームKAMONOHASHI 2014/5/29 東大相澤山崎研勉強会:パターン認識とニューラルネットワーク,Deep Learningまで Deep learning勉強会20121214ochi スタートアップが提案する2030年の材料開発 - 2022/11/11 QPARC講演 More from Natsutani Minoru (20)
Imitation learning for robotics 勉強会資料(20240701) スモールデータ勉強会発表資料(2024年6月10日)公開用 夏谷実 @natsutan 組込向けDeep Learning最新技術の紹介量子化テクニックとDorefaNetについて 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
- 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つまで。
- 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でしか使えないアルゴリズム
現状は、モデル特化の方が使いやすく計算量が少ない。
今後は汎用的に流れていくと思います。
- 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
- 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
画像を分割して、それらを特徴量に線形回帰モデルを作る。
その重みを使って解釈を行う。
- 37. ©2018 Pasona Tech, Inc. All Rights Reserved.
まとめ
・理解すると納得するは別
・モデルの解釈は最先端のトピックで、今後もど
んどん改善されていく
・モデルの解釈にはいくつかの視点がある。
・モデルと解釈に使う前提条件と、その出力を確
認してください。
・実際にやってみて動きを確認しましょう。
37
- 39. ©2018 Pasona Tech, Inc. All Rights Reserved.
パソナテックの紹介
39
エッジAIソリューション
https://ja.wikipedia.org/wiki/Raspberry_Pi
組込じゃない時系列分析、異常検知もやってます。
エンジニア募集中(未経験者歓迎)
Wantedlyでパソナテックを検索してください。
もしくは、 [email protected] まで連絡ください
受講者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