要約
BERTのような予測精度の高い自然言語モデルであっても、入力する文の言い回しが少し変わるだけで、モデルの予測が変化してしまうことがあります。このような事例を敵対的サンプルと呼びます。
この研究では、TextFoolerという敵対的サンプルを生成する手法を提案しており、既存法に比較して以下のような利点があります。
- 既存の研究よりも敵対的サンプルを見つけられる確率が上がった
- 意味的な変化を最小限にする
- 入力テキスト長に比例する時間で敵対的サンプルを探索可能
アーキテクチャ
2つのステップで敵対的サンプルを探索します。
Step1:重要な単語を見つける
文を構成する単語をそれぞれ抜いたときの予測結果の変動をもとに、予測において重要な単語をランキング化します。
そして、文法崩壊を避けるためにNLTKやspaCyを用いてストップワードを除去します。
Step2:類義語に置換する
以下の条件に一致する類義語に置換します。
- 単語ベクトルのコサイン類似度が閾値より高いもの
- 品詞が同じもの
- Universal Sentence Encoder (USE) による文ベクトルのコサイン類似度が閾値より高いもの
結果
LSTMモデルに対する敵対的サンプル生成の結果です。
IMDBだと、敵対的サンプルの平均5.1%の単語置換によって、データセットの内99.7%の予測を変化させました。
他のデータセットでも既存法を上回る成功率となっています。
また、敵対的サンプルを訓練データに追加する「敵対的学習」によって、敵対的攻撃に頑健になることも示しました。
おわりに
非常に効率的に敵対的サンプルを生成することに成功しています。BlackBox攻撃なので、どんな自然言語モデルに対する敵対的サンプルも手軽に生成することができます。悪意を持った人に脆弱性として利用されないために、敵対的学習でモデルを頑健にすることや、敵対的サンプルそのものについて解明が進めることが必要になると思います。