[NLP 古典論文精読] BERT: 言語理解のためのディープ双方向トランスフォーマーの事前トレーニング

序文

BERT は、NLP の開発を促進する上で極めて重要な役割を果たしており、そのシンプルな設計、一般的な展開と実装、および事前トレーニング + 微調整の成功したパラダイムは、その後の多くの設計に影響を与えました。この記事は NLP の古典的な論文の 2 番目であり、読者が BERT をさらに理解するのに役立つことを願っています。


論文: https://arxiv.org/pdf/1810.04805.pdf&usg=ALkJrhhzxlCL6yTht2BRmH9atgvKFxHsxQ
コード: https://github.com/google-research/bert

概要

この論文では、双方向符号化表現の Transformer 実装に基づく BERT モデルを提案します。これは、すべてのレイヤーで左右のコンテキスト情報を調整することにより、ラベルのないテキストの双方向表現を事前トレーニングすることを目的としており、特定のタスク シナリオに合わせて微調整する必要がある追加の出力レイヤーは 1 つだけです。BERT の概念はシンプルですが、その効果は顕著であり、11 の NLP タスクで SOTA を達成しています。

1. はじめに

事前トレーニング言語モデルは、文レベルや単語レベルのタスクを含む多くの NLP タスクを改善することが証明されています。既存の事前トレーニング戦略は 2 つあります。

  • 特徴に基づいて。ELMo と同様に、タスク固有のアーキテクチャ (RNN) を使用します。
  • GPT などの微調整に基づいて、事前トレーニングされたパラメーターを微調整するだけでダウンストリーム タスクをトレーニングします。

どちらも一方向言語モデルを使用して一般的な言語表現を学習します。ただし、一方向では事前トレーニング モデルのアーキテクチャの選択が制限されるため、文レベルおよび単語レベルのタスクに最適な情報を学習できなくなります。
この論文の BERT は Transformer の双方向エンコーダに基づいており、クローゼ タスクからインスピレーションを得た BERT は、MLM 事前トレーニング ターゲットを使用することで一方向問題を軽減します。MLM は入力内のトークンをランダムにマスクし、コンテキストに従って元のトークンを予測します。GPT とは異なり、MLM は左右のコンテキスト情報を組み合わせて、深い双方向 Transformer を事前トレーニングできます。さらに、著者は、現在の文と次の文の間の関係を予測する NSP タスクも構築しました。この論文の貢献は次のとおりです。

  • この論文は、言語表現における双方向の事前トレーニングの重要性を示しています。
  • 事前トレーニングされた表現により、タスク固有のアーキテクチャの複雑さが軽減されます。
  • BERT は 11 のタスク シナリオで SOTA を実現します。

2. 関連作品

2.1 教師なし特徴ベースのアプローチ

事前トレーニングされた単語レベルの表現は、埋め込みを最初からトレーニングする場合に比べて大幅な改善をもたらします。単語レベルの表現を事前にトレーニングするために、前者の研究では、左から右への言語モデリング目標と、特に左と右のコンテキストで正しい単語と不正確な単語を区別する目標を使用しました。
ELMo は、従来の単語埋め込み手法をさまざまな方向から研究し、コンテキストの特徴を左から右、次に右から左に抽出し、複数の NLP タスクの開発を促進します。この研究は、cloze タスクがテキスト生成モデルのパフォーマンスを向上できることを示しています。 。

2.2 教師なし微調整アプローチ

最近、ラベルのないテキストから文を事前トレーニングし、下流のタスクに合わせて微調整する新しいアプローチが登場しました。このアプローチの利点は、パラメーターを再トレーニングする必要がないことです。代表的な作品はGPTで、複数の文レベルのタスクでSOTAを実現しています。

2.3 教師ありデータからの転移学習

多くの作業は、自然言語推論や機械翻訳など、大規模なデータを使用する教師ありタスクから効率的に転送されます。

3.バート

BERT アーキテクチャには、事前トレーニングと微調整という 2 つのステップがあります。事前トレーニングはラベルのないデータでトレーニングされますが、微調整は事前トレーニングされたパラメーターを取得し、下流タスクからの教師付きデータを使用して微調整します。
画像.png
BERT の際立った特徴は、タスク全体にわたって統合されたアーキテクチャーであることです。BERT のアーキテクチャは本質的に多層双方向 Transformer エンコーダです。この論文では、L は Transformer ブロックの数を表し、隠れベクトルの長さは H で、ヘッダーの数は A です。このペーパーでは、BERT モデルの 2 つのスケールを提供します。BERT ベース \mathbf{BERT_{base}}BERT _ベースBERT大 \mathbf{BERT_{large}}BERT _大きい、前者はL=12、H=768、A=12、パラメータ量110M、後者はL=24、H=1024、A=16、パラメータ量340Mである。

