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, backbone architectures and 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 eighteen 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 benchmarks with various backbone architectures to evaluate common pitfalls and effects of different training tricks. In addition, with respect to the recent doubts on the necessity of meta- or episodic-training mechanism, our evaluation results confirm that such a mechanism is still necessary especially when combined with pre-training. We hope our work can not only lower the barriers for beginners to enter the area of few-shot learning but also elucidate the effects of nontrivial tricks to facilitate intrinsic research on few-shot learning. The source code is available from https://github.com/RL-VIG/LibFewShot.
翻译:最近的一些研究隐含地表明,许多通用技术或“tricks”的“tricks',如数据扩充、预培训、知识蒸馏和自我监督等,可能会大大提高几发学习方法的性能。此外,不同的作品可能采用不同的软件平台、主干架构和输入图像大小,使公平的比较变得困难,从业人员难于再生。为了应对这些情况,我们提议建立一个综合图书馆(LibFewShot),在PyTorch的同一代码库的统一框架内,重新采用18个最先进的“trock-shot”学习方法。此外,根据LibFewShot,我们对各种主干架构的多重基准进行全面评估,以评价常见的陷阱和不同培训技巧的影响。此外,关于最近对元/缩略图/缩略图培训机制必要性的怀疑,我们的评价结果证实,这种机制仍然必要,特别是当进入了Gyrch-L的内在障碍时。我们希望我们的工作能够对各种主干结构的多项基准进行全面评估,而不是学习。