このシリーズではE資格対策として、シラバスの内容を項目別にまとめています。

E資格まとめ

試験概要 ディープラーニングの理論を理解し、適切な手法を選択して実装する能力や知識を有しているかを認定する。 1.応用数学 (1)確率・統計 (2)情報理論 2.機…

BERT

BERTの概要

BERT(Bidirectional Encoder Representations from Transformers)は、2018年10月に発表された自然言語処理のモデルです。

自然言語処理の分野では、文章の意味を理解し、それを利用してさまざまなタスクを実行するための技術が求められます。これまでの言語モデルは主に一方向の情報しか処理できなかったため、前後の文脈を理解することが困難でした。

ここで、BERTが画期的であったのは、その両方向の情報を取り入れる構造にあります。Transformerのエンコーダー部分を使用し、ラベルが付いていない文章から表現を事前学習することが可能になりました。この事前学習とは、特定のタスクに対して訓練されていないデータを用いて、言語の一般的な特性を学習する手法で、精度向上の鍵となっています。

事前学習には「特徴量ベース」と「ファインチューニング」の2つの方法がありますが、BERTは特にファインチューニングの利点を活かしています。具体的には、Masked Language Model(MLM)とNext Sentence Prediction(NSP)という2つの手法を採用し、前後の文脈を同時に捉えることができます。MLMでは文章の一部を隠してそれを予測し、NSPでは2つの文が連続しているかを判定します。

この革新的なアプローチは、事前学習における方向性の問題を解決し、タスクごとにアーキテクチャを設計する手間を減らす効果がありました。その結果、11個のNLPタスクで最先端の結果を達成し、自然言語処理の分野における新しい基準を確立するに至りました。

さらに、BERTの構造は出力層を追加するだけでファインチューニングが容易に行えるため、多岐にわたるタスクに適用することが可能です。

BERTの学習方法

。BERTの学習プロセスは、大きく2つの段階で構成されています。

  1. 事前学習: この段階では、ラベルなしデータを用いて一般的な言語の特性を学習します。BERTはTransformerのエンコーダーを基盤にしており、複数のタスクで事前学習を行います。具体的には、Masked Language Model(MLM)とNext Sentence Prediction(NSP)のタスクを使って両方向の文脈を捉える能力を養います。
  2. ファインチューニング: 事前学習で得られた重みを初期値として、特定のタスクのラベルありデータでの学習を行います。この段階で、BERTはタスク固有の微調整を行い、特定のタスクに対する性能を高めます。

BERTのアーキテクチャは、異なるタスクでも統一されており、そのパラメータの構造は以下のようになります。

  • パラメータ数: 1.1億(小型モデル)、3.4億(大型モデル)
  • Transformerブロックの数
  • 隠れ層のサイズ
  • self-attentionヘッドの数

入出力については、タスクによって1つの文(例:感情分析)または2つの文をつなげたもの(例:質問応答)となります。入力文を「sentence」と呼ぶ場合、以下の特別なトークンと埋め込み表現が使用されます。

  • sentenceの先頭には[CLS]トークンを持たせる。このトークンは、後の分類タスクなどで使用されることが多いです。
  • 2文をくっつける時は、間に[SEP]トークンを入れ、それぞれに1文目か2文目かを表す埋め込み表現を加算します。

最終的に入力文は、以下のような構造になります。

[CLS] 文1 [SEP] 文2 [SEP][CLS]文1[SEP]文2[SEP]

事前学習

BERTの事前学習は、文を両方向(「左から右」と「右から左」)で学ぶために設計されており、2つの主要なタスクで構成されています。データセットとしては、BooksCorpus(単語数: 8億)とEnglish Wikipedia(単語数: 25億)が使用されています。

  1. Masked Language Modeling(MLM): このタスクは、入力文の15%のトークンを一時的に[Mask]トークンで隠して、隠されたトークンを予測する穴埋め問題です。具体的には、隠されたトークンの位置にSoftmaxを適用し、元のトークンを予測します。ただし、この方法では事前学習とファインチューニング間に差異が生じる可能性があります。なぜなら、ファインチューニング時には[Mask]トークンが出てこないからです。この問題を緩和するために、マスクするトークンに対して以下の処理を行います。
    • 80%の確率で[Mask]トークンで置き換える
    • 10%の確率でランダムに選んだトークンで置き換える
    • 10%の確率でそのままにする
    この工夫により、モデルが単にマスクを覚えるのではなく、文脈から意味を理解する能力が強化されます。
  2. Next Sentence Prediction(NSP): このタスクは、Q&Aや自然言語推論など、文同士の関係を考慮する必要がある問題に対応するためのものです。MLMだけでは対処できないこれらの問題に対して、2文を選び、それらが連続した文かどうかを判断します。この時、特定の位置のベクトルを用いて予測を行い、2文の関係を理解する力を培います。このベクトルはこの時点ではNSPに特化しており、文全体を表現したものではありません。

この2つのタスクによって、BERTは文の内部構造と文同士の関係を学ぶ能力を持つようになります。

まとめ

最後までご覧いただきありがとうございました。