Home

Awesome

DYSON

The official PyTorch implementation of our CVPR 2024 paper:

DYSON: Dynamic Feature Space Self-Organization for Online Task-Free Class Incremental Learning

GitHub maintainer: Yingjie Chen

Highlight


Brief Introduction

In this paper, we focus on a challenging Online Task-Free Class Incremental Learning (OTFCIL) problem. Different from the existing methods that continuously learn the feature space from data streams, we propose a novel compute-and-align paradigm for the OTFCIL. It first computes an optimal geometry, i.e., the class prototype distribution, for classifying existing classes and updates it when new classes emerge, and then trains a DNN model by aligning its feature space to the optimal geometry. To this end, we develop a novel Dynamic Neural Collapse (DNC) algorithm to compute and update the optimal geometry. The DNC expands the geometry when new classes emerge without loss of the geometry optimality and guarantees the drift distance of old class prototypes with an explicit upper bound. On this basis, we propose a novel Dynamic feature space Self-Organization (DYSON) method containing three major components, including 1) a feature extractor, 2) a Dynamic Feature-Geometry Alignment (DFGA) module aligning the feature space to the optimal geometry computed by DNC and 3) a training-free class-incremental classifier derived from the DNC geometry. Experimental comparison results on four benchmark datasets, including CIFAR10, CIFAR100, CUB200, and CoRe50, demonstrate the efficiency and superiority of the DYSON method.

Strong Performance

Our proposed DYSON steadily and dramatically outperforms the state-of-the-art methods.

Methodbackbonebuffercifar10,step=1cifar10,step=2cifar10,step=Gaussianbuffercifar100,step=1cifar100,step=5cifar100,step=Gaussian
ODDLResNet182k-52.7-2k-27.2-
SDPResNet18500-66.276.32k---
DYSON(ours)ResNet18073.474.476.5049.645.347.0
CoPEResNet501k-48.9-5k-21.6-
CN-DPMResNet501k-45.2-1k-20.1-
GMEDResNet505k-47.7-5k-19.6-
FCAResNet50077.578.776.1053.348.753.4
EnsembleResNet502k78.379.050.16k54.155.339.0
DSDMResNet502k79.479.678.76k54.955.355.5
DYSON(ours)ResNet50079.580.779.1058.959.258.6
L2PViT-S/81k46.861.457.53k8.427.348.7
DSDMViT-S/81k85.585.684.93k61.160.864.1
DYSON(ours)ViT-S/8092.693.593.8077.775.676.4

install all environment

Use the Anaconda (cu11)

conda env create -f DYSON_env.yaml

Data Preparation

CIFAR10 and CIFAR100 data sets will be downloaded automatically, CoRE50 and CUB200 data sets will need to be downloaded manually and put them in the ./DYSON/dataset

Training and Evaluation

Only the operation of the default protocol is shown here, Adjust the specific parameters to change the protocol

python ./DYSON/main.py --data_name cifar10 --epoch 1
python ./DYSON/main.py --data_name cifar100 --epoch 1
python ./DYSON/core.py
python ./DYSON/main.py --data_name core50 --epoch 1
python ./DYSON/main.py --data_name cub200 --epoch 20

Citation

If any parts of our paper and code help your research, please consider citing us and giving a star to our repository.

@InProceedings{He_2024_CVPR,
    author    = {He, Yuhang and Chen, YingJie and Jin, Yuhan and Dong, Songlin and Wei, Xing and Gong, Yihong},
    title     = {DYSON: Dynamic Feature Space Self-Organization for Online Task-Free Class Incremental Learning},
    booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
    month     = {June},
    year      = {2024},
    pages     = {}
}

Contact

If you have any questions or concerns, feel free to open issues or directly contact me through the ways on my GitHub homepage provide below paper's title.