Slide 1

Slide 1 text

PythonでXAI入門 〜AIを説明する技術〜 上野彰大

Slide 2

Slide 2 text

上野彰大 1992年大阪府堺市生まれ・育ち 東京大学大学院農学生命科学研究科卒 YOJO Technologies取締役・エンジニア責任者 自己紹介 Twitter:@ueeeeniki

Slide 3

Slide 3 text

参考文献

Slide 4

Slide 4 text

● AIブームと同時に説明可能なAI(eXplainable AI = XAI) の重要性も叫ばれるように なっている XAIとはなにか? 引用:Peeking Inside the Black-Box: A Survey on Explainable Artificial Intelligence (XAI), Adadi and Berrada(2018) 論文数の増加

Slide 5

Slide 5 text

● 単体では説明が難しい複雑なAIモデルをあらゆる観点から後付的・外挿的に説明す る技術の総称 ○ 特定の技術やツールを指すわけではないことに注意 XAIとはなにか? 学習 学習の説明・評価 予測 予測の説明・評価

Slide 6

Slide 6 text

例:AutoML Tables GCPのAutoML Tablesというテーブルデータに対する機械学習モデル自動構築サービ スでもExplainable AIという機能が備わっている

Slide 7

Slide 7 text

なぜ今AIを説明する技術(XAI)が必要とされているか

Slide 8

Slide 8 text

引用:野村総合研究所

Slide 9

Slide 9 text

人と共存するAIが引き起こした事件は多い ● マイクロソフトのAI会話bot Tay 事件 ● テンセントのベイビーQ事件 ● Amazonの人材採用AIの差別事件 ● Google Photosのゴリラ事件 ● TeslaやUberの自動運転による死亡事故 etc…..

Slide 10

Slide 10 text

人生を左右するような判断をAIに任せてもよいのか? 引用:三菱総合研究所

Slide 11

Slide 11 text

人生を左右するような判断をAIに任せてもよいのか? あなたにはお金を貸せま せん ・・・・・ 理由を教えてください!

Slide 12

Slide 12 text

AIによって人が被る被害にはいくつかのパターンがある ● 社会的有害性 ○ 固定観念がAIによって増強されることによる被害 ● 経済損失 ○ 特定のグループに属する人たちの経済的な選択肢が狭まる ● 機会損失 ○ 属するグループによって仕事・住宅・教育などへのアクセスに差が生じる ● 自由の喪失 ○ 監視、人権、言論の自由などの制約 引用:責任あるAI ―「AI倫理」戦略ハンドブック

Slide 13

Slide 13 text

人がAIの意思決定を解釈し納得できるかが重要 ● AIは、学習によって必要な処理を自動で獲得する ○ 人間が明示的なルールに基づいてシステムを組まなくて済むため、複雑な処理をすること が可能 ○ 一方で、人間に理解できる形で処理や判断の条件・根拠を示せる保証がない ● これまでのソフトウェアでは実現困難だった複雑な業務をAIに代替させることは技 術的には可能になってきたが、出力結果に公平性や倫理性が求められている ○ ただ精度を高めれば良いわけではなく、「善い」「責任ある」判断であることが求められて いる

Slide 14

Slide 14 text

せめて納得できるような説明があればより実用的 あなたにはお金を貸せま せん 過去3年間の収入の合計 が100万円ほど水準より 低いからです 理由を教えてください!

Slide 15

Slide 15 text

知識がなくてもAIを簡単に作れる時代に AutoMLの発展により、誰でもAIモデルを簡単に作れるようになってきたことで、モデル を解釈することの重要性が高まっている 引用:https://www.matrixflow.net

Slide 16

Slide 16 text

例:AutoML Tables GCPのAutoML Tablesというテーブルデータに対する機械学習モデル自動構築サービ スでもExplainable AIという機能が備わっている

Slide 17

Slide 17 text

