「自己再帰的学習(自己回帰学習)」とは、時系列データやテキストなどのシーケンスデータにおいて、過去のデータ(前に出力された要素)を基に次の要素を予測するようにモデルを訓練する学習手法です。ChatGPTなどの大規模言語モデル(LLM)の基盤技術であり、1トークンずつ順番に次の言葉を予測することで、自然な文章生成を可能にします。
自己再帰的学習とは
自己再帰的学習とは、データ系列(シーケンス)の予測において、「過去の自分自身の出力(または正解データの前半部分)」を次の入力として利用し、後続のデータを順番に予測・学習していく手法です。
詳しく解説
自己再帰的学習は、主に自然言語処理や時系列予測の分野で広く利用されています。この手法では、例えば「私は」「猫が」「好き」という文章があるとき、「私は」という入力から「猫が」を予測し、次に「私は 猫が」という入力から「好き」を予測するというように、直前までの情報(履歴)を考慮して次のステップを予測します。大規模言語モデルの多くは、この自己再帰的なアプローチ(Next Token Prediction)を採用して事前学習を行っています。モデルは大量のテキストを読み込み、文脈から確率的に最も尤もらしい次の単語(トークン)を出力する訓練を繰り返すことで、高度な言語生成能力を獲得します。
具体例・使われ方
具体的な利用例として、ChatGPTやGPT-4などの大規模言語モデルにおけるテキスト生成が挙げられます。「むかしむかし、あるところに」というプロンプトを入力すると、モデルはそれに続く言葉として「おじいさんと」を予測し、さらに「むかしむかし、あるところに おじいさんと」を入力として次の「おばあさんが」を予測するというプロセスを再帰的に繰り返すことで、物語を自動生成します。
似た用語との違い
混同されやすい概念に「非自己回帰モデル」や「自己符号化」があります。非自己回帰モデルは、すべてのトークンを依存関係を無視して並列に一括出力するため高速ですが、文脈の整合性を保つのが困難です。一方、自己符号化(BERTなど)は、文章の一部を隠して(マスクして)双方向の文脈から予測する学習方法であり、文脈理解には優れていますが、自由なテキスト生成には不向きです。また、自身の生成したデータを再学習してモデルが劣化する「自己ループ学習」とは概念が異なります。
注意点
自己再帰的学習の限界として、生成時の計算コストが高いことが挙げられます。1文字(トークン)ずつ順番に生成するため、並列処理ができず生成速度がボトルネックになりやすいです。また、生成の途中で一度誤った選択(エラー)をすると、その誤った出力を前提として次の予測を行うため、後半に行くほど不自然な文章や誤情報(ハルシネーション)が出力されやすくなる「エラーの累積」という問題があります。