BERT (言語モデル)
エンコーダのみでデコーダを持たないアーキテクチャのため、BERTはプロンプトを出したり、テキストを生成することができない。一般的に、双方向モデルは右側がないと効果的に動作しないため、プロンプトを出力するのが難しく、短いテキストを生成するにも高度で計算コストのかかる技術が必要となる。
訓練するために非常に大量のデータを必要とするディープラーニング・ニューラルネットワークとは対照的に、BERTはすでに事前訓練されている。すなわち、単語や文の表現、およびそれらを接続する基本的な意味関係を学習していることを意味する。BERTはその後、感情分類などの特定のタスクに合わせて、より小規模なデータセットを使用してファインチューニングすることができる。したがって、事前訓練モデルの選択においては、使用するデータセットの内容だけでなく、タスクの目的も考慮される。たとえば、財務データに関する感情分類タスクに使用する場合、財務テキストの感情分析のための事前訓練モデルを選択するべきである。オリジナルの訓練済みモデルのウェイトはGitHubで公開されている。
単方向制約を超えた双方向(Bidirectional)の言語モデルを構築するために、BERT では事前学習タスク/損失関数として masked language model (MLM) を採用した。MLMでは部分マスクされた系列を入力としてマスク無し系列を予測し、マスク部に対応する出力に対して一致度を計算し学習する。モデルはマスクされていない情報(周囲の文脈/context)のみからマスク部を予測する事前学習タスクを解くことになる。
トークンの15%が予測用に選択され、訓練の目的は文脈を考慮して選択されたトークンを予測することとされた。選択されたトークンは、
確率80%で [MASK] トークンに置き換えられ、
確率10%でランダムな単語トークンに置き換えられ、
確率10%で置き換えられなかった。
たとえば、「私の犬はかわいいです」("my dog is cute")という文では、4番目のトークンが予測のために選択される可能性があった。このモデルの入力テキストは次の様になる。
確率80%で「私の犬は[MASK]です」
確率10%で「私の犬は幸せです」
確率10%で「私の犬はかわいい」
入力テキストを処理した後、モデルの4番目の出力ベクトルは別のニューラルネットワークに渡され、ニューラルネットワークは30,000語の大規模な語彙に対する確率分布を出力する。