人間中心のAI社会原則 (1)人間中心の原則 (2)教育・リテラシーの原則 (3)プライバシー確保の原則 (4)セキュリティ確保の原則 (5)公正競争確保の原則 (6)公平性、説明責任及び透明性の原則 (7)イノベーションの原則 AIが社会実装されていく上で求められる原則 ● G20でも承認された「人間中心(human-centered)のAI社会原則」でも、公平性 (Fairenes)、説明責任(Accountability)、透明性(Transparency)の3つは重要視さ れている 参照:内閣府統合イノベーション戦略推進会議 基本理念 ビジョン (AI-Readyな社会) 人間中心の AI社会原則 AI開発利用原則 (個別原則・指針・ガイドライン・ルール等)

Slide 18

Slide 18 text

● (公平性)AI学習時に不公平を生じるのバイアスを防ぐことにより、 AIが公平な サービスを提供できるようにする必要がある ○ 特定の属性を持つ利用者が、その属性を持つというだけで他の利用者と同水準 のサービスを受けられない(例:特定の人種の人だけが融資を受けられない)と いうようなことを防ぐ ● (説明責任)AIがなぜその判断を行ったのかの根拠を示す必要がある ○ 人間の感覚とは異なる判断や誤りが発生した時に、何が原因で誰に責任がある のか(悪意を持った誰かによって引き起こされた可能性もある)を示さなければな らない ● (透明性)AIがどのようなデータで学習したか、どのような検証が行ったか、ど のような基準や根拠に基づいて処理を行っているのかなどを透明性高く示す 必要がある ○ ブラックボックス化しやすいAIを、特に人の安全性に関る分野などで多くの人が 安心して使うようになるためには、透明性が求められる 説明可能性 AIの公平性・説明責任・透明性と説明可能性

Slide 19

Slide 19 text

AIが公平性・説明責任・透明性を満たすためには、下記のように説明可能であ る必要がある ● (大局説明)AIが学習によって「どういう処理・判断の基準を獲得したか」=「モデル の全体的な振る舞い」を説明できる ● (局所説明)AIが各出力に対して「なぜそのような出力をしたのか」=「個々の出力 結果の判断理由」が説明できる AIの公平性・説明責任・透明性と説明可能性

Slide 20

Slide 20 text

大局XAIの例:タイタニックの乗客の生死の判別の説明 乗客の社会階級 性別 年齢 乗船料 乗船した港 家族の数 敬称 年齢あるorなし

Slide 21

Slide 21 text

AIの説明可能性 一般的には、複雑なアルゴリズムを使ったAIは、より高度な判断をできる一方 で、説明可能性は低くなる 参照:XAI(説明可能な AI)そのとき人工知能はどう考えたのか? 対 応 可 能 な 判 断 の 複 雑 さ モ デ ル の 複 雑 さ アルゴリズムの説明可能性 ディープラーニング ニューラルネットワーク ブースティングモデル 決定木 線形/ロジスティック回帰 ルールベース ランダムフォレスト

Slide 22

Slide 22 text

説明可能性の高いアルゴリズム例:決定木 決定木は、大局・局所説明の両方が可能 ①(大局説明)予測に重要な項目は何か ②(局所説明)各入力に対してなぜその予測を出したのか 低い 高い 年間購入金額 > 10,000円 前月購入金額 > 3,000円 クーポン利用 = あり サイト訪問回数 > 5回 True False True False True False True False メルマガから購入してもらえる確率 顧客リストに入っている人に 春の新作のメルマガを送ったら 購入してもらえるか?の予測

Slide 23

Slide 23 text

説明可能性の低いアルゴリズム例:ニューラルネットワーク 中間層 =0.05 =0.7 =0.1 入力層 出力層 0 1 9 手書き文字の識別

Slide 24

Slide 24 text

