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

BPE-Dropout: Simple and Effective Subword Regularization

Shota Koyama
September 23, 2020
290

BPE-Dropout: Simple and Effective Subword Regularization

Shota Koyama

September 23, 2020
Tweet

Transcript

  1. BPE-Dropout: Simple and Effective Subword Regularization Ivan Provilkov, Dmitrii Emelianenko,

    Elena Voita (ACL 2020) 最先端 NLP 勉強会 2020(2020/09/25)   読む人: 古山翔太(東工大岡崎研 M1) 1
  2. 概要 • 新しいサブワード正則化手法 BPE-Dropout を提案 ▷ 確率的に BPE のマージを dropout

    • 貢献 ▷ シンプル & 効果的なサブワード正則化 ▷ BPE に比べ BLEU が~2.3 ポイント向上 ▷ embedding の質の向上や綴り誤りへの頑健性を確認 2
  3. 背景 (1): BPE • 各単語をまず文字単位に分解して, 規則に従ってマージしていく ▷ 語彙サイズ抑えめで低頻度語を扱える ▷ 系列が長くなりすぎない

    • 機械翻訳などの生成タスクにおいて, de-facto standard しかし... • 各単語は決定的に分割される ▷ 形態論的特徴 (語形・形態素など) を活かせていないかも... • unrelated = un + related など • 低頻度語の分割がうまいこといってるのか謎 3
  4. 背景 (2): Sentencepiece • 複数の分割候補を言語モデルを用いてサンプリングする • 複数の分割を考慮すると,分割の曖昧性やノイズに頑健に ▷ サブワード正則化 •

    翻訳で BPE より高性能 しかし... • ユニグラム言語モデルからサブワードの確率を計算・EM 法,ビ タビ法による探索 ▷ BPE と比べて大変 4
  5. 提案手法: BPE-Dropout(1) • まずは普通の BPE 1. 現在の分割で可能なマージを列 挙 (図の”-”) 2.

    学習コーパスで最頻なペアをマ ージ ▷ ”-” がなくなったら終了 5
  6. 提案手法: BPE-Dropout(2) • BPE-dropout 1. 現在の分割で可能なマージを列 挙 (図の”-”) 2. 列挙したマージ操作を確率

    p で 削除(図の” ”) 3. 学習コーパスで最頻なペアをマ ージ ▷ ”-” がなくなったら終了 6
  7. 実験設定 • タスク: NMT • モデル: Transformer base • ベースライン

    ▷ BPE ▷ Sentencepiece • ハイパーパラメータは Kudo+ 18 に準拠 • dropout 確率 ▷ 訓練時: 0.1 ▷ 推論時: 0 8
  8. データセット • 上 2 段が low-resource • 下 2 段が

    high-resource • Zh, Ja は文のままで分割 ▷ En, Fr 等とトークン数の増加率を合わせるため p = 0.6 9
  9. 結果 (3) • 3 データセットで Sentencepiece と有意差なし ▷ high-resource では

    Sentencepiece との差がな い? ▷ 中国語では Sentencepiece のほうが良い? 12
  10. 結果 (4) • 1 データセットで Sentencepiece が良い ▷ 日本語では Sentencepiece

    のほうが良い? ※ 日本語は文字ベース BLEU で評価 13
  11. 結果 (5): src, trg 側のどちらで有効か • trg 側のみ dropout は悪い

    • low-resource では両側に drouout が良い • high-resource では src 側のみ dropout が良い 14
  12. 結果 (7): vocabulary size & corpora size • BPE <

    BPE-Dropout • corpora size↑ で差が縮まる • BPE-Dropout は vocabulary size に影響されにくい 16
  13. 結果 (8): 生成時間と系列の長さ • BPE-Dropout で学習したら推 論時の系列は長くなるか? • Fig 4(a):

    テストデータに BPE/BPE-Dropout を適用 • Fig 4(b): BPE/BPE-Dropout で 学習したモデルで生成 • BPE-Dropout でも推論時の長 さはほぼ同じ • かかる時間もほぼ同じ (Tab 4) 17
  14. 分析 (1): 高頻度な部分文字列の問題 • BPE では高頻度な部分文字列 は分割されずに個別のトーク ンとして現れにくい ▷ BPE-Dropout

    はその問題 を解決できているか? • 上位 10% の部分文字列は BPE ではほとんどサブワード として出てこない • BPE-Dropout では高頻度な部 分文字列がよりサブワードと して現れやすくなっている! 19
  15. 分析 (2): embedding の質 • embedding を SVD で可視化 (→)

    ▷ BPE では頻度によるバイ アスが起こる ▷ BPE-Dropout では解消 • BPE-Dropout では部分文字列 を共有した embedding が近傍 に来やすい 20