Model Collapse
モデル崩壊とは、生成モデルが世代を重ねるごとに以前のモデルの出力で学習することで、希少なデータや多様性が失われる現象です。
モデル崩壊とは、以前のモデルが生成したデータで生成モデルを訓練することで、世代を重ねるごとに元のデータ分布に関する情報が失われていく退化プロセスです。分布の裾にある希少な事例が最初に消え、十分な回数を重ねると、出力は最も一般的なパターンを狭く反復するものに収束します。Shumailovらは2024年のNature論文で、大規模言語モデル(LLM)、変分オートエンコーダー、ガウス混合モデルでこの現象を実証しました。将来のモデルが訓練されるウェブデータにAI生成テキストや画像が増えるほど、リスクは高まります。
崩壊が起きる理由#
各世代では、有限のサンプルでモデルを適合させ、その適合結果からサンプリングして次世代のデータを生成します。Shumailovらは、世代を重ねるごとに蓄積する3つの誤差を挙げています。有限のサンプルでは希少な事象を捉えきれないために生じる統計的近似誤差、モデルが真の分布を正確に表現できないために生じる関数表現力誤差、そして確率的勾配降下法などの訓練手法が不完全であるために生じる関数近似誤差です。ある世代のデータから希少な事象が一度失われると、次のモデルはその事象に確率ゼロを割り当てるため、二度と戻りません。裾の部分が消失する初期崩壊と、分布が少数の一般的な出力へと狭まり、分散がほとんどなくなる後期崩壊を区別しています。
以下のシミュレーションでは、単語頻度表をモデルとして扱います。前のモデルからサンプリングした10,000語を各世代で数え、以前のデータを置き換えるか、以前のデータに追加します。
import torch
torch.manual_seed(0)
vocab = 1000
human = 1 / torch.arange(1, vocab + 1) # Zipf-like word frequencies: a few common words, a long tail
human = human / human.sum()
real = torch.multinomial(human, 10_000, replacement=True) # human-written training text
print(f"Human data: {real.unique().numel()} distinct words")
for mode in ("replace", "accumulate"):
data = real
for generation in range(20):
# "Train" a model by counting word frequencies, then sample the next generation's text from it
model = torch.bincount(data, minlength=vocab) / len(data)
samples = torch.multinomial(model, 10_000, replacement=True)
data = samples if mode == "replace" else torch.cat([data, samples])
print(f"{mode}: {data.unique().numel()} distinct words after 20 generations")人間のサンプルには1,000語のうち916語が含まれています。前世代の出力だけで訓練する世代を20回重ねると、残る単語は302語となり、主に長い裾にある残りの614語は完全に失われます。各世代のサンプルを人間のデータに追加する場合は、実データがすべての訓練セットに残るため、916語すべてが維持されます。
根拠と限界#
置き換えと蓄積の違いは、実際のモデルにも当てはまります。Gerstgrasserら(2024年)は言語モデルの系列を事前学習し、各世代の合成データで実データを置き換えると崩壊に向かう一方、元の実データと合成データを蓄積すればそれを回避できることを示しました。拡散モデルと変分オートエンコーダーでも同様の結果が得られました。画像生成モデルについて、Alemohammadらは、自己消費ループの各世代に十分な新しい実データがなければ品質または多様性が徐々に低下すること、また最良の出力を厳選するなど品質重視でサンプルを選ぶと、多様性を犠牲にして品質が維持されることを明らかにしました。強力な教師モデルからの知識蒸留のように、意図的に生成・フィルタリングした合成データは広く利用されています。崩壊の原因は、モデル自身の未処理の出力を無差別かつ再帰的に再利用することです。
モデル崩壊と関連概念#
- モード崩壊: 敵対的生成ネットワーク(GAN)の生成器が、1回の訓練中に同じ顔を繰り返し出力するなど、少数の種類の出力だけを生成するようになります。モデル崩壊は、互いのデータで訓練された連続するモデル間で起こります。
- 破滅的忘却: 新しいタスクで訓練した後に、モデルが以前のタスクを忘れることです。モデル崩壊ではタスクは同じままで、訓練データが劣化します。
- 過学習: モデルが訓練セットを記憶し、汎化性能が低くなることです。崩壊したモデルは訓練データによく適合する場合がありますが、そのデータはもはや実際の分布を表していません。
- AIスロップ: オンラインで公開される低品質なAI生成コンテンツです。訓練セットにスクレイピングされると、崩壊の原因になり得ます。
モデル崩壊の防止#
ウェブ規模の訓練では、モデルとその訓練に使われるデータの間でループが生じます。
主な防止策は根拠となる知見から導かれます。元の人間由来データをすべての訓練セットに残し、置き換えるのではなく合成データを追加します。データの来歴を追跡して生成サンプルを識別し、AIウォーターマークやC2PAコンテンツ認証情報などのシグナルを利用します。また、合成サンプルは訓練前にフィルタリングまたは検証します。Ultralytics Platformは、ビジョンデータセットに蓄積方式を適用しています。類似画像を生成する操作では、既存の画像から1~16個のバリエーションを生成できます。ユーザーが採用した画像は、実画像の隣に新しい未ラベル画像として追加され、アノテーションに利用できます。










