经典回顾 | 达摩院细粒度分类方法 SoftTriple Loss 之 ICCV 高引论文深入解读

Title: SoftTriple Loss: Deep Metric Learning Without Triplet Sampling
Paper: https://arxiv.org/pdf/1909.05235.pdf
Code: https://github.com/idstcv/SoftTriple
Source: https://developer.aliyun.com/article/1207732?spm=a2c6h.12883283.index.9.5f1f4307ItNVC8

导读

SoftTriple Loss 是在图像细粒度分类领域提出了新型度量学习方法,该方法可以被广泛应用于各种搜索、识别等领域中,目前谷歌学术引用 240+,相对高引。相比原始论文文档,本文将介绍更多研究过程中遇到的问题点以及相应创新方法的演进历史。

背景

度量学习是一种机器学习方法,它主要用于在相似性度量的基础上进行数据挖掘。具体来说,度量学习通过学习一种函数来度量两个数据样本点的相似性。这种函数称为度量函数,它的目的是在尽可能减少度量错误的同时最小化相似数据样本点之间的距离。典型的度量学习方法包括Triplet LossProxyNCANpairs等。度量学习可以应用于许多领域,例如:

  1. 图像分类:度量学习可以用来帮助计算机识别图像中的物体。例如,通过学习数据集中的图像时,可以计算出两张图像之间的相似度,从而帮助计算机对新图像进行分类。例如,能够将图像分类到“狗”、“猫”或“其他”的类别中。度量学习在图像识别和分类中的应用非常广泛,且取得了很好的效果。

  2. 文本分类:在文本领域,度量学习可以用来对文本进行分类,例如将文本分为正面或负面的情感,或者将它们分类到特定的主题中。假设我们有一组文档,每个文档都属于某一个类别,比如技术文章、新闻报道、娱乐新闻或体育新闻。我们可以训练一个模型,该模型能够将一篇新闻报道与一篇技术文章区分开来,并将它们分别分类到新闻报道或技术文章的类别中。

  3. 语音识别:例如,我们可以使用度量学习来学习语音中的特征,并根据这些特征来识别说话人的语音内容。也可以训练一个模型,该模型能够识别一段语音是否是某个特定的人的声音。度量学习在语音识别领域的应用也非常广泛,且取得了很好的效果。

随着深度学习的兴起,度量学习也越来越多的跟深度学习网络得到的特征结合在了一起,本文结合深度学习框架,面向细粒度分类领域,提出了新型的SoftTriple Loss。如下简易示意图所示:

方法

该章节面向深度度量学习领域,选取了三类典型的 Loss,做了相应的优缺点分析,最后引出本文 SoftTriple 方法及其创新演进历程解析。

triplet Loss 分析

SoftMax Loss 分析

论文对图像分类以及识别领域大为盛行且简单易用的SoftMax函数做了分析,通过巧妙的简单推导发现SoftMax函数其实就是等价于平滑(体现在每个类都有一个类中心,可理解为每个类共享一个中间proxy节点)的Triplet Loss函数,它的优点就是免triplet采样,一键batch化样本去训练。简易的推导示意如下图:

Cosine 类 Loss 分析

通过将类中心 W W W 与样本特征 X X X 进行单位化后,度量学习领域也跟上了一系列引入 W × X W \times X W×X Cosine距离以及从各个角度加marginloss论文,可谓风极一时。接下来我们来看下相应Cosineloss的演进历程以及相应优缺点,如下图:

SoftTriple Loss 演进历程解析

类内 max 相似度

基于上述的优缺点分析,本文的想法是如何通过类似SoftMax免采样的方式,实现可以克服类内样本差异较大的细粒度分类。由于以上的推导已经较为明显,本文的方法就是将SoftMaxTriplet进一步融合,示意图如下:

该初代版本的效果并不好,实现过程中出现了收敛性问题,因为初代版本样本与某个类的相似度是直接粗暴的取与样本特征相似度最大的那个中心来计算的。

类内 ave 相似度

接着又想到了加权平均的方法,示意图如下:

加权平均的方式是提高了收敛性,但是实验过程中同时发现类中心个数都很大的相应情况。

自适应类中心个数

最后通过加入正则的方式,对每个类的类中心个数做了相应的控制,具体过程与效果如下图所示:

实验

总结

本文总结了关于深度度量学习中Sampling triplets的局限性,并提出了一种名为SoftTriple loss的解决方案。作者指出,从小批量数据中采样三元组可能导致对整个数据集覆盖不足,从而降低深度度量学习模型的性能。

为了解决这个问题,作者提出用多个中心来表示每个类别,并使用原始示例与类别之间的相似性定义了三元组,通过在模型的最后一个全连接层中编码这些中心。通过将SoftTriple loss纳入用于分类的标准SGD训练流程中,最终消除了采样阶段并直接学习嵌入向量。

总的来说,SoftTriple在细粒度基准数据集上展现出一致的改进效果,证实了所提出的损失函数的有效性。

关注我们

CVHub是一家专注于计算机视觉领域的高质量知识分享平台:

  • 全站技术文章原创率达99%!
  • 每日为您呈献全方位、多领域、有深度的前沿AI论文解决及配套的行业级应用解决方案,提供科研 | 技术 | 就业一站式服务!
  • 涵盖有监督/半监督/无监督/自监督的各类2D/3D的检测/分类/分割/跟踪/姿态/超分/重建等全栈领域以及最新的AIGC等生成式模型!

关注微信公众号,欢迎参与实时的学术&技术互动交流,领取学习大礼包,及时订阅最新的国内外大厂校招&社招资讯!


即日起,CVHub 正式开通知识星球,首期提供以下服务:

  1. 本星球主打知识问答服务,包括但不仅限于算法原理项目实战职业规划科研思想等。
  2. 本星球秉持高质量AI技术分享,涵盖:每日优质论文速递,优质论文解读知识点总结等。
  3. 本星球力邀各行业AI大佬,提供各行业经验分享,星球内部成员可深度了解各行业学术/产业最新进展。
  4. 本星球不定期分享学术论文思路,包括但不限于Challenge分析,创新点挖掘实验配置写作经验等。
  5. 本星球提供大量 AI 岗位就业招聘资源,包括但不限于CVNLPAIGC等;同时不定期分享各类实用工具干货资料等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

CVHub

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

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

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

打赏作者

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

抵扣说明:

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

余额充值