论文阅读笔记《Few-shot Learning via Saliency-guided Hallucination of Samples》

核心思想

  本文提出了一种基于数据增强的小样本学习算法。选择Relation Network作为Baseline,在此基础上,利用显著性目标检测算法,将图像分割成前景与背景,再将不同图片的前景和背景进行拼合,组成更多的合成图像,以此实现数据集的扩充。本文的想法乍看起来很简单,4张图片分成前景和背景共8张图片,然后两两组合就可以得到16张合成图片,但在实现过程中仍有许多细节问题需要考虑,那看一下作者是如何实现其想法的吧。
论文阅读笔记《Few-shot Learning via Saliency-guided Hallucination of Samples》_第1张图片
  如上图所示,整个网络分成三大部分:显著性检测网络(Saliency Net,SalNet)、前-背景编码及混合网络(Foreground-background Encoding and Mixing Net,FEMN)和相似性度量网络(Similarity Net,SimNet)。首先,支持集中的输入图像 I I I J J J进入显著性检测网络 h h h,得到对应的显著性检测图 h ( I ) h(I) h(I) h ( J ) h(J) h(J),然后利用以下公式计算得到输入图像对应的前景图 F I F_I FI和背景图 B I B_I BI
论文阅读笔记《Few-shot Learning via Saliency-guided Hallucination of Samples》_第2张图片
式中 ⊙ \odot 表示哈达玛积(Hadamart product)也就是矩阵之间逐元素相乘,同理可得图像 J J J对应的前景图 F J F_J FJ和背景图 B J B_J BJ。然后将前景图和背景图分别输入对应的前景编码网络和背景编码网络 f f f,得到编码后的特征向量 f ( F I ) f(F_I) f(FI) f ( B I ) f(B_I) f(BI),并将得到的前景特征向量和背景特征向量通过相加的方式进行混合,例如 f ( F I ) f(F_I) f(FI)可以和 f ( B J ) f(B_J) f(BJ)进行组合得到一种新的特征向量。将混合后的特征向量再经过优化编码网络 g g g,进一步融合特征得到 Φ I , J \Phi_{I,J} ΦI,J。最后计算 Φ I , J \Phi_{I,J} ΦI,J Φ I , J T \Phi_{I,J}^T ΦI,JT的外积获得自动相关性(auto-correlation),再利用Sigmoid函数 ψ \psi ψ得到最终的表征 R I , J R_{I,J} RI,J。该表征将输入到相似性度量网络中,计算与查询图像对应的表征之间的相似程度,并输出预测类别。
在这里插入图片描述
在这里插入图片描述
  在前背景混合的过程中有两种策略:类内混合与类间混合。首先说类内混合,顾名思义就是只把同一类别图片的前景和背景进行混合,假设每个类别内有W张图片,则经过混合后,每张图片都会增加W-1个新的数据,但是这一策略在one-shot情况下(也就是每个类别只有一张图片)就无效了。而且作者通过实验发现简单的进行相加混合,得到的分类效果甚至不如Baseline。因此为了提高合成数据的质量,作者希望对优化网络 g g g进行额外的训练,首先对于图像 I s n w I_{s_{nw}} Isnw(下标 s n w s_{nw} snw表示第 n n n类中的第 w w w个样本),其前景与背景分别为 F s n w F_{s_{nw}} Fsnw B s n w B_{s_{nw}} Bsnw,那么经过编码网络 f f f和优化网络 g g g得到的特征应该与教师网络 g ∗ g^* g尽可能的接近,因此引入了真实表征正则化(Real Representation Regularization ,TriR) Ω \Omega Ω,计算过程如下
在这里插入图片描述
式中教师网络 g ∗ g^* g是提前训练好的,用于对原图特征 f ( I s n w ) f(I_{s_{nw}}) f(Isnw)或前背景图 f ( F s n w ) + f ( B s n w ) f(F_{s_{nw}})+f(B_{s_{nw}}) f(Fsnw)+f(Bsnw)进行编码的。
  第二种策略称为类间混合,每个类别中的图片都可以与其他所有类别的图片进行混合,这样每张图片都会增加W-1+W(N-1)个新数据。但是这一操作又产生了新的问题,前景与背景的冲突,假设前景是一只长颈鹿,他的背景如果是草原或者稀疏丛林才是比较合理的,但如果背景是海洋或者天空则完全不合理了,这种不合理的混合将会引入新的噪声。作者首先想到利用语义进行判断,比如长颈鹿和大象在语义上关系较近,因此可以作为混合的对象,但这一方法又遇到了新的问题,比如猫和汽车,在语义上二者毫无关联,但是其实他们的背景很多情况下是可以互换的。于是作者又提出了利用背景间的相似性来决定能否混合。计算背景之间的距离 d d d,在将其转化成为概率 p ( d ) p(d) p(d),计算过程如下
论文阅读笔记《Few-shot Learning via Saliency-guided Hallucination of Samples》_第3张图片
  这一概率将作为一种相似性先验知识用于前景和背景的融合,应用方式也有两种:柔性相似性先验和(Soft Similarity Prior ,SSP)硬性相似性先验(Hard Similarity Prior,HSP)。具体而言,SSP就是将概率作为一种权重系数,对混合后的特征进行加权
在这里插入图片描述
而HSP则是直接设定一个阈值 τ \tau τ,相似性低于该阈值的,则不允许混合
论文阅读笔记《Few-shot Learning via Saliency-guided Hallucination of Samples》_第4张图片
  在采用了两种精心设计的混合方案后,本文改进的算法在准确率上有了一定的改善。

实现过程

网络结构

  显著性检测网络(SalNet)采用已经公开算法中已经训练好的网络,如MNL,RFCN和RBD。前-背景编码及混合网络(Foreground-background Encoding and Mixing Net,FEMN)和相似性度量网络(Similarity Net,SimNet)的网络结构如下图所示
论文阅读笔记《Few-shot Learning via Saliency-guided Hallucination of Samples》_第5张图片

损失函数

  基础损失函数采用均方差损失函数,计算方式如下
在这里插入图片描述
式中, r r r表示相似性度量网络, δ ( 0 ) = 1 \delta(0)=1 δ(0)=1否则为0,下标 q q q表示查询图像, l l l表示图像对应的标签。除此之外,还要增加上文中提到的真实表征正则化 Ω \Omega Ω,则完整的损失函数为
在这里插入图片描述

创新点

  • 首次采用显著性目标检测实现数据集的扩充,改善小样本学习算法的效果
  • 提出两种前景背景融合策略,并对融合细节进行设计

算法评价

  本文虽是基于Relation Network(一种基于度量学习的小样本学习算法)进行改进的,但改进的方案基本是遵循数据增强的思路。其创新性的采用了显著性目标检测算法实现前景背景的分割,这一方案是比简单的图块分割效果要更好的。而且精心设计了两种混合方案,使混合后扩张的数据信息真正起到引导网络训练的作用,而不是成为一种噪声信息干扰网络训练。

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

你可能感兴趣的:(深度学习,#,小样本学习)