记录《DEEP METRIC LEARNING USING TRIPLET NETWORK》阅读笔记

文章总体内容:

作者在前人提出的多个特征提取方法的基础上提出Triplet network模型,通过比较距离来学习有用的变量(深度学习中拟合出函数),在多个不同的数据集显示Triplet network比直接计算方法的Siamese network模型效果更好。

Triplet network基本原理:

在Siamese network中,会出现如下的问题,当使用随机对象的数据集时,一个对象可能被认为与另一个对象相似,但是当我们只想区分一组个体中的两个对象时,可能被认为与同样的另一个对象不相似。当选取特征时,并不能够足够判断两者之间的关系,在面对训练样本数量较少的简单分类问题,可能会产生误差。 因此,作者提出了Triplet network,利用三个样本组成一个训练组,从中获取拟合函数。

其基本结构如图1所示:

图1 Triplet network基本结构图

Triplet network由3个具有相同前馈网络(共享参数)组成。 接收到3个样本时,网络输出2个中间值表示与第三个变量之间的欧式距离。3个输入表示为x,x+和x-,并将网络的嵌入层表示表示为Net(x)。 简单来说,triplet是一个三元组,这个三元组是这样构成的:从训练数据集中随机选一个样本,该样本称为Anchor,然后再随机选取一个和Anchor (记为x)属于同一类的样本和不属于同一类的样本,这两个样本对应的称为Positive (记为x+)和Negative (记为x-),由此构成一个(Anchor,Positive,Negative)三元组。他们之间的关系用欧氏距离表示,并通过训练参数使得x向x+靠近,远离x-,从而实现分类任务。

图2 triplet示意图(图片来自网络)

Triplet距离与目标函数:

距离采用的计算为欧氏距离,即L-2范式距离,如下所示:

比较器即是对上述该向量进行处理,训练的loss可规定如下,针对三元组中的每个元素(样本),训练一个参数共享的网络,得到三个元素的特征表达,

分别记为:

通过训练,让x+和x特征表达之间的距离尽可能小,而和x-和x的特征表达之间的距离尽可能大,并且要让x+和x之间的距离,和x-和x之间的距离之间有一个最小的间隔,在本文中使用的间隔为1。即:

其中:

通过d+和d-可以把初始变量归一化到(0,1)范围内。

论文创新点:

1. 由于Triplet network模型允许通过比较样本而不是直接数据标签进行学习,因此可以将其用作无监督学习模型。

2. 由于Triplet network模型采用三元组作为训练样本,在数据量较少的简单分类任务中表现要准确得多。在多个数据集上取得更优的分类结果。

“Triplet network”三元组网络阅读笔记的更多相关文章

  1. OpenStack Network --- introduction部分 阅读笔记

    Basic Networking 1.混杂模式(promiscuous mode):当网卡被配置为混杂模式时,它们会将所有的frame传递给操作系统,即使MAC地址不匹配. 2.交换机(switch) ...

  2. 论文阅读笔记(二十一)【CVPR2017】:Deep Spatial-Temporal Fusion Network for Video-Based Person Re-Identification

    Introduction (1)Motivation: 当前CNN无法提取图像序列的关系特征:RNN较为忽视视频序列前期的帧信息,也缺乏对于步态等具体信息的提取:Siamese损失和Triplet损失 ...

  3. [论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximati

    [论文阅读笔记] Fast Network Embedding Enhancement via High Order Proximity Approximation 本文结构 解决问题 主要贡献 主要 ...

  4. [论文阅读笔记] Community aware random walk for network embedding

    [论文阅读笔记] Community aware random walk for network embedding 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 先前许多算法都 ...

  5. [论文阅读笔记] LouvainNE Hierarchical Louvain Method for High Quality and Scalable Network Embedding

    [论文阅读笔记] LouvainNE: Hierarchical Louvain Method for High Quality and Scalable Network Embedding 本文结构 ...

  6. [论文阅读笔记] Structural Deep Network Embedding

    [论文阅读笔记] Structural Deep Network Embedding 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 现有的表示学习方法大多采用浅层模型,这可能不能 ...

  7. [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion

    [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 (1 ...

  8. [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding

    [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 ...

  9. 【unix网络编程第三版】阅读笔记(五):I/O复用:select和poll函数

    本博文主要针对UNP一书中的第六章内容来聊聊I/O复用技术以及其在网络编程中的实现 1. I/O复用技术 I/O多路复用是指内核一旦发现进程指定的一个或者多个I/O条件准备就绪,它就通知该进程.I/O ...

随机推荐

  1. 前台提交数据到node服务器(get方式)

    .有两种办法,一种是表单提交,一种是ajax方式提交. 1.form提交  在前台模板文件上写: <form action="/reg" method="get&q ...

  2. SPSS学习笔记参数检验—两配对样本t检验

    目的:检验两个有联系的正态总体的均值是否存在显著差异. 适用条件:有联系,正态总体,样本量要一样.一般可以分为一下四种: ①同一受试对象处理前后的对比:如对于糖尿病人,对同一组病人在使用新治疗方法前测 ...

  3. WPS删除多余空白页

    WPS删除多余空白页 在实际工作中,我们在操作WPS文字的时候常常会遇到一种问题,就是当在文字占满整页的时候,文档常常会多出一页空白页的现象.如图1 图 1   对于WPS文字怎么删除空白页这个问题, ...

  4. 2019-2020-1 20199303《Linux内核原理与分析》第三周作业

    操作系统是如何工作的 除了存储程序计算机和函数调用堆栈机制,还有一个非常基础的概念就是中断,这三个关键性的方法机制可以称作计算机的三个法宝:程序存储计算机.函数调用.中断 堆栈的作用:记录函数调用框架 ...

  5. FileDown

    import org.apache.hadoop.conf.*; import org.apache.hadoop.fs.*; import java.io.IOException; import j ...

  6. mysql uuid使用

    java中可以使用UUID类来生成uuid,使用mysql也可以使用UUID函数来获取uuid,如 select UUID(); 也可以对查询的结果做一些处理,比如说将"-"替换成 ...

  7. idea 设置jvm参数

    使用IDEA进行JVM参数设置: Run->Edit Configurations... 进入之后: 之后就可以运行代码测试,可以看到控制台打印的信息: 说明: -Xms:20M 初始化堆内存大 ...

  8. [WP8.1]给Pivot的Header加上颜色

    先上个效果图 以前想实现这个给Pivot加颜色时只找到8的,通过参考8的实现方式,8.1的实现如下,在Pivot的样式上做一些修改,如下图的红框处 另外如果要改Pivot的Header里文字的颜色又要 ...

  9. IntelliJ IDEA下载安装及破解(100%成功)教程

    原文链接:http://www.studyshare.cn/software/details/1182/0 一.下载 1.IntelliJ IDEA下载 网盘下载:https://pan.baidu. ...

  10. mpvue 页面预加载,新增preLoad生命周期

    存在的必要性:mpvue开发微信小程序,在页面跳转到新页面的过程中会有200ms左右的延迟,这个200ms如果用来请求新页面的接口,那么跳转到新页面或许已经渲染好了页面. 就是两种方式: 1.新页面跳 ...