オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【深層学習】RoBERTa

この記事の読者

深層学習・ディープラーニングの手法の1つである「RoBERTa」について知りたい.



Index

RoBERTa とは

発表論文のタイトルのとおり、BERTをロバストにするアプローチ.

Robustly Optimized BERT Approach



BERT の事前学習 / Pre Training の研究の紹介.

ハイパーパラメータ学習データサイズの評価の研究

BERT との変更点

  1. 学習データに適用するマスキングパターンを動的に変更する.
  2. Next Sentence Prediction の廃止.
  3. より多くのデータに対して、より大きなバッチサイズで、より長い時間学習を行う.
  4. より長い系列のデータでのトレーニング.
  5. 新しい学習データセット (CC-NEWS) を導入.

Training

利用する BERT のネットワークアーキテクチャは変更しない.

比較するための、ベンチマークのベースはこれ.

 BERT_{BASE}\ (L=12,\ H=768,\ A=12,\ 110M params)

動的なマスキング

BERT のマスク付き言語モデルの学習では、マスクの位置に依存してしまう.

学習のEpoch ごとに、同じデータでもマスクの位置を変える.

40 epoch のうち、10 epoch ずつマスクの位置が異なるデータを使うことで、 4 つのマスクキングされた学習データを利用できる.

Next Sentence Prediction の廃止

BERT では、2 つの方法で、教師なしデータを使って、事前学習を行っていた.

  1. マスク付き言語モデル
  2. Next Sentence Prediction / NSP

「マスク付き言語モデル」では、文章の一部を隠し、その箇所を周りの文章から予測する.

「Next Sentence Prediction」では、連結された2つの文章を入力としたとき、 それらの文章が関連があるかどうかをクラス分類するタスクで学習を行う.

この「Next Sentence Prediction」を廃止することで、精度の向上が見られた.

Batch Size を大きくする

ニューラル機械翻訳の研究でも、バッチサイズを大きくした結果、 学習率を適切に上げることで、学習速度と精度の両方の向上が報告されている.

オリジナルの BERT では、256 のシーケンスバッチで、1M ステップで学習.

この計算コストは、以下の学習の計算コストと同等.

  • 2K (2000) のシーケンスバッチで、125K ステップの学習
  • 8K (2000) のシーケンスバッチで、31K ステップの学習

この3つのケースで精度比較したところ、バッチ数を増やしたケースの方が精度がよくなった.

参考

  • RoBERTa: A Robustly Optimized BERT Pretraining Approach
    • [2019 Facebook AI]
    • Abstract
    • 1 Introduction
    • 4 Training Procedure Analysis
      • 4.1 Static vs. Dynamic Masking
      • 4.2 Model Input Format and Next Sentence Prediction
      • 4.3 Training with large batches
    • arxiv.org

Web サイト