少数のショットの学習、特に少数のショットの画像分類は、ますます注目を集めており、近年、重要な進歩を目撃している。最近のいくつかの研究では、データ拡張、事前トレーニング、知識の蒸留、自己監視など、多くの一般的な手法または「トリック」が、数回の学習方法のパフォーマンスを大幅に向上させる可能性があることが暗黙のうちに示されています。さらに、異なる作業では、異なるソフトウェアプラットフォーム、異なるトレーニングスケジュール、異なるバックボーンアーキテクチャ、さらには異なる入力画像サイズを使用する可能性があり、公正な比較が困難になり、実践者は再現性に苦労します。これらの状況に対処するために、PyTorchの同じ単一のコードベースを持つ統合フレームワークで17の最先端の数ショット学習メソッドを再実装することにより、数ショット学習用の包括的なライブラリ(LibFewShot)を提案します。さらに、LibFewShotに基づいて、複数のバックボーンアーキテクチャを備えた複数のベンチマークデータセットに対する包括的な評価を提供し、さまざまなトレーニングトリックの一般的な落とし穴と影響を評価します。さらに、メタまたはエピソードトレーニングメカニズムの必要性に関する最近の疑問を考えると、私たちの評価結果は、特に事前トレーニングと組み合わせた場合、そのような種類のメカニズムが依然として必要であることを示しています。私たちの仕事が、初心者が数ショットの学習に取り組むための障壁を下げるだけでなく、数ショットの学習に関する本質的な研究を促進するための重要なトリックの影響を取り除くことができることを願っています。ソースコードはhttps://github.com/RL-VIG/LibFewShotから入手できます。
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.