Interpretable Adversarial Training for Text
1. どんなもの?
自然言語処理に対する解釈可能な敵対的摂動を生成する sparse projected gradient descent (SPGD) を提案
2. 先行研究と比べてどこがすごいの?
自然言語処理における敵対的摂動の例
- 2 つのある単語埋め込み表現 (original embedding と neighbor embedding) 間における敵対的摂動の例
- Original embedding から 3 ステップ (緑の矢印) 動いて、黄色で示された生の摂動 (raw perturbation)となる - スパース係数 の場合、最大ノルムの摂動の 50%が保持される
- Word A の摂動はコサイン類似度が最も高い最近傍に射影され、赤色で示された摂動 (projected perturbation) となる
先行研究に以下 3 つの問題点が存在する:
- Interpretability
- なぜそのような敵対的摂動が加えられたか、また加えたあとの embedding を解釈するのは難しい
- Likelihood
- 敵対的摂動が加えられた単語列は、ground truth と比較してあまり自然なものではない
- Label-Invariance
- 敵対的摂動が加えられることにより単語列が表す意味が変わってしまい、教師ラベルが反転する余地がある
本研究では先行研究の問題点を以下の視点から解決する sparse projected gradient descent (SPGD)
を提案:
- Sparsification
- センテンスレベルに対して L2 ノルムが大きい摂動を選択して加える。ノルムが小さいものは 0 にする
- スパース化した敵対的摂動を加えることで ground truth と比べても自然な文となる
- センテンスレベルに対して L2 ノルムが大きい摂動を選択して加える。ノルムが小さいものは 0 にする
- Directional Projection
- 敵対的摂動を加えるときに近傍の単語埋め込み表現と同じ direction に摂動が追加されるように写像する
3. 技術や手法の”キモ”はどこにある?
先行研究 Vanilla Adversarial Training for Text (AdvT-Text) [Miyato+ ICLR17]
- 通常の loss と adversarial loss を最小化する
- Adversarial loss
- Adversarial noise
-
- AdvT-Text で計算される敵対的摂動から得られる単語表現は、元ある単語表現と一致しないため解釈が難しい。
-
先行研究 Interpretable Adversarial Training (iAdvT-Text)] [Sato+ IJCAI18]
- Interpretable adversarial noise
- word embedding に対する 個の最近傍の unit-direction vectors を用いて を計算
- direction を持った敵対的摂動 を以下で計算
- word embedding に対する 個の最近傍の unit-direction vectors を用いて を計算
提案手法 Sparsified Projected Gradient Descent
- AdvT-Text において 回生成した摂動 に対して
- unit-direction vector とのコサイン類似度が最大となるような摂動 を得る
- スパース係数 を用いて、L2 ノルムが を満たさない摂動は 0 にする
- unit-direction vector とのコサイン類似度が最大となるような摂動 を得る
4. どうやって有効だと検証した?
- 映画の大規模レビューデータセット IMDB を用いて評価
- 摂動の解釈性を保持しつつ、先行研究と同等の精度を達成している
5. 議論はあるか?
- AdvT-Text, iAdvT-Text および提案手法の SPGD による生成される adversarial noise の比較
- もともとの文の意味が壊れること無く adversarial example を生成できている
6. 次に読むべき論文はあるか?
- AdvT-Text
- iAdvT-Text