在经典的机器学习问题中,我们往往假设训练集和测试集分布一致,在训练集上训练模型,在测试集上测试。然而在实际问题中,测试场景往往非可控,测试集和训练集分布有很大差异,这时候就会出现所谓过拟合问题:模型在测试集上效果不理想。
以人脸识别为例,如果用东方人人脸数据训练,用于识别西方人,相比东方人识别性能会明显下降。
一个量化的例子,如果用东方人模型识别到西方人,有40%性能下降,反过来用西方人模型识别东方人,有20%的性能下降。
当训练集和测试集分布不一致的情况下,通过在训练数据上按经验误差最小准则训练的模型在测试上性能不好,因此出现了迁移学习技术。
领域自适应(Domain Adaptation)是迁移学习中的一种代表性方法,指的是利用信息丰富的源域样本来提升目标域模型的性能。
领域自适应问题中两个至关重要的概念:源域(source domain)表示与测试样本不同的领域,但是有丰富的监督信息,目标域(target domain)表示测试样本所在的领域,无标签或者只有少量标签。源域和目标域往往属于同一类任务,但是分布不同。
根据目标域和源域的不同类型,领域自适应问题有四类不同的场景:无监督的,有监督的,异构分布和多个源域问题。
机器学习的经典流程可以看作:收集训练集的数据,提取特征,在训练集上依据经验误差最小准则学习分类器。如果训练集和测试集分布一致,则模型效果好。如果分布不一致,在源域过拟合,在目标域上效果不好。
通过在上述流程的不同阶段进行领域自适应,研究者提出了三种不同的领域自适应方法:1)样本自适应,对源域样本进行加权重采样,从而逼近目标域的分布。2)特征层面自适应,将源域和目标域投影到公共特征子空间。3)模型层面自适应,对源域误差函数进行修改,考虑目标域的误差。
样本自适应
:其基本思想是对源域样本进行重采样,从而使得重采样后的源域样本和目标域样本分布基本一致,在重采样的样本集合上重新学习分类器。相关工作见以下参考文献:
特征自适应:其基本思想是学习公共的特征表示,在公共特征空间,源域和目标域的分布要尽可能相同。上图中所示为Long等人基于DL的迁移学习框架,其网络结构和标准CNN基本一致,不同之处在于对最后的全连接层特征增加了一个MMD约束,使得源域和目标域要具有尽可能相同的分布。
通过特征自适应,将输入的样本投影到公共子空间,通过计算源域的经验误差,逼近目标域的经验误差。特征自适应的相关工作见如下参考文献:
模型自适应:其基本思想是直接在模型层面进行自适应。模型自适应的方法有两种思路,一是直接建模模型,但是在模型中加入“domain间距离近”的约束,二是采用迭代的方法,渐进的对目标域的样本进行分类,将信度高的样本加入训练集,并更新模型。
对于前面三类方法,一个重要的方面是度量两个域分布的差异。代表性的工作有:KL散度,Bregman散度,MMD和低秩。
前面所介绍的三类方法中,样本自适应作用于最前端,适合于源域和目标域分布差异小的情况。特征自适应适用于于源域和目标域有一定差异的情况。模型自适应的适用范围最广,能够应用于源域和目标域差异比较大的场景。
下面介绍我们在人脸识别领域自适应中的工作。一般的物体,不同类别甚至同一类别差异也会比较大,例如图中自行车的例子。而在人脸的问题当中,即便是不同的人脸,也会有相似的结构,眼睛鼻子嘴巴。即便是来自不同领域的人脸数据,差异比一般物体要小。
因此我们选择了直接从样本层面来进行领域自适应,基于两条思路:样本重加权和样本迁移,下面分别介绍我们发表在PR,IJCV和ICCV15上的工作。
首先我们介绍发表于PR的工作,自适应判别分析,用于单样本人脸识别。在单样本问题中,目标域上每个人只有一个图像,传统的方法比如FLDA无法计算出类内散度矩阵从而无法直接使用。自适应判别分析从目标域的单幅人脸图像出发,利用源域样本的重加权,估计目标域样本的协方差矩阵,从而实现领域自适应。
由于类内散度矩阵是二阶的,分布在黎曼流形上,因此源域样本的权值不能直接使用。我们首先将类内散度矩阵映射到log欧式空间,从而和图像空间一致,再把log欧式空间的估计映射回黎曼流形空间。
与经典的样本重加权方法相比,我们的方法将加权的权重从loss外边搬到了loss的里面,从而实现了更准确的估计。
本页给出了在FRGC上实验设置。
实验结果证明了自适应判别学习的有效性。
下面介绍我们在样本自适应领域的另外两个工作:源域样本目标化和双向迁移自动编码机。
源域样本目标化和双向迁移自动编码机的动机都是为了将样本从源域迁移到目标域。下面,我们首先介绍源域样本目标化这一工作。
首先,我们回顾度量两个域分布距离的方法。 KL散度度量通常需要对分布进行假设或对概率分布进行估计。MMD需要把源域和目标域映射到可再生希尔伯特空间,因此需要选择合适的核函数。而低秩假设源域样本可以被目标域重构,这样会损失源域样本的多样性。
我们提出了一个基于稀疏重构的新度量准则,计算源域和目标域分布之间的距离。以源域到目标域为例,对于源域中的每个样本,计算其在目标域样本空间中稀疏重构残差并相加。同理,可以计算目标域中样本在源域中的稀疏重构残差之和。
通过稀疏重构度量准则,实际上我们计算了目标域样本到源域的距离以及源域样本到目标域的距离之和。
我们方法的优点是:完全非参数化,保持了样本的多样性,同时数学形式简单便于优化。
进一步的,我们提出了基于双线子空间的迁移学习方法:对源域样本和目标域样本分别进行线性变换,投影到公共线性子空间。目标函数中既约束了源域和目标域两者的分布差异尽可能小,也保持了源域和目标域在原始图像空间中的结构。
通过双线性投影,把源域的样本转换到目标域上,与目标域分布一致同时又保持了源域样本自身的结构多样性。因为源域样本有标注,可以使用任意的监督学习方法进行训练。
实验结果表明: 1)公共子空间是源域和目标域之间的一个桥梁,可以得到一个稳定的重构关系,缩小目标域和源域之间的分布差异。 2)图像空间的变换保持了源域样本的多样性,有利于性能的提升。 然而,作为一种线性方法,我们需要在保持空间结构和减小分布差异之间进行trade-off。在此基础上,我们提出了一种基于非线性建模的双向迁移自动编码机方法。
双向自动编码机的结构如上图所示,源域有标注样本经过编码器非线性投影到一个隐含空间,然后通过左右两个解码器分别进行解码,左侧解码器直接重构原始的输入图像,右侧的解码器输出则用无标注的目标域样本进行重构,从而实现了源域样本到目标域样本的迁移。
形式化: 用稀疏重构来约束右边的解码器, 从而将右侧的解码器的输出压制到以目标域为中心的一个紧致的近邻空间中。
双向迁移自动编码机的总体的目标函数一共有三项:源域样本自身的重构残差,源域样本用目标域样本重构的残差以及稀疏约束项。
采用迭代优化的方式对自动编码机和稀疏重构分别进行优化。
通过双向自动编码机,转换后的源域和目标域有了相似的分布,而且转换后的源域样本有类别标签,从而可以用经典的FLDA和最近邻分类器。
以MultiPIE为例,对不同姿态的样本分布进行了可视化,在输入图像空间中,可见不同姿态分布差异很大,在隐含层,两者的差距缩小,在输出空间中,两者的分布差距最终进一步缩小变得相似。
进一步地,我们展示了不同姿态样本和西方到向东方人进行样本迁移的结果。以西方人转成东方人为例,人脸的显著特征得以保留,同时总体的结构上像东方人。
我们比较了在MultiPIE上不同姿态之间进行迁移学习的结果,我们的方法取得了state-of-the-art的性能。
我们比较了在不同种族的样本间进行迁移学习的结果,我们的方法也取得了state-of-the-art的结果。
我们比较了在不同光照条件下进行迁移学习的结果,我们的方法同样取得了state-of-the-art的结果。
与已有的样本自适应方法比较,我们将权值从损失函数外边变到损失函数里面。与特征自适应只利用了共性信息不同,我们的方法可以保留源域的特性信息,实验表明这对于目标域的分类是有益的。
总结: 1)共性和特性信息对于迁移学习而言都是有用的。 2)提出了一种非参数化的基于稀疏重构的分布差异度量准则。 3)深度/非线性的模型能够更好的刻画源域和目标域分布之间的差异。
未来工作:
1)探索新的度量域分布差异的准则。 2)如何避免有害的迁移。
3)如何对特定应用选择适合的迁移学习方法。
4)无监督的领域自适应:大规模的无标注目标域数据以及深度迁移学习方法。
原文链接:https://mp.weixin.qq.com/s/G10Ob_fSuMF2T3ZnAA1euQ