open-domain-continual-learning-eval
CoLeCLIP: Open-Domain Continual Learning via Joint Task Prompt and Vocabulary Learning — Li et al. (2024) (arXiv:2403.10245, 2024)
What this evaluates
Evaluates open-domain continual learning (ODCL) in vision-language models by measuring how well a model adapts to a stream of new image classification domains while preserving previously learned knowledge and zero-shot capabilities on unseen domains.
Datasets
- Aircraft — total ?; splits: test (-1)
- Caltech101 — total ?; splits: test (-1)
- CIFAR100 — total ?; splits: test (-1)
- DTD — total ?; splits: test (-1)
- EuroSAT — total ?; splits: test (-1)
- Flowers — total ?; splits: test (-1)
- Food — total ?; splits: test (-1)
- MNIST — total ?; splits: test (-1)
- OxfordPet — total ?; splits: test (-1)
- StanfordCars — total ?; splits: test (-1)
- SUN397 — total ?; splits: test (-1)
Metrics
Avg (primary) — range: percent
- Average accuracy over all datasets across all time steps. Avg = (1/T) * sum_{t=1}^{T} A_t, where A_t = (1/T) * sum_{i=1}^{T} A_t^i and A_t^i is accuracy on dataset t after training on task i.
Last — range: percent
- Average accuracy across all domain datasets at the final time step (after training on all T tasks).
Transfer — range: percent
- Average zero-shot accuracy on unseen domains. Transfer = (1/T) * sum_{t=1}^{T} T_t, where T_t = (1/(t-1)) * sum_{i=1}^{t-1} A_t^i, measuring accuracy on dataset t before it was seen.
Forgetting — range: percent
- Average accuracy over all datasets from the learned time step to the last time step. Forgetting = (1/T) * sum_{t=1}^{T} F_t, where F_t = (1/(T-t+1)) * sum_{i=t}^{T} A_t^i.
Input / output format
Input: Image input processed by a frozen CLIP image encoder with task-specific prompts; text class vocabulary processed by a frozen CLIP text encoder with LoRA-based PEFT modules.
Output: Predicted class labels for each image, evaluated as classification accuracy (%) on seen and unseen domains.
Scoring recipe
T = total tasks
A = dict mapping (dataset, time_step) -> accuracy
# Last: accuracy at final step
last_acc = [A[(d, T)] for d in datasets]
Last = mean(last_acc)
# Avg: average accuracy across all steps and datasets
avg_acc = [mean([A[(d, i)] for i in range(1, T+1)]) for d in datasets]
Avg = mean(avg_acc)
# Transfer: zero-shot accuracy on unseen domains
transfer_acc = []
for t in range(1, T+1):
unseen_accs = [A[(d, i)] for i in range(1, t)]
transfer_acc.append(mean(unseen_accs) if unseen_accs else 0)
Transfer = mean(transfer_acc)
# Forgetting: accuracy retention from learning step to end
forget_acc = []
for t in range(1, T+1):
retention_accs = [A[(d, i)] for i in range(t, T+1)]
forget_acc.append(mean(retention_accs))
Forgetting = mean(forget_acc)
Common pitfalls
- ODCL-CIL (no task ID at inference) is significantly more challenging than ODCL-TIL (task ID known); results drop noticeably in CIL settings.
- Avg and Transfer metrics are only applicable to methods with zero-shot capabilities (e.g., CLIP, ZSCL, CoLeCLIP); closed-domain baselines like CODA-Prompt and LAE lack these metrics and should not be compared on them.
- The paper primarily reports results under Order-I (alphabetical dataset arrival); Order-II (random arrival) results are in the appendix and may yield different performance rankings.
Evidence (verbatim from paper)
To effectively evaluate the performance of open-domain CL, following [43], three performance metrics are used, namely Avg, Last, and Transfer, to evaluate the model's ability to preserve knowledge from the pre-training and downstream tasks. Additionally, we introduce a measure called Forgetting, focusing exclusively on the prevention of catastrophic forgetting of knowledge learned from the seen domains.
Citation
@misc{li2024coleclip,
title={CoLeCLIP: Open-Domain Continual Learning via Joint Task Prompt and Vocabulary Learning},
author={Li et al. (2024)},
year={2024},
note={arXiv:2403.10245}
}
1---2name: open-domain-continual-learning-eval3description: Evaluates open-domain continual learning (ODCL) in vision-language models by measuring how well a model adapts to a stream of new image classification domains while preserving previously learned knowledge and zero-shot capabilities on unseen domains. Use when the user wants to benchmark on Aircraft, Caltech101, CIFAR100, DTD, EuroSAT, Flowers, Food, MNIST, OxfordPet, StanfordCars, SUN397, or asks about evaluating this task. Reports Avg.4---56# open-domain-continual-learning-eval78> CoLeCLIP: Open-Domain Continual Learning via Joint Task Prompt and Vocabulary Learning — Li et al. (2024) (arXiv:2403.10245, 2024)910## What this evaluates1112Evaluates open-domain continual learning (ODCL) in vision-language models by measuring how well a model adapts to a stream of new image classification domains while preserving previously learned knowledge and zero-shot capabilities on unseen domains.1314## Datasets1516- **Aircraft** — total ?; splits: test (-1)17- **Caltech101** — total ?; splits: test (-1)18- **CIFAR100** — total ?; splits: test (-1)19- **DTD** — total ?; splits: test (-1)20- **EuroSAT** — total ?; splits: test (-1)21- **Flowers** — total ?; splits: test (-1)22- **Food** — total ?; splits: test (-1)23- **MNIST** — total ?; splits: test (-1)24- **OxfordPet** — total ?; splits: test (-1)25- **StanfordCars** — total ?; splits: test (-1)26- **SUN397** — total ?; splits: test (-1)2728## Metrics2930- `Avg` **(primary)** — range: percent31 - Average accuracy over all datasets across all time steps. Avg = (1/T) * sum_{t=1}^{T} A_t, where A_t = (1/T) * sum_{i=1}^{T} A_t^i and A_t^i is accuracy on dataset t after training on task i.32- `Last` — range: percent33 - Average accuracy across all domain datasets at the final time step (after training on all T tasks).34- `Transfer` — range: percent35 - Average zero-shot accuracy on unseen domains. Transfer = (1/T) * sum_{t=1}^{T} T_t, where T_t = (1/(t-1)) * sum_{i=1}^{t-1} A_t^i, measuring accuracy on dataset t before it was seen.36- `Forgetting` — range: percent37 - Average accuracy over all datasets from the learned time step to the last time step. Forgetting = (1/T) * sum_{t=1}^{T} F_t, where F_t = (1/(T-t+1)) * sum_{i=t}^{T} A_t^i.3839## Input / output format4041**Input**: Image input processed by a frozen CLIP image encoder with task-specific prompts; text class vocabulary processed by a frozen CLIP text encoder with LoRA-based PEFT modules.4243**Output**: Predicted class labels for each image, evaluated as classification accuracy (%) on seen and unseen domains.4445## Scoring recipe4647```python48T = total tasks49A = dict mapping (dataset, time_step) -> accuracy5051# Last: accuracy at final step52last_acc = [A[(d, T)] for d in datasets]53Last = mean(last_acc)5455# Avg: average accuracy across all steps and datasets56avg_acc = [mean([A[(d, i)] for i in range(1, T+1)]) for d in datasets]57Avg = mean(avg_acc)5859# Transfer: zero-shot accuracy on unseen domains60transfer_acc = []61for t in range(1, T+1):62 unseen_accs = [A[(d, i)] for i in range(1, t)]63 transfer_acc.append(mean(unseen_accs) if unseen_accs else 0)64Transfer = mean(transfer_acc)6566# Forgetting: accuracy retention from learning step to end67forget_acc = []68for t in range(1, T+1):69 retention_accs = [A[(d, i)] for i in range(t, T+1)]70 forget_acc.append(mean(retention_accs))71Forgetting = mean(forget_acc)72```7374## Common pitfalls7576- ODCL-CIL (no task ID at inference) is significantly more challenging than ODCL-TIL (task ID known); results drop noticeably in CIL settings.77- Avg and Transfer metrics are only applicable to methods with zero-shot capabilities (e.g., CLIP, ZSCL, CoLeCLIP); closed-domain baselines like CODA-Prompt and LAE lack these metrics and should not be compared on them.78- The paper primarily reports results under Order-I (alphabetical dataset arrival); Order-II (random arrival) results are in the appendix and may yield different performance rankings.7980## Evidence (verbatim from paper)8182> To effectively evaluate the performance of open-domain CL, following [43], three performance metrics are used, namely Avg, Last, and Transfer, to evaluate the model's ability to preserve knowledge from the pre-training and downstream tasks. Additionally, we introduce a measure called Forgetting, focusing exclusively on the prevention of catastrophic forgetting of knowledge learned from the seen domains.8384## Citation8586```bibtex87@misc{li2024coleclip,88 title={CoLeCLIP: Open-Domain Continual Learning via Joint Task Prompt and Vocabulary Learning},89 author={Li et al. (2024)},90 year={2024},91 note={arXiv:2403.10245}92}93```9495- arXiv: 2403.10245