自然言語処理における敵対的サンプル
Summary
- 文字レベルの文書分類モデルに対するホワイトボックス敵対的サンプル生成の論文
- 文字の置換, 挿入, 削除を行い敵対的サンプルを生成する
- 元文章を90%残した信頼性で敵対的サンプルの生成に成功
概要
- 文字レベル(Character-Level)のニューラル分類器(CLCNN)を騙すために、ホワイトボックスの敵対例を生成する効率的な方法を提案
- ほんの少しの操作で精度が大きく低下することを発見しました
- 本手法では,トークンを別のトークンに入れ替える原子反転操作を用いている.この操作は,入力ベクトルの勾配に基づいて行われる.我々の手法は効率的であるため, テスト時の攻撃に対してモデルをより強固にする敵対的なトレーニングを行うことができます.
- また, セマンティクスを維持するためのいくつかの制約を用いることで, HotFlipが単語レベルの分類器の攻撃にも適用できることを示しています.
Introduction
- 敵対的な例とは、予測機械学習モデルへの入力で、性能低下を引き起こすように悪意を持って設計されたものです(Goodfellow et al.2015)。
- 敵対的な例は、モデルのパフォーマンスが低下する入力空間の領域を明らかにし、モデルの理解と改善に役立ちます。
- これらの例を学習データとして使用することで、敵対的学習はよりロバストなモデルを学習し、さらには非敵対的な例でより良い性能を発揮する可能性があります。
- NLPシステムの脆弱性を理解することへの関心は高まっています(Jia and Liang, 2017; Zhao et al., 2018; Belinkov and Bisk, 2018; Iyyer et al., 2018)。
- これまでの研究では、ブラックボックス設定において、モデルパラメータの明示的な知識がなくても、敵対的な例を作成するためのヒューリスティクスに焦点を当ててきました。
- ホワイトボックス設定では、モデルの完全な知識を使用して最悪のケースの攻撃を開発し、はるかに大きな脆弱性を明らかにすることができます。本論文では,微分可能なテキスト分類器に対するホワイトボックス攻撃を提案する.
- その結果、わずかな操作で分類ミスを大幅に増やすことができることがわかった。
- さらに、敵対的な例を高速に生成することで、実現可能な敵対的学習が可能となり、
- モデルが敵対的な例から防御し、クリーンな例での精度を向上させることができます。
- 本手法の核となるのは、原子レベルのフリップ操作であり、ワンショット・ベクトル入力に対するモデルの方向微分を用いて、あるトークンを別のトークンに変更する。
我々の貢献は以下の通りです。
- 離散的なテキスト構造をonehot表現で操作するための効率的な勾配ベースの最適化手法を提案する。
- 敵対的な例を用いて学習された分類器のロバスト性を、攻撃への耐性とクリーンなテストデータでの精度を調査することで明らかにする。
3. Hotflip
3.1 Definitions
モデルの入出力を としてロスを とする(log-loss = cross entropy)
アルファベット, は長さ の文字列
は 番目の単語の 番目の文字のonehotベクトル.
よって と表される.
n は単語の最大文字数になる.
3.2 Derivatives of Operations
テキスト操作をベクトルとして表現して微分で損失の変化を推定する
最適なフリップを推定するために1回の評価(forward) と勾配計算(backward) しか必要ない.
勾配が最大になるようなflipベクトルを選ぶ
flipを使って文字の挿入, 削除も表すことができる. 勾配ベクトルのノルムが変わってしまうので ノルムで正規化した.
3.2 Multiple Changes
どのように1回で最大の損失の増加をさせるような変更を推定するかを説明.
ステップの貪欲法かビームサーチで flipsの敵対的サンプルを得られる.
具体的には元テキストの ノルムが 以内の場所に敵対的サンプルが存在するということ. ビームサーチの幅を として の順伝播, 逆伝播計算しかいらない.
4. Experiments
- 文書分類モデル
CharCNN-LSTMアーキテクチャに対して, 攻撃を行った. - 隠れ層の大きさ500のLSTMを2層重ねたもので, optimizerはSGD
敵対的サンプルは入力文字の10%まで変更できる時90%以上の成功率で敵対的サンプルを作成できた.
信頼度(元の文字が残っている割合)
semanticsの制約を守るためにflipの際に辞書に無い単語を選ぶようにした.
モデルのパラメータにアクセスできず、単にランダムな文字の変更で分類器に問い合わせを行う、(貪欲な)ブラックボックス敵対者と比較します。BelinkovとBisk(2018)は、キーボードの中の文字を隣接する文字に置き換える攻撃「Key」を定義しています。より強力なブラックボックス攻撃者が、文字をアルファベットの任意の文字に変更することを認め、これをKey∗と呼ぶことにします。予想通り、ホワイトボックスの攻撃者の方がはるかに被害が大きく、成功率も高くなります。見てわかるように,ビームサーチ戦略は,信頼度0.9の制約があっても分類器を騙すのに非常に効果的で,90%以上のインスタンスで分類器を騙すことができます.欲張り検索は,特に信頼度の高いスコアを生成する際にはあまり効果的ではありません.敵対者の予算として,文書に含まれる文字の最大10%を使用していますが,信頼度0.5の場合,敵対者は分類器を騙すために平均4.18%の文字を変更しています.敵対者は約80%の確率で反転操作を選択し、2対1で挿入よりも削除を選択しました。
参考文献
【記事更新】私のブックマーク「言語処理分野におけるAdversarial Example」
HotFlip: White-Box Adversarial Examples for Text Classification
@inproceedings{ebrahimi-etal-2018-hotflip,
title = "{H}ot{F}lip: White-Box Adversarial Examples for Text Classification",
author = "Ebrahimi, Javid and
Rao, Anyi and
Lowd, Daniel and
Dou, Dejing",
booktitle = "Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers)",
month = jul,
year = "2018",
address = "Melbourne, Australia",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/P18-2006",
doi = "10.18653/v1/P18-2006",
pages = "31--36"
}
@misc{nlp-adversarial-ex,
title = "言語処理分野における Adversarial Example",
author = "佐藤 元紀",
booktitle = "人 工 知 能 34 巻 5 号",
month = sep,
year = "2019",
url = "https://www.ai-gakkai.or.jp/resource/my-bookmark/my-bookmark_vol34-no5/",
pages = "728--734"
}