RoBERTa(論文の詳細④ RoBERTa、Related Work、Conclusion)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #17

f:id:lib-arts:20190818234338p:plain

言語処理へのDeepLearningの導入をご紹介するにあたって、#3〜#8においては、Transformer[2017]やBERT[2018]について、#9~#10ではXLNet[2019]について、#11~#12ではTransformer-XL[2019]について取り扱ってきました。

#13以降では2019年7月にリリースされたBERTベースでハイパーパラメータ(学習にあたってのlossやデータセット)のチューニングを行なった事前学習モデルであるRoBERTa[2019]について取り扱っていきます。

[1907.11692] RoBERTa: A Robustly Optimized BERT Pretraining Approach

#13では上記のAbstractをベースにRoBERTa[2019]の概要について、#14ではRoBERTa[2019]の論文のIntroductionとBackgroundについて、#15ではRoBERTa[2019]の論文のSection3のExperimental Setupについて、#16ではSection4のTraining Procedure Analysisについて確認しました。

RoBERTa(論文のAbstractの確認)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #13 - lib-arts’s diary

RoBERTa(論文の詳細① Introduction&Background)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #14 - lib-arts’s diary

RoBERTa(論文の詳細② Experimental Setup)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #15 - lib-arts’s diary

RoBERTa(論文の詳細③ Training Procedure Analysis)|言語処理へのDeepLearningの導入の研究トレンドを俯瞰する #16 - lib-arts’s diary

#17ではRoBERTa[2019]の論文のSection5〜Section7のRoBERTa、Related Work、Conclusionについて確認していきます。
以下目次になります。

1. RoBERTa(Section5 冒頭)
1-1. GLUE Results(Section5.1)
1-2. SQuAD Results(Section5.2)
1-3. RACE Results(Section5.3)
2. Related Work(Section6)
3. Conclusion(Section7)
4. まとめ

 

1. RoBERTa(Section5 冒頭)
まずはSection5の冒頭部について確認していきます。

f:id:lib-arts:20190908121041p:plain

上記の第一パラグラフですが、Section5の主題を掴むにあたって簡単に和訳を行います。

これまでのSectionでは、end-task(finetuningを通して解くタスクで、pretrainingのタスクであるMasked Language ModelやNext Sentence Predictionと対になっていると把握しておくと良いです)の精度を改善するBERTの事前学習手順の修正について述べた。5章ではこれらの改善を集約し、組み合わせによる衝撃(impact)を評価する。この設定(configuration)を我々はRoBERTaと名付け、RoBERTaは頑健に最適化されたBERTのアプローチ(Robustly optimized BERT approach)を意味している。具体的には、RoBERTaはSection4.1で述べた動的なマスキング(dynamic masking)、Section4.2で述べたNext Sentence Predictionなしの誤差関数(without NSP loss)、Section4.3で述べたミニバッチの巨大化、Section4.4で述べたより大きなbyte-levelを用いたByte-Pair Encodingを用いて学習が行われている。

第一パラグラフでは、Section4のTraining Procedure Analysisの内容を改めて振り返っています。Section5のRoBERTaはSection4を踏まえた上で、内容を集約し、評価を行なっているとあります。このようにアイデアについて述べたのちにそれを集約したモデルの話をする論文の構成は良くあり、たとえば物体検出のRetinaNet[2017]もそのような構成でSection3でアイデアとして導入するFocal Lossの話をした後にSection4で実際に実装したネットワークであるRetinaNet Detectorの話をしています。
Section5の全体として、Section4の内容を元に実際のモデルへの集約とその評価を行うというのがわかったので、以下Section5の冒頭部をパラグラフ単位で読み進めていきます。

f:id:lib-arts:20190908123135p:plain

上記の第二パラグラフでは、第一パラグラフで述べた4つに加えて二つの重要な要素について言及しています。一つ目は事前学習に用いるデータ、二つ目は学習データを何回通すかの数です。これらは先行研究において強調が不十分だった(under-enphasized; to fail to emphasize adequately)とされています。学習データを何回通すか(training passes through the data)については最近提案されたXLNetはoriginalのBERTに比較して10倍のデータを通したなども言及されています。

