1行定義
BERTとは、Transformerのエンコーダを大量の文章で事前学習し、前後両方向の文脈を捉えた表現を多くの言語タスクに転用できるようにしたモデルのことです。
くわしく
BERT(Bidirectional Encoder Representations from Transformers)は、2018年にGoogleのJacob Devlinらが発表した言語モデルです。発表時に、GLUEベンチマークや質問応答など、11の自然言語処理タスクで当時の最高性能を更新しました。「大量の文章で事前学習し、タスクごとにファインチューニングする」という進め方を広めたモデルです。
構造:双方向のエンコーダ
BERTは、Transformerのエンコーダだけを積み重ねた構造です。標準のBERT-Baseは12層、大型のBERT-Largeは24層です。Self-Attentionにより、各単語の表現を作るときに、前にある単語と後ろにある単語の両方を参照します。これが名前の「Bidirectional(双方向)」の意味です。
2つの事前学習タスク
ラベルのない大量の文章を使い、次の2つの課題を同時に解かせます。
- マスク言語モデル(MLM):入力の単語の約15%を選び、その多くを[MASK]という記号に置き換えて、元の単語を前後の文脈から当てます。
- 次文予測(NSP):2つの文を並べて入力し、2文目が本当に1文目の続きかどうかを判定します。
どちらも正解を文章そのものから自動で作れるため、人手によるラベル付けは要りません。
ファインチューニング
事前学習を終えたモデルに、タスクに合わせた小さな出力層を加え、少量のラベル付きデータで全体を追加学習します。文書分類、質問応答、2つの文の関係の判定など、1つのモデルを幅広いタスクに転用できます。
GPTとの違い
同じくTransformerを使うGPTは、デコーダを使い、前の単語から次の単語を予測する一方向のモデルです。BERTは文章の理解に強く、GPTは文章の生成に向いています。
覚え方
「穴埋め問題で鍛えた、前後を読むエンコーダ」と覚えます。
G検定での出題
出題のされ方
Transformerのエンコーダを使い文脈を双方向で捉える点、マスク言語モデル(MLM)と次文予測(NSP)による事前学習、ファインチューニングによる転用、GPTとの違いが問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| BERTこのページの用語 | Transformerのエンコーダを大量の文章で事前学習し、前後両方向の文脈を捉えた表現を多くの言語タスクに転用できるようにしたモデル |
| ELMo | 双方向のLSTMによる言語モデルを大量の文章で事前学習し、文脈に応じて変わる単語のベクトルを作る手法 |
違いを表で比べる
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
BERTの次文予測(NSP)は、1文目に続く2文目を、単語を1つずつ順に生成して作らせる課題である。
答えを見る
答え × 誤り
NSPは、2文目が本当に1文目の続きか、無関係な文かを見分ける2値の分類です。文を生成させる課題ではありません。
-
BERTは、2018年の発表時に、GLUEベンチマークや質問応答のSQuADなど、11の自然言語処理のタスクで当時の最高性能を更新した。
答えを見る
答え ◯ 正しい
1つの事前学習済みモデルを各タスクにファインチューニングするだけで、多くのタスクの記録を塗り替えました。
-
文章を先頭から1語ずつ生成する用途には、BERTよりも、GPTのようにTransformerのデコーダを使うモデルのほうが向いている。
答えを見る
答え ◯ 正しい
BERTは前後両方の文脈を使う前提で学習されています。まだ書かれていない後ろの単語に頼れない生成には、前から順に予測するデコーダ型が向きます。