1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AIモデル】「双方向Transformer」"BERT"の論文を読んでみた

Last updated at Posted at 2025-06-29

はじめに

現在の対話型AI(Chat GPTなど)の多くはベースとして「Transformer」(ニューラルネットワークの一種)という技術が利用されているようです。
このTransformerを使って開発された代表的なモデルはGPT含めいくつかあるものの、今回はその一つであるBERT(Bidirectional Encoder Representations from Transformers) に関する元論文( https://arxiv.org/pdf/1810.04805.pdf )を読んでみましたので、その概略を書いてみることにします!
ちなみにTransformerについては以下で詳しく解説されていましたので、気になる方はご参考まで。

そもそも「BERT」とは

BERTはGoogleにより開発された自然言語処理モデルで、Google検索エンジンにおけるクエリ意味理解、チャットボット等の文章理解に広く活用されています。
この技術はテキストを一方通行で処理するのではなく、左右両方の文脈を同時に考慮できるようにする事前学習アプローチを導入することで、従来モデルと比べ文章理解の性能を大きく向上させたモデルとなっています。
→質問応答や言語推論といった包括的な文脈分析を必要とするタスクで特に価値がある技術になっています。

研究の背景と目的:なぜBERTが必要だったのか?

これまでのNLP(自然言語処理)では、テキストを左から右へと順次読み取るモデル(単方向言語モデル)に基づくものでした。
しかし片側から読んでいるという制約上、次のような課題がありました:

  • 各文ごとの意味理解に偏りが出る
  • 細かな文脈理解で不利
  • タスク特化アーキテクチャの工夫が不可欠で、開発コストがかかる

こうした課題に対応すべく「双方向の文脈を同時に学習できる汎用モデル」としてBERTが提案されました。

アーキテクチャ・設計

BERTは多層の双方向Transformerアーキテクチャを採用し、各トークン(単語など)が入力シーケンス内の他すべてのトークンと関連付けられるようになっています。
この設計により、モデルはテキスト内の距離に関係なく、単語間の複雑な関係を捉えることが可能となっています。

また特徴として、BERTの学習は、大規模な事前学習と、タスク固有のファインチューニングという2つのステップで構成されています。

スクリーンショット 2025-06-29 154936.png

Figure 1: Overall pre-training and fine-tuning procedures for BERT. Apart from output layers, the same architectures are used in both pre-training and fine-tuning. The same pre-trained model parameters are used to initialize models for different down-stream tasks. During fine-tuning, all parameters are fine-tuned. [CLS] is a special symbol added in front of every input example, and [SEP] is a special separator token (e.g. separating questions/answers).

BERTの入力表現は、トークン埋め込み、セグメント埋め込み(文を区別するため)、および位置埋め込み(トークン順序)の3種類を介して単一文・文のペアを表現しており、これらの値をベースに学習を行います。
→先頭の[CLS]は分類タスクのための集約されたシーケンス表現、[SEP]はペア内の文を区切りとして利用される。

スクリーンショット 2025-06-29 154952.png

Figure 2: BERT input representation. The input embeddings are the sum of the token embeddings, the segmentation embeddings and the position embeddings.

事前学習

BEATのはじめのステップである事前学習では、文内の意味理解を行うMLMと、文間関係を追うNSPという2つのプロセスで構成されています。

マスクされた言語モデル (MLM)

BERTは入力トークンの15%をランダムにマスクし、マスクされた単語の予測を行います。
モデルは周囲の文脈に基づいてこれらのマスクされたトークンを予測することで、深い意味理解を行うよう学習を行います。
ここでマスクする単語については、以下の確率で置き換えを行っているようです。

  • 80%を[MASK]トークンで置き換え
  • 10%をランダムなトークンで置き換え
  • 10%を未変更のままにする

置き換え文字を上記割合で構成する意図として、例えばすべて一律に置き換えする(予測対象語をすべて[MASK]にする)と[MASK]という単語に頼ってしまい、学習に柔軟性を持たせられないため実際の単語を少し混ぜているイメージになっています。
→単純に[MASK]という単語をすべて予測結果にコピーする。など学習されると良くないという意図。

次文予測 (NSP)

2つの文が連続しているかどうか、その関係性の学習を行うプロセスになります。
→2文が連続するか、しないか、の2値分類を学習する。
50%が実際に連続する文であり、50%が連続でないペアである文を学習対象としています。
これは2値分類タスクのため、偏りを出さないために半々としているようです。

ファインチューニング

ファインチューニングは、事前学習されたBERTモデルを特定のタスクに適応させるため、最小限のタスク固有の層を追加し、ラベル付きデータでモデルを再学習させます。

以下の図は、BERTの各タスクタイプに応じたチューニングイメージ図になっています。
(a)文ペア分類
(b)単一文分類
(c)質問応答
(d)トークン・連続句レベルの分類

スクリーンショット 2025-06-29 160602.png

実験結果と示唆

BERTは11のNLPタスクで実験を行い、その主な結果は以下の通りとなっています。
→いずれのスコアも従来モデルと比較し性能向上が見られている。

【条件】
BERT-BASE: 12層、768隠れユニット、12アテンションヘッド (1億1千万パラメータ)
BERT-LARGE: 24層、1024隠れユニット、16アテンションヘッド (3億4千万パラメータ)

スクリーンショット 2025-06-29 155002.png

Table1:GLUETestresults,scoredbytheevaluationserver(https://gluebenchmark.com/leaderboard). Thenumberbeloweachtaskdenotesthenumberoftrainingexamples.The“Average”columnisslightlydifferent thantheofficialGLUEscore,sinceweexcludetheproblematicWNLIset.8BERTandOpenAIGPTaresinglemodel,singletask.F1scoresarereportedforQQPandMRPC,SpearmancorrelationsarereportedforSTS-B,and accuracyscoresarereportedfortheothertasks.WeexcludeentriesthatuseBERTasoneoftheircomponents.

また追加検証では以下示唆が得られているようです。

  • BERTのマスク付き言語モデルアプローチと従来モデルの学習を比較すると、質問応答タスクで顕著な性能改善が明らかに。
  • 従来モデルにおいて双方向LSTMを追加しても、BERTの性能には及ばず。
  • NSP(次文予測)を削除すると、文の関係性理解を必要とするタスクの性能が低下するため、NSPの存在は重要。

アーキテクチャの比較

BERT(双方向Transformer)、OpenAI GPT(単方向Transformer)、ELMo(連結された双方向LSTM)のアーキテクチャ比較図は以下の通り。

スクリーンショット 2025-06-29 160614.png

Figure 3: Differences in pre-training model architectures. BERT uses a bidirectional Transformer. OpenAI GPT uses a left-to-right Transformer. ELMo uses the concatenation of independently trained left-to-right and right-toleft LSTMs to generate features for downstream tasks. Among the three, only BERT representations are jointly conditioned on both left and right context in all layers. In addition to the architecture differences, BERT and OpenAI GPT are fine-tuning approaches, while ELMo is a feature-based approach.

矢印向きより、OpenAI GPT は、前の単語が後ろに層にも影響しているのが読み取れます。
一方 ELMo は、個別学習したLSTMを連結することで浅い双方向性を実現してますが、BERT は、すべての層において全結合・深い双方向性を示しているのが分かります。

BERTの利点

上記の内容を踏まえ、BERTの利点をまとめてみます。

双方向性の学習が可能であり文脈理解に効果的
MLMにより、すべてのTransformer層で前後の文脈を活用可能に。

Fine-tuningの効率性・柔軟性
タスクごと追加層を設けるだけで学習できるため、高精度+省データでの適用が可能。
小規模データでも大規模モデルの恩恵を受けられる。

モデルサイズのスケーリングの有効性
層・次元数が増すほど、精度は向上傾向にある。
精度向上の方向性が明確になっている。

まとめ

以上が論文を読んでみての概要説明になります。
BERTは自然言語処理の文脈理解において重要な役割を果たしており、現在はより高精度・高速・軽量化が進んでいるようです。

  • RoBERTa:BERTの事前学習を強化
  • ALBERT:パラメータ共有による軽量化と高速化
  • DistilBERT:BERTの知識を圧縮した軽量モデル(推論高速)
  • SpanBERT:スパン(連続語句)予測に特化し、QA性能向上
  • DeBERTa:相対位置エンコーディングとデコーダ強化で精度向上

BERTは現在でも自然言語処理の基礎モデルとして重要な役割を占めているようで、多くの後継モデルの土台として活用されていることから、その概要については知っていても損はないかなと思いました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?