ここで、H と A が L によってどのように変化するか、およびパラメータの計算プロセスを説明する必要があります。層数が2倍になるとモデルのパラメータ数も2倍になることが期待されますが、パラメータ数はHの2乗で増加するため、パラメータ数を2倍にするには、 Hから1024まで。また、A は H とともに変化します。これは、ロング ポジションの寸法を一貫して保つために、つまり、H/A が等しくなければならないため (ここでは 64)、A は大きく 16 に設定されます。パラメータの計算は下の図に示されています。ここで、30k は語彙のサイズです。詳細な説明は Mushen ビデオでご覧いただけます。

画像.png
BERT が一連のダウンストリーム タスクを処理できるようにするために、入力表現により、一連のトークンが 1 つの文または 2 つの文を明確に表すことができます。この場合、トークンのシーケンスは実際の文ではなく、連続した範囲になります。
著者は、WordPiece 埋め込みを使用して、30K サイズの語彙を処理します。各シーケンスの最初のトークンは [CLS] です。トークンの最後の隠れベクトル状態は、分類タスクの集計シーケンス表現に使用されます。文のペアを区別する方法は 2 つあります。1 つ目は、2 つを特別なトークン [SEP] で区切ります。2 つ目は、作成者が各トークンに学習可能な埋め込みを追加して、トークンが最初の文に属するか 2 番目の文に属するかを学習します。
各トークンの埋め込みは、そのトークンの埋め込み、セグメントの埋め込み、および位置の埋め込みの合計です。視覚化プロセスは次のとおりです。
画像.png

3.1 BERT の事前トレーニング

事前トレーニングでは 2 つの教師なし学習タスクを使用します。

マスクドLM

双方向モデルを直接使用すると、一方向モデルよりも多くの情報が学習されます。双方向表現をトレーニングするために、作成者は一定の割合のトークンをランダムにマスクし、最後の層の出力を通じてこれらのトークンを予測します。ソフトマックスを介したトークンの。このタスクは MLM またはクローズ タスクと呼ばれます。実験ではマスクの割合は15%でした。
ただし、単純なマスクだけではトレーニングと微調整の間に不一致が発生します ([マスク] が微調整に表示されないため)。そのため、選択された 15% のトークンについて、80% がマスクに使用され、10% がランダムに置き換えられます。トークン、10% は変更されません。

次の文の予測 (NSP)

質問応答や自然言語理解などの下流タスクの多くは 2 つの文間の関係の理解に基づいていますが、言語モデルはこの関係を直接捉えることはできません。文レベルの特徴を学習するために、NSP タスクが構築されます。著者が文のペアを構築するとき、50% は隣接する文であり、50% は隣接しません。

トレーニング前のデータ

事前トレーニング コーパスは、8 億の BooksCorpus と 2,500 M の英語版 Wikipedia を使用します。

3.2 BERT の微調整

各タスクについて、タスクの入力と出力を BERT に入力し、エンドツーエンドの微調整を実行することのみが必要です。単語レベルのタスクの場合、トークン表現が MLP に入力されて結果が取得され、文レベルのタスクの場合、[CLS] 表現が MLP 出力結果に入力されます。
微調整プロセスは、事前トレーニング プロセスよりも時間がかかりません。

4. 実験

4.1 接着剤

GLUE ベンチマークはさまざまな自然言語理解タスクのコレクションです。GLUE を微調整するために、作成者はデータを BERT に入力し、[CLS] トークン C ∈ RHC \ の最後の隠れベクトルを \mathbb{R} で使用します。 ^HCRHは集合体として表されます。微調整プロセスによって導入される唯一のパラメーターは、分類層の重みW ∈ RK × HW \in \mathbb{R}^{K×H}WRK × H、ここでKKKはタグの数です。作者はCCCWWW は標準分類損失、つまりlog (softmax (CWT) ) \mathrm{log(softmax}(CW^T)) をlog (ソフトマックス( C W))
画像.png
一部の小規模なデータセットに対するトレーニング効果は不安定であるため、作成者はこれらのデータセットに対する最良のパフォーマンスを結果として選択します。実際、パフォーマンスが低い理由は、作成者が実験で 3 エポック、つまりデータセットのフル スキャンを 3 回だけ選択したためですが、これでは明らかに十分ではありません。エポックの数を増やすことによってのみ、安定した結果を得ることができます。 。
実験結果は上の表、BERT ベース \mathbf{BERT_{base}}BERT _ベースBERT大 \mathbf{BERT_{large}}BERT _大きいどちらも SOTA を改善し、同様のモデル アーキテクチャで GPT を上回ります。モデルのサイズが大きくなるにつれて、モデルのパフォーマンスは向上します。

