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

テーブル・画像・テキストの反実仮想説明

masatoto
October 20, 2022

 テーブル・画像・テキストの反実仮想説明

テーブルデータの反実仮想説明は広く普及されています。
では、画像とテキストはどうでしょうか。
なぜ、うまくいかないのか、どう解決しようとしているのか紹介します。

社内勉強会で使用しました。

masatoto

October 20, 2022
Tweet

More Decks by masatoto

Other Decks in Research

Transcript

  1. ⾃⼰紹介 n 太⽥ 真⼈ n ISIDでデータサイエンティストをしています。 n お仕事は、AI製品開発、データ分析案件、研究など n 最近は、⼈とAIの協調など、HCIに興味があります。

    n この資料は、予測の反実仮想説明のサーベイです。 n 基礎的な内容とテーブル、画像、テキストに対する反実仮想説明を紹介しています。 n サーベイ論⽂をまとめたわけではなく、⾃分で検索して調べたため、⾼い網羅性があるとは⾔えません。 n 各スライドの末尾に引⽤論⽂名と国際会議名を載せました。 はじめに
  2. n なぜ、反事実(⾏動の結果に基づく反事実でなく、観察レベルの⽅)の結果を知りたいのか︖ n ⼿元にデータがなくとも、今後のことを⾒据えた対策を事前に取りたいから なぜ必要なのか ロバスト評価 誤差分析 予測の説明 MLエンジニア向け データサイエンティスト向け

    意思決定タスクに携わる⽅向け 特定条件下で予測傾向の把握 ルールベースの検討へ 誤差の⼤きい原因の調査 精度改善へ 「もしも」の把握 意思決定に反映へ 特徴 分 類 確 率 未 観 測 サンプルB 反実仮想B サンプルB 反実仮想B どうすれば正しいクラスになる︖ どこまで正しい挙動︖ もしも、少し違ったらどうなる︖ 5
  3. 法律関連 、ヘルスケア、⾦融業界 AIの結果に対するお客様への説明補強 - 与信審査がなぜ落ちたのかを伝え、次に繋げる - 「なぜ」から、リスクのあるAI投資の意思決定の後押しになる - 裁判、病院、保険会社が、結果と説明をお客様に共有し、納得を与える AIの理解とAIへの信頼

    - 「もし」、「なぜ」、を通じて⼈々に信頼を与える - 医師はいつ、どのようにAIに頼ればいいのかがわかる - 予測から説明へのユーザーインタラクションを通してモデルの理解が促進される 応⽤領域 6
  4. (1) Validity︓有効性 (2) Actionability ︓⾏動可能性 (3) Sparsity︓スパース性 (4) Data Manifold

    closeness ︓データ多様体との近接性 (5) Causality ︓因果性 理想的な反実仮想例 ⼈間が理解できて、実現可能性が⾼く、オリジナルなサンプルに似ていること。 先の定式化では、まだ不⼗分です。 反実仮想例に求められること 9
  5. 反実仮想例と類似する概念の説明 説明 1と予測したのは右の訓練 画像があったから。 説明 たとえ、右の⽣成画像のよ うでも9と予測します。 (⽣成画像の⽅がより分類 境界に近い) 説明

    もし、画像が真ん中や右の⽣成画像の ようになれば8と予測します。 ⼀般的なテーブルデータではなく、画像を例にfactualとsemi-factualとcounterfactualを紹介 左の画像に対して、その説明を右の画像がそれぞれしている。 [AAAI 21] On Generating Plausible Counterfactual and Semi-Factual Explanations for Deep Learning 17
  6. 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
  7. 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
  8. n 以下のように簡単に定義できる。 1. 対象データと推論モデルの選択 2. 反実仮想サンプルを求める⽅法の選択 3. 現実的に変更可能な特徴の設定 4. 特徴の可動領域の設定

    DiCEの実装 https://github.com/interpretml/DiCE/blob/master/docs/source/notebooks/DiCE_getting_started.ipynb 著者チュートリアルから抜粋 22
  9. より現実的なデータセットで試した 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
  10. n 先のように、画像上ではどうしても摂動がノイズになり、説明にならない。 n そこで摂動対象を概念活性化ベクトル [Kim 18] に変えたConceptual Counterfactual Explanations(CCE)を提案 n

    説明⽅法は図c)のように、間違えた予測を正しい予測に変えるために必要な概念ベクトルが緑で⽰される。 n 図c)はシマウマなのにストライプがないために別クラスになっているとわかる。 概念レベルの反実仮想例に向けて [ICML 22] Meaningfully Debugging Model Mistakes using Conceptual Counterfactual Explanations 30
  11. n 概念活性化ベクトル Concept activation vectors (CAVs) [Kim 18]の算出⽅法を説明する。 1. まず概念は⼈が定義する。

    定義をするのは、ドメインエキスパートが望ましい。 2. 次に各概念に対する正例と負例を訓練データから100件程度選ぶ。 3. 選択データを分類器の中間層の特徴量でSVM分類器を学習し、分類境界の法線ベクトルを概念ベクトルとする。 n 図だとストライプの概念をベクトルを計算している。 n こうして、各概念ベクトルを計算し、説明時に利⽤する。 ⾃然画像の場合は以下の⼀般概念170個を定義していた。 (a) 特定の物体の存在(例︓鏡、⼈物) (b) 状況(例︓道路、雪) (c) 質感(例︓ストライプ、⾦属) (d) 画像の質(例︓ぼやけ、緑) 概念活性化ベクトルの算出⽅法 31
  12. 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
  13. n NLPの反実仮想サンプルは⼈かAIが⽣成している。 n 期待するクラスに予測を変えるにはどうすれば良いのか。 n NLPでは、yʻに対するxʼを求める逆問題が、⽣成x1,…,xn を推論し、yʼになるサンプルを探す問題に変わって いる。 n ⽣成の条件づけが、⼈が解釈するのに直感的なものかがポイントになる。

    テキストの反実仮想は説明性として機能しているのか Why x’ ? Because f ⼈が条件を数ある中から決める ⼈かAIにより⽣成 f , は対応する を反実仮想説明とする。 Why x’ ? Because の中に があれば、 従来の⽅法 テキストの場合 36
  14. アノテーターに⽂章を修正するよう指⽰しデータ拡張 変更の条件 (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
  15. 既存⼿法︓意図に沿って⼈が反実仮想サンプルを作成 [ACL20] Beyond accuracy: Behavioral testing of NLP models with

    CheckList. n ロバスト性を確認するために要件ごとにテキストを⼈が編集し、テス ト形式で調査しています。 A 単体テスト Ø 正常動作を確認 B 不変性テスト((Invariance test ) Ø 現実的にラベルが変わらない範囲でワードを変えて予測が不変か確 認 C ラベル変化テスト (A Directional Expectation test) Ø 元⽂と類似するがラベルが変化する⽂章で正しく予測ラベルが変化 するか確認 G(z) z 39
  16. 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
  17. 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
  18. nモデルの説明 ØSHAPの重要度が⾼い単語、または重要度が低い単語の反実仮想サンプルを⽣成 Øユーザーは、反実仮想のモデルの予測結果を予想してもらい、そのエラー率で質の⾼い反実仮想例を⽣成 できたか評価する。 nモデルの評価 Ø制御ルールで⽣成した反事実仮想例をアノテーションして Contrast sets とし、モデルを評価 Ø

    Contrast sets は、分類境界上のサンプルで構成されるテストデータセット Ø分類モデルの性能が下がることが予想される。 nモデルの改善 Ø反実仮想サンプルをデータ拡張として利⽤する。 Ø次ページで説明 Polyjuiceの使い道 43
  19. n 反実仮想説明の概要と求められることを紹介しました。 n テーブル、画像、テキストに対して、簡単な実装例と最新論⽂の紹介をしました。 n 画像は、概念レベル(背景雪、⽬の⾊、⽿の形)で反事実を得ようとしてます。 n テキストは、条件をもとに⽂章を多数⽣成し、テストケースで反事実を得ようとしています。 n 画像とテキストに共通して、⼈間のドメイン知識を解釈⼿法に組み込もうとしています。

    Ø 画像の場合、概念をベクトル化する際に、概念の選別は⼈が決めます。 Ø テキストの場合、⽣成させる条件を⼈が決めます。 n 業務知識のある⼈たちが⾃分の意思決定する要因を洗い出し、それらを解釈⼿法に組み込むことで信頼のある AIに近づくと考えます。 まとめ 46