● 単体では説明が難しい複雑なAIモデルをあらゆる観点から後付的・外挿的に説明す る技術の総称 ○ 特定の技術やツールを指すわけではないことに注意 ● 各XAIには得意・不得意があり、使い分けることが必要(後ほど詳述) ○ 大局説明 / 局所説明のどちらか ○ 特徴量による説明 / 判断ルールによる説明 / データを用いた説明のどれか ○ モデル依存性を持つものもある XAIとはなにか?

Slide 25

Slide 25 text

大局説明・局所説明による違い ● 大局的説明とは、モデル全体の振る舞い・内部の支配的な傾向を説明することを指 す ○ 例えば、予測に対する特徴量ごとの重要度を定量化したりすることができる ● 局所的説明とは、個々の予測結果の判断の理由を説明することを指す ○ 例えば、AIがその入力の特にどの部分を”見て”その出力結果を出したのかをスコア化する ことができる

Slide 26

Slide 26 text

大局XAIの例:タイタニックの乗客の生死の判別の説明 乗客の社会階級 性別 年齢 乗船料 乗船した港 家族の数 敬称 年齢あるorなし

Slide 27

Slide 27 text

局所XAIの例:bull mastiff(犬種)の判別の説明 引用:XAI(説明可能な AI)そのとき人工知能はどう考えたのか? LIMEで最も寄与した箇所を可視化 Grad-CAMで寄与度を可視化 bull mastiffの特徴である垂れ下がった頬を ”見て” 判断していることが分かる

Slide 28

Slide 28 text

局所XAIの例:膜疾患の3次元画像診断の分析 引用:Clinically applicable deep learning for diagnosis and referral in retinal disease, Fauw et al.(2018)

Slide 29

Slide 29 text

説明方法による違い ● 特徴量による説明は、どの特徴量が予測にどの程度影響しているかを定量化する ○ 最も一般的な説明方法で、テーブルデータであればどの変数が重要か、画像データであ ればどの領域が重要かを示す ● 判断のルールによる説明は、人間が理解できる程度のルール数で簡単に判断の 根拠を示す ○ 例えば、複雑なAIモデルの判断を決定木のような単純なモデルで近似して( Tree Surrogate)、条件分岐によって説明するようなものがある ● データを用いた説明は、あるデータの予測に大きく影響した学習データを示すこと で、判断の理由を明らかにする ○ 予測に悪影響を与えた学習データを発見し、排除することが可能になる

Slide 30

Slide 30 text

大局 / 局所説明と説明方法による違い 特徴量 局 所 大 局 全体における特徴量の重要度を定量 化 ルール データ そのデータのどの特徴量に特に着目 して判断したか可視化 大まかな判断ルールを近似 LIME Permutation Importance Tree Surrogate 個々データの判断ルールを推測 判断に大きな影響を与えたデータを特 定 Tree Surrogate

Slide 31

Slide 31 text

モデル依存性による違い ● モデル依存型のXAIは、特定のモデルに特化することで、より詳細な説明ができる ○ 例えば、ニューラルネットワークに特化した Integrated Gradientsや画像認識に特化した CAMなど、モデル特有の構造を活用した説明ができる ● モデル不問型のXAIは、異なるAIモデルでも一貫して説明できるという利点がある ○ モデルの内部構造にまで深く捉えた説明は難しい ○ 本講義で扱うLIMEやPFIなどのXAIアルゴリズムはこちらのモデル不問型

Slide 32

Slide 32 text

モデル依存性の有無:bull mastiff(犬種)の判別の説明 引用:XAI(説明可能な AI)そのとき人工知能はどう考えたのか? LIMEで最も寄与した箇所を可視化 Grad-CAMで寄与度を可視化 Grad-CAMの方がより細かな分析ができている

Slide 33

Slide 33 text