4.2 スクアッド v1.1

スタンフォード大学の質問と回答のデータセットは、クラウドソーシングされた 100,000 の質問と回答のペアを収集しています。タスクは、記事内の回答テキストの範囲を予測することで、基本的にテキストの開始位置 S と終了位置 E をマークします。結果は以下の表に示されています。
画像.png
最良の結果は TriviaQA データセットで事前トレーニングされ、その後 SQuAD で微調整されています。

4.3 スクアッド v2.0

データ セットは v1.1 に基づいて拡張されているため、短い回答の連続がなく、質問がより現実的になります。
画像.png
上の表はトレーニング結果であり、BERT が SOTA よりも 5.1 高いことが観察されます。

4.4 スワッグ

SWAG データセットには、常識的な推論を評価するための 113K の文のペアが含まれています。与えられた文に対して、4 つの選択肢の中から最も妥当な次の文を選択するという課題があります。微調整する場合、作成者はサンプルごとに 4 つの出力シーケンスを構築します。各シーケンスには、特定の文 A と次の文 B が含まれます。[CLS] の最後のレイヤー出力はスコアです。結果を以下の表に示します。
画像.png

効果はベースラインより 27.1%、GPT より 8.3% 高くなります。

5. アブレーション研究

5.1 事前トレーニングタスクの効果

このセクションでは、同じ事前トレーニング データ、微調整スキーム、およびパラメーターを使用して、2 つの事前トレーニング タスクの重要性を評価します。
NSP なし: NSP なしで MLM 事前トレーニング タスクのみを使用します。
LTR&No NSP:双方向モデルを左から右の一方向モデルに変更し、標準の左から右の LM をトレーニングに使用します。GPT と同等ですが、異なるデータで事前トレーニングされています。
画像.png
上の表はさまざまなモデルのパフォーマンスを示していますが、NSP を削除するとモデルのパフォーマンスが低下し、さらに双方向モデルを使用しないとモデルのパフォーマンスが悪化することがわかります。著者は LTR&NO NSP のパフォーマンスを向上させようとし、これに基づいて BiLSTM を追加しました。これによりモデルのパフォーマンスは向上しましたが、BERT と比較するとギャップがあります。

5.2 モデルサイズの影響

画像.png
著者はさまざまなスケールのモデルを試しました。そのパフォーマンス結果を上の表に示します。モデルが大きくなると、4 つのデータセットすべてで大幅なパフォーマンスの向上がもたらされることがわかります。著者らは、モデルが十分に事前トレーニングされている限り、微調整フェーズでモデルのサイズを増やすことで小さなタスクでも大幅な改善につながる可能性があると主張しています。

5.3 BERT を使用した機能ベースのアプローチ

事前トレーニングベースの方法である BERT は、良い結果を得るために単純な分類層のみを必要としますが、特徴抽出に基づく方法にも特定の利点があります。まず、Transformer エンコーダー (タスク生成用ではない) ですべてのタスクを実行できるわけではなく、事前トレーニングのコストが高くなります。
ここでは 2 つの方法を比較します。
画像.png
したがって、ここでは BERT は微調整されず、静的な特徴として入力され、効果は微調整ほど良くありません。

6. 結論

言語モデルベースの転移学習の最近の結果は、豊富な教師なし事前トレーニングが言語理解システムの不可欠な部分であることを示唆しており、この論文の主な貢献は、この研究をより深い双方向にさらに一般化することです。トレーニングされたモデルは、より多くの目的に一般化できます。 NLP タスク。

概要を読む

GPT や Transformer と比較すると、BERT は最初の 2 年間でよりよく知られるようになりました。ただし、BERT は Transformer のエンコーダ部分をインターセプトしただけで、その後いくつかの改善が加えられました。2 つの事前トレーニング タスクが追加され、セグメントの埋め込みが追加されました。余計な作業は必要ありません。実装は非常にシンプルですが、これはNLP分野のトレンド、つまりこれまでCV分野で適用されてきた事前トレーニング+ファインチューニングに適したパラダイムを提供しており、BERTはそれをNLP分野に適用することに成功しました。 。さらに、この記事では、モデルが大きいほどパフォーマンスが向上するという結論も提示されており、これは今日の大規模な言語モデル競争の強固な基盤でもあります。
記事の全体的なアイデアは明確で、ロジックは細心の注意を払っており、各部分の設計は非常によく説明されています。この種の文章は依然として非常に学ぶ価値があります。最後に、Mushen の説明ビデオを強くお勧めします。記事をより深く理解できます。

おすすめ

転載: blog.csdn.net/HERODING23/article/details/131865915