Text and NLP Adversarial Attacks
Text / NLP の adversarial attack は、画像のように連続値 pixel に小さい perturbation を加える設定とは異なります。Token は離散的であり、わずかな文字置換や synonym 置換でも意味、文法、自然さが変わります。そのため、攻撃は model を誤らせること と 人間にとって意味が保たれること の両方を満たす必要があります。
Text attack の制約
Text adversarial example は、元文 と意味的に近く、かつ model の予測を変える文です。
ここで、 は semantic similarity、 は文法や自然さの score です。
Character-level attack
Character-level attack は、文字の置換、削除、挿入、swap を使います。Typo に近いため人間には読める場合がありますが、tokenizer や word embedding が大きく変わり、model が失敗することがあります。
代表的な操作は次の通りです。
| 操作 | 例 |
|---|---|
| substitution | movie → m0vie |
| deletion | great → gret |
| insertion | good → goood |
| swap | the → teh |
HotFlip
HotFlip は、one-hot token 表現に対する gradient を使って、どの文字 / token をどれに置き換えると loss が増えるかを効率的に評価します。
Token を に置換する one-hot 差分を考えると、loss の一階近似は次のように書けます。
この値が大きい置換を選ぶことで、離散 token 空間でも gradient-based attack が可能になります。
Word-level synonym attack
Word-level attack は、重要単語を選び、意味が近い synonym に置き換えます。TextFooler のような方法では、まず単語の重要度を推定し、その後に embedding similarity、part-of-speech、sentence similarity などの制約を満たす候補を試します。
制約の例:
- Word embedding similarity が高い。
- Sentence-BERT などの sentence similarity が閾値以上。
- POS tag が変わらない。
- Language model perplexity が悪化しすぎない。
Contextual substitution
BERT-Attack などでは、masked language model を使って文脈に合う置換候補を生成します。単純な synonym dictionary より自然な文を作りやすいですが、意味保存の検証は依然として必要です。
Text attack の評価指標
| Metric | 内容 |
|---|---|
| Attack Success Rate | 攻撃が成功した割合 |
| Perturbation rate | 変更した token / character の割合 |
| Semantic similarity | 元文との意味類似度 |
| Fluency / perplexity | 文として自然か |
| Query count | black-box attack に必要な query 数 |
| Human evaluation | 人間が意味保存を認めるか |
LLM jailbreak との違い
古典的 NLP adversarial attack は、classification や NLI model の label を変えることが主目的でした。LLM jailbreak は、instruction-following model の安全ポリシーや tool behavior を変えることが主目的です。どちらも adversarial input ですが、成功条件と評価方法が異なります。
防御
- Character noise や typo に対する data augmentation
- Spell correction / normalization
- Adversarial training with text edits
- Certified robustness for discrete substitution set
- Semantic consistency check
- LLM system では instruction hierarchy と untrusted data isolation
関連ページ
- Threat Models and Notation
- Black-box and Transfer Attacks
- LLM and Multimodal Adversarial Attacks
- Robustness Evaluation
主なソース
- HotFlip: White-Box Adversarial Examples for Text Classification: https://arxiv.org/abs/1712.06751
- TextFooler: A Model for Natural Language Attack on Text Classification and Inference: https://arxiv.org/abs/1907.11932
- BERT-Attack: Adversarial Attack Against BERT Using BERT: https://arxiv.org/abs/2004.09984
- Is BERT Really Robust? A Strong Baseline for Natural Language Attack: https://arxiv.org/abs/1907.11932