EWC (Elastic Weight Consolidation)
概要
EWC(Elastic Weight Consolidation)は、継続学習(Continual Learning)分野で提案された代表的な正則化ベースの手法であり、ニューラルネットワークが新しいタスクを学習する際に、以前のタスクの性能を維持するために重みの重要度を測定し保護します。2017年にDeepMindのJames Kirkpatrickらが発表した論文で初めて紹介され、破滅的忘却(Catastrophic Forgetting)問題を解決するのに効果的です。
主な内容
1. 背景:破滅的忘却問題
ニューラルネットワークは通常、1つのタスクについて学習した後、別のタスクを学習すると以前のタスクの性能が急激に低下します。これは、ニューラルネットワークの重みが新しいデータに合わせて更新される際に、以前学習したパターンが上書きされるためです。EWCはこの問題を解決するために、各重みが以前のタスクにどれだけ重要かを測定し、重要な重みの変化を抑制します。
2. 核となるアイデア
EWCはベイズ推論(Bayesian inference)から着想を得ています。事後確率(posterior)を近似する際に、以前のタスクのパラメータ分布をラプラス近似(Laplace approximation)で表現します。各重みの重要度はフィッシャー情報行列(Fisher Information Matrix)の対角成分で測定されます。フィッシャー情報行列は重みが出力に与える感度を示し、値が大きいほどその重みが以前のタスクにとって重要であることを意味します。
3. 数学的定式化
EWCの損失関数は次のように定義されます:
L(θ) = L_new(θ) + (λ/2) Σ_i F_i (θ_i - θ_old_i)^2
ここで:
- L_new(θ)は新しいタスクに対する損失
- λは正則化の強度を調整するハイパーパラメータ
- F_iはi番目の重みのフィッシャー情報行列の対角成分
- θ_old_iは以前のタスク学習後の重み値
この損失関数は、新しいタスクを学習しながらも、重要な重みが大きく変化しないように制約を課します。
4. 実装プロセス
1. 最初のタスクの学習:標準的な方法でニューラルネットワークを学習し、学習後にフィッシャー情報行列を計算します。
2. 2番目のタスクの学習:以前のタスクの重みとフィッシャー情報を保存した後、EWC損失関数を使用して新しいタスクを学習します。
3. 繰り返し:各タスクが追加されるたびにフィッシャー情報を累積して更新します。
5. 利点と限界
利点:
- 実装が比較的簡単で、既存のニューラルネットワーク構造を変更する必要がありません。
- メモリ効率的:以前のタスクのデータを保存せず、重みとフィッシャー情報のみを保持します。
- 様々なドメイン(画像分類、強化学習など)で効果が実証されています。
限界:
- フィッシャー情報行列の対角成分のみを使用するため、重み間の相互作用を無視します。
- タスク数が増えるほど正則化項が累積され、新しいタスクの学習が困難になる可能性があります。
- ハイパーパラメータλの感度が高く、最適値を見つけるのが難しいです。
6. 変種と拡張
- Online EWC:タスクの順序が固定されていない環境で、段階的にフィッシャー情報を更新します。
- MAS(Memory Aware Synapses):EWCと類似していますが、出力変化に基づく重要度測定方式を使用します。
- SI(Synaptic Intelligence):学習過程で重みの変化量を追跡し、重要度を動的に計算します。
最新動向
2024-2025年現在、EWCは継続学習研究において依然として重要なベースラインとして使用されています。最近の研究では、EWCをメモリベース手法(例:リプレイバッファ)と組み合わせて性能を向上させる方向に進んでいます。また、トランスフォーマーベースモデル(例:GPT、BERT)にEWCを適用し、ファインチューニング時に事前学習知識を保存する研究が活発です。特に、大規模言語モデル(LLM)の継続学習において、EWCが破滅的忘却を緩和するのに効果的であることが確認されています。2025年には、EWCを基にした新しい正則化手法「EWC++」が提案され、フィッシャー情報行列のブロック対角近似を通じて重み間の相関関係を一部反映するアプローチが注目されています。
関連トピック
- [[継続学習]]
- [[破滅的忘却]]
- [[フィッシャー情報行列]]
- [[正則化手法]]
- [[メモリベース継続学習]]
---
AI自動生成ドキュメント · コミュニティが共に改善します