12 mJ per Class On-Device Online Few-Shot Class-Incremental Learning

Yoga Esa Wibowo, Cristian Cioflan, Thorir Mar Ingolfsson, Michael Hersche, Leo Zhao +2 more
3/12/2024
cs.LGcs.CV

No official code found. Best implementation: pulp-platform/fscil (5 stars, Apache-2.0, last commit 2025-03-14).

Abstract

Few-Shot Class-Incremental Learning (FSCIL) enables machine learning systems to expand their inference capabilities to new classes using only a few labeled examples, without forgetting the previously learned classes. Classical backpropagation-based learning and its variants are often unsuitable for battery-powered, memory-constrained systems at the extreme edge. In this work, we introduce Online Few-Shot Class-Incremental Learning (O-FSCIL), based on a lightweight model consisting of a pretrained and metalearned feature extractor and an expandable explicit memory storing the class prototypes. The architecture is pretrained with a novel feature orthogonality regularization and metalearned with a multi-margin loss. For learning a new class, our approach extends the explicit memory with novel class prototypes, while the remaining architecture is kept frozen. This allows learning previously unseen classes based on only a few examples with one single pass (hence online). O-FSCIL obtains an average accuracy of 68.62% on the FSCIL CIFAR100 benchmark, achieving state-of-the-art results. Tailored for ultra-low-power platforms, we implement O-FSCIL on the 60 mW GAP9 microcontroller, demonstrating online learning capabilities within just 12 mJ per new class.

View on arXivView PDF

Code Implementations(1)

pulp-platform/fscilCommunity100%
Apache-2.0
50C, ShellJan 16, 20241 years agoApache-2.0

Cite this paper

@article{wibowo2024class,
  title  = {12 mJ per Class On-Device Online Few-Shot Class-Incremental Learning},
  author = {Yoga Esa Wibowo and Cristian Cioflan and Thorir Mar Ingolfsson and Michael Hersche and Leo Zhao and Abbas Rahimi and Luca Benini},
  year   = {2024},
  eprint = {2403.07851},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2403.07851v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2403.07851.svg)](https://codeofpaper.com/paper/2403.07851)

Discussion