Few-shot learning, especially few-shot image classification, has received increasing attention and witnessed significant advances in recent years. Some recent studies implicitly show that many generic techniques or ``tricks'', such as data augmentation, pre-training, knowledge distillation, and self-supervision, may greatly boost the performance of a few-shot learning method. Moreover, different works may employ different software platforms, different training schedules, different backbone architectures and even different input image sizes, making fair comparisons difficult and practitioners struggle with reproducibility. To address these situations, we propose a comprehensive library for few-shot learning (LibFewShot) by re-implementing seventeen state-of-the-art few-shot learning methods in a unified framework with the same single codebase in PyTorch. Furthermore, based on LibFewShot, we provide comprehensive evaluations on multiple benchmark datasets with multiple backbone architectures to evaluate common pitfalls and effects of different training tricks. In addition, given the recent doubts on the necessity of meta- or episodic-training mechanism, our evaluation results show that such kind of mechanism is still necessary especially when combined with pre-training. We hope our work can not only lower the barriers for beginners to work on few-shot learning but also remove the effects of the nontrivial tricks to facilitate intrinsic research on few-shot learning. The source code is available from https://github.com/RL-VIG/LibFewShot.
翻译:最近的一些研究隐含地表明,许多通用技术或“tricks'(libFewShot),如数据扩充、预培训、知识蒸馏和自我监督等,都可能大大地提高一些光学学习方法的性能。此外,根据LibFewShot,我们可能利用不同的软件平台、不同的培训时间表、不同的主干结构,甚至不同的输入图像大小,使公平的比较变得困难,而实践者则与再生能力相争。此外,为了应对这些情况,我们提议建立一个综合图书馆,通过在一个统一的框架中重新实施七年级最先进的少发学方法(libFewShot),例如数据扩充、预培训、知识蒸馏和自我监督等,来进行少发式学习。此外,根据LibFewShot,我们对多种主干结构的多个基准数据集进行全面评价,以评价常见的陷阱和不同培训技巧的影响。此外,鉴于最近对元或上成型培训机制的必要性存在疑问,我们的评估结果显示,在同一个代码上,我们开始学习的内在机制的难度也是不必要的。我们学习过程的必然。