Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PythonでXAI入門 〜AIを説明する技術

76020f2b85928745e24f9b1e017c7c06?s=47 ueniki
March 31, 2022

PythonでXAI入門 〜AIを説明する技術

下記のオンライン講義で話した内容です。
https://studyco.connpass.com/event/240831/

AIを説明する技術 = XAI(eXplainable AI) についての入門資料です。

76020f2b85928745e24f9b1e017c7c06?s=128

ueniki

March 31, 2022
Tweet

More Decks by ueniki

Other Decks in Technology

Transcript

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

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

  3. 参考文献

  4. • AIブームと同時に説明可能なAI(eXplainable AI = XAI) の重要性も叫ばれるように なっている XAIとはなにか? 引用:Peeking Inside

    the Black-Box: A Survey on Explainable Artificial Intelligence (XAI), Adadi and Berrada(2018) 論文数の増加
  5. • 単体では説明が難しい複雑なAIモデルをあらゆる観点から後付的・外挿的に説明す る技術の総称 ◦ 特定の技術やツールを指すわけではないことに注意 XAIとはなにか? 学習 学習の説明・評価 予測 予測の説明・評価

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

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

  8. 引用:野村総合研究所

  9. 人と共存するAIが引き起こした事件は多い • マイクロソフトのAI会話bot Tay 事件 • テンセントのベイビーQ事件 • Amazonの人材採用AIの差別事件 •

    Google Photosのゴリラ事件 • TeslaやUberの自動運転による死亡事故 etc…..
  10. 人生を左右するような判断をAIに任せてもよいのか? 引用:三菱総合研究所

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

  12. AIによって人が被る被害にはいくつかのパターンがある • 社会的有害性 ◦ 固定観念がAIによって増強されることによる被害 • 経済損失 ◦ 特定のグループに属する人たちの経済的な選択肢が狭まる •

    機会損失 ◦ 属するグループによって仕事・住宅・教育などへのアクセスに差が生じる • 自由の喪失 ◦ 監視、人権、言論の自由などの制約 引用:責任あるAI ―「AI倫理」戦略ハンドブック
  13. 人がAIの意思決定を解釈し納得できるかが重要 • AIは、学習によって必要な処理を自動で獲得する ◦ 人間が明示的なルールに基づいてシステムを組まなくて済むため、複雑な処理をすること が可能 ◦ 一方で、人間に理解できる形で処理や判断の条件・根拠を示せる保証がない • これまでのソフトウェアでは実現困難だった複雑な業務をAIに代替させることは技

    術的には可能になってきたが、出力結果に公平性や倫理性が求められている ◦ ただ精度を高めれば良いわけではなく、「善い」「責任ある」判断であることが求められて いる
  14. せめて納得できるような説明があればより実用的 あなたにはお金を貸せま せん 過去3年間の収入の合計 が100万円ほど水準より 低いからです 理由を教えてください!

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

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

  17. 人間中心のAI社会原則 (1)人間中心の原則 (2)教育・リテラシーの原則 (3)プライバシー確保の原則 (4)セキュリティ確保の原則 (5)公正競争確保の原則 (6)公平性、説明責任及び透明性の原則 (7)イノベーションの原則 AIが社会実装されていく上で求められる原則 •

    G20でも承認された「人間中心(human-centered)のAI社会原則」でも、公平性 (Fairenes)、説明責任(Accountability)、透明性(Transparency)の3つは重要視さ れている 参照:内閣府統合イノベーション戦略推進会議 基本理念 ビジョン (AI-Readyな社会) 人間中心の AI社会原則 AI開発利用原則 (個別原則・指針・ガイドライン・ルール等)
  18. • (公平性)AI学習時に不公平を生じるのバイアスを防ぐことにより、 AIが公平な サービスを提供できるようにする必要がある ◦ 特定の属性を持つ利用者が、その属性を持つというだけで他の利用者と同水準 のサービスを受けられない(例:特定の人種の人だけが融資を受けられない)と いうようなことを防ぐ • (説明責任)AIがなぜその判断を行ったのかの根拠を示す必要がある

    ◦ 人間の感覚とは異なる判断や誤りが発生した時に、何が原因で誰に責任がある のか(悪意を持った誰かによって引き起こされた可能性もある)を示さなければな らない • (透明性)AIがどのようなデータで学習したか、どのような検証が行ったか、ど のような基準や根拠に基づいて処理を行っているのかなどを透明性高く示す 必要がある ◦ ブラックボックス化しやすいAIを、特に人の安全性に関る分野などで多くの人が 安心して使うようになるためには、透明性が求められる 説明可能性 AIの公平性・説明責任・透明性と説明可能性
  19. AIが公平性・説明責任・透明性を満たすためには、下記のように説明可能であ る必要がある • (大局説明)AIが学習によって「どういう処理・判断の基準を獲得したか」=「モデル の全体的な振る舞い」を説明できる • (局所説明)AIが各出力に対して「なぜそのような出力をしたのか」=「個々の出力 結果の判断理由」が説明できる AIの公平性・説明責任・透明性と説明可能性

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

  21. AIの説明可能性 一般的には、複雑なアルゴリズムを使ったAIは、より高度な判断をできる一方 で、説明可能性は低くなる 参照:XAI(説明可能な AI)そのとき人工知能はどう考えたのか? 対 応 可 能 な

    判 断 の 複 雑 さ モ デ ル の 複 雑 さ アルゴリズムの説明可能性 ディープラーニング ニューラルネットワーク ブースティングモデル 決定木 線形/ロジスティック回帰 ルールベース ランダムフォレスト
  22. 説明可能性の高いアルゴリズム例:決定木 決定木は、大局・局所説明の両方が可能 ①(大局説明)予測に重要な項目は何か ②(局所説明)各入力に対してなぜその予測を出したのか 低い 高い 年間購入金額 > 10,000円 前月購入金額

    > 3,000円 クーポン利用 = あり サイト訪問回数 > 5回 True False True False True False True False メルマガから購入してもらえる確率 顧客リストに入っている人に 春の新作のメルマガを送ったら 購入してもらえるか?の予測
  23. 説明可能性の低いアルゴリズム例:ニューラルネットワーク 中間層 =0.05 =0.7 =0.1 入力層 出力層 0 1 9

    手書き文字の識別
  24. • 単体では説明が難しい複雑なAIモデルをあらゆる観点から後付的・外挿的に説明す る技術の総称 ◦ 特定の技術やツールを指すわけではないことに注意 • 各XAIには得意・不得意があり、使い分けることが必要(後ほど詳述) ◦ 大局説明 /

    局所説明のどちらか ◦ 特徴量による説明 / 判断ルールによる説明 / データを用いた説明のどれか ◦ モデル依存性を持つものもある XAIとはなにか?
  25. 大局説明・局所説明による違い • 大局的説明とは、モデル全体の振る舞い・内部の支配的な傾向を説明することを指 す ◦ 例えば、予測に対する特徴量ごとの重要度を定量化したりすることができる • 局所的説明とは、個々の予測結果の判断の理由を説明することを指す ◦ 例えば、AIがその入力の特にどの部分を”見て”その出力結果を出したのかをスコア化する

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

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

  28. 局所XAIの例:膜疾患の3次元画像診断の分析 引用:Clinically applicable deep learning for diagnosis and referral in

    retinal disease, Fauw et al.(2018)
  29. 説明方法による違い • 特徴量による説明は、どの特徴量が予測にどの程度影響しているかを定量化する ◦ 最も一般的な説明方法で、テーブルデータであればどの変数が重要か、画像データであ ればどの領域が重要かを示す • 判断のルールによる説明は、人間が理解できる程度のルール数で簡単に判断の 根拠を示す ◦

    例えば、複雑なAIモデルの判断を決定木のような単純なモデルで近似して( Tree Surrogate)、条件分岐によって説明するようなものがある • データを用いた説明は、あるデータの予測に大きく影響した学習データを示すこと で、判断の理由を明らかにする ◦ 予測に悪影響を与えた学習データを発見し、排除することが可能になる
  30. 大局 / 局所説明と説明方法による違い 特徴量 局 所 大 局 全体における特徴量の重要度を定量 化

    ルール データ そのデータのどの特徴量に特に着目 して判断したか可視化 大まかな判断ルールを近似 LIME Permutation Importance Tree Surrogate 個々データの判断ルールを推測 判断に大きな影響を与えたデータを特 定 Tree Surrogate
  31. モデル依存性による違い • モデル依存型のXAIは、特定のモデルに特化することで、より詳細な説明ができる ◦ 例えば、ニューラルネットワークに特化した Integrated Gradientsや画像認識に特化した CAMなど、モデル特有の構造を活用した説明ができる • モデル不問型のXAIは、異なるAIモデルでも一貫して説明できるという利点がある

    ◦ モデルの内部構造にまで深く捉えた説明は難しい ◦ 本講義で扱うLIMEやPFIなどのXAIアルゴリズムはこちらのモデル不問型
  32. モデル依存性の有無:bull mastiff(犬種)の判別の説明 引用:XAI(説明可能な AI)そのとき人工知能はどう考えたのか? LIMEで最も寄与した箇所を可視化 Grad-CAMで寄与度を可視化 Grad-CAMの方がより細かな分析ができている

  33. XAIの活用方法と注意点 安全 危険 因果関係の探索 実験などを組み合わせて因果推論の手法を 使うべき モデルのデバッグ 事前知識と整合性が取れているか、想定外の 挙動がなさそうかを確認する モデルの振る舞いの解釈・予測

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

    XAIはあくまでモデルの一側面を捉えてるだ けであることに注意して、モデルの振る舞いを 解釈する • 特徴量Aが大きくなると予測 値は小さくなる傾向にあると 解釈・予測するなど 局所説明における使い方 • 出力内容の妥当性検証 • 意図とは異なる学習の見直 し・修正 大局説明における使い方 • AIモデルの改善運用 • 敵対的攻撃の検証 使い方の概要 • 大局説明では捉えきれない 個々の出力の異質性につい て考察する
  35. (局所)意図とは異なる学習の見直し • シベリアンハスキーを誤ってオオカミと分類してしまった原因を特定できる ◦ 背景の雪を見てオオカミだと判別してしまっているようだ ◦ 学習データに「雪の中のシベリアンハスキー」と「雪のない場所のオオカミ」が不足 引用:https://speakerdeck.com/fatml/why-should-i-trust-you-explaining-the-predictions-of-any-classifier シベリアンハスキーをオ オカミと誤判定

  36. 特定のノイズを加えることで、AIの判断を誤らせることができる (大局)敵対性攻撃の検証:敵対性攻撃とは 引用:Attacking Machine Learning with Adversarial Examples 引用:Fooling automated

    surveillance cameras: adversarial patches to attack person detection (テナガザル) 間違って識別している 人だと判定されてない
  37. (大局)敵対性攻撃の検証 引用:Understanding Black-box Predictions via Influence Functions • 左上の画像にノイズを加えて魚と学習することで、下の5つの画像の識別結果をすべ て間違わせることができる

    • 逆にXAIを使うことで、左上の画像が出力結果に大きな影響を与えていることが分 かった
  38. XAIの理論の概要と活用方法

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

  40. 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 の値をシャッフル 予測精度の比較 予測精度を計算 予測精度を計算
  41. 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
  42. PFとLOCOFIの比較 LOCOFIは特徴量の数だけモデルを作成し直して計算する手法でPFの方がオススメ • LOCOFIの特徴量重要度の計算には時間がかかる ◦ 複雑なモデルになればモデルの作成のしなおしだけで膨大な時間がかかる • LOCOFIは本当に特徴量重要度を知りたいモデルとは別のモデルを作成して重要度 の評価に使っている ◦

    「全特徴量を使ったモデル」と「ある特徴量以外を使ったモデル」を比較しているので、「全特 徴量を使ったモデル」が特定の特徴量をどのくらい重要視しているかとは厳密には異なる
  43. Partial Dependenceとは • 特徴量と予測値の関係性を明らかにするための手法 ◦ 特定の特徴量を動かした時に予測値がどのように変化するかを知ることができる • モデルをデバッグするのに使える ◦ 事前知識と違う結果(例:気温の高いときよりも低いときの方が炭酸飲料が売れる)が出

    るときは、モデルが間違っている可能性があると考察する • 特徴量と予測値の関係から何かしらのアクションにつなげる ◦ 例:売上と正の関係があるものは増やし、負の関係があるものは減らすことで、売上の増 加を促す ◦ PDで分かるのは、因果関係ではないので、必ずしも意図した結果にはならないことに注 意
  44. 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のときの予測測値の平均
  45. • まずはPFIでモデルに大きな影響を与える特徴量を特定し、PDでその特徴量と予測 値の関係を見る ◦ 例えば、TV CMがどのくらい視聴されているかを予測するモデルを構築しているとする ▪ PFIで時間帯が非常に重要だと分かった ▪ PDでCMの打つ時間を24時間内で動かして、時間帯がCMの視聴数の影響を確認す

    る ▪ 例えば、ゴールデンタイムのCMはよく見られていて、早朝に放送された CMはあまり 見られていないという傾向が見てとれる • (線形回帰のような)グラフにして簡単に可視化できるようなモデルであれば必要ない が、複雑なモデルの特徴量と予測値の関係を可視化できることに意味がある PDの分析の流れ
  46. PDによる可視化

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

    ICEとは、各インスタンスについて、特徴量と予測値の関係性を明らかにするための手法 ◦ PDの平均を取る前の
  48. 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の 予測値の変化
  49. PDとICEによる可視化 各線が1人の人

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

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

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

  53. LIME ① 説明対象データ( 印)の近傍にデータ(✕印)を生 成する ② 近傍データに対する説明対象のAIモデルの予測結 果を取得する ✕ ✕

    ✕ ✕ ✕ ✕ 青と分類される 赤と分類される
  54. LIME ① 説明対象データ( 印)の近傍にデータ(✕印)を生 成する ② 近傍データに対する説明対象のAIモデルの予測結 果を取得する ③ その予測結果と同じ結果を導く解釈可能な(基本は

    線形)モデル(- - - 線)を獲得する 獲得した線形モデルの各変数の係数が、その特徴量の 重要度(左図なら横軸が重要) ランダムに近傍データを発生させるので、毎回説明が変 わってしまうことが弱点 ✕ ✕ ✕ ✕ ✕ ✕ 青と分類される 赤と分類される
  55. 大局 局所 PFI 今回ご紹介したXAI手法の整理 PD ICE LIME SHAP Tree Surrogate

    Tree Surrogate
  56. XAIのこれから

  57. • そもそも複雑な事象についてのは判断を説明することは難しい ◦ 人間であってもなぜそう判断したのかを難しいことは多々ある ◦ 犬と猫をどう判別したのか?という一見簡単な問でさえ、人間は自分の思考の過程を説明すること は難しい • XAIを使おうとも基本的には精度と説明力はトレードオフ •

    XAIが提供しているのはあくまでサマリー • XAIの手法によって、モデルの説明結果が変わってしまう ◦ 本来は、モデルそのものによってのみ説明は決まって欲しい ◦ (同じ手法でさえ、LIMEのように確率的に説明が変動するものもある) XAIにも限界がある
  58. XAIの納得感不足と知識活用 • XAIがより納得感を得られる説明を行っていくためには、分野の専門知識知識との 紐付けが行われる必要がある ◦ 対象となる分野の過去の研究結果・知識体系を踏まえた質問をできればいい • XAIと紐付けるためには、専門知識が構造的に整理されている必要がある ◦ 自然言語処理の分野では、特定の分野の知識体系を構造化・可視化していくような研究

    も活発 • XAI単独ではなく、他の研究開発分野と共に発展していく必要がある
  59. AIのテストとXAI • AIは判断基準をルール化できず、入力に対して出力が 事前に予測できないのでテストが難しい ◦ 敵対的攻撃のように入力の少しの違いでも出力が大きく変わっ てしまうようなこともありうる • 「関係性」に注目したテスト、「頑強性」に注目したテスト などいくつかのテスト手法が提案されている

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

    • 各XAI手法には、「説明の仕方」に得意・不得意がある