Slide 1

Slide 1 text

予測の反実仮想説明の調査報告 2022年10⽉21⽇ 株式会社 電通国際情報サービス X(クロス)イノベーション本部 AIトランスフォーメーションセンター 太⽥ 真⼈

Slide 2

Slide 2 text

⾃⼰紹介 n 太⽥ 真⼈ n ISIDでデータサイエンティストをしています。 n お仕事は、AI製品開発、データ分析案件、研究など n 最近は、⼈とAIの協調など、HCIに興味があります。 n この資料は、予測の反実仮想説明のサーベイです。 n 基礎的な内容とテーブル、画像、テキストに対する反実仮想説明を紹介しています。 n サーベイ論⽂をまとめたわけではなく、⾃分で検索して調べたため、⾼い網羅性があるとは⾔えません。 n 各スライドの末尾に引⽤論⽂名と国際会議名を載せました。 はじめに

Slide 3

Slide 3 text

n予測の反実仮想説明とは nどこで使えるのか nどんな事例があるか n反実仮想サンプルの基本的な考え⽅ nテーブル︓AzureMLに実装されているDiCEを使ってみた。 n画像︓ OmniXAIを使ってみた。 nテキスト︓Polyjuiceを使ってみた。 nまとめ アジェンダ 3

Slide 4

Slide 4 text

n 予測の反実仮想説明とは、予測結果を期待する出⼒に変化させるため、特徴量に対して最⼩の摂動を加えた サンプルベースの説明⽅法 n 反実仮想のサンプルを作成することで、モデルがどのように意思決定を⾏うのか、個々のサンプルがどのように解釈 されるかを知ることができる。 n 「もし〜だったらどうなっていたか」「なぜ」という問いに答える。 n この説明⼿法は、与えられた⼊⼒に対して、期待する結果を得るための摂動を求める問題に帰着する。 予測の反実仮想説明とは オリジナル サンプル 反実仮想サンプル 予測結果 予測結果 摂動 Perturb 予測 予測 期待する出⼒か︖ 技術の肝 4

Slide 5

Slide 5 text

n なぜ、反事実(⾏動の結果に基づく反事実でなく、観察レベルの⽅)の結果を知りたいのか︖ n ⼿元にデータがなくとも、今後のことを⾒据えた対策を事前に取りたいから なぜ必要なのか ロバスト評価 誤差分析 予測の説明 MLエンジニア向け データサイエンティスト向け 意思決定タスクに携わる⽅向け 特定条件下で予測傾向の把握 ルールベースの検討へ 誤差の⼤きい原因の調査 精度改善へ 「もしも」の把握 意思決定に反映へ 特徴 分 類 確 率 未 観 測 サンプルB 反実仮想B サンプルB 反実仮想B どうすれば正しいクラスになる︖ どこまで正しい挙動︖ もしも、少し違ったらどうなる︖ 5

Slide 6

Slide 6 text

法律関連 、ヘルスケア、⾦融業界 AIの結果に対するお客様への説明補強 - 与信審査がなぜ落ちたのかを伝え、次に繋げる - 「なぜ」から、リスクのあるAI投資の意思決定の後押しになる - 裁判、病院、保険会社が、結果と説明をお客様に共有し、納得を与える AIの理解とAIへの信頼 - 「もし」、「なぜ」、を通じて⼈々に信頼を与える - 医師はいつ、どのようにAIに頼ればいいのかがわかる - 予測から説明へのユーザーインタラクションを通してモデルの理解が促進される 応⽤領域 6

Slide 7

Slide 7 text

反実仮想サンプルの 基本的な考え⽅

Slide 8

Slide 8 text

n[Wachter+ 17] が発表した多くの論⽂の根幹の考え⽅ nx︓オリジナルサンプル, y︓オリジナルラベル nxʼ︓x の反実仮想(CF)サンプル, yʼ︓期待するラベル 反実仮想サンプルを求める最適化の考え⽅ ⼊⼒空間は離れず 予測は期待ラベル に近づける [Arxiv 20] Counterfactual Explanations for Machine Learning: A Review 8

