林佳伟,王士同
1.江南大学 人工智能与计算机学院,江苏 无锡214122
2.江南大学 江苏省媒体设计与软件技术重点实验室,江苏 无锡214122
近年来,神经网络的发展已经为各种机器学习任务带来了显著的效果,基于卷积神经网络(convolutional neural networks,CNN)的特征表示已经被证明在视觉识别任务上是十分有效的。尤其是CNN 在ImageNet 数据集中测试达到了非常高的准确率,深度神经网络便成为了机器学习领域的一个重要的分支。深度神经网络已经被证明具有强大的特征表示能力,传统的深度网络模型只建立在单个域上,难以获得可迁移的深度表示。深度神经网络的较高准确率依赖于大量的带有人工标签的数据集来进行训练,对原始数据集进行人工标注的成本是十分昂贵的,这成为阻碍深度神经网络进一步发展的关键因素。另外,由于计算机视觉中的各种因素(例如分辨率、视点、天气状况等),有些应用数据的分布会随着时间的推移而发生变化,会造成训练集和测试集的数据分布不匹配,而传统的深度神经网络是基于数据同分布假设的,这样训练出来的网络会在训练集上表现出良好的效果,但是在测试集上表现出的分类性能会大大降低。一个很好的应用场景的例子是用于车牌号识别的分类器对于在雨天场景下的车牌号识别效果会很差。对于如何解决标签不足,训练数据与测试数据分布不同的问题是深度神经网络所面临的一个重要挑战。
域适应算法通过使用未标记的测试数据有效地解决了上述问题,未标记的测试数据为分类器的训练提供了辅助信息,与仅使用训练数据来学习的分类器相比精度有了明显的提高,从而避免了对测试数据重新进行标记的工作。常用的领域自适应方法主要有三种,分别是基于样本选择的方法、基于模型参数关系的方法和基于特征变换的方法。本文关注的是基于模型参数关系的方法,基于模型参数关系的深度域适应的主要任务是将源域和目标域的数据从原始特征空间映射到一个新的特征空间。在该特征空间中,源域数据和目标域数据的数据分布是相同的。通过利用机器学习算法对带有标签的源域数据进行分类,从而实现对未被标注的目标域数据进行分类。
国内外学者已提出很多域适应方法。迁移的概念最初是由Pratt 等人在1991 年首次提出的,并且进一步介绍了神经网络之间的迁移。近年来,域适应问题引起了广泛的关注,在计算机视觉领域也被叫作数据集偏差问题,主要应用于对象识别,很多迁移学习或域适应方法通过将源域风险、领域之间的差异和联合误差的凸组合最小化来预测目标域数据集的误差上限。具体而言,给定一个带标签的源域数据D和一个不带标签的目标域数据D,根据Ben-David 定理,目标域的风险E()能够结合源域风险E ()和领域之间的差异(D,D)来控制,即通过最小化E()=E ()+(D,D)的上限来实现域适应。2014 年,Yosinski 等人在AlexNet 网络上证明了深度学习的可迁移性,通过网络结构的迁移以及对网络结构的微调不仅能够进行特征的迁移,而且能够加速网络的学习和优化,对于神经网络的可解释性以及深度学习的可迁移性解释具有十分重要的意义。研究表明,深度学习能够很好地学习到可迁移的数据表示形式,但是这种数据表示形式只能够减少而不能消除跨域之间的差异。实际上,子空间对齐(subspace alignment,SA)算法通过计算源域子空间特征和目标域子空间特征之间的距离来衡量不同域之间的分布差异,这种差异可以通过学习子空间之间的特征变换来对齐源域和目标域的特征进行消除。深度学习已经被证明在视觉识别上具有良好的效果,在领域适应方面发挥着重要的作用,Glorot等人提出的去噪自动编码器是一种简单的全连接网络,解决了大规模的情感分类问题。众所周知,卷积神经网络在视觉识别领域具有更为领先的性能。Chopra 等人通过对多个卷积自动编码器进行分层训练,同时用目标域样本逐渐替换源域样本,沿着源域和目标域之间的“插值路径”连续学习多个分布的中间表示。Ghifary 通过在深度网络中嵌入最大均值差异(maximum mean discrepancy,MMD)正则化来减少不同域样本之间的隐藏层表示的分布不匹配问题。针对标签空间不同的问题,You 等人提出利用贝叶斯法则计算出(y|y),以此得出不同标签空间之间的映射关系,通过协同调优的方式来优化网络以此完成分布适配的问题。
2016 年,Ganin 和Ustinova 等人提出了领域对抗网络(domain adversarial neural network,DANN)的模型,DANN 通过对抗学习的思想来对齐源域和目标域的数据分布。虽然DANN 模型完成了从源域到目标域的知识迁移,但是该模型在对齐域间数据分布的同时使得目标域数据在经过特征变换前后的数据分布差异过大,破坏了目标域数据的局部特征,而这些特征对目标域数据分类精度的提升十分关键。
本文的主要贡献可以归纳如下:
(1)与传统的无监督域适应算法相比,在深度域适应网络上引入了局部信息保持的概念,减少了因为特征变换而导致的目标域数据信息损失的问题,在对齐源域和目标域数据分布的同时有效地保持了原始数据的信息。
(2)通过将用于分布适配的共同特征和提高分类精度的局部特征联合保持的思想,提出一个用于无监督域适应的深度对抗重构分类网络(deep adversarialreconstruction-classification networks,DARCN)的模型。DARCN 模型应用了生成对抗网络(generative adversarial networks,GAN)和自动编码器的思想提升了域间自适应特征的学习能力。
(3)通过共同优化和分开优化这两种策略来实现跨域间的共同特征和局部特征的联合保持。在四种传统的数字分类数据集以及迁移学习经典数据集Office-Caltech10 上进行了实验,实验表明,与传统的领域自适应模型相比,DARCN 模型在无监督域适应的任务上具有明显的优越性。
2014 年,GAN 作为目前最先进的深度生成模型得到了快速的发展,GAN 通过对抗学习的机制来生成与目标分布相似的数据,已经被广泛地应用在图像生成、图像风格变换、人体姿态识别等相关领域。生成对抗网络利用二人零和博弈的思想,利用生成器和判别器之间的对抗来解决生成问题,是一种通过对抗过程来训练生成模型的新框架。其中,生成器用于捕获数据分布,判别器用来区分真实数据分布和模拟数据分布。用表示随机噪声,表示真实数据,GAN 网络的目标函数如下:
等式(1)的目标函数表明了生成对抗网络的优化是一个最大最小优化问题,第一项表示判别器对真实数据的判断误差,第二项表示判别器对生成数据的判别误差。GAN 通过单独交替迭代训练的方式来优化模型的生成器和判别器,最终学习出真实样本数据集的数据分布。
深度域适应的目的是要学习一个可以很好地从一个域到另一个域的泛化模型,这就要求输入到分类器的数据不包含有关输入来源的判别性信息。因此,利用GAN 的判别器嵌入到神经网络用作域适应组件可以很好地消除不同数据域之间的独立特征。
自动编码器是一种无监督的学习算法,常用于降维和特征学习。自动编码器由两个模块组成:(1)从输入数据提取特征的编码器网络();(2)从低维特征重构回原始数据的解码器网络()。通常,使用编码器的最后一层作为瓶颈层来表示数据的低维特征。自动编码器的损失函数如下:
其中,代表输入数据集,AE 代表自动编码器的神经网络,、分别代表编码器()和解码器()的参数,||·||表示输入数据的二范数。自动编码器网络是分层且对称的,在编码器模块中,隐藏层的神经元数量逐渐减少,对称地,在解码器模块中,隐藏层的神经元数量逐渐增多,最终输出层和输入层有着一样多的神经元。这意味着通过编码-解码的方式,能够提取出原始输入数据的低维特征并且原始数据能够通过该低维特征得到高效的重构。
自动编码器的优化过程是把编码层堆叠在原始图像上将输入的3D 图像转化为高维的特征,该层称之为“嵌入层”。为了以无监督的方式训练它,通过反卷积的手段将解码层堆叠到嵌入层将高维特征转换为原始图像,通过梯度下降法将原始图像和重构图像的均方误差最小化来更新编码器和解码器的参数。因此,嵌入层的高维特征携带着原始图像最为关键的信息。深度域适应通过将源域和目标域映射到一个新的特征空间当中,在这个特征空间源域和目标域的数据分布相似。把自动编码器的这一优点应用到深度域适应中,在缩小数据域之间分布差异的同时,将目标域数据最为关键的信息嵌入到新的特征空间。
本章首先简要地讨论了域适应问题,然后介绍了深度对抗重构分类网络的思想以及体系结构。
深度学习的可迁移性是深度域适应能够实现的关键。域适应是一种解决源域和目标域数据分布偏移的一种机器学习算法,通过特征变换学习不同分布数据之间的共同特征,将从源域学习到的知识迁移到目标域,解决了传统监督学习需要大量人工标注标签的问题。根据域适应理论,深度网络可以通过限制源域的标签分类误差以及源域和目标域深度特征的领域差异来控制目标域的分类误差。
深度对抗重构分类网络(DARCN)应用了GAN的对抗性思想以及自动编码器的重构思想。(1)将GAN 的生成模型当作DARCN 模型的共同特征提取器,判别模型当作DARCN 的域判别器,通过公共特征提取器和域判别器的组合来保证数据深度特征的领域不变性。(2)将自动编码器的编码部分当作DARCN 的局部特征提取器。解码部分当作DARCN模型的特征重构器,通过在目标域数据上应用特征提取器和特征重构器来保留目标域数据中对分类精度有提升的关键信息。通过在数据分布相同的特征空间上添加目标域数据独有的信息,使得提取出的特征能够在保留源域分类信息的同时和目标域原始数据有更为相似的分布,在迁移源域分类信息的同时尽可能地保留目标域数据的原始分布。基于这种思想,DARCN 的网络架构应该满足以下三个任务:①能够对源域数据进行分类;②嵌入的域判别器无法鉴别数据的来源;③能够对目标域数据进行有效的重构。DARCN 卷积架构应该通过提取一个深层的特征表示来同时实现以上三个任务。
如图1 所示,DARCN 由4 个模块组成:特征提取器G(·)、标签分类器G(·)、域分类器G(·)和特征重构器G(·),对应的网络参数分别为θ、θ、θ、θ。DARCN 的域适应过程是G(·)和G(·)相互博弈的过程,域判别器G(·)通过不断训练以区分源域和目标域,特征提取器G(·)同时进行训练以使得域判别器不能够分辨出数据是来自哪个域。网络的目标是寻求一个支持多任务的共享特征映射参数θ。对于输入到DARCN 的第个数据(x,y),标签分类器、域分类器和数据重构器的损失L、L和L分别可以写成:
图1 DARCN 架构图Fig.1 Architecture of DARCN
其中,d表示x是来源于哪个域,如果x~D,d=0;如果x~D,d=1。为标签y的one-hot形式。交叉熵误差能够有效地减少网络模型在优化过程中产生的梯度消失问题,能够更好更快地收敛到局部最小值。从等式(6)可以看出,由于训练数据的分布是固定的,优化交叉熵损失等价于优化训练数据分布和学习模型分布之间的KL 散度。当网络优化结束时,模型会有效地模拟出训练数据的真实分布。因此在DARCN 模型中用交叉熵损失来表示分类误差。由于均方差损失函数处处可导,便于使用梯度下降法较快地收敛到极小值,因此在DARCN 模型中使用均方差损失来表示目标域图像的重构误差。
通过优化目标函数E(θ,θ,θ,θ)来实现源域到目标域的知识迁移,同时保留目标域数据的局部特征结构,完成通过源域的分类器来对目标域进行分类。其中,、是需要手动调节的超参数,以实现三者之间的权衡。通过等式(10)和等式(11)对网络参数进行优化,DARCN 有效地学习了来自D和D数据的隐藏层表示G(x)和G(x),G(x)保留了目标域数据的特征,域适应组件不能够很好地分辨出G(x)和G(x),体现了隐藏层的特征G具有领域不变的特性,从而实现了利用带标签的源域数据和不带标签的目标域数据准确对目标域数据进行分类。
从等式(11)和等式(12)可以看出,DARCN 网络的优化涉及关于θ、θ、θ的最小化问题以及关于θ的最大化问题。因此,DARCN 网络结构与传统的多任务神经网络相比添加了梯度反转层(gradient reversal layer,GRL),即在正向传播的网络流经过该层时深度特征保持不变,反向传播的网络流经过该层时梯度乘以一个负常数,由于GRL 没有与之关联的参数,该层没有任何参数需要更新,较整个模型相比其运算成本可以忽略不计。DARCN 网络采用Adam算法进行优化,式(13)为参数更新的迭代公式。
本章展示了深度对抗重构网络在流行数据集上的实验结果。实验数据集包括两大部分:一部分是用于图像分类的经典数字数据集;另一部分是迁移学习经典数据集Office-Caltech10。本实验将提出的DARCN 算法与其他域适应算法进行了对比,实验结果表示DARCN在图像分类的域适应任务上取得了良好的效果。本文所有实验均在同一环境下完成,计算机处理器配置为IntelCorei5-4210 CPU@2.6 GHz,内存8 GB。在Windows10环境下配置python环境以及pytorch 框架。所有实验均在python3.6 以及pytorch1.0的框架下实现。
本组实验研究了DARCN 在MNIST、MNIST-M、SVHN 以及USPS 等数据集上的迁移性能。目的是利用源域和目标域进行训练来对未知标签的目标域进行无监督域适应。通过3 组跨域识别的任务来评估算法的准确性:(1)MNIST 数据集和MNIST-M 数据集;(2)SVHN 数据集和MNIST 数据集;(3)MNIST数据集和USPS 数据集。
MNIST 数据集是由美国国家标准技术与研究所发布的图片分类数据集,由250 个不同的人手写的数字组成的10 分类灰度图像,其中包含60 000 张的训练图像和10 000 张的测试图像,像素大小为28×28。MNIST-M 数据集由MNISTI 数据集和BSDS500 数据集中的随机色块混合而成,其中包含59 000 张训练图像和测试图像,图像是像素为32×32 的彩色图像。SVHN 数据集是由斯坦福大学于2011 年发布的图像分类数据集,其中的数据均采自Google 街景图像中的门牌号,包括4 578 张训练图像和1 627 张测试图像,图像像素大小为32×32。USPS 数据集是美国邮政手写数字数据集,其中包括999 张训练图像和250张测试图像,像素大小为32×32。在MNIST 数据集到MNIST-M 数据集跨域识别的任务上,输入网络的图像大小为28×28,其他任务中,输入网络的图像大小为32×32。另外,所有像素全部归一化到[0,1]。
现将DARCN算法与以下方法比较。(1)CovNet:仅在源域上训练的有监督卷积神经网络。(2)SDA:堆叠式降噪自动编码器,已经成功应用到情感分析领域的深度域适应模型。(3)SA:子空间对齐,通过优化映射函数将源子空间转换为目标域子空间来实现无监督域适应。(4)DANN:域对抗神经网络,通过GAN的思想来实现源域和目标域的不可区分性。DANN和DARCN 具有相似的网络架构。(5)CovNet:在目标域上训练的有监督卷积神经网络。
第一个实验测试了经典数字数据集的跨域识别。在该数据集上的模型主要由4个模块组成:(1)特征提取模块;(2)标签分类模块;(3)域适应模块;(4)特征重构模块。详细网络结构如图2、图3 所示。网络所有的隐藏层均使用ReLU 作为激活函数并且使用了归一化的技巧,所有参数均使用Adam 优化器进行更新,学习速率是10,采用学习率衰减的策略,分类任务以及域适应任务采用交叉熵误差作为目标函数,重构任务采用均方差误差作为目标函数。和是需要手动调节的超参数,根据源域数据的准确性控制和,取值为[0,1]。图4 展示了DARCN 在MNIST 和MNIST_M 数据集上进行域适应不同的超参数对算法性能的影响(超参数和DANN 模型设置相同)。
图2 实验1 中的网络结构图Fig.2 Network structure diagram in experiment 1
图3 实验2、实验3 中的网络结构图Fig.3 Network structure diagram in experiments 2 and 3
图4 不同的超参数μ 对DARCN 模型性能的影响Fig.4 Influence of different parameter μ on DARCN
表1 总结了在相同环境下独立运行10 次的跨域识别的平均精度,在数字数据集上实现了3 组无监督跨域识别的任务。观察实验结果可以发现,DARCN模型与DANN 模型相比,在数字数据集上迁移的精度提升了约0.06。可见在无监督域适应任务上,DARCN模型在数字数据集上的分类精度较其他算法有明显的提升。如图5所示,通过将源域数据输入到DARCN模型,可视化特征重构器的输出图像会发现,输出的源域图片会添加目标域图片的部分特征,重建的MNIST 图像具有着和MNIST-M 图像相似的外观。从实验结果上看,DARCN 模型在数字数据集之间的自适应效果与其他算法相比准确率有明显的提高。在实际的应用场景当中,对于像数字图像这种比较简单的数据集建议使用图2、图3 中的网络结构,采用共同优化的方式进行训练来完成不同数据域之间的知识迁移。
图5 源域图像(MNIST)、重构图像、目标域图像(MNIST-M)的对比Fig.5 Comparison of source domain(MNIST)image,reconstructed image and target domain(MNIST-M)image
表1 数字数据集运行10 次平均分类精度Table 1 Average classification accuracy of 10 times on digital datasets %
本节研究DARCN 在Office-Caltech10 数据集上的迁移性能。Office-Caltech10 数据集是在视觉域适应任务上应用得最为广泛的数据集。该数据集包括4 个不同的域:Amazon、Caltech、Dslr、Webcam。4 个域的图片分别是在不同的环境条件下由网络相机和数码单反相机拍摄的。测试之前,首先对数据集进行预处理,将所有图像的像素值归一化成0 到1 之间。在每次迭代过程中,将所有图像随机裁剪为像素大小为224×224 的图像,每张图片按照0.5 的概率对其进行水平翻转。
现将在本组实验上实现的DARCN 算法与以下算法进行比较:(1)CovNet:仅在源域上训练,目标域上测试的AlexNet网络。(2)JGSA:联合几何和统计对齐,同时减少域之间的分布差异和几何差异来进行域适应。(3)DDC:深度域混淆网络,在AlexNet网络的基础上添加适配层,通过最大均值差异考察网络对源域和目标域的判别能力。(4)DANN:域对抗神经网络,通过GAN 的思想来实现源域和目标域的不可区分性。(5)CovNet:在目标域上训练并进行测试的AlexNet网络。
在Office-Caltech10 数据集上实现的DARCN 在AlexNet 网络的基础上改进。在AlexNet 网络的卷积层上进行微调来实现特征重构以及域适应的任务提取网络的中间特征,在AlexNet 网络的全连接层进行微调实现分类任务得到分类结果。与在数字图像数据集上进行域适应不同的是,该组实验对多个任务采用分开优化的方式,首先单独优化域适应任务以及重构任务,将提取出的中间特征图向量化后进行拼接,将拼接后的特征向量传入分类器实现对目标域数据的分类。网络的参数更新采用随机梯度下降法,域适应模块以及特征重构模块学习率大小为10,分类器的学习率大小为10。网络模型示意图如图6 所示。表2 总结了Office-Caltech10 数据集在相同环境下独立运行10 次的跨域识别的平均精度。从表2 可以看出,在无监督域适应任务上,DARCN 模型在Office-Caltech10 数据集上的平均分类精度比DANN 模型高出了约0.03,比DDC 算法高出了约0.08。DARCN 模型在Office-Caltech10 数据集上的分类精度较其他模型有明显的提升。在实际的应用场景中,对于复杂图像数据集之间的迁移,建议使用图6 的网络架构采用不同损失之间分开优化的方式完成不同数据集之间的领域自适应。
图6 基于AlexNet网络的DARCN 结构Fig.6 DARCN structure based on AlexNet
表2 Office-Caltech10 数据集运行10 次平均分类精度Table 2 Average classification accuracy of 10 times on Office-Caltech10 dataset %
从整体上看,无论是在数字数据集上或是Office-Caltech10 数据集上,CovNet的表现效果最差,现有的域适应算法与CovNet相比精度均有提高。这是因为在CovNet上的训练集和测试集数据分布不同造成的。而域适应算法拉近了源域数据和目标域数据之间的分布,有效地完成了从源域到目标域的知识迁移。从表中的各种域适应算法进行对比可以看出,DARCN 模型的表现最好。这是因为DARCN 在对齐不同域之间的数据分布的同时,保留了目标域当中对于提高分类精度最为关键的特征,尽可能地减少了目标域数据的信息损失。表3 总结了本文所使用的三种网络的参数规模以及将一张彩色图片输入到三个网络中一次前向传播的乘加计算量。从表3 的数据可以看出,在现有GPU 的显存大小以及计算能力下,这三种网络能够在输入大小分别为28×28、32×32、224×224的彩色图片的情况下以较快的速度完成计算。
表3 DARCN 参数规模分析Table 3 Analysis of parameter scale in DARCN
针对计算机视觉中的数据集偏差问题,本文提出了用于无监督域适应的深度对抗重构分类网络。传统的对抗域适应算法仅仅利用了生成对抗网络的思想来实现领域不变的特性,放弃了自动编码器的解码部分。DARCN 模型认为提取的域不变特征会削弱目标域特征的代表性从而损害分类性能,因此该模型添加了自动编码器的解码部分,通过优化重构损失保留了目标域数据的局部结构,增强了目标域嵌入特征的代表性。这样提取的嵌入特征在对齐不同数据域之间的分布的同时又减少了目标域数据的信息损失。实验证明,该模型在视觉域适应方面较其他算法有较为明显的精度提升。这种通过自动编码器来进行信息保持的思想也可以推广到其他深度域适应网络中。