Tier 1: 世界のルールを不可逆に変えた原典言語モデル・表現学習HF 33 votes
BERT双方向Transformer事前学習

BERT:深層双方向Transformerによる言語理解のための事前学習

双方向コンテキストの同時学習とMasked LMにより、NLPに「事前学習+微調整」の標準パラダイムを打ち立てた金字塔

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding

論文の書誌情報と関連リンク

読み方の2つの軸

現在:しくみ × 全体像

語彙 使うことば・数式・例え方

直感数式なし
しくみ基礎的な数式
原論文原論文の表現

深さ 研究のどこまで読むか

核心肝だけ
全体像背景から評価
読み解く前提から限界

この2本は、本文下のスライダーからいつでも変更できます。

概要

BERTは、文章の一部を隠し、前後の言葉から元の単語を当てる練習をした文章モデルです。それ以前の代表的なモデルが主に左から右へ読んでいたのに対し、BERTは左右の情報を同時に使います。著者らは、質問応答や文章分類など複数の共通テストで当時の最高値を更新したと報告しました。

同じ単語でも、前後の文章によって意味は変わります。BERTは、文中の単語を隠して当てる練習により、左右両方の文脈を使う表現を先に学びました。その後、質問応答や文章分類など個別の仕事に合わせて追加で学ばせます。著者らは、この共通の土台を使う方法を複数の読解テストで比較しました。

BERTが扱った課題は、問題ごとに別の文章モデルを作るのではなく、文章の特徴を先に学んだ一つのモデルを使い回せるかという点です。単語を隠して前後から復元する練習と、二つの文が続いているかを判定する練習を組み合わせました。著者らは、モデルの大きさ、読む向き、学習課題を変えた比較も行い、どの設計が結果に関係するかを調べました。

BERTは、Transformerエンコーダをベースとした深層双方向言語表現モデルです。左から右への因果的制約を持つ従来の自己回帰言語モデルと異なり、入力テキスト全体の左右両方向の文脈を全レイヤーで同時に参照します。

事前学習には、入力トークンの一部を確率的に隠して復元させるMasked Language Model(MLM)と、2文間の論理的連続性を判定するNext Sentence Prediction(NSP)を採用。膨大なWikipediaおよびBookCorpusテキストから自己教師あり学習を行い、下流タスクには単一の線形出力層を追加するだけで微調整が完了します。

著者らはGLUE、SQuADを含む11の自然言語処理タスクで改善を報告しました。

BERT(Bidirectional Encoder Representations from Transformers)は、双方向自己注意機構を持つTransformerエンコーダを積み重ねたモデルです。モデルサイズとしてBERT-Base(12層、隠れ層768次元、12ヘッド、110Mパラメータ)とBERT-Large(24層、隠れ層1024次元、16ヘッド、340Mパラメータ)の2種類が提案されました。

入力は3万語彙のWordPieceトークナイザで分割され、トークン埋め込み、文A/Bを区別するセグメント埋め込み、最大長512の位置埋め込みの3者が要素ごとに加算されます。シーケンスの先頭には常に [CLS] トークンが置かれ、最終層の [CLS] ベクトルが集約された文表現として機能します。

事前学習コーパスにはBooksCorpus(8億単語)と英語版Wikipedia(25億単語)を使用。最適化にはAdam(学習率1e-4、重み減衰0.01)を用い、バッチサイズ256シーケンス(計12.8万トークン)で100万ステップ学習されました。

文章分類タスクでは [CLS] の出力に重み行列 WRK×HW \in \mathbb{R}^{K \times H} を掛けてソフトマックスをとるだけで分類器が完成します。質問応答タスクでは、回答の開始位置と終了位置を表すベクトルを各トークンの出力との内積で算出し、最小限のパラメータ追加でタスクに適応します。

BERTは、自己教師あり表現学習における因果的アテンションの制約を打破し、非因果的(双方向)エンコーダによる深層表現の獲得を体系化した研究です。

入力系列を X=(x1,,xN)X = (x_1, \dots, x_N) とするとき、各トークン位置 ii の隠れ表現 Hi(l)H^{(l)}_i は全トークン集合 {Hj(l1)}j=1N\{ H^{(l-1)}_j \}_{j=1}^N をキー・バリューとするMulti-Head Self-Attentionによって更新されます:

H(l)=TransformerBlock(H(l1))H^{(l)} = \text{TransformerBlock}(H^{(l-1)})

各トークンの入力埋め込み EiE_i は次式で定義されます:

Ei=Etoken(xi)+Esegment(si)+Eposition(i)E_i = E_{\text{token}}(x_i) + E_{\text{segment}}(s_i) + E_{\text{position}}(i)

ここで si{A,B}s_i \in \{A, B\} はセグメント識別子、i{1,,512}i \in \{1, \dots, 512\} は絶対位置インデックスです。

Masked LM 損失: マスク対象インデックス集合を MM とし、破損系列を X~\tilde{X} とすると、負の対数尤度は次式となります:

LMLM(θ)=iMlogP(xiX~;θ)\mathcal{L}_{\text{MLM}}(\theta) = - \sum_{i \in M} \log P(x_i \mid \tilde{X}; \theta)

予測分布は最終隠れ状態 hih_i に単語埋め込み行列の転置 WvocabTW_{\text{vocab}}^T を乗じてSoftmaxをとることで算出されます。

NSP 損失: 2値ラベル y{0,1}y \in \{0, 1\} に対し、[CLS] の最終表現 h[CLS]h_{[CLS]} と分類重み WNSPW_{\text{NSP}} による交差エントロピーです:

LNSP(θ)=ylogP(IsNexth[CLS])(1y)log(1P(IsNexth[CLS]))\mathcal{L}_{\text{NSP}}(\theta) = - y \log P(\text{IsNext} \mid h_{[CLS]}) - (1 - y) \log (1 - P(\text{IsNext} \mid h_{[CLS]}))

BERT-Largeは全パラメータが下流データセットの勾配によって更新されます。過学習を防ぐためDropout 0.1、学習率2e-5〜5e-5、ウォームアップ率10%のLinear Decayスケジュールが適用されます。

Devlinら(Google AI Language, 2018)によるBERTの原典論文です。言語表現学習における従来の単方向性制約を克服するため、Transformerエンコーダを用いた深層双方向モデルを提案しました。

ラベルなしテキストからの事前学習において、ランダムにマスクされたトークンを左右両方向の文脈から予測するMasked Language Model(MLM)と、文間の連続性を判別するNext Sentence Prediction(NSP)の2つの目的関数を導入。下流タスクへの適用は出力層に単一の分類ヘッドを追加して全層を微調整するだけで完了します。

GLUE(80.5%)、SQuAD v1.1(F1 93.2)など11の主要自然言語処理ベンチマークで当時のSOTAを更新しました。

本論文は、未ラベルテキストからの深層双方向表現の事前学習手法『BERT』を提案し、自然言語処理の諸課題における転移学習の有効性を実証した研究です。

従来の言語モデル(OpenAI GPT等)は左から右への因果的自己注意に限定されており、文脈の双方向的な相互作用を捉えることができませんでした。しかし、トークンレベルのタスク(固有表現抽出など)や文ペアの含意関係認識では、左右双方の文脈の参照が非常に重要です。全層で双方向アテンションを適用すると、予測対象の単語そのものを自己注意が参照してしまう(情報漏洩)という問題が生じますが、BERTは入力トークンを確率的に伏せるMasked LMによってこれを解決しました。

BERTは同一のアーキテクチャで多様な下流タスクに対応します。入力系列は単一文または文対であり、[CLS] トークンと [SEP] トークンで構造化されます。事前学習はBooksCorpusおよびWikipediaの計33億単語で行われ、微調整時には各タスクの正解ラベルに応じて損失関数を定義し、全パラメータをエンドツーエンドで更新します。

本論文は、深層双方向表現を学習する新たな言語表現モデルBERT(Bidirectional Encoder Representations from Transformers)を提案し、11の自然言語処理ベンチマークにおいて実証的な優位性を確立したマイルストーンです。

