Skip to main content

Overview

Continual learning (also called lifelong learning) enables models to learn new tasks sequentially without forgetting previously learned knowledge. Neurenix provides multiple strategies to prevent catastrophic forgetting including Elastic Weight Consolidation (EWC), experience replay, regularization, and knowledge distillation.

Quick Start

Prevent forgetting with EWC:
Reference: neurenix/continual/ewc.py:16

Elastic Weight Consolidation (EWC)

EWC slows down learning on parameters important for previous tasks.

Basic EWC

Reference: neurenix/continual/ewc.py:31

Online EWC

Accumulate importance across multiple tasks:
Reference: neurenix/continual/ewc.py:35

EWC Penalty Computation

Reference: neurenix/continual/ewc.py:154

Experience Replay

Store and replay examples from previous tasks.

Basic Experience Replay

Reference: neurenix/continual/replay.py:17

Reservoir Sampling Strategy

Maintain representative sample as data streams:
Reference: neurenix/continual/replay.py:49

Per-Class Balanced Replay

Reference: neurenix/continual/replay.py:34

Regularization Methods

L2 Regularization

Simple regularization toward previous parameters:
Reference: neurenix/continual/regularization.py:15

Weight Freezing

Freeze important weights after learning:
Reference: neurenix/continual/regularization.py:83

Knowledge Distillation

Transfer knowledge from old model to new:
Reference: neurenix/continual/__init__.py:11

Synaptic Intelligence

Track parameter importance during training:
Reference: neurenix/continual/__init__.py:12

Complete Multi-Task Example

Combining Strategies

EWC + Experience Replay

EWC + Knowledge Distillation

Evaluation Metrics

Average Accuracy

Forgetting Measure

Backward Transfer

Best Practices

1. Choose the Right Strategy

2. Tune Regularization Strength

3. Balance Old and New Tasks

4. Monitor Forgetting

5. Optimize Memory Usage

Performance Tips

  1. Use online EWC for multiple tasks
  2. Combine EWC with replay for best results
  3. Tune regularization strength per dataset
  4. Use reservoir sampling for streaming data
  5. Monitor forgetting metrics during training
  6. Balance replay buffer across classes and tasks