BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language Understandingを読んでまとめました。
解釈間違い等ある時がありますので、その場合指摘いただけると助かります。
目次
背景と概要
BERT:Bidirectional Encoder Representations from Transformers
- 以前の言語表現モデルとは異なり、全層で左と右の両文脈に共同で条件付けを行う事で、ラベル付けされてないtextから深い双方向の表現を事前学習するように設計されている。
- その結果、事前学習されたBERTモデルに1つの追加出力層でfine-tuneをする事で幅広いタスクのためのモデル作成が出来る。
- BERTは大きく以下2ステップを主要なものとして構成
- pre-training
- fine-tuning
Introduction
- 言語モデルには事前学習された言語表現を下流のタスクに適用するために2種類の戦略が存在している。
- feature-based:ELMo等
- 事前学習された表現を追加の特徴として含むタスク固有のアーキテクチャを使用
- fine-tuning:GPT等
- 最小限のタスク固有のパラメータを導入し事前学習した全パラメータをfine-tuningする
- feature-based:ELMo等
本論文では上記技術では、特にfine-tuningアプローチのために事前学習された表現のパワーが制限されている事を主張している。
BERTでは、“masked language model” (MLM)のpre-training objective(事前学習の目的?)を使用する事で単一方向性制約を緩和する。
- masked language model:入力からトークンの一部をランダムにmaskし、文脈のみに基づいてmaskされた単語の基の語彙IDを予測する事を目的としている。
Related Work
Unsupervised Feature-based Approaches
- 広く適用可能な単語表現の学習は、非ニューラル(Brown et al., 1992; Ando and Zhang, 2005; Blitzer et al., 2006)およびニューラル(Mikolov et al., 2013; Pennington et al., 2014)の手法を含め、数十年に渡って活発な研究が行われてきた。
- これらのアプローチは文の埋め込み (Kiros et al., 2015; Logeswaran and Lee, 2018)や段落の埋め込みs (Le and Mikolov, 2014)の様な粗い粒度にまで一般化されている。
- ELMo:従来の単語埋め込み研究を異なる次元(左から右へ、右から左への言語モデルから文脈に敏感な特徴を抽出)に一般化。
- 各トークンの文脈的表現は、左から右への表現と右から左への表現を連結
- Melamud et al. (2016)はLSTMを用いて、左右両方の文脈から単一の単語を予測するタスクを通じて文脈表現を学習。
- ELMoと同様に特徴ベースなので深い双方向性はない。
Unsupervised Fine-tuning Approaches
- 初期は特徴ベースのアプローチと同様にラベル付けの無いテキストから単語の埋め込みパラメータをfine-tuningしたもの。
- 最近では、文脈トークン表現を生成するsentence encodersやdocument encodersはラベル付けの無いテキストからpre-trainingされている。
BERT
BERTのフレームワークには2ステップ(pre-trainingとfine-tuning)がある。
- pre-training:違うpre-trainingタスクに渡りラベル付けの無いデータで訓練される。
- fine-tuning:BERTモデルが最初にpre-trainingされたパラメータで初期化されており、全パラメータはdownstream tasksからのラベル付きデータを使用してfine-tuningされる。
以下がBERTのpre-trainingとfine-tuning概要
Model Architecture
BERTのモデルアーキテクチャは、VaswaniらによるAttention is All you needに記載されているものをベースとした多層双方向Transformer encoder。
本論文では層数(即ちTransformer blocks)をL、隠れサイズをH、
self-attention headsの数をAとする。
そして主にBERT_BASE (L=12, H=768, A=12, Total Parameters=110M GPTと同じモデルサイズ)とBERT_LARGE (L=24, H=1024,
A=16, Total Parameters=340M)の2種類について記載。
Input/Output Representations
- BERTにおける入力表現は1トークン列の中で単一文(single sentence)と文(sentences)の組の両方を明確に表現可能。
- sentences:実際の言語文というよりは任意の連続したtextのspan
- sequence:BERTへのinput token sequence(single sentenceの場合や2つのsentencesをまとめた場合もある)
与えられたトークンについて入力表現は、対応するトークン・セグメント・位置embeddingsを合計する事で構築される。
以下図に本構造が示されている。
Pre-training BERT
BERTではpre-training時に2つの教師なしタスクを行っている。
Task #1: Masked LM
Task #2: Next Sentence Prediction (NSP)
- Question Answering (QA) やNatural Language Inference (NLI)といったタスクは2つの文の関係の理解に基づいており、言語モデルでは直接的に捉える事が出来ない。
Pre-training data
Fine-tuning BERT
BERTでは、self-atttentionを用いて連結したテキストペアをencodeする事により、文の間のbidirectional cross attentionを効果的に含む構造となっている。
各タスクにおいて、タスク固有の入力と出力をBERTにプラグインし、全パラメータをend-to-endでfine-tuneする。
- 入力においてpre-trainingからの文Aと文Bは以下の例に類似している。
- 言い換えにおける文ペア
- entailment(論理的含意、派生体)におけるhypothesis-premise(仮説-仮説?)ペア
- 質問と回答における質問-文ペア
- text classificationやsequence taggingにおける縮退したテキスト-∅ペア
Experiment
論文で言及されている実験結果の一部を記載
GLUE
The General Language Understanding Evaluation (GLUE)に適用した際の結果が以下
- BERT_BASEとBERT_LARGEの両方とも他の手法よりも大幅に上回っている。
- 特にBERT_LARGEでは訓練データが少ないタスクにおいて、BERT_BASEを上回っている。
SQuAD v1.1、SQuAD v2.0
The Stanford Question Answering Dataset (SQuAD v1.1およびv2.0)に適用した結果が以下。
参考文献
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding https://arxiv.org/pdf/1810.04805.pdf