Meta-learning has been the most common framework for few-shot learning in recent years. It learns the model from collections of few-shot classification tasks, which is believed to have a key advantage of making the training objective consistent with the testing objective. However, some recent works report that by training for whole-classification, i.e. classification on the whole label-set, it can get comparable or even better embedding than many meta-learning algorithms. The edge between these two lines of works has yet been underexplored, and the effectiveness of meta-learning in few-shot learning remains unclear. In this paper, we explore a simple process: meta-learning over a whole classification pre-trained model on its evaluation metric. We observe this simple method achieves competitive performance to state-of-the-art methods on standard benchmarks. Our further analysis shed some light on understanding the trade-offs between the meta-learning objective and the whole-classification objective in few-shot learning. Our code is available at https://github.com/yinboc/few-shot-meta-baseline.
@inproceedings{chen2021meta,
title={Meta-Baseline: Exploring Simple Meta-Learning for Few-Shot Learning},
author={Chen, Yinbo and Liu, Zhuang and Xu, Huijuan and Darrell, Trevor and Wang, Xiaolong},
booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
pages={9062--9071},
year={2021}
}
It consists of three steps:
# baseline base training
python ./tools/classification/train.py \
configs/classification/baseline/cub/baseline_conv4_1xb64_cub_5way-1shot.py
# Meta Baseline base training
python ./tools/classification/train.py \
configs/classification/meta_baseline/cub/meta-baseline_conv4_1xb100_cub_5way-1shot.py \
--options load_from="work_dir/baseline_conv4_1xb64_cub_5way-1shot/best_accuracy_mean.pth"
# meta testing
python ./tools/classification/test.py \
configs/classification/meta_baseline/cub/meta-baseline_conv4_1xb100_cub_5way-1shot.py \
work_dir/meta-baseline_conv4_1xb100_cub_5way-1shot/best_accuracy_mean.pth
Note:
num_support_way
* (num_support_shots
+ num_query_shots
)Arch | Input Size | Batch Size | way | shot | mean Acc | std | ckpt | log |
---|---|---|---|---|---|---|---|---|
conv4 | 84x84 | 105 | 5 | 1 | 58.98 | 0.47 | ckpt | log |
conv4 | 84x84 | 105 | 5 | 5 | 75.77 | 0.37 | ⇑ | ⇑ |
resnet12 | 84x84 | 105 | 5 | 1 | 78.16 | 0.43 | ckpt | log |
resnet12 | 84x84 | 105 | 5 | 5 | 90.4 | 0.23 | ⇑ | ⇑ |
Arch | Input Size | Batch Size | way | shot | mean Acc | std | ckpt | log |
---|---|---|---|---|---|---|---|---|
conv4 | 84x84 | 105 | 5 | 1 | 51.35 | 0.42 | ckpt | log |
conv4 | 84x84 | 105 | 5 | 5 | 66.99 | 0.37 | ⇑ | ⇑ |
resnet12 | 84x84 | 105 | 5 | 1 | 64.53 | 0.45 | ckpt | log |
resnet12 | 84x84 | 105 | 5 | 5 | 81.41 | 0.31 | ⇑ | ⇑ |
Arch | Input Size | Batch Size | way | shot | mean Acc | std | ckpt | log |
---|---|---|---|---|---|---|---|---|
conv4 | 84x84 | 105 | 5 | 1 | 53.09 | 0.48 | ckpt | log |
conv4 | 84x84 | 105 | 5 | 5 | 67.85 | 0.43 | ⇑ | ⇑ |
resnet12 | 84x84 | 105 | 5 | 1 | 65.59 | 0.52 | ckpt | log |
resnet12 | 84x84 | 105 | 5 | 5 | 79.13 | 0.41 | ⇑ | ⇑ |
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )