CVNov 15, 2017

PackNet: Adding Multiple Tasks to a Single Network by Iterative Pruning

arXiv:1711.05769v21594 citationsHas Code
Originality Incremental advance
AI Analysis

This addresses the challenge of efficient multi-task learning for AI systems, though it is incremental as it builds on network pruning techniques.

The paper tackles the problem of catastrophic forgetting in deep neural networks when adding multiple tasks sequentially, achieving accuracies close to separately trained networks for tasks like fine-grained classification on ImageNet-trained VGG-16.

This paper presents a method for adding multiple tasks to a single deep neural network while avoiding catastrophic forgetting. Inspired by network pruning techniques, we exploit redundancies in large deep networks to free up parameters that can then be employed to learn new tasks. By performing iterative pruning and network re-training, we are able to sequentially "pack" multiple tasks into a single network while ensuring minimal drop in performance and minimal storage overhead. Unlike prior work that uses proxy losses to maintain accuracy on older tasks, we always optimize for the task at hand. We perform extensive experiments on a variety of network architectures and large-scale datasets, and observe much better robustness against catastrophic forgetting than prior work. In particular, we are able to add three fine-grained classification tasks to a single ImageNet-trained VGG-16 network and achieve accuracies close to those of separately trained networks for each task. Code available at https://github.com/arunmallya/packnet

Code Implementations4 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes