《小王爱迁移》系列之十七:深度迁移度量学习

《小王爱迁移》系列之十七:深度迁移度量学习

本次我们介绍一篇来自新加坡南洋理工大学(NTU)的一篇发表在计算机视觉顶会CVPR 2015的文章:Deep Transfer Metric Learning。从题目上就能看出,文章是关于三个方面的:deep learning, transfer learning, 以及metric learning。前两个我们都已经非常熟悉,第三个metric learning是什么?我们将首先介绍metric learning的背景知识,然后进入主题,解读文章。

背景: Metric Learning

在机器学习中,关于度量的学习,一直以来是一个重要的研究方向。如何度量两个样本之间的距离,看似是一个简单的问题,实则关乎到几乎所有的分类、回归、聚类等基本任务的表现。好的度量有助于我们发现更好的特征,构建更好的模型。什么是度量?英文名叫做Metric,就是距离的意思。我们常用的欧氏距离、马氏距离、余弦相似度等,都可以叫做度量。这些度量是显式的,是不需要学习直接就可以计算出来的。但是,在特定的任务中,单纯地运用这些简单的距离公式,往往达不到我们预期的效果。此时,一种对于度量的研究就可以帮助我们对这些距离进行学习。此时,这个距离则是隐式的。这就是所谓的度量学习 (Metric Learning)

度量学习的基本思路是,给定一些训练样本,这些样本中包含了我们预先观测到的一些对于样本的知识(先验),例如,哪两个样本的距离应该要近一些,哪两个要远一些。然后,我们的学习算法就可以以这些先验知识为约束条件,构建目标函数,学习到这些样本之间的一个很好的度量,并满足我们预先给定的限制条件。从这个意义上看,度量学习就是一种特定条件下的优化问题。

度量学习的发展也和机器学习的发展情况大概一致,从最初的基于传统方法,逐渐过渡到如今的基于深度神经网络。度量学习在计算机视觉、视频分析、文本挖掘、生物信息学等多个领域均有着广泛的应用。可以说,在机器学习中,没有度量,就没有好的模型。凡是需要用到机器学习的地方,都需要度量。

Motivation

已有的metric learning研究大多数集中在传统方法和深度方法中,它们已经取得了长足的进步。但是这些单纯的度量研究,往往只是在数据分布一致的情况下有效。如果数据分布发生了变化,已有的研究则不能很好地进行处理。因此,迁移学习就可以作为一种工具,综合学习不同数据分布下的度量,使得度量更稳定。另一方面,已有的迁移学习工作大多都是基于固定的距离,例如MMD,因此无法学习到更好的距离表达。虽然近年来有一些迁移度量学习的工作,但它们都只考虑在数据层面将特征分布差异减小,而忽略了在源领域中的监督信息。因而,作者提出要在深度迁移网络中对度量进行学习,有效利用源领域中的监督信息,学习到更泛化的距离表达。

Method

作者提出的方法叫做DTML (Deep Transfer Metric Learning)。针对的问题和我们之前的迁移学习问题一致:源领域有label,目标领域无label。方法主要由两部分构成:metric learning 和 transfer learning。

Metric Learning

一个好的距离应该反映出原始样本中的距离远近的信息。我们现在有的信息是什么?我们仅仅有两个domain的数据,其中一个domain没有label。在这里,为了衡量这些样本之间彼此的相似性,作者借鉴了流行的线性判别分析的方法,在深度网络中计算样本的类内距离和类间距离,目标就是要使得类内距最小,类间距最大。这用公示表示就是:

J = S^{(M)}c - \alpha S^{(M)}_b + \gamma \sum{m=1}^M (||W^{(m)}||^2_F + ||b^{(m)}||^2_2 )

其中 S^{(M)}_c 表示类内距, S^{(M)}_b 表示类间距。 M 表示网络的最后一层, m 表示网络的第 m 层。 \gamma 是平衡因子,这一项是正则化项,和普通的深度学习一样。

如何计算类内和类间距离?这里引入了简单的 k 均值计算方法。如果样本 x_i 在样本 x_jk 个邻居里,我们就认为它们相似,就属于一个类。反之,则不是同类。因此,类内和类间距计算方法为:

S^{(m)}c= \frac{1}{N k_1} \sum{i=1}^{N} \sum_{j=1}^{N} P_{ij} d^2_{f^{(m)}}(x_i,x_j)