事前学習言語表現の転移手法には、特徴量ベース(ELMo)と微調整ベース(OpenAI GPT)が存在していました。しかし、先行する微調整モデルは標準的な自己回帰言語モデルを使用していたため、左から右への一方向の文脈制約が存在しました。BERTはマルチヘッド自己注意機構を有するTransformerエンコーダを採用し、各層 ll において各入力位置 jj に対する重み付き和を計算します:

Attention(Q,K,V)=softmax(QKTdk)V\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V

これにより、全レイヤーにおいて深層双方向表現が獲得されます。

Masked LM: 入力系列 X=(x1,,xn)X = (x_1, \dots, x_n) に対し、一様ランダムに選ばれた15%の位置集合 MM に対し置換操作 x~i\tilde{x}_i を行います(80%は [MASK]、10%はランダムトークン、10%は不変)。損失はマスク位置での真のトークンに対する交差エントロピーです。

Next Sentence Prediction: 50%の確率で連続する文対(IsNext)、50%でランダムに選ばれた文対(NotNext)を与え、最終隠れ状態 CRHC \in \mathbb{R}^H([CLS] の出力)に対して線形射影 WR2×HW \in \mathbb{R}^{2 \times H} を乗じて分類します。

BERT-Base(L=12,H=768,A=12L=12, H=768, A=12, 110M)およびBERT-Large(L=24,H=1024,A=16L=24, H=1024, A=16, 340M)は、GLUE(80.5%)、SQuAD v1.1(F1 93.2)、SQuAD v2.0(F1 83.1)など主要ベンチマークで大幅な性能向上を記録しました。

著者をもっと詳しく知る(全4名)

論文と確認可能な公式情報に基づき、著者の所属と研究背景を掲載しています。

全著者と所属

  1. Jacob Devlin
    Google AI Language
  2. Ming-Wei Chang
    Google AI Language
  3. Kenton Lee
    Google AI Language
  4. Kristina Toutanova
    Google AI Language

確認できた研究背景

Jacob Devlin
所属
: Google AI Language
学歴
: Google シニアリサーチサイエンティスト
主な関心
: 自然言語理解、深層表現学習
Ming-Wei Chang
所属
: Google AI Language
学歴
: Google リサーチサイエンティスト
主な関心
: 意味解析、知識抽出
Kenton Lee
所属
: Google AI Language
学歴
: Google リサーチサイエンティスト
主な関心
: 構文解析、質問応答
Kristina Toutanova
所属
: Google AI Language
学歴
: Google Principal Researcher、ACL Fellow
主な関心
: 自然言語処理、機械学習

なぜ歴史的イノベーションなのか

左右両方の文脈を同時に理解する「双方向Transformer」を発明。文章題のテストで当時のAIの世界記録を塗り替え、現代の賢いAIの土台を作った伝説の論文です。

従来の「左から右へ読む」制約を捨て、虫食い穴埋め問題(Masked LM)で文脈を丸ごと理解。「事前に大量の文章を読ませて賢くし、後から専門タスクを微調整する」現代の標準を生み出しました。

単方向モデルや浅い結合にとどまっていた言語表現学習に対し、全層での深層双方向アテンションを実現。11のタスクで圧倒的SOTAを達成し、NLPの産業化を決定づけた革命です。

Transformerエンコーダをベースに、Masked LMとNext Sentence Prediction(NSP)による自己教師あり事前学習を導入した双方向言語モデル。

単方向RNN/LSTMやGPT-1の因果的アテンションの限界を克服。15%のトークンをマスクして左右両方向の文脈から予測するMLM目的関数を設計し、汎用表現を獲得。

トークン埋め込み・セグメント埋め込み・位置埋め込みの合成による入力表現と、MLM・NSPのマルチタスク学習。GLUE 80.5%、SQuAD人間超えを達成した金字塔。

Devlinら(Google AI Language, 2018)によるBERTの原典。深層双方向Transformerによる自己教師あり言語表現事前学習の有効性を提示。

事前学習+ファインチューニングの二段階パラダイムを自然言語処理の統一フレームワークとして定着させたNAACL 2019最優秀論文。

双方向自己注意ネットワークの全層適用による文脈化単語埋め込みの獲得と、ダウンストリームタスクにおける最小限のパラメータ追加による転移学習の定式化。

コミュニティの評価・歴史的インパクト(1件)
  • 単一の事前学習済みモデルにシンプルな分類ヘッドを追加するだけで、人間を超える読解精度を叩き出したことでNLP界全体に計り知れない衝撃を与えた。

    原文を見る ↗
この読み方に出てくる言葉(3語)
事前学習

個別の仕事を教える前に、大量の文章から言葉の特徴を学ぶ概念。

双方向

ある単語の左側と右側を同時に手がかりとして使う概念。

ファインチューニング

事前学習済みモデルを、特定の仕事向けに追加で調整する概念。

どんな問いに向き合ったか

従来の自然言語モデルは左から右へと一方向にしか文脈を読めず、文章の左右両側にある前後の文脈情報を同時に活用した深い言語表現を獲得することが困難だった。

従来の方法と課題

Word2VecやGloVeなどの固定埋め込み、ELMoなどの浅い双方向結合、またはOpenAI GPT(GPT-1)などの左から右への因果的自己回帰モデル。タスクごとに複雑なモデル構造を個別設計していた。

肝のアイデア

Transformerエンコーダを用い、入力文の一部の単語を伏せて周囲の文脈から予測するMasked Language Model(MLM)とNext Sentence Prediction(NSP)によって全層で双方向表現を事前学習し、下流タスクには単一の分類ヘッドを追加して微調整する。

どういうしくみか

入力埋め込みの3者加算合成、15%のトークンを対象としたMasked LM(80%マスク、10%ランダム、10%恒等)、および50%の確率で無関係な文をペアにするNext Sentence Predictionによるマルチタスク学習。

どう確かめたか

著者らは、総合言語理解ベンチマークGLUEにおいて、BERT-Largeが80.5%を達成し先行最高記録を7.7ポイント更新。読解ベンチマークSQuAD v1.1において、テストF1スコア93.2を記録し初めて人間の推定スコア(91.2)を超過。MultiNLIにおいて86.7%の精度を達成し、先行SOTA比で+4.6ptの絶対性能向上を記録

何が分かったか

その評価で著者らは、GLUEベンチマークにおいてBERT-Largeが80.5%を記録し、OpenAI GPT(72.8%)を上回ったと報告。SQuAD v2.0においてTest F1 83.1を記録し、先行SOTA比で+5.1pt向上。アブレーション実験においてNSPタスクを削除するとQNLIやMNLIで顕著な精度低下が生じることを確認

どこまで使えるか

結果の中心はGLUE、SQuAD、SWAGなど理解系ベンチマークへの転移です。固定長入力、MLMと利用時の入力差、自己回帰生成への不適合が射程を限定します。

限界と未解決の問い

最大シーケンス長が512トークンに制限されており、超長文文書の処理には分割や階層化が必要でした。Masked LMは各マスク位置の予測を独立に行うため、単語間の高次な共起依存関係を捉えきれない弱点がありました。事前学習時に出現する[MASK]トークンがファインチューニング時には存在しないという表現空間の不一致。自己回帰型モデルと異なり、文章を左から右へ自律的に生成していくテキスト生成タスクには直接適用できないこと。最大系列長が512トークンに制限されており、超長文の処理には階層化やスライディングウィンドウが必要なこと

この研究から考える

ここからは、論文の結果を踏まえた編集上の考察です。

複数のベンチマークでの改善は、タスク固有構造より双方向の事前学習表現を再利用する設計が有効だったことを示します。この傾向が別ドメインでも再現するなら、モデル設計の中心は個別アーキテクチャから事前学習と適応方法へ移ります。ただし、系列長、生成用途、事前学習データとの差には制約があります。