三元损失“In Defense of the Triplet Loss for Person Re-Identification”

更全面的阅读记录可以参考这篇博客:https://blog.csdn.net/xuluohongshang/article/details/78965580

背景描述

提出了一个三元损失的变形用于行人再认证。

近期较为成功的行人再认证方法一般使用分类损失结合验证损失。先使用分类损失训练,然后使用网络的一部分进行特征提取,结合度量学习获得最终的特征描述。存在问题:分类损失在id数量增加是,需要学习的参数增加,但训练后又不需要了。使用验证损失训练的网络又仅仅回答了“两张图像是如何的像的问题”。

三元组损失并不流行的原因是,它的结果并不理想。三元组损失学习的关键部分是困难三元组的挖掘,但是挖掘困难的三元组耗时严重,且不好定义好的困难三元组。更糟糕的是,选择太困难的三元组易导致训练不稳定。

三元组损失首先在FaceNet中提出,即,

主要问题是当数据集变大时,可能的三元组增加太多,训练时间长的不切实际。此时,挖掘困难的三元组就较为重要。举了个例子,一遍一遍的去学习穿不同衣服的是不同的人,模型没有学到什么东西,但是通过观察长得像的两个人(困难负样本),或者观察同一个人在不同环境下的不同姿态(困难正样本)可以有效的帮助学习。但是仅仅关注困难三元组又会选择到outliers。

三元组损失的改进

论文提出了一个三元组选择方式的改进方法,主要思想是通过随机选择P类(行人id),酶类随机选择K个图像,形成包含PK个图像的batch。在batch中选择困难的正样本和负样本,成为batch hard:

除了batch hard,还有包含所有可能三元组的batch all:

max和min函数都是连续且可导的,可以使用sgd训练。

还有一种lifted embedding 损失,将所有的anchor-positive之外的考虑为负样本:

论文又在PK batch中,将lifted embedding 损失改成如下形式:

 

距离度量

大部分的工作中,将平方欧拉距离作为度量,作者通过实验发现这种度量更容易collapsing,使用真实的欧拉距离更稳定。

soft-margin

之前的很多三元组损失都使用hinge函数做了截断处理,即正负样本与anchor的距离满足三元组关系,则损失为0,但在实际中希望同类样本的距离越近越好,因此设计了soft-margin函数:

 

实验结果

基于深度学习的计算机视觉: 原理与实践 (下部)

02-22
本课程适合具有一定深度学习基础,希望发展为深度学习之计算机视觉方向的算法工程师和研发人员的同学们。 基于深度学习的计算机视觉是目前人工智能最活跃的领域,应用非常广泛,如人脸识别和无人驾驶中的机器视觉等。该领域的发展日新月异,网络模型和算法层出不穷。如何快速入门并达到可以从事研发的高度对新手和中级水平的学生而言面临不少的挑战。精心准备的本课程希望帮助大家尽快掌握基于深度学习的计算机视觉的基本原理、核心算法和当前的领先技术,从而有望成为深度学习之计算机视觉方向的算法工程师和研发人员。 本课程系统全面地讲述基于深度学习的计算机视觉技术的原理并进行项目实践。课程涵盖计算机视觉的七大任务,包括图像分类、目标检测、图像分割(语义分割、实例分割、全景分割)、人脸识别、图像描述、图像检索、图像生成(利用生成对抗网络)。本课程注重原理和实践相结合,逐篇深入解读经典和前沿论文70余篇,图文并茂破译算法难点, 使用思维导图梳理技术要点。项目实践使用Keras框架(后端为Tensorflow),学员可快速上手。 通过本课程的学习,学员可把握基于深度学习的计算机视觉的技术发展脉络,掌握相关技术原理和算法,有助于开展该领域的研究与开发实战工作。另外,深度学习之计算机视觉方向的知识结构及学习建议请参见本人CSDN博客。 本课程提供课程资料的课件PPT(pdf格式)和项目实践代码,方便学员学习和复习。 本课程分为上下两部分,其中上部包含课程的前五章(课程介绍、深度学习基础、图像分类、目标检测、图像分割),下部包含课程的后四章(人脸识别、图像描述、图像检索、图像生成)。
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值