Slide 9

Slide 9 text

(1) Validity︓有効性 (2) Actionability ︓⾏動可能性 (3) Sparsity︓スパース性 (4) Data Manifold closeness ︓データ多様体との近接性 (5) Causality ︓因果性 理想的な反実仮想例 ⼈間が理解できて、実現可能性が⾼く、オリジナルなサンプルに似ていること。 先の定式化では、まだ不⼗分です。 反実仮想例に求められること 9

Slide 10

Slide 10 text

n 有効性は反実仮想例が予測されたとき、期待するクラスに属するかを表す。 n 最適化した結果、期待するクラスにならないこともある。 n ⽣成された反実仮想例の総数K に対する、期待クラスラベルを持つ反実仮想例の⽐率を測定する。 n 妥当性が⾼いほど望ましい。ほとんどの論⽂がこの性質を報告している。 有効性(Validity) Validity =2/2 10

Slide 11

Slide 11 text

n テーブルデータでは、変更可能な特徴と不可能な特徴がある。 n 推薦の場合、どの特徴が変更可能で(例えば、収⼊、年齢)、どの特徴が変更不可能か(例えば、⼈種、出 ⾝国)についての考察が重要。 n 推奨される反実仮想は、決して不変の特徴を変更してはならない。 n ⾏動可能な特徴の集合をA と呼び、損失関数を次のように更新することができる。 ⾏動可能性 Actionability( Rationality ) ⾏動範囲を制限 [IUI 20] ViCE: Visual Counterfactual Explanations for Machine Learning Models 11

Slide 12

Slide 12 text

n 変更する特徴の数と、摂動の⼤きさには、トレードオフが存在する。 n 反実仮想は、理想的には、より少ない数の特徴を変更する必要がある。 スパース性(Sparsity) [FAT20] Explaining Machine Learning Classifiers through Diverse Counterfactual Explanations オリジナル L0/L1 ノルム 12

Slide 13

Slide 13 text

n 反実仮想サンプルは、学習データに近く、実現性が⾼いことが望まれる。 n 近接性は、オリジナルサンプルからの反実仮想の距離を測定する。 データ多様体との近接性(Data Manifold closeness ) データセットに近いか 評価指標 望ましい 13

Slide 14

Slide 14 text

n データセット中の特徴が独⽴であることは稀であり、現実世界では⼀つの特徴を変更すると他の特徴に影響を与 える。 n 例えば、新しい学位を取得するためには、年齢を少なくとも上昇させることが必要である。 n 現実的で実⾏可能であるためには、反実仮想は特徴間の既知の因果関係を維持する必要がある。 Ø因果グラフの活⽤ n テキストだとどうなるのか︖ n x = “⼩学⽣がテーマパークに⼦供料⾦で⼊った。” n CF(x) = “⾼校⽣がテーマパークに学⽣料⾦で⼊った。” n 学⽣と⼊場料の因果関係を踏まえた反実仮想サンプルが作れるのか︖ 因果性(Causality) 学⽣ ⼊場料 14

Slide 15

Slide 15 text

n テーブルデータは最適化アルゴリズムから反実仮想を求めることが多い。 n 画像やテキストの⾮構造データは⽣成モデルを⽤いることが多い。 反実仮想アルゴリズム 画像・テキスト系 テーブル系 Azure ML提供 Polyjuice 後で紹介 GPT2 元図 [Arxiv 21] MCCE: Monte Carlo sampling of realistic counterfactual explanations 15

Slide 16

Slide 16 text

関連⽤語

Slide 17

Slide 17 text

反実仮想例と類似する概念の説明 説明 1と予測したのは右の訓練 画像があったから。 説明 たとえ、右の⽣成画像のよ うでも9と予測します。 (⽣成画像の⽅がより分類 境界に近い) 説明 もし、画像が真ん中や右の⽣成画像の ようになれば8と予測します。 ⼀般的なテーブルデータではなく、画像を例にfactualとsemi-factualとcounterfactualを紹介 左の画像に対して、その説明を右の画像がそれぞれしている。 [AAAI 21] On Generating Plausible Counterfactual and Semi-Factual Explanations for Deep Learning 17