XAIの活用方法と注意点 安全 危険 因果関係の探索 実験などを組み合わせて因果推論の手法を 使うべき モデルのデバッグ 事前知識と整合性が取れているか、想定外の 挙動がなさそうかを確認する モデルの振る舞いの解釈・予測 XAIはあくまでモデルの一側面を捉えてるだ けであることに注意して、モデルの振る舞いを 解釈する ● 特徴量Aが大きくなると予測 値は小さくなる傾向にあると 解釈・予測するなど 局所説明における使い方 ● 出力内容の妥当性検証 ● 意図とは異なる学習の見直 し・修正 大局説明における使い方 ● AIモデルの改善運用 ● 敵対的攻撃の検証 使い方の概要 ● 大局説明では捉えきれない 個々の出力の異質性につい て考察する

Slide 34

Slide 34 text

XAIの活用方法と注意点 安全 危険 因果関係の探索 実験などを組み合わせて因果推論の手法を 使うべき モデルのデバッグ 事前知識と整合性が取れているか、想定外の 挙動がなさそうかを確認する モデルの振る舞いの解釈・予測 XAIはあくまでモデルの一側面を捉えてるだ けであることに注意して、モデルの振る舞いを 解釈する ● 特徴量Aが大きくなると予測 値は小さくなる傾向にあると 解釈・予測するなど 局所説明における使い方 ● 出力内容の妥当性検証 ● 意図とは異なる学習の見直 し・修正 大局説明における使い方 ● AIモデルの改善運用 ● 敵対的攻撃の検証 使い方の概要 ● 大局説明では捉えきれない 個々の出力の異質性につい て考察する

Slide 35

Slide 35 text

(局所)意図とは異なる学習の見直し ● シベリアンハスキーを誤ってオオカミと分類してしまった原因を特定できる ○ 背景の雪を見てオオカミだと判別してしまっているようだ ○ 学習データに「雪の中のシベリアンハスキー」と「雪のない場所のオオカミ」が不足 引用:https://speakerdeck.com/fatml/why-should-i-trust-you-explaining-the-predictions-of-any-classifier シベリアンハスキーをオ オカミと誤判定

Slide 36

Slide 36 text

特定のノイズを加えることで、AIの判断を誤らせることができる (大局)敵対性攻撃の検証:敵対性攻撃とは 引用:Attacking Machine Learning with Adversarial Examples 引用:Fooling automated surveillance cameras: adversarial patches to attack person detection (テナガザル) 間違って識別している 人だと判定されてない

Slide 37

Slide 37 text

(大局)敵対性攻撃の検証 引用:Understanding Black-box Predictions via Influence Functions ● 左上の画像にノイズを加えて魚と学習することで、下の5つの画像の識別結果をすべ て間違わせることができる ● 逆にXAIを使うことで、左上の画像が出力結果に大きな影響を与えていることが分 かった

Slide 38

Slide 38 text

XAIの理論の概要と活用方法

Slide 39

Slide 39 text

Permutation Feature Importanceとその使いどころ ● そのモデルにおける特徴量の重要度の可視化を行う手法 ● 明らかに事前知識と異なる結果が出た場合にはモデルのデバッグに使える

Slide 40

Slide 40 text

Permutation Feature Importance X 1 X 0 X 2 8 -2 5 4 7 4 -1 2 1 2 4 6 X 1 X 0 X 2 2 -2 4 8 5 7 4 -1 1 2 4 6 X 0 の値をシャッフル 予測精度の比較 予測精度を計算 予測精度を計算

Slide 41

Slide 41 text

Leave One Covariate Out Feature Importance X 1 X 0 X 2 8 -2 5 4 7 4 -1 2 1 2 4 6 X 1 X 0 X 2 2 7 4 -1 1 2 4 6 X 0 を除外 予測精度の比較 予測精度を計算 予測精度を計算 8 -2 5 4

Slide 42

Slide 42 text

