Advertisement
Advertisement

More Related Content

Slideshows for you(20)

Advertisement
Advertisement

BERT+XLNet+RoBERTa

  1. BERT+α(BERT[1], XLNet [20], RoBERTa [21]) 2019/09/26 1 [1] Devlin, Jacob, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. "Bert: Pre-training of deep bidirectional transformers for language understanding." arXiv preprint arXiv:1810.04805 (2018). [20] Yang, Zhilin, Zihang Dai, Yiming Yang, Jaime Carbonell, Ruslan Salakhutdinov, and Quoc V. Le. "XLNet: Generalized Autoregressive Pretraining for Language Understanding." arXiv preprint arXiv:1906.08237 (2019). [21] Liu, Yinhan, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, and Veselin Stoyanov. "Roberta: A robustly optimized BERT pretraining approach." arXiv preprint arXiv:1907.11692 (2019).
  2. 最近,盛んになっている pre-training モデルの紹介 ◆ BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding ◆ XLNet: Generalized Autoregressive Pretraining for Language Understanding ◆ RoBERTa: A Robustly Optimized BERT Pretraining Approach 2 本日の内容 本スライドは BERT を中心に,最近の動向についても紹介 ※BERT 以外は詳細には追っていません BERT の検証とチューニング
  3. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding[1] 3 [1] Devlin, Jacob, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. "Bert: Pre-training of deep bidirectional transformers for language understanding." arXiv preprint arXiv:1810.04805 (2018). NAACL 2019 BEST PAPER Google AI
  4. 自然言語処理の利用先は様々で,そのタスクも数多く存在 4 はじめに 自然言語処理とは 自然言語(人が書いたり話した言葉)を処理するための技術 形態素解析,対話,翻訳,言い換え,質問応答,・・・ 数あるタスクの中から,2つのレベルのタスクに注目 ◆ sentence レベル(e.g. 推論,言い換え) 文章毎にラベルが付与されたタスク ◆ token レベル(e.g. 固有表現抽出,質問応答) token(単語など)毎にラベルが付与されたタスク
  5. 5 事前学習の流行 事前学習(pre-training)を応用タスクに用いる方法として ◆ feature-based アプローチ (追加の)特徴量として使用し,応用タスクを学習 ◆ fine-tuning アプローチ(転移学習) タスク固有の最小限の構造を追加し,応用タスクを学習 翻訳モデルの学習前に言語モデルを学習し重みを利用[2] ※言語モデルは通常のコーパス(≠対訳データ)で学習 言語モデルによる事前学習は様々なタスクで効果を発揮 [2] Dai, Andrew M., and Quoc V. Le. "Semi-supervised sequence learning." In Advances in neural information processing systems, pp. 3079-3087. 2015.
  6. 6 BERT の目的 双方向の情報を用いた fine-tuning モデルの作成 課題 ◆ 様々なタスクに適用しやすいモデルが必要 ⇒ feature-based アプローチでは対応が困難 ◆ 精度の向上には,前後の文脈情報の利用が不可欠 ⇒ 論文公開時の fine-tuning モデルは,一方向のみ利用 ◆ タスク固有の構造を最小限に ⇒ fine-tuning アプローチ ◆ 一方向の言語モデル ⇒ 双方向の言語モデル
  7. seq2seq [3, 5] Recurrent Neural Network (RNN) によるエンコーダ・デコーダ 7 関連研究 seq2seq と Transformer Transformer [4] Attention 構造と全結合層によるエンコーダ・デコーダ ※入力と出力を省略,またseq2seq には様々なネットワーク構造が存在 エンコーダ デコーダ エンコーダ デコーダ ℎ0 ℎ1 ℎ2 ℎ3 ℎ 𝑓𝑖𝑛𝑎𝑙 𝒉 : RNN の各 cell ℎ0: 0番目の隠れ層の状態 ℎ 𝑓𝑖𝑛𝑎𝑙: 2層のbiRNNの結合 𝒉 = [ℎ0, ℎ1, ℎ2, ℎ3] : Attention 構造 ◆ Attention による接続 ◆ Attention 構造後に順序 毎に独立の全結合層 ℎ0 ℎ1 ℎ2 ℎ3 𝒉
  8. 単語や文章の表現を学習し,応用タスク用のモデルで学習 ◆ quick thought[6] や doc2vec[7] などの文書埋め込み手法 ◆ word2vec[8] や ELMo[9] などの単語埋め込み手法 8 関連研究 Feature based アプローチ ELMo[9] 双方向 Long Short Term Memory (BiLSTM) による単語埋め込み ◆学習モデルの入力や隠れ層に対する追加特徴量 ◆応用タスクの学習時は入力と BiLSTM の重み付き和を出力 𝐸0 𝐸1 𝐸2 𝐸3 word embeddingsELMo RNN hidden outputsELMo 入力と隠れ層の 重み付き和を結合 𝐸0: 0番目の word vector pre-training
  9. OpenAI GPT[10] Transformer decoder(一方向)による fine-tuning モデル ◆ 全結合層を1層追加し,応用タスクを学習 ◆ 異なるタスクでも,同じ目的関数を使用 事前学習時と応用タスク学習時で同じモデルを使用 ◆ 言語処理では,OpenAI GPT[10] が様々なタスクで高精度 ◆ 画像処理では,教師あり学習のモデルの利用が活発 9 関連研究 fine-tuning アプローチ 𝐸0 𝐸1 𝐸2 𝐸3 OpenAI GPT 全結合層同じモデルを使用し 重みを再学習 pre-training fine-tuning
  10. Transformer による双方向のエンコーダ表現モデル ⇒ Bidirectional Encoder Representations from Transformers (BERT) 10 BERT の概要 ※ELMo も BERT もセサミストリート[11]のキャラ名 [11]http://sesame-street.jp/ 双方向の Transformer を用いた fine-tuning モデル 𝐸0 𝐸1 𝐸2 𝐸3 BERT 全結合層同じモデルを使用し 重みを再学習 より良い言語モデル(Language Model)のため,学習方法も工夫 ◆ 双方向化のため,一部の単語をマスクして学習 ◆ 文章間の関係を捉えるために,文章の連続性を予測 pre-training fine-tuning
  11. BERT は双方向の情報を密に利用した学習が可能 ◆ 一方向ではなく,双方向による接続 ◆ 双方向で独立せず,全体が密な構造 11 BERT における情報の利用 𝐸0 𝐸1 𝐸2 𝐸3𝐸0 𝐸1 𝐸2 𝐸3𝐸0 𝐸1 𝐸2 𝐸3 OpenAI GPTBERT ELMo ◆双方向 ◆密な接続 一方向 ◆双方向 ◆方向毎に独立した学習
  12. BERT のパラメータ = Transformer のパラメータを設定 12 モデルのパラメータ モデル名 L H A 総パラメータ数 BERTBASE 12 768 12 110M BERTLARGE 24 1,024 16 340M 𝐸0 𝐸1 𝐸2 𝐸3 BERT L: Layer 数(Transformer block の数) H: Transformer における 隠れ層の大きさ A: Transformer における multi head attention のヘッド数 Multi-Head Attention Add & Norm Add & Norm Feed Forward Transformer encoder ⇒ OpenAI GPT との比較用
  13. 1つの文と関連のある連続した文を区別した入力形式 ◆ WordPiece によってサブワード化された token ◆ CLS: 分類(classification)タスク用の token ⇒ CLS の末端の隠れ層を使用して分類 ◆ SEP: 文章の区切り(separation)を示す token ⇒ SEP が間に挟まっている = 連続した文の塊 ◆ 最大系列長は512 13 入力に使う token [CLS] my dog is my [SEP] he likes play # #ing [SEP]Input playing のサブワード[CLS] に対する出力を分類に使用 sentence A sentence B
  14. 3種類の埋め込み表現を合計(≠結合)し,入力表現を作成 ◆ Token Embeddings: token に対する埋め込み表現 ◆ Segment Embeddings: token の登場する文を示す情報 ◆ Position Embeddings: token の文中における位置情報 14 入力表現 [CLS] E[CLS] EA E0 + + my Emy EA E1 + + dog Edog EA E2 + + is Eis EA E3 + + my Ecute EA E4 + + [SEP] E[SEP] EA E5 + + he Ehe EB E6 + + likes Elikes EB E7 + + play Eplay EB E8 + + # #ing E# #ing EB E9 + + [SEP] E[SEP] EB E10 + + Input Token Embeddings Segment Embeddings Position Embeddings
  15. Masked Language Model (MLM)は 𝑐𝑙𝑜𝑧𝑒 テストに類似 15 事前学習 Masked Language Model ◆ 直感的に,一方向よりも双方向モデルの方が良さそう ◆ 双方向モデルでは関節的に「自分自身」の情報が混入 ⇒ ランダムにマスクされた単語(≠次の単語)を予測 𝑐𝑙𝑜𝑧𝑒 テスト[12] マスクした単語の予測 the man _____ to the store the man [MASK] to the store MLM: [MASK] = goes, went などと予測するモデル ※マスクされた単語のみ予測するため,auto-encoder とは別物 goes, went, …goes, went, …
  16. 16 事前学習 マスク時の対策 マスクによる新たな課題 ◆ マスクした割合しか学習できず,必要な学習回数が増加 ◆ [MASK] は応用タスクには存在せず,MLM 固有の token [MASK] の影響を緩和するため,3種のマスク方法を用意 ランダムに全体の15%をマスクし,マスク方法は知らせず学習 マスク方法 割合 マスク結果(原文:my dog is hairy) [MASK]による単語の置き換え 80% my dog is [MASK] ランダムな単語による置き換え 10% my dog is apple そのまま(正例へのバイアス) 10% my dog is hairy
  17. ◆ 通常の言語モデルでは文章間の関係の取得が困難 ◆ 質問応答などのタスクでは文章間の関係が重要 ⇒ 事前学習時に,文章が連続しているかの2値分類 17 事前学習 Next Sentence Prediction (NSP) 正例と負例を50%ずつの割合で作成し,分類モデルを学習 [CLS] the man [MASK] to the store [SEP] penguin [MASK] are flight # #less birds [SEP] Input: Input: Label: NotNext(負例) [CLS] the man went to [MASK] store [SEP] he bought a gallon [MASK] milk [SEP] Label: IsNext(正例) 事前学習モデルは98%の精度で分類可能 正例: sentence A に続く文 負例: ランダムに取得した文 事前学習モデルは98%の精度で分類可能
  18. TPU を沢山使用すれば,LARGE モデルでも4日で学習 18 BERT の事前学習の手続き 項目 概要 コーパス BookCorpus[15] と English Wikipedia token 数 3,300M 連続した文章の正例と負例の割合 50:50 最大系列長 512 マスクの割合 15% バッチサイズと step 回数(steps) 256 と 1M(コーパス基準で40) その他の NN の構造 Adam(lr=1e-4), dropout(0.1), gelu BERTBASE に使用したTPU数(chip 数) 4 (16) BERTLARGE に使用したTPU数(chip 数) 16 (64) BERTLARGE の学習にかかった日数 4
  19. 各 token に分類レイヤを追加し,2種類のタスクに対応 ◆ sequence, sentence レベル ◆ span, token レベル 19 fine-tuningの手続き パラメータのチューニングについて ◆ 高速で学習可能なため,最適なパラメータを探索 ◆ 100k 件以上データがあると,パラメータに限らず安定 項目 パラメータ バッチサイズ 16, 32 steps 3, 4 Adam の learning rate 5e-5, 3e-5, 2e-5 分類レイヤは全結合層と softmax 層でクラス予測
  20. 2つのモデル間では,双方向以外にも異なる点が存在 20 BERT と OpenAI GPT の比較1 モデル コーパス BERT BookCorpus[15] と English Wikipedia OpenAI GPT BookCorpus[15] モデル [CLS], [SEP] token 等の学習 BERT pre-train, fine-tuing 時の両方 OpenAI GPT fine-tuing 時のみ ◆コーパス OpenAI GPT よりも BERT の方が大きなコーパスを使用 ◆[CLS], [SEP] token と sentence embeddings の学習 BERT では pre-train 時に学習 ※BERT と OpenAI GPT とでは,fine-tuning 時の目的関数も異なる点に注意
  21. 2つのモデル間では,双方向以外にも異なる点が存在 21 BERT と OpenAI GPT の比較2 モデル バッチサイズ BERT 128,000 OpenAI GPT 32,000 モデル learning rate BERT 5e-5, 3e-5, 2e-5 OpenAI GPT 5e-5 ◆バッチサイズ OpenAI GPT よりも BERT の方が大きいバッチサイズを使用 ◆learning rate OpenAI GPT では同じ learning rate を使用
  22. 11個のタスクで fine-tuning した BERT を評価 22 応用タスクによる評価実験 タスク 概要 [22] GLUE [13] 言語理解の8つのタスクで構成(1つ除外) ⊢1.MNLI 含意/矛盾/中立を予測 ⊢2. QQP Quora の2つの質問が意味的に同等であるか ⊢3. QNLI question と sentence のペアの文に正しい回答が含まれるか ⊢4. SST-2 映画レビューの2値文分類 ⊢5. CoLA 言語学的許容性の2値文分類 ⊢6. STS-B 文のペアの意味的な類似性についてクラス分類 ⊢7. MRPC オンラインニュースの文のペアが意味的に同等であるか ⊢8. RTE MNLI に類似した2値分類(トレーニングデータが小さめ) SQuAD [14] Wikipedia から質問に対応する部分のテキストを回答 CoNLL NER [15] 固有表現抽出(Named Entity Recognition) SWAG [16] 多肢選択問題から尤もらしい文を予測 数が多いため,本スライドは GLUE, SQuAD の結果のみを紹介 [22] https://engineering.linecorp.com/ja/blog/overview-2018-language-models/
  23. 23 fine-tuning モデル sequence, sentence level ※今までの図とは上下が逆 文に対するクラス分類では [CLS] の tokenの出力からクラスを予測 sentence level 1つの文を用いて,クラス予測 sequence level 2つの文を用いて,クラス予測
  24. 24 GLUE とは GLUE:言語理解の8つのタスクで構成された評価方法 ◆Train/Dev/Test に分割されたデータセット ◆Test データのラベルは非公開で,評価サーバ上でテスト e.g. MNLI (前提・仮説の関係が含意/矛盾/中立かを予測) e.g. SST-2 (映画レビューの2値文分類) Premise(前提) Hypothesis(仮説) Label At the other end of Pennsylvania Avenue, people began to line up for a White House tour. People formed a line at the end of Pennsylvania Avenue. entailment レビュー Label This is one of polanski's best films. 1 (positive) No movement, no yuks, not much of anything. 0 (negative)
  25. ◆ BERT は BASE, LARGE それぞれで4.4%, 6.7%ずつ精度が向上 ◆ 最も大きく広く使われている MNLI でも4.7%精度が向上 25 BERT の GLUE における評価結果 GLUE:言語理解の8つのタスクで構成された評価方法 ◆Train/Dev/Test に分割されたデータセット ◆Test データのラベルは非公開で,評価サーバ上でテスト System MNLI-m QQP SST-2 CoLA MRPC Ave Pre-OpenAI SOTA 80.6 66.1 93.2 35.0 86.0 74.0 BiLSTM + ELMo + Attn 76.4 64.8 90.4 36.0 84.9 71.0 OpenAI GPT 82.1 70.3 91.3 45.4 82.3 75.2 BERTBASE 84.6 71.2 93.5 80.0 88.9 79.6 BERTLARGE 86.7 72.1 94.9 85.8 89.3 81.9 ※タスクは一部省略,training example 数の多い順に整列
  26. 26 fine-tuning モデル span, token level ※今までの図とは上下が逆 token level 文中の token の属性を予測 span level 文の始まりと終わりを予測 token 単位の予測では該当する token の出力から予測
  27. ◆ Input Question: When were the Normans in Normandy? ◆ Input Paragraph: The Normans …. were the people who in the 10th and 11th centuries gave their name to Normandy, a region in France. … ◆ Ground Truth Answer: 10th and 11th centuries 27 SQuAD の仕組み SQuAD: 質問に対応する部分のテキストを回答 ◆Test データは非公開で,評価の依頼が必要 ◆public データやデータオーグメンテーションは利用可能 今回は start span (10th) と end span (centuries) を予測 質問に対する回答を与えられた paragraph から抽出
  28. 28 BERT の SQuAD 1.1 における評価結果 System Dev Test EM F1 EM F1 Human - - 82.3 91.2 BiDAF + ELMo (Single) - 85.8 - - R.M. Reader (Single) 78.9 86.3 79.5 86.6 R.M. Reader (Ensemble) 81.2 87.9 82.3 88.3 BERTBASE (Single) 80.8 88.5 - - BERTLARGE (Single) 84.1 90.9 - - BERTLARGE (Ensemble) 85.8 91.8 - - BERTLARGE (Sgl. + TriviaQA) 84.2 91.1 85.1 91.8 BERTLARGE (Ens. + TriviaQA) 86.2 92.2 87.4 93.2 外部データに Trivia QA [17] を加えたモデルでは single, ensemble 共に既存手法および Human power 超え 人よりも良い結果
  29. より深い理解のため,様々な面から BERT の構造を検証 ◆ 事前学習のタスク ◆ モデルサイズ ◆ イテレータ回数 ◆ BERT を用いた feature-based アプローチ 29 効果検証
  30. BERTBASE を用いて事前学習タスクの効果を検証 ◆ BERTBASE BERT の BASE モデル ◆ No NSP 章の連続性を予測しないモデル ◆ Left To Right (LTR) & No NSP 一方向の LM (= No MLM)のため,実質 OpenAI GPT ◆ Left To Right (LTR) & No NSP + BiLSTM fine-tuning モデルの上に BiLSTM を追加したモデル 30 効果検証 事前学習のタスク1 4種のモデルで実験し,MLM・NSP の効果を検証 ※LTR + RTL はコストの増加と QA タスクでは RTL が直感的でないため排除
  31. A) NSP を取り除くと,QNLI, SQuAD などで精度が低下 ⇒ NSP は各タスクに対して効果を発揮 B) MLM は全てのタスクで LTR よりも高い精度 ⇒ 一方向では,双方向に比べて使える情報に制限 C) BiLSTM を追加しても,SQuAD が改善するのみ 31 効果検証 事前学習のタスク2 System MNLI-m (Acc) QNLI-m (Acc) MRPC (Acc) SST-2 (Acc) SQuAD (F1) BERTBASE 84.4 88.4 86.7 92.7 88.5 No NSP 83.9 84.9 86.5 92.6 87.9 LTR & No NSP 82.1 84.3 77.5 92.1 77.8 + BiLSTM 82.1 84.1 75.7 91.6 84.9 A C B
  32. モデルのパラメータを変更し,GLUE で評価 32 効果検証 モデルサイズ Hyperparams MLM perplexity Dev Set Accuracy (5 times ave) #L #H #A MNLI-m MRPC SST-2 3 768 12 5.84 77.9 79.8 88.4 6 768 3 5.24 80.6 82.2 90.7 6 768 12 4.68 81.9 84.8 91.3 12 768 12 3.99 84.4 86.7 92.9 12 1024 16 3.54 85.7 86.9 93.3 24 1024 16 3.23 86.6 87.8 93.7BERTLARGE BERTBASE ◆ モデルサイズが大きい程,精度が向上 ◆ MRPC は3,600件しかデータがないが同様に精度が向上 ⇒ 翻訳などの大きなデータセットでの知見と一致
  33. MNLI を用いて,学習回数と精度の関係性を検証 33 効果検証 学習回数 主な疑問点 ① BERT の学習に1M steps 必要か ② MLM は LTR より収束が遅いのか ① 1M steps > 0.5M steps ⇒ 1M steps 必要 ② MLM は LTR より遅い ⇒ 代わりに精度は向上 実験による結果
  34. ◆ 学習モデル 2層の BiLSTM + 分類レイヤ ◆ 特徴量の抽出 ➢BERT のパラメータは固定 ➢学習モデルに各 layer を接続 34 効果検証 BERT を用いた feature-based feature-based アプローチを用いる2つの利点 ①タスク特有の構造を使用可能 ②一度の学習を再利用可能 特徴量の抽出に用いた Layer Dev F1 Finetune All 96.4 First Layer (Embeddings) 91.0 Second-to-Last Hidden 95.6 Last Hidden 94.9 Sum Last Four Hidden 95.9 Concat Last Four Hidden 96.1 Sum All 12 Layers 95.5 BERT による feature-based アプローチを NER のタスクで検証 Embeddings より精度が向上 ⇒ 特徴量の抽出も可能
  35. ◆双方向の情報を密に利用したことで,従来手法を凌駕 ◆わずかな構造の追加で,様々なタスクで高い精度を獲得 35 BERT のまとめ 双方向の情報を用いた fine-tuning モデル(BERT)の作成 ◆ラベル付きデータを増やさなくても,精度が向上可能 ⇒ 他のデータ数が少ないタスクに対する精度の向上 ◆人よりも高い精度を誇るケースも確認 ⇒ BERT は言語現象を捉えているのかいないか 今後への期待
  36. XLNet: Generalized Autoregressive Pretraining for Language Understanding[20] 36 [20] Yang, Zhilin, Zihang Dai, Yiming Yang, Jaime Carbonell, Ruslan Salakhutdinov, and Quoc V. Le. "XLNet: Generalized Autoregressive Pretraining for Language Understanding." arXiv preprint arXiv:1906.08237 (2019). NIPS 2019 Carnegie Mellon University & Google Brain
  37. 37 XLNet の目的 AE と AR の特徴を持つ fine-tuning モデルの作成 課題 [MASK] token の利用による学習の妨げ ◆ fine-tuning 時に学習する情報の欠損 ◆ 複数の MASK によって同時確率の学習が不可能 ◆ 〇:Auto Encoder (AE),×:AutoRegressive (AR) 言語モデル ◆ AE の特徴:情報の MASK による双方向の学習を可能に ◆ AR の特徴:単語は MASK せず本来の単語列を密に学習 ※ AutoRegressive (AR) 言語モデル: forward の時 𝑝 𝐱 = ς 𝑡=1 𝑇 𝑝(𝑥 𝑡|𝐱<𝑡)
  38. ◆Segment-Level Recurrence with State Reuse 前回の状態を値のみ再利用し,固定長以上の情報を利用可能に 38 関連研究(Transformer-XL [30]) ◆Relative Positional Encodings 共通の positional encodings では,位置関係の学習が困難 ⇒ 相対的な位置情報を学習し,前回と今回の情報を区別 ※前回とは,一度学習した区間(≠forward) 脱固定長 Transformer Transformer-XL
  39. 39 提案手法(XLNet)の概要 ※注.個人的には,この方法がどの程度のノイズなのかがわからない AE と AR の特徴を持つ fine-tuning モデルの作成 入力上の順序はそのままに,モデル内での順序のみ変更 input sequence factorization orders 𝑥0 𝑥1 𝑥2 𝑥3 𝑚𝑒𝑚(0) 𝑚𝑒𝑚(1) 𝑥2 𝑥0 𝑥1 𝑥2 𝑥3 𝑚𝑒𝑚(0) 𝑚𝑒𝑚(1) 𝑥2 factorization order: 2 ⇒ 1 ⇒ 3 ⇒ 0 factorization order: 1 ⇒ 3 ⇒ 2 ⇒ 0 ×:双方向(forward, backward),〇:あり得るすべての順序
  40. Content stream attention 40 Two-Stream Self Attention (1) 2種類の注意機構を用いて,target-aware な表現の獲得 Query stream attention Content stream attention には自分自身の情報が内在 standard self-attention ⇒ 自身の情報を含まない Query stream attention を追加 ℎ1 (0) を key, value に含む 𝑔1 (0) を key, value に含まない
  41. 41 Two-Stream Self Attention 2種類の注意機構を用いて,permutation order を導入 ◆ 学習時の permutation order を変更して言語モデルを学習 ◆ Content stream と Query stream を同時に適応 ◆ Content stream permutation order に対応 ◆ Query stream permutaion order + 対角線上の情報を MASK (fine-tuning 時は外す)
  42. ◆ Next Sentence Prediction (NSP) の廃止 効果が見られなかったため,LARGE モデルでは廃止 42 その他の工夫 ◆ Partial Prediction 𝐾 (= 6, 7) 分割した末尾のみを予測し,学習を効率化 ◆ Transformer ⇒ Transformer-XL Segment Recurrence, Relative Positional Encodings を利用 ◆ Relative Segment Encodings (≈ Relative Positional Encodings) どの segment に属するかを考慮するパラメータの導入 e.g.) [A-seg, SEP, B-seg, SEP, CLS] が与えられた時 𝒔 𝐴 = 𝒔+ 𝑜𝑟 𝒔− (学習パラメータ)とし注意機構の重みを計算
  43. ◆ BERT との比較 XLNet は MASK しないため,より多くの依存関係をカバー 43 BERT や言語モデルとの比較 ◆ 言語モデルとの比較 BERT 同様に,双方向かつ密な構造を XLNet は保持 e.g.) New York is a city ⇒ [MASK] [MASK] is a city In BERT: log 𝑝 New is a city) + log 𝑝 York is a city) In XLNet: log 𝑝 New is a city) + log 𝑝 York New, is a city) XLNet は欠損なく,New と York の依存関係を学習可能
  44. XLNet は BERT よりも大規模かつ多種なコーパスを学習 44 BERT と XLNet の事前学習の違い モデル コーパス コーパスサイズ BERT BookCorpus, English Wikipedia 13 GB XLNet BookCorpus, English Wikipedia, Giga5 [33], ClueWeb 2012-B [34], Common Crawl [35] 126 GB モデル バッチサイズ steps BERT 256 1 M XLNet 2048 500 K ◆コーパス XLNet は BERT よりも更に大きなコーパスを使用して学習 ◆バッチサイズと steps XLNet はより大きなバッチサイズで学習 単純計算で 8 × 1 2 = 4 倍
  45. XLNet は BERT を上回り,他手法と比べても高い精度を獲得 45 XLNet の GLUE における評価結果 GLUE:言語理解の8つのタスクで構成された評価方法 System (single-single) MNLI-m QQP SST-2 CoLA MRPC BERT 86.6 91.3 93.2 60.6 88.0 XLNet 89.8 91.8 95.6 63.6 89.2 ※single-single: single task & single model, multi-ensemble: multi task & ensemble System (multi-ensemble) MNLI-m QQP SST-2 CoLA MRPC Snorkel* [28] 87.6 89.9 96.2 63.8 91.5 ALICE* (StructBERT [29]) 88.2 90.7 95.2 68.6 92.6 XLNet* 90.2 90.3 96.8 67.8 93.0 Dev result Test result
  46. Input Paragraph: The Normans …. were the people who in the 10th and 11th centuries gave their name to Normandy, a region in France. … 46 SQuAD のバージョンの違い v2.0 [25] から与えられた情報だけでは答えられない質問が追加 v1.1 の Q & A ◆ Q: In what country is Normandy located? ◆ A: France v2.0 で追加された Q & A ◆ Q: What is France a region of? ◆ A: None 答えが存在しない問題 答えが存在する問題
  47. System v1.1 v2.0 EM F1 EM F1 Human 82.3 91.2 - - BERT* [1] 87.4 93.2 - - BERT + N-Gram + Self-Training [1] - - 85.2 87.7 BERT + DAE + AoA* (Attention over Attention [26]) - - 85.9 88.6 SG-Net [27] - - 85.2 87.9 XLNet (+ NewsQA [32]) 89.9 95.1 86.4 89.1 XLNet + SG-Net* [27] - - 88.2 90.7 47 XLNet の SQuAD における評価結果 single model で Human と ensemble の BERT を上回る結果 * 付きは ensemble model ※ XLNet + SG-Net は後に紹介する RoBERTa より良い?(RoBERTa + SG-Net がないので) Human・ensemble よりも良い結果
  48. RoBERTa: A Robustly Optimized BERT Pretraining Approach[21] 48 [21] Liu, Yinhan, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, and Veselin Stoyanov. "Roberta: A robustly optimized BERT pretraining approach." arXiv preprint arXiv:1907.11692 (2019). ??? Washington University & Facebook AI
  49. 49 目的 BERT を新たに学習し,hyperparameter 等の影響を調査 課題 pre-training モデルは素晴らしい結果を出すも比較が困難 ◆ 非常に高い訓練コスト ◆ 異なる大きさのコーパスによる学習結果(公平性の欠如) 大規模なコーパスを用いて,BERT のチューニングを実施 ⇒ 最近の手法と同等かそれ以上の精度を獲得
  50. simple な4つの手法の追加・修正により,BERT を学習 ◆ dynamic masking による MASK パターンの増加 ◆ byte-level BPE による語彙の網羅 ◆ large mini-batches の使用 ◆ FULL-SENTENCES without NSP Input format の改良と NSP の廃止 50 RoBERTa とは Robustly optimized BERT approach (BERT のチューニング) 事前実験を行った後,組み合わせて評価実験 最近の手法の 学習方法を導入
  51. ◆ MASK パターンの増加 static ⇒ dynamic な MASK 処理 ➢ static:MASK は1パターンのみで steps 回の学習が重複 ➢ dynamic:MASK は10パターンで steps / 10回の重複 51 BERT を用いた事前実験(1) Masking SQuAD 2.0 MNLI-m SST-2 static 78.3 84.3 92.5 dynamic 78.7 84.0 92.9 わずかな向上だが, step 回数を増やすほど 重要に ◆ byte-level BPE の使用[31] (精度は向上しないが)Unknown token なしで文章を表現 - level 語彙数 追加 token 変更前 character 30 K あり 変更後 byte 50 K なし
  52. ◆ Input format の改良と NSP の有無 全て 512 token 以下の連続した文になるよう構成 52 BERT を用いた事前実験(2) ◆ large mini-batches の使用 bsz steps lr ppl MNLI-m SST-2 256 1 M 1e-4 3.99 84.7 92.7 2 K 125 K 7e-4 3.68 85.2 92.9 8 K 31 K 1e-3 3.77 84.6 92.8 学習効率 精度 Input format 詳細 SEGMENT-PAIR BERT[1] における segment pair SENTENCE-PAIR document の一部から抜粋 FULL-SENTENCES one or multiple documents DOC-SENTENCES one document (document の分断なし)
  53. 53 BERT を用いた事前実験(3) 各 Input format について実験 Model SQuAD 2.0 MNLI-m SST-2 SEGMENT-PAIR with NSP 78.7 84.0 92.9 SENTENCE-PAIR with NSP 76.2 82.9 92.1 FULL-SENTENCE without NSP 79.1 84.7 92.5 DOC-SENTENCE without NSP 79.7 84.7 92.7 BERTBASE 76.3 84.3 92.8 XLNetBASE (𝐾 = 7) 81.3 85.8 92.7 XLNetBASE (𝐾 = 6) 81.0 85.6 93.4 ◆ SEGMENT > SENTENCE であるため NSP loss を用いる時,長い文を学習するのは困難 ◆ DOC-SENTENCE w/o NSP > BERT [1] であるため ⇒ NSP は外しても良い.batch size を考慮し FULL-SENTENCE を使用 ※DOC-SENTENCE は 1 document を使用するため,バッチサイズが変化(比較が困難)
  54. hyperparameter,コーパスサイズが検証可能な環境で実験 54 RoBERTa の実験環境 モデル コーパス コーパスサイズ BERT BookCorpus, English Wikipedia 13 GB XLNet BookCorpus, English Wikipedia, CC-News, OpenWebText [36], Common Crawl 160 GB ◆コーパス RoBERTa は16 GB (≈ BERT),160 GB のコーパスで実験 ◆パラメータ数 RoBERTa は BERT とほぼ同数のパラメータ数 モデル名 L H A 総パラメータ数 BERTLARGE 24 1,024 16 340M RoBERTaLARGE 24 1,024 16 355M subword units 増加の影響
  55. RoBERTa は複数のタスクで BERT, XLNet よりも高い精度を獲得 ◆ コーパスサイズを増やすことで精度が向上 ◆ 学習回数(steps)を増やすことで精度が向上 55 主な実験結果 Model Info data bsz steps SQuAD 2.0 MNLI-m SST-2 BERTLARGE With Books + Wiki 13 GB 256 1 M 81.8 86.6 93.7 XLNetLARGE With Books + Wiki 13 GB 256 1 M 87.8 88.4 94.4 XLNetLARGE + additional data 126 GB 2 K 500 K 88.8 89.8 95.6 RoBERTa With Books + Wiki 16 GB 8 K 100 K 87.3 89.0 95.3 RoBERTa + additional data 160 GB 8 K 100 K 87.7 89.3 95.6 RoBERTa + pretrain longer 160 GB 8 K 300 K 88.7 90.0 96.1 RoBERTa + pretrain even longer 160 GB 8 K 500 K 89.4 90.2 96.4 最近の成果を どう判断すべき? ※個人の感想
  56. モデル構造がほとんど同じなのにもかかわらず,精度が向上 ⇒ モデルの構造はどの程度影響したのか検証が必要? 56 RoBERTa の GLUE における評価結果 System (single-single) MNLI-m QQP SST-2 CoLA MRPC BERTLARGE 86.6 91.3 93.2 60.6 88.0 XLNetLARGE 89.8 91.8 95.6 63.6 89.2 RoBERTa 90.2 92.2 96.4 68.0 90.9 ※single-single: single task & single model, multi-ensemble: multi task & ensemble System (multi-ensemble) MNLI-m QQP SST-2 CoLA MRPC ALICE* (StructBERT [29]) 88.2 90.7 95.2 68.6 92.6 XLNet* 90.2 90.3 96.8 67.8 93.0 RoBERTa (single-ensemble) 90.8 90.2 96.7 67.8 92.3 Dev result Test result single task を学習したモデルで他手法と同等以上の成果
  57. System Dev (w/o additional) Test EM F1 EM F1 BERTLARGE 79.0 81.8 - - XLNetLARGE 86.1 88.8 - - RoBERTa 86.5 89.4 - - XLNet (+ additional) - - 86.3 89.1 RoBERTa - - 86.8 89.8 XLNet + SG-Net* (+ additional) [27] - - 87.0 89.9 57 RoBERTa の SQuAD 2.0 における評価結果 ◆additional data なしの時,RoBERTa は BERT, XLNet を凌駕 ◆Test でも,additional data なしで XLNet を上回る結果 ⇒ RoBERTa は少ないデータでも十分な結果を出せる傾向
  58. ◆ BERT ➢ MASK した単語を予測することで双方向化を実現 ➢ Next Sentence Prediction loss も考慮し予測 ◆ XLNet ➢ モデル内での順序を交換することで双方向化を実現 ➢ Next Sentence Prediction loss は考慮せず予測 ◆ RoBERTa ➢ 4つの改善を行うことで BERT のスコアの改善を実証 ➢ Next Sentence Prediction loss は考慮せずに予測 58 まとめ pre-training モデルは NLP の応用タスクで SOTA を達成 2018-19にかけて様々なモデルが提案・検証されている中 今回は BERT・XLNet・RoBERTa を紹介
  59. 気が付けば,RoBERTa も3位に(ほぼ同等にも見える)[23] 59 おまけ Rank Name Model Score 1 ALBERT-Team Google Language ALBERT (Ensemble) 89.4 2 Microsoft D365 AI & UMD Adv-RoBERTa (ensemble) 88.8 3 Facebook AI RoBERTa 88.5 4 XLNet Team XLNet-Large (ensemble) 88.4 5 Microsoft D365 AI & MSR AI MT-DNN-ensemble 87.6 6 GLUE Human Baselines GLUE Human Baselines 87.1 7 王玮 ALICE large ensemble (Alibaba DAMO NLP) 87.0 8 Stanford Hazy Research Snorkel MeTaL 83.2 9 XLM Systems XLM (English only) 83.1 10 Zhuosheng Zhang SemBERT 82.9 BERT 関連の paper は github のまとめ [24] が参考になります [23] https://gluebenchmark.com/leaderboard (2019/09/25 参照) [24] https://github.com/tomohideshibata/BERT-related-papers
  60. [3] Sutskever, Ilya, Oriol Vinyals, and Quoc V. Le. "Sequence to sequence learning with neural networks." In Advances in neural information processing systems, pp. 3104-3112. 2014. [4] Vaswani, Ashish, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Łukasz Kaiser, and Illia Polosukhin. "Attention is all you need." In Advances in neural information processing systems, pp. 5998-6008. 2017. [5]根石 将人,吉永 直樹.”英日翻訳タスクにおけるスワップモ デルを通した seq2seq と Transformer の比較” 言語処理学会 (2019). https://www.anlp.jp/proceedings/annual_meeting/2019/pdf_dir/ P5-21.pdf [6] Logeswaran, Lajanugen, and Honglak Lee. "An efficient framework for learning sentence representations." arXiv preprint arXiv:1803.02893 (2018). 60 参考文献(1)
  61. [7] Le, Quoc, and Tomas Mikolov. "Distributed representations of sentences and documents." In International conference on machine learning, pp. 1188-1196. 2014. [8] Mikolov, Tomas, Kai Chen, Greg Corrado, and Jeffrey Dean. "Efficient estimation of word representations in vector space." arXiv preprint arXiv:1301.3781 (2013). [9] Peters, Matthew E., Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, and Luke Zettlemoyer. "Deep contextualized word representations." arXiv preprint arXiv:1802.05365 (2018). [11] Radford, Alec, Karthik Narasimhan, Tim Salimans, and Ilya Sutskever. "Improving language understanding by generative pre-training." URL https://s3-us-west-2. amazonaws. com/openai- assets/researchcovers/languageunsupervised/language understanding paper. pdf (2018). 61 参考文献(2)
  62. [12] Taylor, Wilson L. "“Cloze procedure”: A new tool for measuring readability." Journalism Bulletin 30, no. 4 (1953): 415-433. [13] Wang, Alex, Amanpreet Singh, Julian Michael, Felix Hill, Omer Levy, and Samuel R. Bowman. "Glue: A multi-task benchmark and analysis platform for natural language understanding." arXiv preprint arXiv:1804.07461 (2018). [14] Rajpurkar, Pranav, Jian Zhang, Konstantin Lopyrev, and Percy Liang. "Squad: 100,000+ questions for machine comprehension of text." arXiv preprint arXiv:1606.05250(2016). [15] Sang, Erik F., and Fien De Meulder. "Introduction to the CoNLL-2003 shared task: Language-independent named entity recognition." arXiv preprint cs/0306050 (2003). 62 参考文献(3)
  63. [16] Zellers, Rowan, Yonatan Bisk, Roy Schwartz, and Yejin Choi. "Swag: A large-scale adversarial dataset for grounded commonsense inference." arXiv preprint arXiv:1808.05326(2018). [17] Joshi, Mandar, Eunsol Choi, Daniel S. Weld, and Luke Zettlemoyer. "Triviaqa: A large scale distantly supervised challenge dataset for reading comprehension." arXiv preprint arXiv:1705.03551 (2017). [18] Peters, Matthew E., Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, and Luke Zettlemoyer. "Deep contextualized word representations." arXiv preprint arXiv:1802.05365 (2018). [19] Chen, Qian, Xiaodan Zhu, Zhenhua Ling, Si Wei, Hui Jiang, and Diana Inkpen. "Enhanced lstm for natural language inference." arXiv preprint arXiv:1609.06038 (2016). [25] Rajpurkar, Pranav, Robin Jia, and Percy Liang. "Know What You Don't Know: Unanswerable Questions for SQuAD." arXiv preprint arXiv:1806.03822 (2018). 63 参考文献(4)
  64. [26] Cui, Yiming, Zhipeng Chen, Si Wei, Shijin Wang, Ting Liu, and Guoping Hu. "Attention-over-attention neural networks for reading comprehension." arXiv preprint arXiv:1607.04423 (2016). [27] Zhang, Zhuosheng, Yuwei Wu, Junru Zhou, Sufeng Duan, and Hai Zhao. "SG-Net: Syntax-Guided Machine Reading Comprehension." arXiv preprint arXiv:1908.05147 (2019). [28] Ratner, Alexander, Stephen H. Bach, Henry Ehrenberg, Jason Fries, Sen Wu, and Christopher Ré. "Snorkel: Rapid training data creation with weak supervision." Proceedings of the VLDB Endowment 11, no. 3 (2017): 269-282. [29] Wang, Wei, Bin Bi, Ming Yan, Chen Wu, Zuyi Bao, Liwei Peng, and Luo Si. "StructBERT: Incorporating Language Structures into Pre-training for Deep Language Understanding." arXiv preprint arXiv:1908.04577 (2019). 64 参考文献(5)
  65. [30] Dai, Zihang, Zhilin Yang, Yiming Yang, William W. Cohen, Jaime Carbonell, Quoc V. Le, and Ruslan Salakhutdinov. "Transformer-xl: Attentive language models beyond a fixed-length context." arXiv preprint arXiv:1901.02860 (2019). [31] Radford, Alec, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, and Ilya Sutskever. "Language models are unsupervised multitask learners." OpenAI Blog 1, no. 8 (2019). [32] Trischler, Adam, Tong Wang, Xingdi Yuan, Justin Harris, Alessandro Sordoni, Philip Bachman, and Kaheer Suleman. "Newsqa: A machine comprehension dataset." arXiv preprint arXiv:1611.09830 (2016). [33] Parker, Robert, David Graff, Junbo Kong, Ke Chen, and Kazuaki Maeda. "English gigaword fifth edition, linguistic data consortium." Google Scholar (2011). [34] Callan, Jamie, Mark Hoy, Changkuk Yoo, and Le Zhao. "Clueweb09 data set." (2009): 670-681. 65 参考文献(6)
  66. [35] Common Crawl, Common crawl,, https://commoncrawl.org/, 2019/09/26 [36] Gokaslan, and Vanya Cohen, OpenWebText CorpusAaron, http://Skylion007.github.io/OpenWebTextCorpus, 2019/09/26 66 参考文献(7)
  67. Appendix:BERT BERT のみ XLNet などの実験にあった RACE 等は作ってないです 67
  68. 68 NER における評価結果 NER: 人か組織かなどの名詞の属性情報を予測するタスク 例 Jim Hen # #son was a puppet # #eer PER PER X O O O X input: output: entity: PER=人, ORG=組織,・・・,O=その他,X=予測なし System Dev Test ELMo + BiLSTM + CRF 95.7 92.2 CVT + Multi[18] - 92.6 BERTBASE 96.4 92.4 BERTLARGE 96.6 92.8 NER における Test の結果 ◆BERT は高精度を獲得 ◆既存研究と横並び
  69. 例:A girl is going across a set of monkey bars. She (1) jumps up across the money bars. (2) struggles onto the bras to grab her head. (3) gets to the end and stands on a wooden plank. (4) jump up and does a back flip. 69 SWAG における評価結果 SWAG: 4つの選択肢から尤もらしい答えを選択するタスク 正解は3 System Dev Test ESIM[19] + GloVe 51.9 52.7 ESIM + ELMo 59.1 59.2 BERTBASE 81.6 - BERTLARGE 86.6 86.3 Human (expert) - 85.0 Human (5 annotions) - 88.0 SWAG における Test の結果 ◆ BERT は既存手法を凌駕 ◆ 人による annotation と ほぼ同等の結果
Advertisement