f:id:lib-arts:20190908123942p:plain

f:id:lib-arts:20190908124000p:plain

第三パラグラフでは、第二パラグラフまでに述べた要素の重要性の検討を他のモデル構築にあたっての選択から分離する(disentangle)ためにRoBERTaをBERT_{LARGE}の構造にしたがって構築したとされています。BERT_{LARGE}の構造(architecture)は、隠れ層が24層、隠れ層のサイズが1024、Attention Headsが16で、全体で3億5,500万のパラメータであるとされています(L = 24, H = 1024, A = 16, 355M parameters)。BERT_{BASE}が1億1,000万のため、パラメータ数だけ見てもおよそ3倍になっていることがわかります。事前学習(pretrain)にあたっては[1810.04805] BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingに習い、BookCorpus plus Wikipediaデータセットを用いて、10万ステップの学習を行なったとされています。

f:id:lib-arts:20190908125339p:plain

第四パラグラフでは、Resultsということで上記のTable4について言及されています。RoBERTa、BERT_{LARGE}XLNet_{LARGE}などについてそれぞれ比較が行われていますが、強調されているRoBERTaのpretrain even longerの評価指標が他のものに比べて良い結果となっていることが確認できます。

f:id:lib-arts:20190908130003p:plain

第五パラグラフでは、Section3.2やTable4で言及されているデータ量についての記載がされています。元々の16GBから160GBに変更することで、向上が見られたとされています。

f:id:lib-arts:20190908130201p:plain

第六パラグラフでは、学習ステップの増加に関して言及されています。最終文では一番学習ステップを増やしたモデルも過学習の状態にはまだ至っていないようだと述べられているので、さらに増やすかどうかの検討はまだ可能な段階のようです(とはいえ計算量の問題もあるので、どこまで行うかはコストとのトレードオフでもありそうです)。

f:id:lib-arts:20190908130750p:plain

f:id:lib-arts:20190908130844p:plain

第七パラグラフでは、Section5のこの後の展開について書かれています。Section5では三つの異なるベンチマークにおいてRoBERTaを評価するとされています。三つのベンチマークとしては、GLUE(The General Language Understanding Evaluation)、SQuaD(The Stanford Question Answering Dataset)、RACE(The ReAding Comprehension from Examinations)が紹介されています。また具体的な学習としてはSection3.2で紹介された5つのデータセットに対して50万ステップで学習しているとされています。


1-1. GLUE Results(Section5.1)
Section5.1はGLUE(The General Language Understanding Evaluation)ベンチマークを用いた評価についてまとめられています。以下パラグラフ単位で読み進めていきます。

f:id:lib-arts:20190908132135p:plain

第一パラグラフでは、finetuningにあたっての設定について言及されています。ハイパーパラメータを検討するにあたって、バッチサイズ(16,32)、学習率(10^{-5},2×10^{-5},2×10^{-5})などについて記述されています。その他多くのハイパーパラメータは事前学習(pretrain)時のままにしたとされています。

f:id:lib-arts:20190908132951p:plain

第二パラグラフでは、GLUEのleaderboard(GLUEベンチマークの評価が順位付けされたもの)において、RoBERTaを他のアプローチを比較したとされています。GLUEのleaderboardに対しての多くの提出(submission)はマルチタスク(multi-task)のfinetuningに依存しているのに対して、RoBERTaはsingle-taskのfinetuningのみを用いているとされています。

f:id:lib-arts:20190908133550p:plain

次にTask-specific modificationsを見ていきます。GLUEタスクの二つはleaderboardに対抗できるようにするためにタスク特化のfinetuningのアプローチを必要としたとされています。QNLIとWNLIについて言及されています。
最後にResultsについて見ていきます。

f:id:lib-arts:20190908152107p:plain

f:id:lib-arts:20190908151957p:plain

