论文阅读笔记《Boosting Few-Shot Learning with Adaptive Margin Loss》

核心思想

  本文在基于度量学习的小样本分类算法的基础上,通过引入类别相关(class-relevant)或任务相关(task-relevant)的自适应边缘损失(Adaptive Margin Loss),改进了原有算法的分类效果。本文的核心观点是可以利用不同类别之间的语义相似性来生成自适应边缘(Margin虽然翻译为边缘,但其实应该理解为两种类别之间的边界距离),具体地说就是让相似类别之间的边界类别比不相似类别之间的边界距离更大,如下图所示。
在这里插入图片描述
  我们希望增大“狗”和“狼”之间的边界距离,以增强相似类别的区分能力。那么如何实现这一想法呢?本文提出一种自适应边缘损失的方法,利用损失函数去引导特征提取网络改进对于相似类别特征的表征能力。那么什么是自适应边缘损失函数呢?首先我们要介绍一下普通的边缘损失函数(naive additive margin loss,NAML),计算过程如下
在这里插入图片描述
可以看到相对于普通的对数损失函数,该函数只是在利用softmax函数计算分类概率时做了一些变化,对于除目标类别之外的其他类别,在幂的位置增加了一个边缘mm。通过这种方式,损失函数可以强制特征提取网络去提取不同类别的样本之间更具有区分度的视觉特征,但是固定的边缘mm会在测试时导致相似类别的误分类问题。因此本文进一步提出了自适应边缘损失,也就是说mm不是一个固定的数值,而是会自适应地进行调整。本文提出两种自适应边缘损失函数:类别相关的自适应边缘损失函数(CRAML)和任务相关的自适应边缘损失函数(TRAML)。

类别相关的自适应边缘损失函数(CRAML)

  CRAML将类别之间的语义相关性引入到边缘计算中。首先,利用词向量模型将类别的标签转化为语义向量,然后利用距离度量函数描述二者之间的相似性,最后利用一个类别相关的边缘生成器M\mathcal{M}得到对应的边缘mi,jcrm_{i,j}^{cr},计算过程如下
在这里插入图片描述
式中eie_ieje_j分别表示两个类别对应的语义向量,simsim表示距离度量函数(如余弦距离),α\alphaβ\beta分别表示放缩和平移参数。经过CRAML改进后的损失函数计算过程如下
在这里插入图片描述

任务相关的自适应边缘损失函数(TRAML)

  TRAML则是进一步实现根据类别间的相似性自适应调整边界距离的方案,整个处理过程如下图所示
在这里插入图片描述
目标类别"dog"和任务中的其他类别"cabinet", “wolf”, "sofa"首先经过词向量模型转化为语义向量,然后分别度量目标类别对应的语义向量和其他类别对应的语义向量之间的距离,最后利用一个全连接网络输出目标类别和其他类别之间的边缘mi,jtrm_{i,j}^{tr},计算过程如下
在这里插入图片描述
式中G\mathcal{G}表示任务相关边缘生成器,由一个全连接神经网络构成。经过TRAML改进后的损失函数计算过程如下
在这里插入图片描述
  最后将本文提出的自适应边缘损失函数与其他基于度量学习的算法(Prototypical Network或者AM3等)相结合,可以改善原有算法的分类性能,整个算法的流程如下图所示
在这里插入图片描述
在元训练阶段主要是增加了一个语义向量转换和自适应边缘生成的过程,而在元测试阶段则采用原有的softmax函数,不增加自适应边缘部分。

创新点

  • 在基于度量学习的小样本分类算法的基础上,引入了自适应边缘损失,改进分类效果
  • 提出两中自适应边缘损失的计算方式:CRAML和TRAML

算法评价

  本文提出一种新的改进小样本学习的思路——边缘损失,本身在目标识别算法中边缘损失函数已经有一定的研究基础,而本文则是首次将其引入到小样本分类问题中。本文提出的两种边缘生成方法CRAML和TRAML均是从语义信息的角度出发,而边缘的计算还可以利用其他的信息或者约束。本文提出方法计算过程并不复杂,但却取得了较高的性能提升(PN提升超过10%,AM3提升2%-3%)。而唯一的遗憾是两种方法之间似乎是独立的,并没有相关联系,如何将两种方式结合,其实也是一种改进思路。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章