读论文系列:Deep transfer learning person re-identification

arxiv 2016 by Mengyue Geng, Yaowei Wang, Tao Xiang, Yonghong Tian

Transfer Learning

旧数据训练得到的分类器,在新的数据上重新训练,从而在新数据上取得比较好的表现,新数据与旧数据有相似的地方,但具有不同的分布。

Fine tuning一般步骤

这是InceptionV4的图示

  • 移除Softmax分类层
  • 换成与目标数据集输出维数相同的Softmax层
  • 冻结靠近输入的卷积层
  • 以较高的学习率训练分类层
  • 以很低的学习率微调剩下的卷积层

论文核心模型

几个创新点:

  • 对于CNN输出的两张图的特征,使用了相同的dropout而非各自独立的随机dropout
  • 使用了二分类加多分类两种loss,二分类用于判断两张图中的人是否相同,多分类用于描述两张图中各自的人物ID
  • 分两阶段进行Fine tune,先微调多分类,再联合二分类和多分类进行微调,避免多分类网络不稳定对二分类的影响

Unsupervised Transfer Learning

Self-training

  • 将图片均分为两组(论文中是按摄像头划分的)
  • 将B组中的每张图片,与A组中CNN输出相似度最高的图片归为一类,从而构造出多分类标签
  • 喂入CNN训练
  • 迭代多次

Co-training

  • 由于CNN输出的图片相似度不一定真的可靠,存在噪音,因此Self-training效果没有特别好
  • 寻找一个互补的模型,将特征映射到另一个子空间中
  • 将B组中的每张图片,与A组中子空间相似度最高的图片归为一类,构造多分类标签
  • 喂入CNN训练
  • 迭代多次

Co-Model

  • CNN计算得到深度特征: \[?=\theta(?)\]
  • Learn a subspace defined by a dictionary D and a new representation Z in the subspace.
  • \[(D^*, Z^*) = min_{D,Z} ||Y-DZ||_F^2 + \lambda\omega(Z)\] s.t. \[||d_i||_2^2 \leq 1\]
  • 其中\[||Y-DZ||_F^2\]是reconstruction error
  • \[\omega(Z) = \sum_{i,j} W_{ij}||z_i - z_j||_2^2\]
  • 当\[y_i\]和\[y_j\]是最近邻时,\(W_{ij}\)为1,否则为0
  • 从而最小化最近邻的representation z的差异

Trick Result

  • Softmax loss VS Multi loss: 76.6% -> 83.7%(Market1501)
  • 一致的Dropout VS 随机的Dropout: 80.8%-> 83.7% (Market1501)
  • Two-stepped VS one-stepped: 47.6%->56.3%(VIPeR)

Supervised Transfer Learning Result

DataSet

State of the art

Transfer

CUHK03

75.3

85.4

Market1501

82.21

83.7

VIPeR

53.5

56.3

PRID

40.9

43.6

CUHK01

86.6

93.2

(表中都是top1准确率)

Unsupervised Transfer Learning Result

DataSet

State of the art

Transfer

VIPeR

33.5

45.1

PRID

25.0

36.2

CUHK01

41.0

68.8

Compare with other unsupervised method

使用其他无监督方法进行实验对比

Method

Top1 acc

Self-training

42.8

SubSpace

42.3

Transfer

45.1

CNN+AutoEncoder

36.4

Adversarial

22.8

其中SubSpace为只使用Co-Model,不使用CNN模型,Self-training为只使用CNN模型,Transfer是两者结合的Co-training。

总体来说这种无监督的方法取得了比较好的效果,在小数据集上甚至超过了有监督的效果。

如果觉得我的文章对你有帮助,可以前往github点个star

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT派

手把手教你用 Keras 实现 LSTM 预测英语单词发音

我近期在研究一个 NLP 项目,根据项目的要求,需要能够通过设计算法和模型处理单词的音节 (Syllables),并对那些没有在词典中出现的单词找到其在词典中对...

832
来自专栏杨熹的专栏

RNN与机器翻译

---- CS224d-Day 9: GRUs and LSTMs -- for machine translation 视频链接 课件链接 ---- 本...

3105
来自专栏机器之心

学界 | 微软基于短语的神经机器翻译方法NPMT:不使用任何注意机制

选自arXiv 作者:Po-Sen Huang等 机器之编译 参与:李亚洲 谷歌前不久在 arXiv 上发表论文《Attention Is All You N...

2767
来自专栏PaddlePaddle

【序列到序列学习】无注意力机制的神经机器翻译

生成古诗词 序列到序列学习实现两个甚至是多个不定长模型之间的映射,有着广泛的应用,包括:机器翻译、智能对话与问答、广告创意语料生成、自动编码(如金融画像编码)...

3469
来自专栏数据科学与人工智能

【算法】SVD算法

小编邀请您,先思考: 1 如何对矩阵做SVD? 2 SVD算法与PCA算法有什么关联? 3 SVD算法有什么应用? 4 SVD算法如何优化? 前言 奇异值分解(...

40511
来自专栏Small Code

梯度下降优化算法概述

原文作者简介:Sebastian Ruder 是我非常喜欢的一个博客作者,是 NLP 方向的博士生,目前供职于一家做 NLP 相关服务的爱尔兰公司 AYLIE...

5447
来自专栏SIGAI学习与实践平台

计算机视觉技术self-attention最新进展

Attention注意力,起源于Human visual system(HVS),个人定义的话,应该类似于 外界给一个刺激Stimuli,然后HVS会第一时间产...

2172
来自专栏专知

【干货】对抗自编码器PyTorch手把手实战系列——PyTorch实现自编码器

即使是非计算机行业, 大家也知道很多有名的神经网络结构, 比如CNN在处理图像上非常厉害, RNN能够建模序列数据. 然而CNN, RNN之类的神经网络结构本身...

3857
来自专栏专知

【Keras教程】用Encoder-Decoder模型自动撰写文本摘要

【导读】这篇博文介绍了如何在深度学习框架Keras上实现文本摘要问题,探讨了如何使用编码器-解码器递归神经网络体系结构来解决文本摘要问题,如何实现文本摘要问题的...

4905
来自专栏AI研习社

手把手教你用 Keras 实现 LSTM 预测英语单词发音

我近期在研究一个 NLP 项目,根据项目的要求,需要能够通过设计算法和模型处理单词的音节 (Syllables),并对那些没有在词典中出现的单词找到其在词典中对...

552

扫码关注云+社区