BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース 最新のNLPシステムを欺くMIT CSAILのTextFoolerフレームワーク

最新のNLPシステムを欺くMIT CSAILのTextFoolerフレームワーク

原文(投稿日:2020/02/28)へのリンク

MIT Computer Science & Artiftial Intelligence Lab(CSAIL)の研究者チームが先頃、最先端のNLPモデル(BERTなど)を騙して誤った推論をさせることの可能な、TextFoolerというフレームワークをリリースした。これらのモデルは、テキストの分類や含意(entailment)などの処理において90パーセント以上の精度を誇るが、TextFoolerによる修正を加えた後では、10パーセント以下の入力データの変更で、精度が20パーセントまで低下する。

敵対的な攻撃が会話やイメージを解釈するMLによってどのように処理されるのかについては、それを理解するための研究が幅広く行われているが、テキストに関しては、インターネットの安全性に関連するアプリケーションの多くが言語モデルの堅牢性に依存しているにも関わらず、それほどの注目を集めていないというのが現状だ。エンジニアや研究者がTextFoolerを自身のワークフローに取り入れることで、ヘイトスピーチのフラグ付け、偽ニュースの検出、スパムフィルタ、その他のNLPを活用するアプリケーションの境界域をテストすることが可能になる。

TextFoolerは、入力データから最も重要な単語を識別して、文法的に正しい同義語に置き換えるという作業を、モデルの精度に変化が生じるまで実行する。CSAILではTextFoolerを、3つの最先端ディープラーニングモデルを対象に、5つの一般的なテキスト分類タスクと2つのテキスト含意タスクについて評価した。システムの有効性、効率性、効用維持特性(utility-preserving property)の評価においては、言語による敵対的攻撃を自動で4方向、人手で3方向から評価した。

CSAILは、中核となるアルゴリズムについて、1月にリリースした研究論文で詳しく説明している。そのアルゴリズムでは、まず最初に、選択メカニズムによって入力データから重要な単語を探し出す。選択メカニズムは、その単語を削除する前と削除した後の推論の変化を計算することによって、各単語に重要度スコアを与えることで動作する。次に、高い重要度スコアを獲得したすべての単語を、単語置換メカニズムを通じて処理する。この置換メカニズムでは単語の埋め込み(embedding)を使用して、スピーチの同じ場所に最も相応しい同義語(synonym)を識別した上で、置き換えを行った新たなテキストを生成し、意味的類似性(semantic similarity)において所定のしきい値を越えたテキストのみを保存する。最後に、生成されたテキストの中に、ターゲットモデルの推測が変化するものがあれば、その中から意味的類似性の最も高い単語を選択して、それを攻撃に使用するのである。

以下の例では、TextFoolerが入力データを修正することで、映画レビューのモデル解釈を否定的(negative)から肯定的(positive)に修正している。

変更前:  The characters, cast in impossibly contrived situations, are totally estranged from reality. (登場人物を取り巻く状況があまりにも不自然で、完全に現実離れしています)

変更後: The characters, cast in impossibly engineered circumstances, are fully estranged from reality. (登場人物の置かれた状況は計算され尽くしており、現実を遥かに超越しています)

"このシステムは、分類ベースの任意のNLPモデルを攻撃して、その堅牢性をテストするために使用ないし拡張することが可能です"と、主任研究員のDi Jin氏は述べている。"もうひとつの方向として、生成されたアドバーサリ(adversary)を使用した敵対的トレーニング(adversarial training)を通じて、ディープラーニングモデルの堅牢性や汎用性の改善に使用することも可能で、この研究の本来の方向性はこちらにあります。"

カリフォルニア大学アーバイン校で計算機科学を専攻するSameer Singh助教授は、NLPのアドバーサリに非常に注目する人物である。氏はこの研究が最高クラスのNLPモデルの攻撃に成功していることを認めつつも、TextFoolerのようにターゲットモデルを繰り返し探査する必要のあるアーキテクチャが攻撃すれば、セキュリティプログラムで感知できるはずだ、と指摘している。[原文]

コードとトレーニング済みのターゲットモデル、テスト用サンプルは、TextFoolerプロジェクトの一部として、Di Jin氏のGitHubから入手可能である。

この記事に星をつける

おすすめ度
スタイル

BT