一つ目のパラグラフでは、Table5に示したように9つのGLUEタスクでState of the Artの結果となったことについて言及されています。さらに強調されている点としては、RoBERTaがBERTと同様のMasked Language Modelingの事前学習の目的関数(objective)を用いており、BERT_{LARGE}と同様のネットワーク構造(architecture)を用いたとされています。一方でRoBERTaはBERT_{LARGE}XLNet_{LARGE}を上回る成果を出したとされています。このことによりモデルのarchitectureや事前学習の目的関数を当研究において検証したデータセットのサイズや学習時間と比較した際の相対的重要性については考察の必要性を生じさせている(raises questions)とあります。

f:id:lib-arts:20190908152934p:plain

二つ目のパラグラフでは、RoBERTaがGLUEのleaderboardにおいて9つのうちの4つでSOTAとなり、さらに平均スコアでは最も高いスコアとなったことについて言及がされています。


1-2. SQuAD Results(Section5.2)
Section5.2はSQuAD(The Stanford Question Answering Dataset)ベンチマークを用いた評価についてまとめられています。以下パラグラフ単位で読み進めていきます。

f:id:lib-arts:20190908153707p:plain

f:id:lib-arts:20190908153730p:plain

第一パラグラフでは、SQuADに対するアプローチとしてBERTやXLNetよりもシンプルなアプローチを用いたとされています。BERTやXLNetは学習データにSQuAD以外にも追加でQAのデータセットを用いた一方で、RoBERTaにおいてはSQuADのデータのみを用いたとされています。

f:id:lib-arts:20190908171349p:plain

第二パラグラフでは、SQuADのv1.1とSQuADのv2.0それぞれについての学習アプローチについて記載されています。v1.1は[1810.04805] BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingと同様の手順を用いているとされています。v2.0に対しては与えられた質問が回答可能かどうかの分類を追加で行っているとされています。

以下ではResultsについて見ていきます。

f:id:lib-arts:20190908173215p:plain

f:id:lib-arts:20190908173303p:plain

一つ目のパラグラフでは、結果をTable6でまとめたとされています。Table1ではSQuADのv1.1とv2.0に対しそれぞれベンチマークについてまとめられています。

f:id:lib-arts:20190908173839p:plain
二つ目のパラグラフでは、SQuADのpublicなleaderboardに提出(submit)し、他の手法との相対的な性能の評価を行ったとあります。BERTやXLNetに基づいて作られたほとんどの高い評価を得ているシステムは、finetuningにあたって追加の外部データに頼っている一方で、RoBERTaはfinetuningにあたっては外部データに頼っていないとされています。
三つ目のパラグラフでも同様な意図の記述のようでしたので省略します。


1-3. RACE Results(Section5.3)
Section5.3はRACE(The ReAding Comprehension from Examinations)ベンチマークを用いた評価についてまとめられています。以下パラグラフ単位で読み進めていきます。

f:id:lib-arts:20190908174528p:plain

第一パラグラフでは、RACEのデータセットの問題定義について言及されています。RACEのネーミングがReAding Comprehensionから取られているように、分類システムは文章の読解問題において四つの回答候補からどれが正しいかを分類すること(四択問題を解くこと)を求められるとされています。

f:id:lib-arts:20190908175145p:plain

f:id:lib-arts:20190908175204p:plain

第二パラグラフでは、RACEタスクに対してRoBERTaの修正を行ったとされています。それぞれの回答候補を同じ(corresponding)問題の質問と文章をくっつけるとされています。詳しい処理については文だけでは読み取りづらいので、詳細については実装などを確認する方が早そうです。

f:id:lib-arts:20190908175901p:plain

f:id:lib-arts:20190908175914p:plain

第三パラグラフにおいては、Table7にまとめた検証結果について言及されています。RoBERTaはmiddle-schoolとhigh-schoolの双方においてSotAの結果を獲得したとなっています。Section3でRACEが中国の学校の英語の試験(examinations)より集めたとあったので、それぞれ中学校と高校を指していると思われます。

Education in China - Wikipedia

上記のWikipediaにjunior middle schoolは12~15歳とあるので、概ね中学と高校という認識で良さそうです。

ここまででSection5については一通り取り扱えたので1節はここまでとします。


2. Related Work(Section6)
2節ではSection6のRelated Workについて取り扱います。そこまで長くないので、簡単な和訳とそれぞれ簡単な補足についてまとめます。

