Introduction人们希望可以减少训练所需的数据量。人类可以根据以往经验迅速掌握并运用新的概念,但是这对机器学习来说是很难的。在cifar-100数据集上,全监督学习可以实现75.7%的准确率,而1-shot learning 仅仅可以实现40.1%的准确率。Few-shot learning methods 可以被简单的分类为两部分,数据扩充和基于任务的meta-learning。数据扩充是指增加可用数据的数量,并且对FSL 是useful。第一种是数据生成的方式,如利用高斯噪声,但是这种方式在few-shot上训练时表现不佳。另一种方法是合并来自不同任务的数据,但是由于不同任务之间的数据是有差异的,这种方法也无效。另一种方式是meta-learning,元学习会积累从不同任务获得的学习经验,但base-learning 只针对于学习单一任务的数据分布。MAML是一个经典算法(论文解读 :https://zhuanlan.zhihu.com/p/66926599)本文提出了meta-transfer learning(MTL)(可以整合迁移学习和元学习的优点)仅用少量数据就能快速适应新task的目的。为了达到这一目的,训练模型需要最大化新task的loss function的参数敏感度(maximizing the sensitivity of the loss functions of new tasks with respect to the parameters),当敏感度提高时,极小的参数(参数量)变化也可以对模型带来较大的改进。本文提出的算法可以适用于多个领域,包括少样本的回归、图像分类,以及增强学习,并且使用更少的参数量达到了当时(2017年)最先进的专注于少样本分类领域的网络的准确率。 相对于前人通过学习update function或learning rule的训练方法,MAML并不需要通过扩充模型的参数量或是限制模型结构(如限定RNN网络)等手段来提高准确率。MAML的设想是其可以被轻松地使用在全连接网络、卷积网络以及递归神经网络中,并且可以使用多种loss函数,在本文中,loss会根据解决问题的不同(回归、分类、增强学习)而改变。limitation:1. 需要大量的相似任务来进行meta-training2. 为了避免over fitting,每一个task都是用shallow neural network进行训练的,因此不能用更powerful的网络来学习。(在mini-ImageNet上面,MAML是用一个4 CONV 的shallow CNN 来进行学习的)contribution 1本文提出了meta-transfer learning(MTL)(可以整合迁移学习和元学习的优点)其中,transfer 意味着在大规模数据集上训练的DNN权重通过scaling 和shifting操作 转移到new task 上,meta 指的是这些操作可以看成是few-shot learning 上的超参数。大规模训练的DNN权值提供了良好的初始化,可以让meta-learning在较少的任务下迅速收敛。contribution 2结合 Curriculum learning 和 hard negative mining 提出了hard task (HT) meta-batch 。在传统的meta-learning学习任务里面,meta-batch 是随机抽取生成的。但是本文提出的HT meta-batch 算法会根据过去的失败任务,重新采样那些准确率比较低的sample,从而加强模型鲁棒性。Curriculum learning: https://zhuanlan.zhihu.com/p/114825029 主张让模型先从容易的样本开始学习,并逐渐进阶到复杂的样本和知识。hard negative mining: https://zhuanlan.zhihu.com/p/57440670 多找一些hard negative【那些容易被看成是正样本的样本】加入负样本集,进行训练,这样会比easy negative组成的负样本集效果更好。
05
Related RorkFew-shot learningMetric learning methods: 学习一个相似空间(例如matching net , protonets 等)Memory network methods: 会储存学习到的经验然后应用到unseen tasks 上去Gradient descent based methods:有一个meta-learner 然后适应特定的base-learner【给定一个初始化的参数,使得网络通过很少的样本微调就可以很快的梯度下降到最优点】Transfer learning 迁移学习迁移学习的思路是在大规模数据集训练的基础之上,通过微调的方式转移到新的任务。另一种流行的transfer 方式在预训练网络的基础之上再添加high-level 的functions。通过scaling and Shifting的方式进行迁移。在文章【Film: Visual reasoning with a general conditioning layer】中应用过。这个scaling and Shifting(SS)的迁移方式可以参考https://www.jianshu.com/p/c6cc0f993434论文解读里的图。Curriculum learning & Hard sample miningCurriculum learning 需要对样本的难易程度进行评估(额外的网络),但是本文的MTL算法不需要任何附加的网络。Hard sample mining通过添加更加混乱的数据进行训练从而使得网络有更高的鲁棒性。
HT meta-batch 训练的思想是摘选出训练失败的案例,然后利用他们来增加模型的鲁棒性。针对于每一个小任务task, train(为了训练base-learner) 和 test(为了训练SS的参数,但同时也可以获得test上的准确率),然后把其中准确率最低的样本选取出来,得到当前任务中最难分类的class-m。得到这m个类别之后,我们可以resample 出一个harder task具体细节:算法流程Algorithm 1 summarizes the training process of two main stages: large-scale DNN training (line 1-5) and meta-transfer learning (line 6-22). HT meta-batch re-sampling and continuous training phases are shown in lines 16-20, for which the failure classes are returned by Algorithm 2, see line 14. Algorithm 2 presents the learning process on a single task that includes episode training (lines 2-5) and episode test, i.e. meta-level update (lines 6). In lines 7-11, the recognition rates of all test classes are computed and returned to Algorithm 1 (line 14) for hard task sampling