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

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

ueniki
March 31, 2022

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

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

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

------------------------

XAI(説明可能なAI)とは

機械学習がブームになって、5年以上が経過し、実際に機械学習がビジネスに活用されることも増えてきました。

機械学習が社会実装されていく中で、AIが「なぜ、そのような答えを出したのか?」を説明できないことが社会問題になりつつあります。

差別的な画像認識を行ってしまったGoogle Photosなど、AIが私たちの生活を脅かす事例が取り沙汰されるたびに、どうすればAIに公平性や倫理性をもたせられるのかが議論の的になります。
また、AIエンジニアがプロジェクトのリーダーや組織の上層部・他部署を説得するために、AIの判断の根拠を説明しなければならないような場面も増えてきています。

つまり、AIが人の意思決定を代替し、より社会に浸透していくには、AIにも社会的・倫理的な視点が求められているということでしょう。

そこで、AIに馴染みのない人にも分かりやすくAIを説明する技術 = XAI(eXplainable AI) が近年注目を集めています。

講座のゴール

徐々にXAIが使われている実例も増えているようですが、みなさんが実際にビジネス現場で使えるようになるように理論や使用法を解説した入門書・講座は少ないのが現状です。
ビジネスの現場でXAIの活用が進み、AIが「説明責任」を果たすことができるようになれば、AIが私たちの意思決定を助けてくれる未来がより近づくでしょう。

今回は、XAIが注目されいる背景やどのようにAIを説明するのかの理論の解説を行います。
また、XAIの主要なライブラリを動かしてみながら、実務での適用のイメージがきちんと湧くようにしたいと思います。

# XAI # 機械学習 #AI

ueniki

March 31, 2022
Tweet

More Decks by ueniki

Other Decks in Technology

Transcript

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

    the Black-Box: A Survey on Explainable Artificial Intelligence (XAI), Adadi and Berrada(2018) 論文数の増加
  2. AIによって人が被る被害にはいくつかのパターンがある • 社会的有害性 ◦ 固定観念がAIによって増強されることによる被害 • 経済損失 ◦ 特定のグループに属する人たちの経済的な選択肢が狭まる •

    機会損失 ◦ 属するグループによって仕事・住宅・教育などへのアクセスに差が生じる • 自由の喪失 ◦ 監視、人権、言論の自由などの制約 引用:責任あるAI ―「AI倫理」戦略ハンドブック
  3. 人間中心のAI社会原則 (1)人間中心の原則 (2)教育・リテラシーの原則 (3)プライバシー確保の原則 (4)セキュリティ確保の原則 (5)公正競争確保の原則 (6)公平性、説明責任及び透明性の原則 (7)イノベーションの原則 AIが社会実装されていく上で求められる原則 •

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

    ◦ 人間の感覚とは異なる判断や誤りが発生した時に、何が原因で誰に責任がある のか(悪意を持った誰かによって引き起こされた可能性もある)を示さなければな らない • (透明性)AIがどのようなデータで学習したか、どのような検証が行ったか、ど のような基準や根拠に基づいて処理を行っているのかなどを透明性高く示す 必要がある ◦ ブラックボックス化しやすいAIを、特に人の安全性に関る分野などで多くの人が 安心して使うようになるためには、透明性が求められる 説明可能性 AIの公平性・説明責任・透明性と説明可能性
  5. AIの説明可能性 一般的には、複雑なアルゴリズムを使ったAIは、より高度な判断をできる一方 で、説明可能性は低くなる 参照:XAI(説明可能な AI)そのとき人工知能はどう考えたのか? 対 応 可 能 な

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

    > 3,000円 クーポン利用 = あり サイト訪問回数 > 5回 True False True False True False True False メルマガから購入してもらえる確率 顧客リストに入っている人に 春の新作のメルマガを送ったら 購入してもらえるか?の予測
  7. 説明方法による違い • 特徴量による説明は、どの特徴量が予測にどの程度影響しているかを定量化する ◦ 最も一般的な説明方法で、テーブルデータであればどの変数が重要か、画像データであ ればどの領域が重要かを示す • 判断のルールによる説明は、人間が理解できる程度のルール数で簡単に判断の 根拠を示す ◦

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

    ルール データ そのデータのどの特徴量に特に着目 して判断したか可視化 大まかな判断ルールを近似 LIME Permutation Importance Tree Surrogate 個々データの判断ルールを推測 判断に大きな影響を与えたデータを特 定 Tree Surrogate
  9. XAIの活用方法と注意点 安全 危険 因果関係の探索 実験などを組み合わせて因果推論の手法を 使うべき モデルのデバッグ 事前知識と整合性が取れているか、想定外の 挙動がなさそうかを確認する モデルの振る舞いの解釈・予測

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

    XAIはあくまでモデルの一側面を捉えてるだ けであることに注意して、モデルの振る舞いを 解釈する • 特徴量Aが大きくなると予測 値は小さくなる傾向にあると 解釈・予測するなど 局所説明における使い方 • 出力内容の妥当性検証 • 意図とは異なる学習の見直 し・修正 大局説明における使い方 • AIモデルの改善運用 • 敵対的攻撃の検証 使い方の概要 • 大局説明では捉えきれない 個々の出力の異質性につい て考察する
  11. 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 の値をシャッフル 予測精度の比較 予測精度を計算 予測精度を計算
  12. 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
  13. Partial Dependenceとは • 特徴量と予測値の関係性を明らかにするための手法 ◦ 特定の特徴量を動かした時に予測値がどのように変化するかを知ることができる • モデルをデバッグするのに使える ◦ 事前知識と違う結果(例:気温の高いときよりも低いときの方が炭酸飲料が売れる)が出

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

    る ▪ 例えば、ゴールデンタイムのCMはよく見られていて、早朝に放送された CMはあまり 見られていないという傾向が見てとれる • (線形回帰のような)グラフにして簡単に可視化できるようなモデルであれば必要ない が、複雑なモデルの特徴量と予測値の関係を可視化できることに意味がある PDの分析の流れ
  16. 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の 予測値の変化
  17. LIME ① 説明対象データ( 印)の近傍にデータ(✕印)を生 成する ② 近傍データに対する説明対象のAIモデルの予測結 果を取得する ③ その予測結果と同じ結果を導く解釈可能な(基本は

    線形)モデル(- - - 線)を獲得する 獲得した線形モデルの各変数の係数が、その特徴量の 重要度(左図なら横軸が重要) ランダムに近傍データを発生させるので、毎回説明が変 わってしまうことが弱点 ✕ ✕ ✕ ✕ ✕ ✕ 青と分類される 赤と分類される
  18. • そもそも複雑な事象についてのは判断を説明することは難しい ◦ 人間であってもなぜそう判断したのかを難しいことは多々ある ◦ 犬と猫をどう判別したのか?という一見簡単な問でさえ、人間は自分の思考の過程を説明すること は難しい • XAIを使おうとも基本的には精度と説明力はトレードオフ •

    XAIが提供しているのはあくまでサマリー • XAIの手法によって、モデルの説明結果が変わってしまう ◦ 本来は、モデルそのものによってのみ説明は決まって欲しい ◦ (同じ手法でさえ、LIMEのように確率的に説明が変動するものもある) XAIにも限界がある