Slide 18

Slide 18 text

n敵対的学習(Adversarial Learning ) Ø敵対的学習は、与えられた⼊⼒を異なる分類にするために、⼊⼒に最⼩限の変化を与えることを⽬的とし ている。 Ø敵対的学習の設定には⼈間に気付かないノイズレベルを⼊⼒に与えることが多い。 Ø⼀⽅で、反実仮想説明では、⼈間が検出可能で、理解可能で、もっともらしいものでなければならない。 関連する⽤語 オリジナル CF オリジナル AE [arXiv 13] Intriguing properties of neural networks [ACL18] Semantically Equivalent Adversarial Rules for Debugging NLP Models 敵対的サンプル 反実仮想サンプル 18

Slide 19

Slide 19 text

n対照的説明(Contrastive explanation ) Øwhy P, rather than Q? 「なぜQではなくPなのだろう。」を説明することを⽬指す。 Ø会計⼠でなく、なぜ⻭医者かと、⾔われると(2)の⻩⾊の所属機関が理由 Ø結果、ある事象が他の事象と対照的になぜ起こったのかが明らかになる。 n半事実説明(Semi-Factual Explanation) ØEven if 「たとえ、何かをしても結果は変わらないだろう。」を出⼒することを⽬指す。 Ø半事実説明は、分類結果を変えないギリギリのサンプルを提⽰する。 関連する⽤語 反実仮想 事実 半事実 [EMNLP21] Contrastive Explanations for Model Interpretability [AAAI21] On Generating Plausible Counterfactual and Semi-Factual Explanations for Deep Learning 19

Slide 20

Slide 20 text

テーブルデータの 反実仮想説明

Slide 21

Slide 21 text

nAzureMLでは、テーブルデータに対して、DiCEが実装されている。 nDiCE( Diverse Counterfactual Explanations) Ø複数の反事実を求める Øモデルに依存しない計算⽅法(Azure対応) • ランダムサンプリング • KD-Tree (トレーニング データ内の反事実) • 遺伝的アルゴリズム Øモデルに依存する計算⽅法 • 勾配ベースな⽅法 AzureMLの反実仮想説明 https://learn.microsoft.com/ja-jp/azure/machine-learning/concept-counterfactual-analysis [FAT20] Explaining Machine Learning Classifiers through Diverse Counterfactual Explanations 21

Slide 22

Slide 22 text

n 以下のように簡単に定義できる。 1. 対象データと推論モデルの選択 2. 反実仮想サンプルを求める⽅法の選択 3. 現実的に変更可能な特徴の設定 4. 特徴の可動領域の設定 DiCEの実装 https://github.com/interpretml/DiCE/blob/master/docs/source/notebooks/DiCE_getting_started.ipynb 著者チュートリアルから抜粋 22

Slide 23

Slide 23 text

n データは、DiCEのチュートリアルを例にUCIリポジトリのAdultのデータで実験した。 n タスクは年収が$50Kを超えるかの⼆クラス分類(1︓超える、0︓超えない) n サンプル例に対して、反実仮想サンプルを4つ⽣成した。性別が変わるなど実現性に無理がある。 やってみた。 https://archive.ics.uci.edu/ml/datasets/adult 年収が$50Kを超えるには︖ 23

Slide 24

Slide 24 text

n 先の例に、仮に年齢と教育と職業のみを変更可能とする。 n 結果、年齢が77や90になっている。現実的な範囲が求められる。 変更可能な特徴を絞る 年収が$50Kを超えるには︖ 24

Slide 25

Slide 25 text

特徴の可能な範囲を狭める n 先の例に、年齢の範囲を[20,60]とする。 n 結果、四捨五⼊した61歳までの範囲の結果が求められる。 n この場合、年齢が60歳になるまでに教育を受け、職業を変えると超えられるらしい。 年収が$50Kを超えるには︖ 25

