Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ICML2018読み会: Overview of NLP / Adversarial Attacks

959 views

Published on

ICML 2018読み会の資料.
Overview of NLP/ Adversarial Attacks
- Obfuscated gradients give a false sense of security: circumventing defenses to adversarial examples
- Synthesizing Robust Adversarial Examples
- Black-box Adversarial Attacks with Limited Queries and Information

Published in: Data & Analytics
  • Be the first to comment

ICML2018読み会: Overview of NLP / Adversarial Attacks

  1. 1. ICML’18 のNLP関連の論文 & Adversarial Attackに関する論文 Motoki Sato 2018/07/28 ICML2018読み会 Preferred Networks
  2. 2. 名前 佐藤 元紀 (さとう もとき) 所属 NAIST (松本研) → PFN 分野 NLP / Speech Twitter @aonotas 自己紹介 2 今回の発表 ICMLにおけるNLP関連の話&Adversarial Attack 論文発表 @IJCAI’18 NLPにおける敵対的摂動の解釈性に関する論文: Interpretable Adversarial Perturbation in Input Embedding Space for Text, IJCAI‘18
  3. 3. ICMLにおけるNLP 3 NLP & Speech セッションが2回
  4. 4. NLPの抱える問題点(一部)  Vocabが大きすぎ問題 1. 出力層のサイズが大きくなる Softmax層の計算コストが高い 2. 入力層の単語ベクトルが多くなる モデルを保存するときに 10万 * 512 dim  離散的 vs 連続的 – Symbolicなものを扱う (NLP) – 連続的なものを扱う (Neural Network) – 離散的 ⇔ 連続的 の変換に単語ベクトルで変換する 4
  5. 5. NLPの抱える問題点(一部)  Vocabが大きすぎ問題 1. 出力層のサイズが大きくなる Softmax層の計算コストが高い 2. 入力層の単語ベクトルが多くなる モデルを保存するときに 10万 * 512 dim  離散的 vs 連続的 – Symbolicなものを扱う (NLP) – 連続的なものを扱う (Neural Network) – 離散的 ⇔ 連続的 の変換に単語ベクトルで変換する 5 [Chen, ICML 2018] [Blanc, ICML 2018] [Weiss, ICML 2018]
  6. 6. 出力層のサイズが大きくなる問題  Adaptive Sampled Softmax with Kernel Based Sampling  既存手法では, Softmax層からサンプリングする手法があるが biasが掛かってしまう問題点があった  提案手法ではサンプリング時のバイアスを減らした 6 [Blanc, ICML 2018] 先行研究 “Adaptive Softmax” : Efficient softmax approximation for GPUs のChainer実装 : https://github.com/soskek/efficient_softmax
  7. 7. 入力層の単語ベクトルが多くなる問題  Learning K-way D-dimensional Discrete Codes for Compact Embedding Representations 7 [Chen, ICML 2018] 先行研究 [Shu & Nakayama, ICLR 2017] : Compressing word embeddings via deep compositional code learning の Chainer実装 : https://github.com/chainer/models/tree/master/nncompress 単語ベクトルをOne-hotではなく, K個のcodeに変換し, DNNにcodeを入力して単語ベクト ルを予測させる モデル保存の時にサイズを減らす ことができる
  8. 8. 連続的 ⇔ 離散的  Extracting Automata from Recurrent Neural Networks Using Queries and Counterexamples 8 [Weiss, ICML 2018]  訓練済みのRNNから有限オートマトンを抽出する研究
  9. 9. Towards Binary-Valued Gates for Robust LSTM Training  LSTMのForget-Gateの値を 0, 1に制限する  Gumbel-softmaxでEnd-to-Endで学習する 9  提案法では文の区切れでforgetsするように学習されている LSTMのGateをいじる系の研究は色々あるが, 実用的にはNVIDIAのcuDNN-LSTM が高速すぎるので, NVIDIAにSupportされないと厳しいという… Chainerの場合は L.NStepLSTMが高速です (BiLSTMもあります)
  10. 10. Adversarial Attacks
  11. 11. Adversarial Attacks 1. Obfuscated gradients give a false sense of security: circumventing defenses to adversarial examples [Best Paper] Anish Athalye, Nicholas Carlini, David Wagner 2. Synthesizing Robust Adversarial Examples Anish Athalye*, Logan Engstrom*, Andrew Ilyas*, Kevin Kwok 3. Black-box Adversarial Attacks with Limited Queries and Information Andrew Ilyas*, Logan Engstrom*, Anish Athalye*, Jessy Lin* 11 同じグループ (MIT/UC Berkeley)でAdversarial 系で3本 ICMLに通している …! そのうち1本はBest Paper.
  12. 12. 1. Obfuscated gradients give a false sense of security 12 Adversarial Exampleとは? 出力を変えるような勾配を求めて 入力xを更新していく
  13. 13. 1. Obfuscated gradients give a false sense of security 13 Adversarial Exampleとは? (余談) Adversarial Exampleといえばパンダのイメージが強いが, ICMLの発表では猫 (tabby cat) の例が多いなぁ…
  14. 14. 1. Obfuscated gradients give a false sense of security 14 ICLR 2018のdefenseに関する論文9本のうち7本に関して攻撃できたよ Obfuscated gradientsという現象を使ってdefenseしている手法は攻撃されちゃう よ 概要 1. Shattered gradients 微分不可能なオペレーションで勾配を計算不可にしている 2. Stochastic gradients 予測時にランダム性を入れている 3. Vanishing/exploding gradients 勾配が消失している Obfuscated gradients
  15. 15. 1. Obfuscated gradients give a false sense of security 15 Backward Pass Differentiable Approximation (BPDA) 勾配が計算できないレイヤーを勾配 ≒ 1 となる別の関数で置き換える g(x) ≈ x ∇g(x) ≈ ∇x = 1
  16. 16. 1. Obfuscated gradients give a false sense of security 16 Expectation Over Transformation (EOT) 入力にランダムな変換を加えて予測させている場合, いくつか入力を 試して期待値を計算し, 勾配を近似する.
  17. 17. 1. Obfuscated gradients give a false sense of security 17 実験 著者ポスター: https://www.anishathalye.com/media/2018/07/19/poster.pdf
  18. 18. 2. Synthesizing Robust Adversarial Examples 18 3DのオブジェクトでAdversarial Exampleを作る. レンダリング時にあらゆる角度から見た時に出力を間違えるように学習する.
  19. 19. 3. Black-box Adversarial Attacks with Limited Queries and Information 19 Adversarial Attackを現実的な設定で解いた. (Black-box + limited Query & Information) 概要  White-box Attack 攻撃者がモデル全体の構造・パラメータを知っている  Black-box Attack 攻撃者はモデルの出力のみを知っている(モデルが手元に無い) (例) Google APIを攻撃する Black-boxを対象とし, 1. Query-limited setting (APIの使用制限) 2. Partial-information setting (出力の一部 + スコア) 3. Label-only setting (出力のラベルのみ) を定義した
  20. 20. Google Vison API 20入力 出力
  21. 21. Adversarial Attackの分類 White-box Black-box モデルの構造 ○ ☓ モデルのパラメータ (勾配) ○ ☓ 出力 (全クラスのスコア) ○ ○ Query-limited Partial- information Label-only settin API試行回数の制限 ○ ☓ ☓ 全クラス / 一部 全クラス K ≧1 K ≧2 出力のスコア ○ ○ ☓ untarget target Target 目標クラス無し 出力クラスを変えられたらOK 目標クラスあり 犬の画像をpandaと予測させる
  22. 22. Motivation / Method 22 1. Query-limited setting (APIの使用制限) 2. Partial-information setting (出力の一部 + スコア) 3. Label-only setting (出力のラベルのみ) I. Natural Evolutionary Strategies (NES) [Wierstra et al. (2014)] を用いて勾配を推定する. II. 推定した勾配からAdversarial Exampleを生成する (設定ごとに少し工夫を加える) 手法 設定
  23. 23. 勾配の推定 [Wierstra et al. (2014)] (Natural Evolutionary Strategies; NES) 23 推定したい勾配 Search distribution of random Gaussian noise around the current image x 近似した勾配 期待値で近似
  24. 24. 1. Query-limited Setting 24 推定した勾配からAdversarial Exampleを作る(iterative)  入力xに対してガウシアンノイズを加える.  ノイズの加える方向を 逆の方向にも加える Antithetic sampling [Salimans et al. (2017)] 近似した勾配 効率の良い推定方法 →API試行回数を少なくする
  25. 25. 2. Partial-information Setting 25  入力xに対してガウシアンノイズを加える.  ノイズの加える方向を 逆の方向にも加える Antithetic sampling [Salimans et al. (2017)]
  26. 26. 2. Partial-information Setting 26  目標クラスyadvの画像xからスタートして, 入力xを修正していく  Top-Kの中に含まれるかどうかで探索の方向を決める
  27. 27. 3. Label-only setting 27  現在の入力 x に対して離散的なスコアを定義する.  Classifierのスコアの代わりに, ∇xS (x) の勾配を推定する (4 – 2) (4 – 1) (4 – 4)
  28. 28. 実験 (Image Net) 28  QL : Quary-limited Setting : 平均 1万クエリで攻撃が成功する(多 い?)  スコアを隠すと(やはり)必要なクエリ数が増加している  Image NetのTest Setからランダムに1000件  任意のTarget classに誤分類させる 設定:
  29. 29. Input Image 29
  30. 30. Adversarial Example 30
  31. 31. 論文一覧  NLP関連の論文 – Towards Binary-Valued Gates for Robust LSTM Training – Learning K-way D-dimensional Discrete Codes for Compact Embedding Representations – Extracting Automata from Recurrent Neural Networks Using Queries and Counterexamples – Adaptive Sampled Softmax with Kernel Based Sampling  Adversarial Attack 31 1. Obfuscated gradients give a false sense of security: circumventing defenses to adversarial examples [Best Paper] 2. Synthesizing Robust Adversarial Examples 3. Black-box Adversarial Attacks with Limited Queries and Information
  32. 32. 32
  33. 33. Interpretable Adversarial Perturbation in Input Embedding Space for Text 佐藤 元紀1, 鈴木 潤2, 進藤 裕之1,3, 松本 裕治1,3 1 : 奈良先端科学技術大学院大学 (NAIST) 松本研究室 2 : NTTコミュニケーション科学基礎研究所 3 : 理化学研究所 革新知能統合研究センターAIP IJCAI’18
  34. 34. 敵対的摂動  画像に摂動(ノイズ)を加えると分類器が間違えることが知られ ている[Szegedy et al., 2014, Goodfellow et al .,2015] 34 [Szegedy et al., 2014] : “Intriguing properties of neural networks.”, ICLR 2014.  [Goodfellow et al.,2015]:“Explaining and Harnessing Adversarial Examples”, ICLR 2015. [Goodfellow et al., 2015]から引用 入力画像 敵対的摂動 (Adversarial Perturbation) 敵対的サンプル (Adversarial Example)
  35. 35. 敵対的摂動  画像に摂動(ノイズ)を加えると分類器が間違えることが知られ ている[Szegedy et al., 2014, Goodfellow et al .,2015] 35 [Goodfellow et al., 2015]から引用 入力画像 敵対的摂動 (Adversarial Perturbation) 敵対的サンプル (Adversarial Example) 目的関数の誤差が増大する勾配から求める
  36. 36. 画像処理 と 自然言語処理  画像処理 – 入力は連続的 (RGB値 0〜255) – 画像 + 摂動ベクトル → 画像 として解釈可能 36  自然言語処理 – 入力は離散的 (単語) – 離散シンボル⇔単語ベクトルを変換するLookup Tableを用いる – 単語ベクトル + 摂動ベクトル → ? ? ? (どの単語を表しているか解釈できない) (例)
  37. 37. 本研究の概要 37 既存手法 提案手法 単語ベクトル 摂動ベクトル 単語ベクトル 単語方向ベクトル 摂動ベクトルが 単語が存在する点を 向いていない 摂動ベクトルが 単語が存在する点を 向いている 提案手法のメリット 1. 摂動を可視化し人間に解釈可能になる (どのような単語の置き換えなのか) 2. 敵対的サンプルを勾配から生成することができる
  38. 38. 関連研究  出力を変える入力文の作成 – クラウドソーシングで読解システムを騙す入力文を作成する [Jia and Liang, 2017] – ランダムな文字のスワップを考えてNMTを騙す入力文を探索する [Belinkov and Bisk, 2018] – 同義語を置き換え大量の入力文を生成し,分類器を騙す出力文を探索する [Samanta and Mehta, 2017]  モデルの挙動を知ることで解釈性が上がる. 38 敵対的サンプル(Adversarial Example) for NLP
  39. 39. 関連研究  敵対的サンプルを学習に加えて汎化性能を上げる[Goodfellow et al .,2015] 39 敵対的学習(Adversarial Training) 目的関数 敵対的サンプルを正しく分類する目的関数  半教師あり学習に敵対的学習を拡張 (Virtual Adversarial Training; VAT) [Miyato et al., 2016]  単語ベクトルに摂動を加え,敵対的学習を行う [Miyato et al., 2017] – テキスト分類において最高精度だが, 摂動に関する解釈性は議論していない Adversarial Training for Text 既存手法: [Miyato et al., 2017] について詳しく述べる
  40. 40. 既存手法 : [Miyato et al., 2017]  Takeru Miyato, Andrew M Dai, and Ian Goodfellow, ICLR 2017 “Adversarial training methods for semi-supervised text classification.”  単層LSTM + Pre-Training (Language Model) + Adversarial Training 40 単語ベクトル:敵対的摂動ベクトル:
  41. 41. :ハイパーパラメータ (例: 1.0) 既存手法 : [Miyato et al., 2017] 41 単語ベクトル:敵対的摂動ベクトル: 敵対的学習 :単語ベクトルに摂動を加えた入力 摂動の定義 :損失関数 を増大させる を求め る 摂動の求め方 :勾配を求め, L2正規化 :目的関数に追加 :摂動を加えた入力を 正しく分類する目的関数
  42. 42. 既存手法 : [Miyato et al., 2017]  Takeru Miyato, Andrew M Dai, and Ian Goodfellow, ICLR 2017 “Adversarial training methods for semi-supervised text classification.”  単層LSTM + Pre-Training (Language Model) + Adversarial Training 42 単語ベクトル:敵対的摂動ベクトル:
  43. 43. 提案手法 43 既存手法: 提案手法: 単語ベクトル 摂動ベクトル 単語ベクトル 単語方向ベクトル 摂動ベクトルが 単語が存在する点を 向いていない 摂動ベクトルが 単語が存在する点を 向いている 単語方向ベクトル を考慮し, 勾配から摂動を求める
  44. 44. 提案手法 44 摂動の定義 単語ベクトル: 摂動の求め方 :単語の方向ベクトル :重みスコアαとの総和を摂動とする :単語ベクトルに摂動を加えた入力 :損失関数 を増大させる aを求める :勾配からαを求める :重みαと単語方向ベクトルdから 摂動を求める
  45. 45. 提案手法 45 既存手法: 提案手法: 単語ベクトル 摂動ベクトル 単語ベクトル 単語方向ベクトル • 可視化 :最大のa 以外は0にフィルターすることで 唯一の方向を向くようになる • 敵対的学習:上記の式を使う.
  46. 46. 実験  敵対的学習の実験 (汎化性能が上がるかを調べる) – 比較手法 : [Miyato et al., 2017] – データセット: IMDB (極性分類タスク) (Train : 21,246 Dev: 3,754 Test: 25,000 Unlabeled: 50,000) 46 単語ベクトル:敵対的摂動ベクトル:
  47. 47. 実験結果 47 • 既存手法と同等 or 少し良い性能を得ることができた. • ランダムな摂動ベクトルよりも高い性能を得ることができた (Semi-supervised : ✝ )
  48. 48. 48 左軸: 入力文 (テストデータ) Positiveな文 右軸:摂動の方向に存在する単語 (単語の置き換え) 分類器の予測が Positive → Negativeとなる摂動 を求める. 摂動の方向と大きさを可視化した. 方向 :どの単語が存在するか 大きさ:摂動のL2ノルム ※摂動の重みは最大値を用いた “better” → “worse” と単語ベクトルに摂動を加えると Positive → Negativeとなりや すいことが可視化で分かる 周辺単語テスト文
  49. 49. 49 左軸: 入力文 (テストデータ) Negative な文 右軸:摂動の方向に存在する単語 (単語の置き換え) 分類器の予測が Negative → Positiveとなる摂動 を求める. 摂動の方向と大きさを可視化した. 方向 :どの単語が存在するか 大きさ:摂動のL2ノルム ※摂動の重みは最大値を用いた “bad”→ “good”と単語ベクトルに 摂動を加えると Negative→Positiveとなりやすい ことが可視化で分かる 周辺単語テスト文
  50. 50. 予測を変化させる入力文の作成  摂動のノルムが大きい単語を置き換えて, 分類器の予測結果が変わるか確かめる. 50 This movie turned out to be better than I had expected it to be Some parts were pretty funny It was nice to have a movie with a new plot <eos> テストデータ文 予測結果: Positive This movie turned out to be worse than I had expected it to be Some parts were pretty funny It was nice to have a movie with a new plot <eos> 敵対的サンプル 予測結果: Negative “better” → “worse”と置き換えると予測結果が反転した (文の意味も変化している)
  51. 51. 予測を変化させる入力文の作成 51 テストデータ文 予測結果: Positive敵対的サンプル 予測結果: Negative There is really but one thing to say about this sorry movie It should never have been made The first one one of my favourites An American Werewolf in London is a great movie with a good plot good actors and good FX But this one It stinks to heaven with a cry of helplessness <eos> There is really but one thing to say about that sorry movie It should never have been made The first one one of my favourites An American Werewolf in London is a great movie with a good plot good actors and good FX But this one It stinks to heaven with a cry of helplessness <eos> “this” → “that”と置き換えると予測結果が反転した (文の意味は変化していない)
  52. 52. 予測を変化させる入力文の作成 52 “this” → “that”と置き換えると予測結果が反転した (文の意味は変化していない) “better” → “worse”と置き換えると予測結果が反転した (文の意味も変化している) このような入力を人手や辞書のコストを掛けず, 勾配情報から求めることができるのが利点
  53. 53. まとめ  単語ベクトルに対して摂動を加える際に 単語が存在する方向に制約を加える手法を提案した.  既存の手法に比べ,同等程度の性能を得た  可視化することでモデルの解釈性が上がった  敵対的な入力文を勾配から求めることを示した. 53

×