论文水记|How to Train Triplet Networks with 100K Identities?
来源:互联网 发布:阿迪达斯淘宝旗舰店 编辑:程序博客网 时间:2024/06/10 22:48
这是来自猎户星空的关于人脸识别的文章
作者 Chong Wang ;Xue Zhang ;Xipeng Lan
https://arxiv.org/abs/1709.02940
好久没有写博客了,水一篇。。。
一句话总结
对应triplet的训练,多采用OHNM的方式挖掘困难负样本,然而随着训练数据的增加,easy-triplet更多,困难样本的搜索空间增大,于是本文将训练数据分为若干小部分,每部分中的不同id的训练样本有着较高的相似性(个人感觉ohnm都是trick样的东西,但是大牛们还是可以写的很好)
1. Method
文章先回顾了OHNM和batch OHNM 然后提出subspace learning
1.1 OHNM
其loss 如下
简言之就是只有负样本与anchor的距离大于正样本与anchor的距离一定值才可以算做loss
如上图,由于负样本是随机选择(浅蓝)的,很多更加困难的负样本(深蓝)没有被选择
1.2 Batch OHNM
上式中,T代表整个Image Space
训练时,随机选择B个不同的id,然后负样本的选择是靠近anchor的若干个非同id的样本,这样做的 好处是负样本更加困难了,有效的训练样本更多了。
1.3 Subspace Learning
作者认为困难负样本选择有用,但是随着id数量的增多,困难负样本不能被以上两种很好的挖掘,那么就先生成一些困难的小子空间,从子空间中在做batch ohnm
其中他们做子空间的方法是:
1. 首先根据使用部分数据训练分类模型
2. 然后将一个id内的特征求均值,作为该id的特征,然后根据id的特征做k-means生成M个子空间,文中每个子空间大约包含10k个id
在子空间做ohnm的loss 如下:
2 其他
2.1 数据清洗
作者认为cnn有一定抗干扰的能力,所以就先过拟合然后再去掉没有能过拟合的样本
2.2 加快检索速度
分两步,先分id后在id内算距离
3 Experimental evaluation
直接加ohem会变差,使用subspace learning的方法会有提高。文章思想比较简单,但是还是有一定的启发性的,和平时自己做的试验也有思想性。
- 论文水记|How to Train Triplet Networks with 100K Identities?
- 论文阅读:How to Construct Deep Recurrent Neural Networks
- Learning to Track at 100 FPS with Deep Regression Networks 论文笔记
- 【论文笔记】Sequence to sequence Learning with Neural Networks
- 每日论文image-to-Image Translation with Conditional Adversarial Networks
- 《Image-to-Image Translation with Conditional Adversarial Networks》论文笔记
- Image-to-Image Translation with Conditional Adversarial Networks论文学习
- Sequence to Sequence Learning with Neural Networks论文笔记
- Image-to-Image Translation with Conditional Adversarial Networks 论文翻译
- 计算机视觉之目标跟踪——论文Learning to Track at 100 FPS with Deep Regression Networks
- Learning to Track at 100 FPS with Deep Regression Networks 论文理解及应用笔记(一)
- Learning to Track at 100 FPS with Deep Regression Networks 论文理解及应用笔记(二)
- How to train models of Object Detection with Discriminatively Trained Part Based Models
- How to train models of Object Detection with Discriminatively Trained Part Based Model
- How to train models of Object Detection with Discriminatively Trained Part Based Models
- How to train models of Object Detection with Discriminatively Trained Part Based Models
- How to train models of Object Detection with Discriminatively Trained Part Based Models
- How to train models of Object Detection with Discriminatively Trained Part Based Models
- 【Python】【matplotlib】键鼠响应事件
- 打造“国际村”工作环境,弋果美语一路坚持!
- CodeForces
- Python3常用内置函数
- 前端面试题
- 论文水记|How to Train Triplet Networks with 100K Identities?
- 简单计算器 hiho一下第169周
- 【Python】【matplotlib】动画
- 基础的01字串 蓝桥杯基础题
- 51nod 1072 威佐夫游戏
- 坚持#第194天~了解云计算
- Spring介绍
- mysql的间隙锁
- Debian使用的dpkg与apt-get软件管理机制详解