Pretraining methods have been designed with different training objectives, including language modeling (Dai and Le, 2015; Peters et al., 2018; Howard and Ruder, 2018), machine translation (McCann et al., 2017), and masked language modeling (Devlin et al., 2019; Lample and Conneau, 2019).

和訳:『事前学習の手法は異なった学習の目的関数によってデザインされてきており、言語モデリング(language modeling)や機械翻訳(machine translation)、マスク化された言語モデリング(masked language modeling)を含んでいる。』
第1文では様々な言語処理のタスク(different training objectivesとありますが、タスクと解釈できなくもないのでタスクと書いています)について言及されています。ちなみにmasked language modelingの参照論文である"Devlin et al., 2019"がBERTのオリジナル論文である、"BERT: Pre-training of deep bidirectional transformers for language understanding."を指していることに注意です。

Many recent papers have used a basic recipe of finetuning models for each end task (Howard and Ruder, 2018; Radford et al., 2018), and pretraining with some variant of a masked language model objective.

和訳:『多くの直近の論文はそれぞれの応用タスク(end task)のためのfinetuningモデルとマスク化された言語モデルの目的関数を変更した事前学習の基本的な方法を用いてきている。』
第2文では、言語のモデリングにあたって事前学習(pretraining)とfinetuningによる応用タスク(end task)の学習について述べられています。

However, newer methods have improved performance by multi-task finetuning (Dong et al., 2019), incorporating entity embeddings(Sun et al., 2019), span prediction(Joshi et al., 2019), and multiple variants of autoregressive pretraining (Song et al., 2019; Chan et al., 2019; Yang et al., 2019).

和訳:『しかしながら、マルチタスクのfinetuningによって性能が向上した手法はなく、entity embeddingsやspan prediction、autoregressive pretrainingなども同様である。』
incorporatingがいまいち意味が取れませんでしたが、この最後のautoregressive pretrainingの"Yang et al., 2019"はXLNetの論文である"XLNet: Generalized Autoregressive Pretraining for Language Understanding"を指しているのに注意です。

Performance is also typically improved by training bigger models on more data (Devlin et al., 2019; Baevski et al., 2019; Yang et al., 2019; Radford et al., 2019).

和訳:『性能は大きなモデルや多くのデータを用いることによって向上した。』
BERTやXLNetの論文を参照した上で上記を述べているので、BERT_{BASE}BERT_{LARGE}の違いやXLNet_{BASE}XLNet_{LARGE}について示唆されていると考えることができます。

Our goal was to replicate, simplify, and better tune the training of BERT, as a reference point for better understanding the relative performance of all of these methods.

和訳:『我々の目的は、BERTの学習を再現、単純化しより良くすることである。』
後半部分はいまいち意味が取れなかったので訳しませんでした。最後にRoBERTaの論文の目的に触れてRelated Workについては締められています。


3. Conclusion(Section7)
2節ではSection7のConclusionについて取り扱います。パラグラフ単位で確認していきます。

f:id:lib-arts:20190908192148p:plain

第一パラグラフでは、論文の流れについて再度まとめています。BERTモデルに関して様々なデザインの選択を試し、モデルの大きさやバッチサイズを大きくすることでパフォーマンスが向上したとされています。また、NSPを削除したり、動的マスクを用いたりについて言及されています。事前学習の手順を改善させたものをRoBERTaと呼び、SotAの結果をGLUE、RACE、 SQuADの三つのデータセットで出したとあります。

f:id:lib-arts:20190908192739p:plain
第二パラグラフでは、新規で追加したデータセットやリリースしたモデルに関して言及されています。また、コードについては下記で確認できるとされています。

GitHub - pytorch/fairseq: Facebook AI Research Sequence-to-Sequence Toolkit written in Python.


4. まとめ
#17ではRoBERTa[2019]の論文のSection5〜Section7のRoBERTa、Related Work、Conclusionについて取り扱いました。
ここまででRoBERTaについては一通り取り扱うことができましたので、RoBERTaについてはこれで一区切りとできればと思います。