Batch Model Consolidation: A Multi-Task Model Consolidation Framework
Iordanis Fostiropoulos Jiaye Zhu Laurent Itti
In Continual Learning (CL), a model is required to learn a stream of tasks
sequentially without significant performance degradation on previously learned
tasks. Current approaches fail for a long sequence of tasks from diverse
domains and difficulties. Many of the existing CL approaches are difficult to
apply in practice due to excessive memory cost or training time, or are tightly
coupled to a single device. With the intuition derived from the widely applied
mini-batch training, we propose Batch Model Consolidation ($\textbf{BMC}$) to
support more realistic CL under conditions where multiple agents are exposed to
a range of tasks. During a $\textit{regularization}$ phase, BMC trains multiple
$\textit{expert models}$ in parallel on a set of disjoint tasks. Each expert
maintains weight similarity to a $\textit{base model}$ through a
$\textit{stability loss}$, and constructs a $\textit{buffer}$ from a fraction
of the task's data. During the $\textit{consolidation}$ phase, we combine the
learned knowledge on 'batches' of $\textit{expert models}$ using a
$\textit{batched consolidation loss}$ in $\textit{memory}$ data that aggregates
all buffers. We thoroughly evaluate each component of our method in an ablation
study and demonstrate the effectiveness on standardized benchmark datasets
Split-CIFAR-100, Tiny-ImageNet, and the Stream dataset composed of 71 image
classification tasks from diverse domains and difficulties. Our method
outperforms the next best CL approach by 70% and is the only approach that can
maintain performance at the end of 71 tasks; Our benchmark can be accessed at
https://github.com/fostiropoulos/stream_benchmark