PFとLOCOFIの比較 LOCOFIは特徴量の数だけモデルを作成し直して計算する手法でPFの方がオススメ ● LOCOFIの特徴量重要度の計算には時間がかかる ○ 複雑なモデルになればモデルの作成のしなおしだけで膨大な時間がかかる ● LOCOFIは本当に特徴量重要度を知りたいモデルとは別のモデルを作成して重要度 の評価に使っている ○ 「全特徴量を使ったモデル」と「ある特徴量以外を使ったモデル」を比較しているので、「全特 徴量を使ったモデル」が特定の特徴量をどのくらい重要視しているかとは厳密には異なる

Slide 43

Slide 43 text

Partial Dependenceとは ● 特徴量と予測値の関係性を明らかにするための手法 ○ 特定の特徴量を動かした時に予測値がどのように変化するかを知ることができる ● モデルをデバッグするのに使える ○ 事前知識と違う結果(例:気温の高いときよりも低いときの方が炭酸飲料が売れる)が出 るときは、モデルが間違っている可能性があると考察する ● 特徴量と予測値の関係から何かしらのアクションにつなげる ○ 例:売上と正の関係があるものは増やし、負の関係があるものは減らすことで、売上の増 加を促す ○ PDで分かるのは、因果関係ではないので、必ずしも意図した結果にはならないことに注 意

Slide 44

Slide 44 text

Partial Dependece 8 7 1 -2 4 2 5 -1 6 4 2 4 X 1 X 0 X 2 8 7 1 8 4 2 8 -1 6 8 2 4 X 1 X 0 X 2 -2 7 1 -2 4 2 -2 -1 6 -2 2 4 X 1 X 0 X 2 5 7 1 5 4 2 5 -1 6 5 2 4 X 1 X 0 X 2 X 0 = 8のときの予測測値の平均 X 0 = -2のときの予測測値の平均 X 0 = 5のときの予測測値の平均

Slide 45

Slide 45 text

● まずはPFIでモデルに大きな影響を与える特徴量を特定し、PDでその特徴量と予測 値の関係を見る ○ 例えば、TV CMがどのくらい視聴されているかを予測するモデルを構築しているとする ■ PFIで時間帯が非常に重要だと分かった ■ PDでCMの打つ時間を24時間内で動かして、時間帯がCMの視聴数の影響を確認す る ■ 例えば、ゴールデンタイムのCMはよく見られていて、早朝に放送された CMはあまり 見られていないという傾向が見てとれる ● (線形回帰のような)グラフにして簡単に可視化できるようなモデルであれば必要ない が、複雑なモデルの特徴量と予測値の関係を可視化できることに意味がある PDの分析の流れ

Slide 46

Slide 46 text

PDによる可視化

Slide 47

Slide 47 text

PDの問題点とICE(Individual Conditional Expectation) ● 特徴量と予測値の関係は、(当然)インスタンスごとに異なるにも関わらず、平均を 見てしまうとインスタンスごとの異質性などを見逃してしまう ○ PDで可視化した特徴量が、他の特徴量と交互作用があるということなどは平均をとっても 分からない ● ICEとは、各インスタンスについて、特徴量と予測値の関係性を明らかにするための手法 ○ PDの平均を取る前の

Slide 48

Slide 48 text

Individual Conditional Expectation 8 7 1 -2 4 2 5 -1 6 4 2 4 X 1 X 0 X 2 8 7 1 8 4 2 8 -1 6 8 2 4 X 1 X 0 X 2 -2 7 1 -2 4 2 -2 -1 6 -2 2 4 X 1 X 0 X 2 5 7 1 5 4 2 5 -1 6 5 2 4 X 1 X 0 X 2 X 0 を動かしたときのインスタンス 1の 予測値の変化 X 0 を動かしたときのインスタンス 2の 予測値の変化

Slide 49

Slide 49 text

PDとICEによる可視化 各線が1人の人

Slide 50

Slide 50 text

と を分類するのに図のような境界を学習したとすると、 印は青と判定される LIME

Slide 51

Slide 51 text

と を分類するのに図のような境界を獲得したとすると、 印は青と判定される ● 未知の説明対象データ( 印)が青と判定された理由 を説明したければ緑の点線が引ければいい ○ 個々のデータに対する出力結果を説明したいだけであ れば、モデル全体を理解できる必要はない LIME

Slide 52

Slide 52 text

LIME ① 説明対象データ( 印)の近傍にデータ(✕印)を生 成する ✕ ✕ ✕ ✕ ✕ ✕

Slide 53

Slide 53 text

LIME ① 説明対象データ( 印)の近傍にデータ(✕印)を生 成する ② 近傍データに対する説明対象のAIモデルの予測結 果を取得する ✕ ✕ ✕ ✕ ✕ ✕ 青と分類される 赤と分類される

Slide 54

Slide 54 text

LIME ① 説明対象データ( 印)の近傍にデータ(✕印)を生 成する ② 近傍データに対する説明対象のAIモデルの予測結 果を取得する ③ その予測結果と同じ結果を導く解釈可能な(基本は 線形)モデル(- - - 線)を獲得する 獲得した線形モデルの各変数の係数が、その特徴量の 重要度(左図なら横軸が重要) ランダムに近傍データを発生させるので、毎回説明が変 わってしまうことが弱点 ✕ ✕ ✕ ✕ ✕ ✕ 青と分類される 赤と分類される

Slide 55

Slide 55 text

大局 局所 PFI 今回ご紹介したXAI手法の整理 PD ICE LIME SHAP Tree Surrogate Tree Surrogate

Slide 56

Slide 56 text

XAIのこれから

Slide 57

Slide 57 text

● そもそも複雑な事象についてのは判断を説明することは難しい ○ 人間であってもなぜそう判断したのかを難しいことは多々ある ○ 犬と猫をどう判別したのか?という一見簡単な問でさえ、人間は自分の思考の過程を説明すること は難しい ● XAIを使おうとも基本的には精度と説明力はトレードオフ ● XAIが提供しているのはあくまでサマリー ● XAIの手法によって、モデルの説明結果が変わってしまう ○ 本来は、モデルそのものによってのみ説明は決まって欲しい ○ (同じ手法でさえ、LIMEのように確率的に説明が変動するものもある) XAIにも限界がある

Slide 58

Slide 58 text

XAIの納得感不足と知識活用 ● XAIがより納得感を得られる説明を行っていくためには、分野の専門知識知識との 紐付けが行われる必要がある ○ 対象となる分野の過去の研究結果・知識体系を踏まえた質問をできればいい ● XAIと紐付けるためには、専門知識が構造的に整理されている必要がある ○ 自然言語処理の分野では、特定の分野の知識体系を構造化・可視化していくような研究 も活発 ● XAI単独ではなく、他の研究開発分野と共に発展していく必要がある

Slide 59

Slide 59 text

AIのテストとXAI ● AIは判断基準をルール化できず、入力に対して出力が 事前に予測できないのでテストが難しい ○ 敵対的攻撃のように入力の少しの違いでも出力が大きく変わっ てしまうようなこともありうる ● 「関係性」に注目したテスト、「頑強性」に注目したテスト などいくつかのテスト手法が提案されている ● XAIがあればAIのテストができるようになるわけではな いし、テストをすれば説明可能性を満たせるわけでは ないことに注意

Slide 60

Slide 60 text

まとめ ● AIがより社会実装されていくために、AIは精度を求めるだけではなく、人間に取って 「妥当」な判断であることが求められている ● 今後、XAIやAIのテストなどの説明可能性、安全性や品質の担保などのための技 術の発展が期待されている ● XAIとは、単体では説明が難しい複雑なAIモデルをあらゆる観点から後付的・外挿 的に説明する技術の総称 ● 各XAI手法には、「説明の仕方」に得意・不得意がある