论文阅读笔记《Meta-Transfer Learning for Few-Shot Learning》

小样本学习&元学习经典论文整理||持续更新

核心思想

  本文提出一种基于迁移学习的元学习算法(Meta-Transfer Learning,MTL)用于解决小样本学习问题,通过对深层卷积神经网络的权重进行放缩(Scaling)和平移(Shifting),以适应新的样本任务。传统的迁移学习算法,通常是在一个数据集上进行预训练得到一个较好的初始模型,然后再替换掉最上层的全连接层和分类器(也可能不替换),在新的数据集上进行微调训练(finetune),最后实现从原始数据集到新数据集的迁移过程。但这种方式一方面要求新数据集要有足够多的数据量,支持深层卷积神经网络的参数更新,这是小样本学习任务无法提供的;另一方面会导致“遗忘灾难”,即能够处理新数据集样本,却忘记如何处理原始数据集的样本。而典型的元学习算法(如MAML)是通过元学习器引导任务学习器训练,使其经过少量的优化训练就能够达到很好的效果。但这种方式要求网络必须比较简单(如四层卷积神经网络),否则容易产生过拟合的问题。本文提出的算法结合了迁移学习和元学习算法的优势,首先主体网络采用深层卷积神经网络DNN,保证特征表征能力;其次,在预训练之后保持DNN中的参数不动,通过元学习算法引导网络进行迁移,该过程只需学习少量的放缩和平移参数,避免了过拟合的问题。
在这里插入图片描述
  整个训练过程可以分成三个阶段,首先,在一个大规模的数据集上对特征提取网络 Θ \Theta Θ和分类器 θ \theta θ进行预训练,如上图a所示。然后,保持特征提取网络 Θ \Theta Θ参数不动,并替换分类器 θ \theta θ(以满足小样本分类任务的需求,如大规模数据集可能要分成64类,而小样本分类可能只需要10类),在小样本数据集上进行元训练。与MAML等元学习算法一样,元训练集又分成训练集和测试集两部分,训练集部分用于更新任务学习器的参数;测试集用于更新元学习器的参数。具体而言,首先随机初始化分类器参数 θ \theta θ(任务学习器或者基学习器),然后利用训练集中的数据对任务学习器进行训练,更新参数 θ \theta θ
在这里插入图片描述
式中 Φ S { 1 , 2 } \Phi_{S_{\left \{1,2\right \}}} ΦS{1,2}表示元学习参数。在训练集上完成任务学习器迭代训练之后,再利用测试集对元学习器进行训练, Φ S 1 \Phi_{S_1} ΦS1的初始值为1, Φ S 2 \Phi_{S_2} ΦS2的初始值为0(此处原文误写为 Φ S 1 \Phi_{S_1} ΦS1), θ \theta θ初始值为随机设定,更新过程如下
在这里插入图片描述
在这里插入图片描述
  利用学习到的放缩参数 Φ S 1 \Phi_{S_1} ΦS1,和平移参数 Φ S 2 \Phi_{S_2} ΦS2对特征提取网络 Θ \Theta Θ中的权重进行放缩和平移操作
在这里插入图片描述
  最后进入元测试阶段,元测试数据集同样分成训练集和测试集两部分,但其中的样本都是在元训练阶段未见过的,而且样本数量有限。在训练集上进一步对分类器参数 θ \theta θ进行微调训练,但保持特征提取网络 Θ \Theta Θ和元学习器参数 Φ S { 1 , 2 } \Phi_{S_{\left \{1,2\right \}}} ΦS{1,2}不变。微调训练结束后,可以在测试集上验证分类器的效果。

实现过程

网络结构

  特征提取网络可采用浅层机构(4层卷积神经网络)或深层结构(ResNet-12),分类器网络是一个全连接层,元学习器参数 Φ S { 1 , 2 } \Phi_{S_{\left \{1,2\right \}}} ΦS{1,2}根据特征提取网络结构选择,假设特征提取网络由4个通道数为64的卷积层构成,那么 Φ S 1 \Phi_{S_1} ΦS1的维度为64 * 4 * 1 * 1(以保证每个特征图都有一个对应的放缩系数), Φ S 2 \Phi_{S_2} ΦS2的维度为1 * 4 * 1 * 1(每个卷积层共用一个偏移向量)。

损失函数

  交叉熵损失函数

训练策略

  本文在上述常规训练的基础上,又引入了一种类似课程学习(Curriculum learning)的训练方法,简答来讲就是先学习简单的任务,再学习困难的任务。在元训练阶段,每次在测试集上对元学习器进行训练时,选择准确率最低的一类样本作为困难样本。在完成元训练阶段之后,再从一系列困难样本中重新采样,对元学习器进行再次训练。
在这里插入图片描述
在这里插入图片描述

创新点

  • 集合迁移学习和元学习算法实现小样本学习任务,通过元学习器训练得到放缩和平移参数,实现网络对于新数据集的迁移
  • 采用课程学习的训练方式,由简到难训练网络,提高损失收敛速度

算法评价

  本文是运用迁移学习解决小样本学习问题的一次经典的尝试,过去由于小样本数据集不足以完成网络迁移任务,而无法采用迁移学习算法。而本文很巧妙的引入了放缩和平移参数,对权重参数进行调整,以满足新样本任务的需要,这一方式避免了对整个网络的权重参数进行更新,减轻了过拟合的问题,而且可以采用深层卷积神经网络,提高了特征表征能力。最后采用课程学习方式,由简到难对网络进行训练,有效地提高了损失收敛速度,改善分类效果。

如果大家对于深度学习与计算机视觉领域感兴趣,希望获得更多的知识分享与最新的论文解读,欢迎关注我的个人公众号“深视”。在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深视

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值