S^{(m)}b= \frac{1}{N k_2} \sum{i=1}^{N} \sum_{j=1}^{N} Q_{ij} d^2_{f^{(m)}}(x_i,x_j)

注意到这里对于类内和类内距,定义了不同的 k 来反映相似度。 d^2_{f^{(m)}} 是一个特定的距离度量函数。

Transfer Learning

上面的条件并没有考虑到在迁移学习中的学习问题。因此,为了减小源域和目标域的分布差异,作者将迁移学习中常用的MMD度量引入:

D^{(m)}(\mathcal{X}s,\mathcal{X}_t) = \left|\left| \frac{1}{N_s} \sum{i=1}^{N_t}f^{(m)}(x_{ti}) - \sum_{j=1}^{N_s}f^{(m)}(x_{sj}) \right|\right|^2_2

综合上面的度量学习,整体优化目标变成:

J^{(M)} = S^{(M)}c - \alpha S^{(M)}_b + \beta D^{(m)}(\mathcal{X}_s,\mathcal{X}_t) + \gamma \sum{m=1}^M (||W^{(m)}||^2_F + ||b^{(m)}||^2_2 )

这个式子很好理解。可以通过梯度下降很好地进行优化。但是这样就完了吗?我们还有什么信息没有利用?

监督信息利用

我们还遗漏了重要的信息:源域是有label的。我们暂时还没有利用。作者又进一步提出:我们不应该只考虑一层的信息,而是将每一层的监督信息都考虑进来。因此,最后的优化目标为:

J = J^{(M)} + \sum_{m=1}^{M-1} \omega^{(m)} h(J^{(m)} - \tau^{(m)})

这里的 \tau^{(m)} 就表示一个给定的阈值,用来表示每层学习的loss的一个范围,就算是监督信息。

实验

实验在两个公开的人脸识别和person reid上进行,采用的是事先提取好的特征,一个三层的简单全连接网络。不再赘述。

总结

其实本文的方法并不是多新颖,在很多已有工作中也多次出现了本文中提出的方法。本文的亮点就在于,从metric learning这个角度对问题进行描述,使得文章的逻辑性很强。

Reference

论文:Hu J, Lu J, Tan Y P. Deep transfer metric learning[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015: 325-333.

========================

[作者简介]王晋东(不在家),中国科学院计算技术研究所博士生,目前研究方向为机器学习、迁移学习、人工智能等。作者联系方式:微博@秦汉日记 ,个人网站Jindong Wang is Here

=================

更多《小王爱迁移》系列文章:

《小王爱迁移》系列之零:迁移学习领域著名学者和研究机构

《小王爱迁移》系列之一:迁移成分分析(TCA)方法简介

《小王爱迁移》系列之二:联合分布适配(JDA)方法简介

《小王爱迁移》系列之三:深度神经网络的可迁移性

《小王爱迁移》系列之四:深度网络如何进行迁移学习(DaNN、DDC、DAN)

《小王爱迁移》系列之五:测地线流式核方法(GFK)

《小王爱迁移》系列之六:学习迁移(Learning To Transfer)

《小王爱迁移》系列之七:负迁移(Negative Transfer)

《小王爱迁移》系列之八:深度迁移学习文章解读

《小王爱迁移》系列之九:开放集迁移学习(Open Set Domain Adaptation)

《小王爱迁移》系列之十:张量迁移学习(tensor unsupervised domain adaptation)

《小王爱迁移》系列之十一:选择性对抗迁移学习(Selective Adversarial Network)

《小王爱迁移》系列之十二:新年新气象-重新整理的迁移学习资源仓库

《小王爱迁移》系列之十三:在线迁移学习(online transfer learning)

《小王爱迁移》系列之十四:用于部分迁移学习的深度加权对抗网络

《迁移学习简明手册》发布啦!

《小王爱迁移》系列之十五:自动选择源域的迁移学习方法(SSFTL)

《小王爱迁移》系列之十六:探秘任务迁移学习 (CVPR 2018最佳论文解读)

《小王爱迁移》系列之十七:深度迁移度量学习

《小王爱迁移》系列之十八:联邦迁移学习

《小王爱迁移》系列之十九:基于条件对抗网络的领域自适应

《小王爱迁移》系列之二十:深度迁移学习用于时间序列分类

小王爱迁移》系列之二十一:最大分类器差异的领域自适应(MCD_DA)

《小王爱迁移》系列之二十二:Learn What and Where to Transfer

编辑于 2019-09-17

文章被以下专栏收录