参考文章1.
参考文章2.
小样本学习中,有一种方法叫做Meta-Learning,其训练过程包括:Meta-training 和 Meta-testing。
在Meta-Learning中原始数据要经过特殊的处理,在Meta-training 和 Meta-testing过程中都会用的Support set 和Query set。
先在Testing data中选择几个类,每个类别都包括很多样本,然后从选择的每个类中选出k+x个样本,其中k个样本用作support set,x个样本被用作query set ,这样就得到了 Meta-testing 过程中需要用到的两个数据集。同理,可得到Meta-training 过程中的两个数据集 S 和 Q 。(但是此时可以不和Meta-testing 一样必须要选 N 个类,从每个类中也不必非要选 k 个样本作为 Support set)。
依据上述的数据集划分,进行训练,计算损失,更新参数。这样就是一个episode训练过程。(在 Meta-training 的过程中,Support set + Query set 就是一个 mini-batch。因此,一个 episode 的训练过程实际上就是一个 batch 的训练过程。)
也就是说,一个episode,就是选择几个类,然后对于选择的每个类再选择support set和query set,用选择的某几个类的support set和query set训练一次模型。下一个episode,再选择其他几个类,然后在选择support set和query set训练模型。一个epoch中存在多个eposide。
基于 episode 的训练方法即被称为 Episodic Training