Catastrophic Forgetting
ニューラルネットワークにおける壊滅的忘却を防ぐ方法を学びましょう。Ultralytics YOLOモデルをトレーニングする際に有効な、実証済みの緩和策を紹介します。
破滅的忘却は、catastrophic interferenceとも呼ばれ、機械学習において広く研究されている現象です。これは、人工ニューラルネットワークが新しいタスクを学習する際に、以前学習した情報を突然失ってしまうことを指します。モデルが新しいデータセットに適応するために逐次学習を行う際、バックプロパゲーションを用いた最適化アルゴリズムがモデルの重みを更新します。このプロセスにおいて、以前のタスクに必要な数学的表現が意図せず上書きされてしまうことがよくあります。その結果、本来の目的のために高度に最適化されたAIシステムは、特別な対策なしに新しいデータだけで学習されると、初期タスクのパフォーマンスが著しく低下することがあります。
Link to this section破滅的忘却が起こる理由#
ディープラーニングでは、モデルの知識は相互接続されたニューロンの分散ネットワーク全体に保存されます。ファインチューニング中、確率的勾配降下法 (Stochastic Gradient Descent)のような最適化関数が、新しいデータに対する誤差を最小化するためにこれらの接続を調整します。新しいトレーニングデータセットに元のクラスの例が含まれていない場合、最適化プロセスは重みを新しいデータの分布に向けてシフトさせ、古い分布の「記憶」を事実上消去してしまいます。構造的シフトに関する最近の研究によると、この内部的な崩壊は、現代のニューラルネットワークが人間のような生涯学習 (lifelong learning)を標準で実現することを根本的に制限しています。
Link to this section関連する概念との違い#
破滅的忘却を他のAI概念と対比させることは極めて重要です。
- 破滅的忘却とモデル崩壊 (Model Collapse): 忘却は新しいタスクを段階的に学習することで発生しますが、モデル崩壊は、モデルが他のAIモデルによって生成された合成データを繰り返し学習することで、同一タスクのパフォーマンスが徐々に低下していく現象です。
- 破滅的忘却と継続学習 (Continual Learning): 継続学習は、破滅的忘却を解決することを目的とした包括的な研究手法です。継続学習アルゴリズムは、モデルが忘却することなく新しい知識を逐次習得できるようにすることを目指しています。
Link to this section現実世界の例#
破滅的忘却は、動的な現実世界の環境で動作するさまざまなAIドメインにおいて重大な課題となります。
- 自律システム: 自動運転車の認識パイプラインにおいて、歩行者や標準的な交通標識を認識するように学習されたコンピュータビジョンシステムを、地域特有の新しい工事看板を認識するようにファインチューニングする場合があります。安全対策がない場合、システムは突然歩行者を確実に検出できなくなり、深刻な安全リスクを引き起こす可能性があります。
- 言語および認知AI: 大規模言語モデルを医療診断などのドメイン固有のタスクにカスタマイズする際、モデルが会話の整合性や一般的な推論スキルを忘れてしまうことがあります。LLMの比較分析に関する最近の論文によると、高度に専門化されたテキストを用いた標準的なファインチューニングは、事前の安全アライメント (safety alignment)を損なうことが多く、モデルが本来の指示に従う能力を失う原因となることが示されています。
Link to this section破滅的忘却の克服#
AIエンジニアは、この問題を緩和し、最適な可塑性と安定性のジレンマ (plasticity-stability dilemma)を維持するために、いくつかの戦略を利用しています。
- データセットのリプレイとマージ: 最も確実な方法は、元のトレーニングデータのサブセットを新しいデータと混合することです。Ultralytics Platformのようなツールは、統合されたデータセットの管理とバージョン管理を合理化し、トレーニング中に元のクラスが効果的にリプレイされるようにします。
- 弾性重み統合 (EWC: Elastic Weight Consolidation): この正則化手法は、古いタスクにとって重要だったパラメータの更新を制限します。ネットワーク忘却の克服に関する最近の実験で強調されているように、これらの主要な重みを特定して保護することで、モデルは忘却を軽減します。
- パラメータ効率の良いファインチューニング (PEFT): LoRA (Low-Rank Adaptation)のような手法は、事前にトレーニングされたコアの重みを固定(フリーズ)し、ネットワークに小規模でトレーニング可能な行列を挿入することで、基本知識が上書きされるのを防ぎます。
- レイヤーのフリーズ: 短期間のトレーニングでは、バックボーンとネックのレイヤーをフリーズさせることで、コアとなる特徴抽出器を確実にそのまま維持できます。
- 勾配フリー最適化: 新しいフレームワークにおいて、勾配更新が制限されている環境でも、順伝播ベースの手法が忘却を効率的に緩和できることが最近実証されています。
Link to this sectionビジョンAIにおける実装例#
Ultralytics YOLOを新しい物体検出タスクに適応させる際、レイヤーをフリーズさせることは効果的で利用しやすいアプローチです。以下の例は、最初の10レイヤーをフリーズさせることで破滅的忘却を防ぎながら、新しいデータセットでUltralytics YOLO26モデルをトレーニングする方法を示しています。
from ultralytics import YOLO
# Load a pretrained Ultralytics YOLO26 model
model = YOLO("yolo26n.pt")
# Train on a combined dataset while freezing core backbone layers
# The 'freeze=10' argument prevents catastrophic forgetting of foundational visual features
results = model.train(data="combined_dataset.yaml", epochs=20, freeze=10, lr0=0.001)
# Evaluate the model to ensure it retains performance on old and new tasks
metrics = model.val()





