⾃⼰紹介
n 太⽥ 真⼈
nISIDでデータサイエンティストをしています。
n お仕事は、AI製品開発、データ分析案件、研究など
n 最近は、⼈とAIの協調など、HCIに興味があります。
n この資料は、予測の反実仮想説明のサーベイです。
n 基礎的な内容とテーブル、画像、テキストに対する反実仮想説明を紹介しています。
n サーベイ論⽂をまとめたわけではなく、⾃分で検索して調べたため、⾼い網羅性があるとは⾔えません。
n 各スライドの末尾に引⽤論⽂名と国際会議名を載せました。
はじめに
n対照的説明(Contrastive explanation )
ØwhyP, 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
n 先のように、画像上ではどうしても摂動がノイズになり、説明にならない。
n そこで摂動対象を概念活性化ベクトル[Kim 18] に変えたConceptual Counterfactual Explanations(CCE)を提案
n 説明⽅法は図c)のように、間違えた予測を正しい予測に変えるために必要な概念ベクトルが緑で⽰される。
n 図c)はシマウマなのにストライプがないために別クラスになっているとわかる。
概念レベルの反実仮想例に向けて
[ICML 22] Meaningfully Debugging Model Mistakes using Conceptual Counterfactual Explanations 30
31.
n 概念活性化ベクトル Conceptactivation vectors (CAVs) [Kim 18]の算出⽅法を説明する。
1. まず概念は⼈が定義する。 定義をするのは、ドメインエキスパートが望ましい。
2. 次に各概念に対する正例と負例を訓練データから100件程度選ぶ。
3. 選択データを分類器の中間層の特徴量でSVM分類器を学習し、分類境界の法線ベクトルを概念ベクトルとする。
n 図だとストライプの概念をベクトルを計算している。
n こうして、各概念ベクトルを計算し、説明時に利⽤する。
⾃然画像の場合は以下の⼀般概念170個を定義していた。
(a) 特定の物体の存在(例︓鏡、⼈物)
(b) 状況(例︓道路、雪)
(c) 質感(例︓ストライプ、⾦属)
(d) 画像の質(例︓ぼやけ、緑)
概念活性化ベクトルの算出⽅法
31
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
36.
n NLPの反実仮想サンプルは⼈かAIが⽣成している。
n 期待するクラスに予測を変えるにはどうすれば良いのか。
nNLPでは、yʻに対するxʼを求める逆問題が、⽣成x1,…,xn を推論し、yʼになるサンプルを探す問題に変わって
いる。
n ⽣成の条件づけが、⼈が解釈するのに直感的なものかがポイントになる。
テキストの反実仮想は説明性として機能しているのか
Why x’ ? Because
f
⼈が条件を数ある中から決める
⼈かAIにより⽣成
f
,
は対応する を反実仮想説明とする。
Why x’ ? Because
の中に があれば、
従来の⽅法 テキストの場合
36
37.
n 下図は、意味的に違和感のない敵対的⽂章を変換ルールで作成する。
Ø 単語の⾔い換え
nこの⽅法は複数のルールから共通する要因を⼈が調べ、予測モデルの傾向に気づかせる。
n 単語を省略形にすると間違う⽐率が⾼いから、このモデルは省略形に弱いと⼈に想起させる。
既存⼿法︓意味的に同じな敵対的⽂章による説明
[ACL20] Semantically equivalent adversarial rules for debugging NLP models
変換ルール
G(z)
z
37
既存⼿法︓意図に沿って⼈が反実仮想サンプルを作成
[ACL20] Beyond accuracy:Behavioral testing of NLP models with CheckList.
n ロバスト性を確認するために要件ごとにテキストを⼈が編集し、テス
ト形式で調査しています。
A 単体テスト
Ø 正常動作を確認
B 不変性テスト((Invariance test )
Ø 現実的にラベルが変わらない範囲でワードを変えて予測が不変か確
認
C ラベル変化テスト (A Directional Expectation test)
Ø 元⽂と類似するがラベルが変化する⽂章で正しく予測ラベルが変化
するか確認
G(z)
z
39
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
42.
n 制御ルールを与えずに⽣成させることも可能。
Text =“週末に台⾵が来るから、どこにも出かけられない。”
Atyphoon 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
n 反実仮想説明の概要と求められることを紹介しました。
n テーブル、画像、テキストに対して、簡単な実装例と最新論⽂の紹介をしました。
n画像は、概念レベル(背景雪、⽬の⾊、⽿の形)で反事実を得ようとしてます。
n テキストは、条件をもとに⽂章を多数⽣成し、テストケースで反事実を得ようとしています。
n 画像とテキストに共通して、⼈間のドメイン知識を解釈⼿法に組み込もうとしています。
Ø 画像の場合、概念をベクトル化する際に、概念の選別は⼈が決めます。
Ø テキストの場合、⽣成させる条件を⼈が決めます。
n 業務知識のある⼈たちが⾃分の意思決定する要因を洗い出し、それらを解釈⼿法に組み込むことで信頼のある
AIに近づくと考えます。
まとめ
46