Upgrade to Pro — share decks privately, control downloads, hide ads and more …

snlp2020

kichi
September 22, 2020
170

 snlp2020

kichi

September 22, 2020
Tweet

Transcript

  1. 概要 • 疑似的に誤りを含む文を生成し,既存の事前学習済 encoderがどの程度頑健に動作するかを調査 • 現実のエラー分布と,adversarial attack手法の双 方を利用したエラー文の自動生成手法を提案 • ELMo,

    BERT, RoBERTaの3つのencoderに関して, 複数の応用タスクで入力に誤りを疑似的に混入させた 場合の精度や頑健性を比較 – タスクやモデル,エラーのタイプによってモデルの頑健性に差が 見られた
  2. 概要 誤り訂正 コーパス トークンレベル エラーパタン 誤り訂正コーパスから誤りパタン抽出 BERT ELMo RoBERTa 貢献1:

    様々な文法誤りを simulateするアルゴリズム 貢献2: 疑似生成した文法誤りに対 するダウンストリームタスクでの 精度評価 貢献3: 文法誤りに対する事前学習 済Encoderの挙動分析 Clean text 疑似エラー混入 テキスト • それぞれの手法自体は既存手法を利用 • 組み合わせに新規性?
  3. 貢献1: 様々な文法誤りを生成するアルゴリズム ポイント: 誤り訂正のデータを用いたsemi-naturalな誤り生成の手法と Black-box adversarial attackの手法,を両方使う (それぞれの手法は既存手法から流用) 大きく2つの方法でエラー文を生成する 1.

    probabilistic transformation – NUCLEデータから抽出したトークンレベルのエラーの頻度分布に 従ってエラー箇所や置き換え先のトークンをサンプリング 2. worst-case transformation – NUCLEから抽出したエラーパタンを利用するが,adversarial attackの考え方を利用して最もモデルのパフォーマンスを低下させ るような置き換えを探索する
  4. Greedy search step1. 文中のトークン全てに重要度スコアを付与する Step2. 重要度スコアが上位のトークンから順に,全ての置き換えパタ ン(confusion set)を適用し,最もモデルの結果を悪化させる候補 で置き換える ->

    これを上位k個保持するのがbeam search Step2を次のいずれかの条件を満たすまで繰り返す – モデルの予測結果が変化する – 事前に指定した1文あたりの置き換え上限数に達する Step1の重要度について • 各単語を削除したときと削除しないときのラベルYの予測スコア の差が大 きい(正しいラベルの予測確率を下げる)ほど重要度が大きいと仮定し,す べての単語について下記を計算する Is BERT Really Robust? A Strong Baseline for Natural Language Attack on Text Classification and Entailment [Jin et al., AAAI2020]のアルゴリズムを利用
  5. Generic Algorithm • Step1: 現在の文sに対して,全ての可能な変換の中からps個の変 換パタン集合Ptをサンプリングする – ランダムに単語位置と置き換え候補を選択するのをps回繰り返す • Step2:

    Ptを順番に走査し,モデルの結果を悪化させる変換を文sに 対して適用する • Step3: 現在の変換パタンPtを更新して上記のstep1, 2を繰り返す Step1,2,3を次のいずれかの条件を満たすまで繰り返す – モデルの予測結果が変化する – 事前に指定した1文あたりの繰り返し上限数に達する Generating Natural Language Adversarial Examples [Alzantot+, EMNLP2018] の アルゴリズムを利用
  6. 貢献2,3: 評価 • 3種類の評価を実施 – ダウンストリームタスクでの精度評価(貢献2) • 複数の標準的なデータセットで,元のデータ(clean text)でモデ ルを学習し,その後疑似的にエラーを生成したデータでどの程度モデ

    ルのパフォーマンスが変化するかを調査 – Linguistic Acceptability Probing (貢献3) • 事前学習済encoderがどの程度誤り識別能力を獲得しているかを 分析 – Cloze test for BERT(貢献3) • BERTのシングルマスクトークンの確率分布がエラーによってどのように 変化するか分析
  7. 対象とするモデル • ELMo – 3層のLSTMを1Bで事前学習した言語モデル – 上記の層を固定して,さらに上に2層のBiLSTMとアテンショ ンレイヤーを追加 • BERT

    – Transformerベースの事前学習済言語モデル – 今回はbase(12層)を利用 • RoBERTa – BERTとモデル構造はほぼ同じ.BERTより多くのデータで学 習され,dynamic maskingなどの事前学習の工夫が追 加されている
  8. どのエラータイプでattackが成功しやすいか? • Wchoice (word choice error, synonyms), SVA (subject- verb

    agreement error)が最も影響を与えた – タスクによってかなり変わりそう…
  9. 評価2. Linguistic Acceptability Probing • この調査の目的 – Pre-trained encoderがどの程度エラーを特定できる か?(文レベル,単語レベルの双方で調査)

    – 層ごとの違いもみるため,指定した層までのパラメータを 固定して,その上に1層のself attention層と線形変 換層を追加して学習し,エラー特定の精度を分析 encoder Self-attention Linear 1/0 (誤りを含むかどうか) Attnetionの重みが大きい上位2か所に エラーが含まれていれば,単語レベルで エラーを特定できたとみなす