论文阅读笔记《Dynamic Few-Shot Visual Learning without Forgetting》

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

核心思想

  本文提出一种不会遗忘的动态小样本学习算法,严格来讲应该也属于基于外部记忆的小样本学习算法。本文的主体结构依旧是特征提取+分类器的组合,但作者提出了两点改进。传统的分类器通常是计算类别权重向量与图像对应的特征向量之间的点乘积,作为相似性得分,并以此进行分类预测,本文采用余弦相似性度量函数取代点乘积计算方式。此外对于新的类别样本,本文并没有采用SGD的方法训练分类器得到对应的类别权重向量,而是设计了一个小样本权重向量生成器,根据基础类别的权重向量生成新类别的权重向量。网络的整体结构如下图所示。
在这里插入图片描述
  首先作者将训练集分为基础类别部分和新类别部分,基础类别部分包含大量的图像,而新类别部分每个类别仅有少量样本,而且两个部分之间是没有相同类别的,测试图片通常来自新类别部分对应的样本。通常的方法是将模型现在基础类别数据集上进行预训练,然后在新类别数据集上做微调训练,但这样做一方面会导致分类器忘记基础类别部分的样本,失去对基础类别的分类能力;另一方面,由于新类别样本数量较少,因此微调后的分类效果仍然较差。作者提出将分类器的类别权重向量分成两部分,分别对应基础类别和新类别,其中基础类别对应的权重向量还是按照常规的训练方式获得(也就是慢权重),而新类别对应的权重向量则是由权重生成器输出(也就是快权重),这样分类器就同时具备对基础类别和新类别进行分类的能力,对应题目中的“without Forgetting”。但是两种方法获得的权重可能在数值上存在较大的差异,如果还采用传统的点乘积方式来计算与测试图片的相似性得分的话,会存在较大的误差,因此作者提出使用余弦相似性度量方法
在这里插入图片描述
式中 τ \tau τ表示一个放缩系数, z ˉ T \bar{z}^T zˉT表示经过L2规范化处理的测试图片对应的特征向量, w ˉ k ∗ \bar{w}^*_k wˉk表示经过L2规范化处理的类别权重向量。与点乘积相比,该方法增加了L2规范化处理,消除了基础类别权重和新类别权重在数值上的量级差异,分类效果更好。
  至于类别权重生成器,常见的方式是计算所有类别特征向量的平均值 w a v g ′ w_{avg}' wavg,然后再乘以一个可以学习的权重向量 ϕ a v g \phi_{avg} ϕavg,最后计算二者的哈达玛积(逐元素对位相乘),如下式所示
在这里插入图片描述
在这里插入图片描述
但是该方法不能充分利用特征提取网络获取的信息,而且在新类别只包含一个样本(one-shot情形)时,平均操作就不能够准确的推测类别权重信息。因此作者提出一种采用注意力机制的权重生成方法,计算过程如下
在这里插入图片描述
式中 N ′ N' N表示新类别样本的数量, ϕ q \phi_q ϕq表示一个可学习的变换矩阵,将新样本对应的特征向量 z ˉ i ′ \bar{z}_i' zˉi转化为查询向量, k b k_b kb表示基础类别对应的可学习的“键”,每个“键”对应一个类别, w ˉ b \bar{w}_b wˉb表示基础类别对应的权重向量, A t t ( ) Att() Att()操作也就是注意力机制,先利用余弦相似性度量计算二者之间的相似程度,再用softmax函数将其转化为权重值。最后将 w a t t ′ w_{att}' watt和通过平均方式计算得到的 w a v g ′ w_{avg}' wavg进行加权求和,就得到新类别样本对应的类别权重向量了,过程如下
在这里插入图片描述
  该方法的内在假设是新类别和基础类别虽然没用相同的类别,但是类别之间还是有相似的,或者说有一定联系的,借助这一相似性对新类别的权重向量进行预测。

实现过程

网络结构

  无具体介绍

损失函数

在这里插入图片描述
  式中 K b a s e K_{base} Kbase表示基础类别的类别数量, N b N_b Nb表示每个类别的样本数量, l o s s ( ) loss() loss()表示交叉熵损失函数

训练策略

  本文的训练过程分为两个阶段,第一个阶段只学习特征提取网络的参数 θ \theta θ和基础类别的权重向量 W b a s e W_{base} Wbase。第二个阶段学习权重生成器的参数 ϕ \phi ϕ,同时继续训练基础类别的权重向量 W b a s e W_{base} Wbase

创新点

  • 设计了采用注意力机制的权重生成模块,根据基础类别的权重向量,推测新类别的权重向量
  • 将分类器中的点乘积计算方式,替换为余弦相似性度量方式

算法评价

  本文一开始很难划分为某一类小样本学习算法,但由于在权重生成时利用了基础类别对应的权重向量,那么就肯定要在训练过程中保存该向量,并且快权重和慢权重更新方式常见于基于外部记忆的算法,因此将其划分为这一类别。实际上本文并没有显式的提供一个外部记忆模块,所用的“记忆”其实就是网络训练得到的权重。

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

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

深视

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

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

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

打赏作者

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

抵扣说明:

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

余额充值