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

snlp2020

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for kichi kichi
September 22, 2020
210

 snlp2020

Avatar for kichi

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か所に エラーが含まれていれば,単語レベルで エラーを特定できたとみなす