【OpenVI—论文解读系列】细粒度分类SoftTriple Loss ICCV高引论文深入解读

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

一、背景 

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

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

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

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

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

dd6a41a06d36402f87c049c903660831.png


二、方法

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


2.1 triplet Loss分析

33.png


2.2 SoftMax Loss分析

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

44.png


2.3 Cosine类Loss分析

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

55.png


2.4 SoftTriple Loss演进历程解析

2.4.1 类内max相似度

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

66.png

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

2.4.2 类内ave相似度

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

77.png

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

2.4.3 自适应类中心个数

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

88.png

三、结果

3.1 SOTA效果展示

9.png

3.2 SOTA量化对比

10.png

四、更多体验

      想体验调用稳定、效果更好的API,详情请见视觉开放智能平台(https://vision.aliyun.com/)


相关文章
|
监控 架构师 Java
JVM 11 调优指南:如何进行JVM调优,JVM调优参数
JVM 11的优化指南:如何进行JVM调优,以及JVM调优参数有哪些”这篇文章将包含JVM 11调优的核心概念、重要性、调优参数,并提供12个实用的代码示例,每个示例都会结合JVM调优参数和Java代码
858 2
|
8月前
|
机器学习/深度学习 监控 算法
基于 YOLO26 的摔倒智能检测系统(中英文双版) | 附完整源码与效果演示
本文介绍了一个基于 YOLO26 的摔倒智能检测系统,该系统结合了先进的深度学习技术和友好的用户界面,实现了从数据集管理、模型训练到实时推理测试的完整工作流程。系统具有以下特点: 技术先进:采用最新的 YOLO26 目标检测算法,在精度和速度方面都达到了较高水平 易于使用:提供友好的图形界面,非专业用户也能轻松使用 功能完整:涵盖数据管理、模型训练、推理测试等完整功能 性能优异:支持 GPU 加速和多线程处理,保证高性能 可扩展性强:采用模块化设计,便于功能扩展和定制
基于 YOLO26 的摔倒智能检测系统(中英文双版) | 附完整源码与效果演示
|
安全 网络安全 数据安全/隐私保护
Cisco-静态路由及默认路由
Cisco-静态路由及默认路由
692 2
|
存储 自然语言处理 算法
RAG系统文本分块优化指南:9种实用策略让检索精度翻倍
本文深入探讨了RAG系统中的九种文本分块策略。固定大小分块简单高效,但可能破坏语义完整性;基于句子和语义的分块保留上下文,适合语义任务;递归与滑动窗口分块灵活控制大小;层次化和主题分块适用于结构化内容;特定模态分块处理多媒体文档;智能代理分块则通过大语言模型实现动态优化。开发者需根据文档类型、需求及资源选择合适策略,以提升RAG系统的性能和用户体验。作者Cornellius Yudha Wijaya详细分析了各策略的技术特点与应用场景。
2781 1
RAG系统文本分块优化指南:9种实用策略让检索精度翻倍
史上最简单给大模型注入新知识的方法(一)
史上最简单给大模型注入新知识的方法(一)
737 0
|
机器学习/深度学习 API
DeepSeek模型压缩与加速
随着深度学习模型规模增大,推理速度和资源消耗成为关键问题。DeepSeek提供多种模型压缩与加速工具,包括剪枝、量化、知识蒸馏和结构优化,帮助在保持性能的同时大幅降低计算资源需求。本文详细介绍这些技术及其代码实现,涵盖模型剪枝、量化、知识蒸馏及结构优化的方法,并提供常见问题的解决方案,助你掌握高效推理技巧。
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
RT-DETR改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
1522 10
RT-DETR改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
|
自然语言处理 并行计算 算法
cp-sat求解器介绍及使用案例
cp-sat求解器介绍及使用案例 更多文章欢迎关注我的微信公众号:Python学习杂记
5644 1
|
机器学习/深度学习 自然语言处理 搜索推荐
深度学习之分类网络
深度学习的分类网络(Classification Networks)是用于将输入数据分配到预定义类别的神经网络。它们广泛应用于图像分类、文本分类、语音识别等任务。以下是对深度学习分类网络的详细介绍,包括其基本概念、主要架构、常见模型、应用场景、优缺点及未来发展方向。
1595 4
|
JavaScript
postcss pxtorem 配置
【8月更文挑战第9天】

热门文章

最新文章