该代码库包含两种连续学习方法的实现:
L2P是一种新颖的持续学习技术,它可以动态地促使预训练的模型在不同的任务转换下依次学习任务。与基于主流彩排或基于架构的方法不同,L2P既不需要排练缓冲区也不需要测试时间任务标识。 L2P可以推广到各种持续的学习设置,包括最具挑战性,最现实的任务不合时宜的环境。 L2P始终优于先前的最新方法。令人惊讶的是,即使没有排练缓冲液,L2P也可以针对基于排练的方法实现竞争结果。


代码由Zifeng Wang撰写。致谢https://github.com/google-research/nested-transformer。
这不是官方支持的Google产品。
通过将200个类别分为10个任务,每个任务20个任务,请参见libml/input_pipeline.py,请参阅Imagenet-R基于Imagenet-R的拆分Imagenet-R基准。我们认为,由于以下原因,分裂的Imagenet-R对持续学习社区至关重要:
Jaeho Lee在L2P-Pytorch和DualPrompt-Pytorch中已将代码库在Pytorch中重新完成。
pip install -r requirements.txt
之后,您可能需要根据CUDA驱动程序版本调整JAX版本,以便JAX正确识别您的GPU(有关更多详细信息,请参见此问题)。
注意:使用最新的JAX版本,该代码库已在TPU环境中进行了深入测试。我们目前正在努力进一步验证GPU环境。
在运行5个数据集和Core50的实验之前,应进行其他数据集准备步骤如下:
"PATH_TO_CORE50"和"PATH_TO_NOT_MNIST"中的libml/input_pipeline.py在步骤2中的目标路径本文中使用的VIT-B/16模型可以在此处下载。注意:我们的代码库实际上支持各种尺寸的VIT。如果您想尝试VIT的变化,请随时更改配置文件中的config.model_name ,遵循模型/vit.py中定义的有效选项。
我们提供配置文件,以在配置中的多个基准测试上训练和评估L2P和DualPrompt。
在基准数据集上运行L2P:
python main.py --my_config configs/$L2P_CONFIG --workdir=./l2p --my_config.init_checkpoint=<ViT-saved-path/ViT-B_16.npz>
其中$L2P_CONFIG可以是以下内容之一: [cifar100_l2p.py, five_datasets_l2p.py, core50_l2p.py, cifar100_gaussian_l2p.py] 。
注意:我们使用8个V100 GPU或4个TPU运行实验,并在配置文件中指定每个设备批次大小为16。这表明我们使用的总批量大小为128。
要在基准数据集上运行双启示:
python main.py --my_config configs/$DUALPROMPT_CONFIG --workdir=./dualprompt --my_config.init_checkpoint=<ViT-saved-path/ViT-B_16.npz>
其中$DUALPROMPT_CONFIG可以是以下内容之一: [imr_dualprompt.py, cifar100_dualprompt.py] 。
我们使用张板可视化结果。例如,如果指定运行L2P的工作目录是workdir=./cifar100_l2p ,则检查结果的命令如下:
tensorboard --logdir ./cifar100_l2p
以下是跟踪其相应含义的重要指标:
| 公制 | 描述 |
|---|---|
| 准确_n | 第n个任务的准确性 |
| 忘记 | 平均忘记直到当前任务 |
| AVG_ACC | 平均评估准确性直到当前任务 |
@inproceedings{wang2022learning,
title={Learning to prompt for continual learning},
author={Wang, Zifeng and Zhang, Zizhao and Lee, Chen-Yu and Zhang, Han and Sun, Ruoxi and Ren, Xiaoqi and Su, Guolong and Perot, Vincent and Dy, Jennifer and Pfister, Tomas},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={139--149},
year={2022}
}
@article{wang2022dualprompt,
title={DualPrompt: Complementary Prompting for Rehearsal-free Continual Learning},
author={Wang, Zifeng and Zhang, Zizhao and Ebrahimi, Sayna and Sun, Ruoxi and Zhang, Han and Lee, Chen-Yu and Ren, Xiaoqi and Su, Guolong and Perot, Vincent and Dy, Jennifer and others},
journal={European Conference on Computer Vision},
year={2022}
}