Slide 26

Slide 26 text

画像データの 反実仮想説明

Slide 27

Slide 27 text

n salesforceが公開している説明性のライブラリ。 n 2022年6⽉にArxivでプレプリントも出てている。 n テーブルだけでなく、テキスト、画像、時系列も説明性対応している。 OmniXAI: A Library for Explainable AI https://github.com/salesforce/OmniXAI 27

Slide 28

Slide 28 text

n OmniXAIを⽤いると数⾏で実装でき、数秒で結果が得られる。 n ほとんどが納得のいく結果が得られた。 MNISTを⽤いた反実仮想サンプル チュートリアル︓https://opensource.salesforce.com/OmniXAI/latest/tutorials/vision/ce_torch.html 28 この線があると 9に⾒える。

Slide 29

Slide 29 text

より現実的なデータセットで試した https://ebird.org/species/houfin 本物のhouse finch https://ebird.org/species/greegr 本物のgreat egart n Resnet50を⽤いて、CUB 200 2011のデータセットで実験してみた。⼀枚につき数⼗秒はかかる。 n 反実仮想サンプルを作ったが、予想通りノイズレベルの摂動に留まる。 CUB -200-2011: https://www.vision.Caltech.edu/datasets/cub_200_2011/ 29

Slide 30

Slide 30 text

n 先のように、画像上ではどうしても摂動がノイズになり、説明にならない。 n そこで摂動対象を概念活性化ベクトル [Kim 18] に変えたConceptual Counterfactual Explanations(CCE)を提案 n 説明⽅法は図c)のように、間違えた予測を正しい予測に変えるために必要な概念ベクトルが緑で⽰される。 n 図c)はシマウマなのにストライプがないために別クラスになっているとわかる。 概念レベルの反実仮想例に向けて [ICML 22] Meaningfully Debugging Model Mistakes using Conceptual Counterfactual Explanations 30

Slide 31

Slide 31 text

n 概念活性化ベクトル Concept activation vectors (CAVs) [Kim 18]の算出⽅法を説明する。 1. まず概念は⼈が定義する。 定義をするのは、ドメインエキスパートが望ましい。 2. 次に各概念に対する正例と負例を訓練データから100件程度選ぶ。 3. 選択データを分類器の中間層の特徴量でSVM分類器を学習し、分類境界の法線ベクトルを概念ベクトルとする。 n 図だとストライプの概念をベクトルを計算している。 n こうして、各概念ベクトルを計算し、説明時に利⽤する。 ⾃然画像の場合は以下の⼀般概念170個を定義していた。 (a) 特定の物体の存在(例︓鏡、⼈物) (b) 状況(例︓道路、雪) (c) 質感(例︓ストライプ、⾦属) (d) 画像の質(例︓ぼやけ、緑) 概念活性化ベクトルの算出⽅法 31

Slide 32

Slide 32 text

n 先の概念ベクトルを⽤いて、ある画像を正しいクラスに変える場合、どの概念ベクトルが必要か計算する。 n つまり、特徴空間上で、どの概念ベクトルを今の特徴ベクトルにたせば正しいクラスになるのか求める。 n 図b)だとシマウマが⽝側に分類されており、オレンジのベクトルを⾜すとシマウマになる例である。 n ここで求める摂動はwC になる。 摂動の求め⽅ Sparsity 概念ベクトル数削減 中間特徴 b に概念ベクトルを⾜して最終層 t の結果が 正しいクラス y になるための損失関数 Validity 画像内に既にある概念の重みはゼロ ある概念だけの説明にならないよう最⼤値も制限 32

Slide 33

Slide 33 text

n 誤差分析は多くのテストサンプルでモデルの誤りを⼿作業で調べ、誤分類の原因を推測する、アドホックなプロセス n CCEを⽤いると擬似相関に関してシステマチックに⾒つけられる。 図の説明 n ⽝と雪が⼀緒に写る画像で動物分類モデルを学習すると雪があれば⽝と分類モデルになる。 n テスト画像に草背景の⽝を⼊⼒すると誤分類する。CCEを計算すると雪、⼈、ベッドが上位にくる。 n つまり、このモデルは雪が写っていないと⽝と認識しないことが分かり、擬似相関が⾒抜ける。 CCEによるモデルのデバッグ 33

Slide 34

Slide 34 text

テキストデータの 反実仮想説明

Slide 35

Slide 35 text

n テーブルや画像のような最適化による反実仮想説明を求めない。 n ⼈間が、⼿動でテキストを書き換えたり、摂動関数を定義し、反実仮想サンプルを作成する。 n 反実仮想サンプルを推論し、結果から反実仮想説明を求める。 n 紹介するPolyjuiceは⽣成モデルGPT-2を頼り、反実仮想サンプルの作成を効率化する。 n ⼿動でテキストを書き換え Ø[ACL 20] Beyond accuracy: Behavioral testing of NLP models with CheckList. Ø[ICLR 20] Learning the difference that makes A difference with counterfactually-augmented data. n 摂動関数を定義 Ø[ACL 20] Semantically equivalent adversarial rules for debugging NLP models n 制御可能な⽣成モデルの利⽤ Ø[ACL 21] Polyjuice: Generating Counterfactuals for Explaining, Evaluating, and Improving Models テキストの反実仮想説明の現状 35

Slide 36

Slide 36 text

n NLPの反実仮想サンプルは⼈かAIが⽣成している。 n 期待するクラスに予測を変えるにはどうすれば良いのか。 n NLPでは、yʻに対するxʼを求める逆問題が、⽣成x1,…,xn を推論し、yʼになるサンプルを探す問題に変わって いる。 n ⽣成の条件づけが、⼈が解釈するのに直感的なものかがポイントになる。 テキストの反実仮想は説明性として機能しているのか Why x’ ? Because f ⼈が条件を数ある中から決める ⼈かAIにより⽣成 f , は対応する を反実仮想説明とする。 Why x’ ? Because の中に があれば、 従来の⽅法 テキストの場合 36

Slide 37

Slide 37 text

n 下図は、意味的に違和感のない敵対的⽂章を変換ルールで作成する。 Ø 単語の⾔い換え n この⽅法は複数のルールから共通する要因を⼈が調べ、予測モデルの傾向に気づかせる。 n 単語を省略形にすると間違う⽐率が⾼いから、このモデルは省略形に弱いと⼈に想起させる。 既存⼿法︓意味的に同じな敵対的⽂章による説明 [ACL20] Semantically equivalent adversarial rules for debugging NLP models 変換ルール G(z) z 37

Slide 38

Slide 38 text

アノテーターに⽂章を修正するよう指⽰しデータ拡張 変更の条件 (a)反実仮想ラベルが適⽤されること (b)⽂書の⼀貫性を保つこと (c)不必要な修正をしないこと n アノテーションの結果 Ø 8つの共通パターンを発⾒(右表) 既存⼿法︓アノテーターに反実仮想サンプルの作成 [ICLR20] Learning the difference that makes A difference with counterfactually-augmented data. [arXiv 20] Evaluating models’ local decision boundaries via contrast sets. 期待される事実の⾔い換え ⽪⾁の追加 修飾語の挿⼊ 修飾語の変換 フレーズの挿⼊ 修飾語による感情の減衰 異なる視点 レーティングの変更 G(z) z 38

Slide 39

Slide 39 text

