memory buffer

**A memory buffer** in continual learning is a fixed-size storage that holds **representative examples from previously learned tasks**, enabling rehearsal and preventing catastrophic forgetting. The design of the memory buffer — its size, what it stores, and how it manages capacity — is crucial for continual learning performance. **What a Memory Buffer Stores** - **Raw Examples**: The original input-output pairs (x, y). Most straightforward approach. - **Features**: Intermediate representations from the model — more compact than raw data. - **Logits**: The model's output distribution (soft labels) at the time the example was stored. Used for knowledge distillation during replay. - **Gradients**: Gradient vectors from previous tasks, used to constrain optimization direction (e.g., GEM). **Buffer Management Strategies** - **Reservoir Sampling**: Each new example has a probability of replacing an existing buffer entry, ensuring the buffer is a uniform random sample of all seen data. Simple and theoretically sound. - **Class-Balanced**: Maintain equal representation of each class/task in the buffer. Prevents bias toward recent or dominant classes. - **Herding**: Select examples that best approximate the class mean in feature space — keeps the most representative examples. - **FIFO (First-In-First-Out)**: Evict the oldest examples. Simple but may lose important early knowledge. - **Loss-Based**: Keep examples with the highest loss (hardest examples) or most diverse coverage. **Buffer Size Trade-Offs** - **Larger Buffer**: Better knowledge retention, higher accuracy on old tasks, but more memory consumption and potential privacy concerns. - **Smaller Buffer**: Lower memory cost, faster sampling, but more forgetting. Even **20 examples per class** can significantly reduce forgetting. - **Typical Sizes**: Research benchmarks use 200–5,000 examples total across all tasks. **Advanced Techniques** - **Compressed Buffers**: Store compressed representations to fit more examples in the same space. - **Generative Buffers**: Replace stored examples with a generative model that can produce synthetic examples from old tasks on demand. - **Dynamic Sizing**: Adjust buffer allocation as the number of tasks grows — each task gets a smaller slice. The memory buffer is the **heart of rehearsal-based continual learning** — its design directly determines how well the system balances remembering old knowledge with learning new information.

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account