四种losses
1. Classification losses
每次输入一个样本,对样本进行类别预测,根据预测类别和真实标签得到对应的分类损失。
2. Pairwise losses
每次输入两个样本,数据集包含了这两个样本是否相似的信息。计算损失时根据模型在这两个样本上的输出和相似信息进行计算。
3. Triplet losses
每次输入三个样本,\(x, x_-, x_+\)。其中\(x_-和x_+\)分别为\(x\)的负样本(不相似)和正样本(相似)。根据这三个数据在模型的输出以及对应的相似信息得到损失。
Quadruplet losses
每次输入四个数据,这四个数据都是不同的,其中包含了一对相似数据和一对不相似数据。根据四个数据在模型的输出和对应的相似信息得到损失。
疑问
- 不同losses之间的优缺点以及适用场景。
参考
- Ustinova E, Lempitsky V. Learning Deep Embeddings with Histogram Loss[J]. 2016.
Classification losses. It has been observed in [8] and confirmed later in multiple works (e.g. [15])
that deep networks trained for classification can be used for deep embedding. In particular, it is
sufficient to consider an intermediate representation arising in one of the last layers of the deep
network. The normalization is added post-hoc. Many of the works mentioned below pre-train their
embeddings as a part of the classification networks.
Pairwise losses. Methods that use pairwise losses sample pairs of training points and score them
independently. The pioneering work on deep embeddings [3] penalizes the deviation from the unit
cosine similarity for positive pairs and the deviation from -1 or -0:9 for negative pairs. Perhaps,
the most popular of pairwise losses is the contrastive loss [5, 20], which minimizes the distances in
the positive pairs and tries to maximize the distances in the negative pairs as long as these distances
are smaller than some margin M. Several works pointed to the fact that attempting to collapse all
positive pairs may lead to excessive overfitting and therefore suggested losses that mitigate this
effect, e.g. a double-margin contrastive loss [12], which drops to zero for positive pairs as long as
their distances fall beyond the second (smaller) margin. Finally, several works use non-hinge based
pairwise losses such as log-sum-exp and cross-entropy on the similarity values that softly encourage
the similarity to be high for positive values and low for negative values (e.g. [24, 27]). The main
problem with pairwise losses is that the margin parameters might be hard to tune, especially since
the distributions of distances or similarities can be changing dramatically as the learning progresses.
While most works “skip” the burn-in period by initializing the embedding to a network pre-trained for classification [24], [22] further demonstrated the benefit of admixing the classification loss during
the fine-tuning stage (which brings in another parameter).
Triplet losses. While pairwise losses care about the absolute values of distances of positive and
negative pairs, the quality of embeddings ultimately depends on the relative ordering between positive
and negative distances (or similarities). Indeed, the embedding meets the needs of most practical
applications as long as the similarities of positive pairs are greater than similarities of negative pairs
[19, 26]. The most popular class of losses for metric learning therefore consider triplets of points
x0; x+; x-, where x0; x+ form a positive pair and x0; x- form a negative pair and measure the
difference in their distances or similarities. Triplet-based loss can then e.g. be aggregated over all
triplets using a hinge function of these differences. Triplet-based losses are popular for large-scale
embedding learning [4] and in particular for deep embeddings [13, 14, 17, 21, 28]. Setting the margin
in the triplet hinge-loss still represents the challenge, as well as sampling “correct” triplets, since the
majority of them quickly become associated with zero loss. On the other hand, focusing sampling on
the hardest triplets can prevent efficient learning [17]. Triplet-based losses generally make learning
less constrained than pairwise losses. This is because for a low-loss embedding, the characteristic
distance separating positive and negative pairs can vary across the embedding space (depending on
the location of x0), which is not possible for pairwise losses. In some situations, such added flexibility
can increase overfitting.
Quadruplet losses. Quadruplet-based losses are similar to triplet-based losses as they are computed
by looking at the differences in distances/similarities of positive pairs and negative pairs. In the case
of quadruplet-based losses, the compared positive and negative pairs do not share a common point
(as they do for triplet-based losses). Quadruplet-based losses do not allow the flexibility of tripletbased losses discussed above (as they includes comparisons of positive and negative pairs located in
different parts of the embedding space). At the same time, they are not as rigid as pairwise losses, as
they only penalize the relative ordering for negative pairs and positive pairs. Nevertheless, despite
these appealing properties, quadruplet-based losses remain rarely-used and confined to “shallow”
embeddings [9, 30]. We are unaware of deep embedding approaches using quadruplet losses. A
potential problem with quadruplet-based losses in the large-scale setting is that the number of all
quadruplets is even larger than the number of triplets. Among all groups of losses, our approach
is most related to quadruplet-based ones, and can be seen as a way to organize learning of deep
embeddings with a quarduplet-based loss in an efficient and (almost) parameter-free manner.
四种losses的更多相关文章
- 两个变量交换的四种方法(Java)
对于两种变量的交换,我发现四种方法,下面我用Java来演示一下. 1.利用第三个变量交换数值,简单的方法. (代码演示一下) class TestEV //创建一个类 { public static ...
- Android开发之基本控件和详解四种布局方式
Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...
- TCP四种计时器
TCP共使用以下四种计时器,即重传计时器.坚持计时器.保活计时器和时间等待计时器 .这几个计时器的主要特点如下: 1.重传计时器 当TCP发送报文段时,就创建该特定报文段的重传计时 ...
- C++四种类型转换方式。
类型转换有c风格的,当然还有c++风格的.c风格的转换的格式很简单(TYPE)EXPRESSION,但是c风格的类型转换有不少的缺点,有的时候用c风格的转换是不合适的,因为它可以在任意类型之间转换,比 ...
- C#批量插入数据到Sqlserver中的四种方式
我的新书ASP.NET MVC企业级实战预计明年2月份出版,感谢大家关注! 本篇,我将来讲解一下在Sqlserver中批量插入数据. 先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的 ...
- 织梦DedeCMS模板防盗的四种方法
织梦(DedeCMS)模板也是一种财富,不想自己辛辛苦苦做的模板被盗用,在互联网上出现一些和自己一模一样的网站,就需要做好模板防盗.本文是No牛收集整理自网络,不过网上的版本都没有提供 Nginx 3 ...
- 四种比较简单的图像显著性区域特征提取方法原理及实现-----> AC/HC/LC/FT。
laviewpbt 2014.8.4 编辑 Email:laviewpbt@sina.com QQ:33184777 最近闲来蛋痛,看了一些显著性检测的文章,只是简单的看看,并没有深入的研究,以 ...
- 像画笔一样慢慢画出Path的三种方法(补充第四种)
今天大家在群里大家非常热闹的讨论像画笔一样慢慢画出Path的这种效果该如何实现. 北京-LGL 博客号@ligl007发起了这个话题.然后各路高手踊跃发表意见.最后雷叔 上海-雷蒙 博客号@雷蒙之星 ...
- 让一个图片在div中居中(四种方法)
第一种方法: <div class="title"> <div class="flag"></div> <div cl ...
随机推荐
- JavaScript中数组slice和splice的对比小结
前言 今天重温了一下Javascript,看到了数组的方法,其中有两个比较相似的方法——splice和splice,看着很像,就是多了一个p,但是用法却相当不一样. 在使用中,可以通过选择一个具有强语 ...
- Docker技术入门与实战 第二版-学习笔记-6-仓库
仓库(Repository)是集中存放镜像的地方 一个容易混淆的概念是注册服务器(Registry). 实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像. ...
- MUST_COMPLETE
应用: xxx主机: xxx时间: 2018-03-07 04:34:03.887线程: [scheduler-1]级别: ERROR Class: org.springframework.sched ...
- 关于javascript中对浮点加,减,乘,除的精度分析
大学专业是计算机童鞋或多或小的知道 计算机是由二进制存储和处理数字的,不能精确到处理浮点数,且javascript也没有这样的方法 所以在浏览器计算的时候也会有误差,比如说 我想用 3.3 / 1.1 ...
- echarts 中文API
http://echarts.baidu.com/echarts2/doc/doc.html#Toolbox
- nodeSelector + deamonset
DaemonSet 配置文件的语法和结构与 Deployment 几乎完全一样,只是将 kind 设为 DaemonSet. 选择运行节点:当指定.spec.template.spec.nodeSel ...
- [HAOI2008]排名系统 & [Zjoi2006]GameZ游戏排名系统 BZOJ1862&BZOJ1056
分析: 平衡树裸题,(学完LCT感觉自己不会普通的Splay了...),维护每个节点的权值大小顺序,和时间戳顺序,之后map维护一下是否存在过,(懒得写字符串hash了). 附上代码: #includ ...
- [笔记] Redis的安装与配置超级详细
目录 Windows下安装与配置 下载 安装 验证安装 配置服务 测试 Linux下安装与配置 准备工作 安装 验证与测试 Macox下安装与配置 准备工作 安装 验证与测试 Redis 在 Wind ...
- 20155339 Exp3 免杀原理与实践
20155339 Exp3 免杀原理与实践 基础问题 (1)杀软是如何检测出恶意代码的? 基于特征码的检测(杀软的特征库中包含了一些数据或者数据段,杀软会尽可能的更新这个特征库,以包括尽可能多的恶意代 ...
- ajax传递数组给controller的实现方法和坑
这里是前端向后端传递一个数组的方式,参考下面这个示例: (主要是将前端的数组,用 JSON.stringify() 方法json化一下,然后后端springmvc接收到以后,使用 JSONArray ...