1 基本概念

1.1 定義

次文予測(NSP)は、自然言語処理における自己教師あり学習タスクの一種である。入力として与えられた二つの文(文Aと文B)に対して、文Bが文Aの直後に続く原文中の連続する文であるかどうかを二値分類で判定する。正例は連続する文ペア、負例はランダムに抽出された非連続な文ペアから構成される。

1.2 目的

NSPの主目的は、モデルに文間の意味的関係(因果関係、時間的順序、話題の継続など)を学習させることである。これにより、モデルは単一文内の局所的な文脈理解を超えて、複数の文にわたる文書レベルの文脈を把握できるようになり、質問応答や自然言語推論など文間関係が重要な下流タスクの性能向上が期待される。

2 アルゴリズムと仕組み

2.1 入力データの構成

NSPの入力は、二つの文(文Aと文B)を特殊トークンで結合した系列である。典型的な形式は [CLS] 文A [SEP] 文B [SEP] であり、[CLS] は分類用の特別トークン、[SEP] は文境界を示す。各文はサブワード(WordPieceなど)に分割され、位置埋め込みとセグメント埋め込み(文Aと文Bを区別)が加えられる。

2.1.1 正例と負例

  • 正例:同一文書内で実際に連続する文ペア。例えば、文書中の第1文と第2文をペアとする。
  • 負例:同一文書からランダムに選択した非連続な文ペア(例えば、第1文と第5文)、または異なる文書から抽出した文ペア。BERTのオリジナル実装では、正例と負例を50%ずつサンプリングする。

2.2 モデルアーキテクチャ

NSPはBERTのようなTransformerベースのエンコーダ上で実行される。入力系列全体をエンコーダが処理し、各トークンの隠れ状態を生成する。特に、[CLS] トークンの最終隠れ状態が文ペア全体の集約表現として用いられる。

2.2.1 [CLS]トークンの活用

[CLS] トークンは、BERTの事前学習において文分類タスクのために設計された特殊トークンである。NSPでは、[CLS] の出力ベクトルを全結合層ソフトマックス関数に通し、二値分類(IsNext / NotNext)の確率を出力する。この設計により、モデルは文ペア全体の意味を一つのベクトル圧縮することを学習する。

2.3 損失関数と学習

NSPは二値分類タスクであるため、損失関数には交差エントロピー誤差が用いられる。BERTの事前学習では、NSPとマスク言語モデリングMLM)が同時に最適化される。総損失L = L_MLM + L_NSPと定義され、モデルは両方のタスクから勾配を受け取り、文レベルと単語レベルの両方の知識を獲得する。

3 歴史と発展

3.1 BERTにおける導入

NSPは2018年にGoogleが発表したBERTモデルで初めて導入された。BERTの事前学習は、従来の単方向言語モデル(GPTなど)とは異なり、双方向の文脈を利用できるMLMと、文間関係を捉えるNSPを組み合わせた画期的な手法であった。NSPの導入により、BERTはGLUEベンチマークやSQuAD質問応答タスクで当時の最先端性能を達成した。

3.2 批判と改良

その後、複数の研究でNSPの有効性に疑問が呈された。特に、負例が単に「異なる文書から抽出した文」である場合、モデルが「話題の一致」を学習するだけで、真の文間関係(連続性)を学習していない可能性が指摘された。また、NSPが下流タスクに与える貢献は限定的であり、MLM単体でも同等以上の性能が達成できる場合があることが示された。

3.2.1 RoBERTaによるNSPの除去

2019年に発表されたRoBERTaは、BERTの事前学習設定を徹底的に検討し、NSPタスクを除去した場合でも性能が低下しないことを実験的に示した。RoBERTaはNSPなしでより大規模なデータと長期間の学習を行い、多くのベンチマークでBERTを凌駕した。この結果は、NSPが必須ではないことを強く示唆した。

3.2.2 ALBERTSOP(Sentence Order Prediction)

2020年に提案されたALBERTは、NSPの代替としてSOP(Sentence Order Prediction)を導入した。SOPは、同一文書内の連続する二つの文の順序(正順か逆順か)を予測するタスクである。これにより、モデルはより細かい文間の因果関係や論理的順序を学習できるようになり、NSPよりも効果的であることが示された。

4 応用と実践

4.1 文書分類

NSPで事前学習されたモデルは、文書レベルの分類タスク(例:ニュースのトピック分類、レビュー感情分析)で利用される。[CLS] トークンの表現を文書全体の埋め込みとして用いることで、単一文のみならず複数文にまたがる情報統合できる。

4.2 質問応答システム

質問応答(QA)タスクでは、質問とパッセージの文間関係が重要である。NSPで学習したモデルは、質問文と回答候補文が連続する文脈に属するかどうかを判定する能力を活かし、特に抽出型QA(正解のスパンをパッセージから特定する)の性能向上に寄与した。

4.3 自然言語推論

自然言語推論(NLI)タスクは、前提文と仮説文の関係(含意、矛盾、中立)を判定する。NSPで学習したモデルの文間関係理解能力は、NLIの性能向上に直接的に貢献する。BERT登場時には、NSPの恩恵がNLIタスクで顕著に見られた。

5 限界と課題

5.1 タスクの単純性

NSPは二値分類という単純なタスクであり、学習される文間関係が「連続性」のみに限定される。実際の下流タスクで必要な、より複雑な因果関係や談話構造を十分に捉えられない可能性がある。また、負例の生成方法が粗いため、真に有用的な意味関係を学習できないことがある。

5.2 データバランスの問題

BERTのオリジナル実装では、正例と負例を1:1でサンプリングするが、実際の文書では連続する文ペアよりも非連続なペアの方が圧倒的に多い。この人工的なバランスは、モデルが実データの分布を歪めて学習するリスクを伴う。

5.3 他の事前学習タスクとの比較

MLMやSOP、SpanBERTのSpan Boundary Objectiveなど、他の事前学習タスクと比較して、NSPの計算効率や性能向上の度合いが低いことが複数の研究で示されている。RoBERTaやALBERTの成功は、NSPに代わる、またはNSPを補完するタスクがより有効であることを示しており、現在ではNSP単独で使用されることは少なくなっている。