既存⼿法︓意図に沿って⼈が反実仮想サンプルを作成 [ACL20] Beyond accuracy: Behavioral testing of NLP models with CheckList. n ロバスト性を確認するために要件ごとにテキストを⼈が編集し、テス ト形式で調査しています。 A 単体テスト Ø 正常動作を確認 B 不変性テスト((Invariance test ) Ø 現実的にラベルが変わらない範囲でワードを変えて予測が不変か確 認 C ラベル変化テスト (A Directional Expectation test) Ø 元⽂と類似するがラベルが変化する⽂章で正しく予測ラベルが変化 するか確認 G(z) z 39

Slide 40

Slide 40 text

n 反実仮想サンプルをGPT-2によって⽣成できること ü⽣成させたい反実仮想のルールを部分的に制御可能 ü反実仮想⽂章を⼈が作らなくて良い ü質の⾼い⽂章を作れる Polyjuiceの良いところ Polyjuiceの全体構成 ⽣成可能な条件リスト z G(z) [ACL 21] Polyjuice: Generating Counterfactuals for Explaining, Evaluating, and Improving Models 40

Slide 41

Slide 41 text

n 元⽂章の[BLANK]部分に対して、否定的な⽂章を⽣成してみた。 1. # the base sentence 2. text = "It's sunny today, so we'll play outside." 3. b_text = "It's sunny today, so we [BLANK] outside.” 4. pj = Polyjuice(model_path="uw-hai/polyjuice", is_cuda=True) 5. perturbations = pj.perturb( 6. orig_sent=text, #オリジナル⽂章 7. blanked_sent=b_text, #ブランク付き⽂章 8. ctrl_code=“negation”, #制御ルール 9. perplex_thred=5, #⽣成⽂章の質の閾値 10. num_perturbations=3, #⽣成⽂の返り値の最⼤数 11. ) 12.print(perturbations) [Out]: ["It's sunny today, so we don't need to play outside.", "It's sunny today, so we don't have to go outside."] やってみた 41

Slide 42

Slide 42 text

n 制御ルールを与えずに⽣成させることも可能。 Text =“週末に台⾵が来るから、どこにも出かけられない。” A typhoon is coming this weekend, so I can't go out anywhere. ⽣成結果 n "今週末は台⾵が来るから、海に⾏けないよ” n "今週末は台⾵が来るから、どこにも出かけられないよ” n "今週末は台⾵が来るから、仕事に⾏けないよ" n "I have a typhoon this weekend, so I can't go to the beach.” n "The typhoon is coming this weekend, so I can't go out anywhere.” n "I have a typhoon this weekend, so I can't go to work." 別の⽣成例 42

Slide 43

Slide 43 text

nモデルの説明 ØSHAPの重要度が⾼い単語、または重要度が低い単語の反実仮想サンプルを⽣成 Øユーザーは、反実仮想のモデルの予測結果を予想してもらい、そのエラー率で質の⾼い反実仮想例を⽣成 できたか評価する。 nモデルの評価 Ø制御ルールで⽣成した反事実仮想例をアノテーションして Contrast sets とし、モデルを評価 Ø Contrast sets は、分類境界上のサンプルで構成されるテストデータセット Ø分類モデルの性能が下がることが予想される。 nモデルの改善 Ø反実仮想サンプルをデータ拡張として利⽤する。 Ø次ページで説明 Polyjuiceの使い道 43

Slide 44

Slide 44 text

n 反実仮想サンプルをデータ拡張として利⽤する。 n 感情分析の場合、精度が変わらないことが多い。 n オレンジのContrast sets に関しては、分類境界上のロバスト性が⾼まったことで精度が上がったと考えられる。 Polyjuiceの使い道︓モデルの改善 44

Slide 45

Slide 45 text

まとめ

Slide 46

Slide 46 text

n 反実仮想説明の概要と求められることを紹介しました。 n テーブル、画像、テキストに対して、簡単な実装例と最新論⽂の紹介をしました。 n 画像は、概念レベル(背景雪、⽬の⾊、⽿の形)で反事実を得ようとしてます。 n テキストは、条件をもとに⽂章を多数⽣成し、テストケースで反事実を得ようとしています。 n 画像とテキストに共通して、⼈間のドメイン知識を解釈⼿法に組み込もうとしています。 Ø 画像の場合、概念をベクトル化する際に、概念の選別は⼈が決めます。 Ø テキストの場合、⽣成させる条件を⼈が決めます。 n 業務知識のある⼈たちが⾃分の意思決定する要因を洗い出し、それらを解釈⼿法に組み込むことで信頼のある AIに近づくと考えます。 まとめ 46