用于迁移学习的多尺度领域对抗网络
2022-06-16林佳伟王士同
林佳伟,王士同
(1.江南大学人工智能与计算机学院,无锡 214122;2.江苏省物联网应用技术重点建设实验室,无锡 214122)
引 言
深度学习已经被证明在图像识别[1]、推荐搜索[2]等领域取得良好的效果。尤其是卷积神经网络(Convolutional neural networks,CNN)在ImageNet 数据集的图像识别上大放异彩[3],使得深度学习的研究愈加火热,成为人工智能领域的重要分支。虽然深度学习方法能够自动地提取原始数据的高级语义特征,并且能够满足实际应用中的端到端的需求,但是传统的深度学习模型属于标准的监督式学习。监督式学习的有效性有两个必要条件,一是依赖于大量的带有标签的训练数据,二是需要假设训练数据和测试数据服从相同的分布,二者缺一不可。然而在实际应用场景中这两个条件并不一定成立,一种情况是如果需要在一个全新的场景下实现分类任务,这时需要收集大量的训练数据并且要标注数据,数据标注的过程必然会浪费大量的人力资源,这是制约深度学习向前进一步发展的一大阻碍。另一种情况是受到外界环境的影响,数据的分布会随着时间、天气和视点的不同而发生变化,造成了数据集偏差,使得训练数据和测试数据之间的分布不匹配,这样的网络即使在训练集上表现良好,但在测试集上的分类性能会大大降低。因此,解决标签不足和数据集偏差的问题成为了深度学习领域的又一大挑战。
针对标签不足和数据集偏差问题,迁移学习是一种强有力的解决方法。迁移学习是一种新颖的学习策略,近年来引起了许多人工智能学者的广泛关注。它的主要任务是通过缩小源域数据和目标域数据之间的分布差异来将相关知识从数据标签丰富的源域迁移到数据标签匮乏的目标域,利用源域的知识来辅助目标域的数据进行训练。由于迁移学习的任务不需要对目标域数据进行标注,因此在一个全新的应用场景下应用迁移学习的思想会使得模型在精度和泛化性能上具有较大的优势。根据迁移的内容不同,可以将迁移学习的方法分为如下4类:基于样本的迁移学习方法[4⁃5]、基于特征的迁移学习方法[6⁃7]、基于参数的迁移学习方法[8⁃9]和基于关系⁃知识的迁移学习方法。本文主要关注的是基于特征的迁移学习方法,主要思想是最小化两个域的数据在共享子空间的距离,也就是说通过一个特征变换使得源域数据和目标域数据在某个特征空间上表现出相似的性质。基于特征的迁移学习方法的主要区别在于特征空间的构造方式不同以及在特征空间上不同域之间的距离度量不同。通过迁移学习方法得到源域数据和目标域数据在特征子空间的表示后,便可以利用传统的机器学习算法对源域数据训练,从而实现对缺乏标注的目标域数据进行分类。
近年来,人工智能领域已经涌现出许多关于深度迁移学习方法的研究[10⁃11],主要应用在对象识别领域。深度迁移学习方法的基本思想是通过将源域分类误差和不同领域之间差异的凸组合最小化来预测目标域数据集分类误差的误差上限[12]。实际上,深度迁移学习网络大多数是通过在网络的特征提取器和分类器之间增加一个适配层,该适配层计算在特征子空间中源域和目标域数据之间的距离,将该距离加入损失函数中进行训练,通过最小化该距离来拉近源域和目标域数据的分布,使得提取到的不同域之间的深层表示有着极为相似的语义特征。Tzeng 等[13]提出了深度域混淆网络(Deep domain confusion,DDC),DDC 在AlexNet 的网络架构上引入了最大均值差异(Maximum mean discrepancy,MMD)作为不同域之间的距离度量,以此来减少不同数据域之间的分布不匹配问题,通过联合优化源域损失和MMD 来减少目标域数据的损失。Long 等[14]提出了深度适配网络(Deep adaptation networks,DAN),该网络在特征提取器和分类器之间添加了3个适配层,并且在每个适配层采用了表征能力更好的多核MMD(Multi kernel⁃MMD,MK⁃MMD)来度量不同数据域之间的分布差异,DAN 网络的训练时间并没有增加,但是在多个任务上却取得了比DDC 更好的效果。Tzeng 等[15]认为传统的深度域适应网络只在不同数据集之间进行了边缘分布的适配,没有考虑到类别之间的信息,因此提出了一个软标签损失来进行不同数据域的标签适配,最终的损失函数应包括源域的分类损失、域适应损失和软标签损失3 部分。Ganin 等[16]提出的领域对抗神经网络(Domain⁃adversarial neural network,DANN)首次利用对抗机制的思想来进行深度迁移,将特征提取器看成生成对抗网络(Generative adversarial networks,GAN)[17]的生成器,将域适应器看成生成对抗网络的判别器,以此提取出源域和目标域的共同特征来实现知识的迁移。Bousmalis 等[18]在领域分离网络(Domain separation networks,DSN)中提出了公有特征和私有特征的全新概念,DSN 认为源域和目标域都由两部分组成:公有部分和私有部分。公有部分用来学习源域和目标域之间的公有特征,私有部分用来保持不同域独立的特性。DSN 认为深度域适应网络的损失函数应该由4 部分组成:分类损失、私有部分的重构损失、私有部分与公有部分的差异性损失以及源域和目标域公有部分的相似性损失。Ghifary 等[19]在深度重构分类网络(Deep reconstruction⁃classification networks,DRCN)中利用自动编码器的思想,在传统的CNN 上添加了一个新的分支,该分支利用上采样的思想将数据的深层特征映射回原始数据,这样保证在提取源域的特征进行分类的同时添加了目标域数据的部分特征。针对样本标签空间不同的问题,Cao等[20]提出了选择性迁移网络(Selective adversarial networks,SAN),SAN 认为在域适应的过程中,源域的类别往往很多,而目标域的标签类别通常只会包含一小部分,直接用源域所有数据来进行域适应不可避免地会产生负迁移的效果。基于此问题,SAN 提出了两种约束,一种约束是基于样本级别的概率权重判别器,该约束可以选择源域中和目标域数据更为相似的样本参与迁移,另一种约束是基于类别级别的约束,该约束避免了不在目标域标签空间中的类别参与迁移。周晶雨等[21]提出了目标域不平衡场景下的在线迁移学习,设计了在目标域输入空间和特征空间过采样的方法有效地增强了目标域的分类性能。Long 等[22]提出的条件对抗域适应(Conditional adversar⁃ial domain adaptation,CDAN)不仅对齐了源域和目标域的特征信息而且也对齐了标签信息,并且利用了多线性调整的方法来捕获多模态结构。Zhu 等[23]认为以往的域适应都是基于全局的域对齐方法,提出的深度子域适应网络基于最大均值差异的思想提出了局部最大均值差异来对齐相关子域的分布,局部最大均值差异中源域数据的类别用真实的one⁃hot 向量,而目标域数据的类别用网络分类得到的伪标签。针对开放场景下的域适应,分离适配(Separate to adapt,STA)[24]采用渐进式分离的方法逐步分离目标域中的已知类和未知类,STA 认为目标域中的已知类和源域仅仅具有分布上的偏移,而未知类和源域不仅有分布间隙,而且还存在着语义间隙。STA 首先利用源域数据训练多二元分类器以估计目标域中的数据和源域类别的相似性,将相似性高的作为已知类数据,相似性低的作为未知类数据,之后利用它们训练出一个细粒度的分类器来对目标域样本进行精细的分离。
在计算机视觉领域,浅层网络提取的特征往往是图像的边缘和纹理等几何特征,深层网络提取的特征往往是具有语义信息的更高级别的特征。传统的深度域适应方法都是基于单个特征图的特征来进行域适应,如果特征提取网络较浅,域适应过程只注重了几何特征信息的对齐而忽略了语义特征信息的对齐;如果特征提取网络较深,域适应过程只注重了语义特征信息的对齐而忽略了几何特征信息的对齐。现有的基于卷积神经网络的深度域适应方法都是基于单一特征结构来对齐不同数据域之间的分布,这样的方法会导致只有部分特征信息能够从源域迁移到目标域。为了解决这一问题,本文提出基于多尺度特征融合的领域对抗网络(Multi⁃scale domain adversarial network,MSDAN)模型。具体来说,MSDAN 通过对齐多个深层表示之间的分布来学习基于多结构的域不变的表示以迁移更多的信息。通过实验表明,该算法能够有效地提高图像领域的跨域识别精度。本文的主要贡献可以归纳如下:
(1)利用GAN 的思想提出了一个基于多尺度特征融合的领域对抗网络模型来提取基于多结构的域不变表示。
(2)通过在传统的数字数据集上的分类和迁移学习经典数据集Office⁃Caltech10 上进行多次实验证明了MSDAN 在迁移学习的任务上与其他算法相比有着明显的优越性。
1 相关工作
1.1 生成对抗网络
2014 年,GAN 作为一种全新的非监督式深度学习架构得到了快速的发展。GAN 利用生成器G和判别器D互相对抗的机制来模拟数据的真实分布,在图像生成、风格迁移以及人体姿态识别等多个领域具有较为广泛的应用。其中生成器G用来模拟数据的真实分布,生成以假乱真的数据;判别器D用来判别输入到网络的数据是来自于真实分布还是生成的分布。模型训练的目的是通过优化生成器G使得判别器的误差函数达到最大,优化判别器D使得判别器的误差函数达到最小。训练过程中二者互相对抗以得到最优的生成器和判别器。用x表示真实数据,z表示随机噪声,GAN 网络的目标函数最终表示为
式(1,2)表明GAN 的训练过程是一个最小最大优化问题,在网络训练过程中通过交替优化生成器G和判别器D,最终达到生成器G模拟出的数据分布尽量接近真实分布的目的。深度域适应问题要求输入到分类器中的深层特征表示不包含域的判别性信息,利用这一特性将GAN 的判别器作为域适应组件来提取源域数据和目标域数据的公共特征,当判别器无法判别输入的数据来自于哪个数据域时即表明提取的特征是源域数据和目标域数据的共同特征。
1.2 计算机视觉中的多尺度问题
在卷积神经网络提取特征的过程中,随着网络深度的不断加深,特征图所表示的语义特征越来越抽象,下采样的倍数越来越高,感受野也会随之变大,但是特征图的分辨率会随之降低,特征图所表示的空间几何信息也会越来越差。因此浅层特征图的分辨率较高,几何特征信息表征能力强,感受野较小,适合处理小目标对象;深层特征图的分辨率较低,语义特征信息表征能力强,感受野较大,适合处理大目标对象。实验表明利用多尺度模型融合不同特征图包含的信息作用于下游任务能够增强模型的鲁棒性和准确率。现有的多尺度模型结构大致分为如下4 类:多尺度输入、多尺度特征融合、多尺度特征预测融合以及以上方法的组合。MSDAN 模型利用的是多尺度特征融合的思想,利用深度网络多个尺度下的融合特征进行深度域适应。
2 MSDAN
本文利用并行分支网络结构(Inception 结构)[23]的思想提出了基于多尺度融合的领域对抗网络。Inception 结构的思想是从网络宽度上对CNN 进行改进,把经过不同尺度大小卷积核的特征图进行拼接,经过较大卷积核得到的特征图提取了图像的深层特征,经过较小卷积核得到的特征图提取了图像的浅层特征。最终得到的特征图融合了不同尺度的特征,如图1 所示。
图1 Inception 块结构图Fig.1 Architecture of Inception block
将输入的带标签的源域数据和不带标签的目标域数据得到了多尺度特征后,利用判别器来提取源域数据和目标域数据的共同特征,之后在共同特征的基础上可以利用带标签的源域损失来代替不带标签的目标域损失。
2.1 算法原理
图2 基于Inception 块的MSDAN 架构图Fig.2 Architecture of MSDAN based on Inception block
对于输入到MSDAN 中的第i个数据(xi,yi)或xi,如式(3)和式(4)所示,MS⁃DAN 的分类损失和域损失分别采用标准的交叉熵损失。其中di是自行构建的输入数据的域标签,如果输入到网络中的数据来自于Ds,di=0;如果输入到网络中的数据来自于Dt,di=1。e(yi)为数据真实类别标签的one⁃hot 向量。
为了方便表示,将式(3,4)表示为
2.2 算法过程
网络参数θ=(θc,θi,θy,θd);
平衡系数λ,迭代次数epochs,学习率α;
Adam 优化器参数:δ=10-8,β1=0.9,β2=0.999,m0=0,v0=0。
算法步骤
步骤1网络参数、超参数的初始化。
步骤3源域数据的前向传播
步骤4目标域数据的前向传播
步骤5目标函数
步骤6反向传播求梯度
步骤7Adam 参数更新
步骤8返回θ*=(θc,θi,θy,θd)
3 实验和分析
实验所用的数据集包括两部分,一部分是经典的数字图像分类数据集,另一部分是迁移学习经典数据集Office⁃Caltech10。本实验将所提出的MSDAN 模型与其他经典算法进行对比,证明多尺度融合的有效性。所有实验均在Python3.6 以及Pytorch1.0 的框架下实现,计算机处理器配置为Intel®CoreTM i5⁃4210 CPU@2.6 GHz,内存8 GB,在Windows10 环境下配置Python 环境以及Pytorch框架。
3.1 数字分类数据集下的实验
本组实验研究了MSDAN 在多个经典手写数字数据集上的域适应性能。所用数据集包括MNIST数据集,MNIST⁃M 数据集,SVHN 数据集和USPS 数据集。实验的目的是用一个带标签的数据集和另一个不带标签的数据集进行训练以对不带标签的数据集进行分类。
MNIST 数据集包括250 个不同人手写的10 分类灰度图像,有6 万张的训练图像和1 万张的测试图像,像素大小为28×28。MNIST⁃M 数据集由MNIST 数据集和BSDS500 数据集的随即色块混合而成,像素大小为32×32,包括59 000 张图像。SVHN 是采自于Google 街景图像中的门牌号,图像大小为32×32,包括4 578 张训练图像和1 627 张测试图像。USPS 数据集是美国邮政手写数字数据集,像素大小为32×32,包括999 张训练图像和250 张测试图像。在数据预处理过程中,所有输入图像通过随机裁剪、旋转和翻转的方式实现数据扩增,并把所有图像像素归一化到[0,1]之间。
现将提出的MSDAN 算法与以下算法进行比较来证明MSDAN 算法的优越性:(1)CovNetsrc。仅在源域上训练在目标域上测试的卷积神经网络;(2)SDA[25]。堆叠式降噪自动编码器,已成功应用到情感分析领域的迁移学习算法;(3)DRCN。深度重构分类网络,通过自动编码器的原理将目标域属于重构来进行迁移;(4)SA[26]。子空间对齐方法,通过优化一个函数来将源域空间映射到目标域空间实现无监督的迁移学习;(5)DANN。域对抗神经网络,通过生成对抗网络的思想将特征提取器和域适应器互相对抗来实现深层特征的领域不变性;(6)CovNettgt。通过带标签的目标域数据来训练网络模型并在目标域数据集上进行测试。
网络的详细配量以及复杂度分析如表1 所示。在不同数字数据集的深度域适应网络中,网络的隐藏层均使用RELU 激活函数,在标签分类模块和域适应模块的最后一层均使用交叉熵函数来作为损失函数。网络使用Adam 作为优化函数,学习率大小设置为0.01 并使用学习率衰减策略,其中λ是需要手动调节的超参数。
表1 数字数据集参数设置以及复杂度分析Table 1 Parameter setting and complexity analysis of digital datasets
表2 总结了在相同环境下的数字数据集独立运行10 次的跨域识别精度。在3 组跨域识别的任务上应用了MSDAN 模型,从表2 可以看出,在MNIST 数据集到MNIST⁃M 数据集的跨域识别任务上,MSDAN 的分类精度达到了81.9%,较DANN 算法提高了约4%。在SVHN 数据集到MNIST 数据集的跨域识别任务上,分类精度达到了70.8%,较DANN 算法提高了约4%。在MNIST 数据集到USPS数据集上的跨域识别精度达到了87.9%,比DANN 算法提高了约3%。综合3 组数字数据集的跨域识别精度,MSDAN 在图像跨域识别任务上的精度比DANN 算法平均提高了3.8%,MSDAN 算法精度提升的关键是利用了多尺度特征融合的思想来提取出基于多结构的图像域不变表示,能够将源域的更多信息迁移到目标域,例如图像的色调、亮度以及饱和度,与基于单一结构的图像域不变表示的DANN 算法相比,迁移的知识更加全面。因此,在无监督域适应的分类任务上,MSDAN 模型相较其他域适应模型具有明显的优越性。
表2 数字数据集运行10 次平均分类精度Table 2 Average classification accuracy of 10 times on the digital datasets %
3.2 Office‑Caltech10 数据集下的实验
本组实验研究了MSDAN 在Office⁃Caltech10 数据集不同域上的域适应性能。该数据集包括4 个数据域:Amazon,Caltech,Dslr,Webcam,每个数据域包括10 个类别的图片。4 个域的图片是在不同的环境下由单反相机和网络相机拍摄的图像,拥有着不同的数据分布。训练前将图像像素值归一化到[0,1]之间。在每次迭代过程中,每张图像随机裁剪为224×224 的大小并且随机进行水平翻转。
在Office⁃Caltech10 数据集上将MSDAN算法与以下算法进行了对比实验:(1)CovNetsrc,仅在源域上训练在目标域上测试的AlexNet 网络;(2)JGSA[27],联合几何对齐和统计对齐,同时减少域之间的分布差异和几何差异来进行域适应;(3)DDC,深度域混淆网络,通过在网络中添加适配层来减少不同域之间的最大均值差异以此来保持领域不变性;(4)DANN,域对抗神经网络,利用GAN 的思想来实现源域和目标域的不可区分性;(5)DARCN[28],深度对抗重构分类网络,在生成对抗网络的基础上,通过在优化目标中添加目标域的重构损失来进行目标域数据的信息保持;(6)CovNettgt,通过带标签的目标域数据来训练网络模型并在目标域数据集上进行测试。
在Office⁃Caltech 数据集上进行实验的网络参数如表3 所示。在网络正向传播过程中使用RELU函数作为激活函数,在标签分类模块和域适应模块的最后一层均使用Softmax 函数将网络输出归一化到0~1 之间,网络使用交叉熵函数作为损失函数。网络使用随机梯度下降法优化目标函数,特征提取模块和域适应模块学习率为10-5,分类器学习率大小为10-3。
表3 Office‑Caltech10 数据集参数设置以及复杂度分析Table 3 Parameter setting and complexity analysis of Office‑Caltech10 dataset
表4 总结了相同环境下在Office⁃Caltech10 数据集的不同域之间独立运行10 次的跨域识别精度,从表4 可以看出,从Webcam 数据域到Amazon 数据域上的跨域识别任务的精度达到63.9%,从Dslr 数据域到Amazon 数据域上的精度达到64.7%,从Dslr 数据域到Webcam 数据域上的精度达到90.0%,MSDAN 算法比DANN 算法的平均识别精度提高了2.6%,这是因为MSDAN 通过将卷积神经网络的多个深层表示进行对齐,通过这种方法提取了源域和目标域的公共几何特征和公共语义特征,将源域的更多知识迁移到目标域。如若在更大的数据集上测试算法的性能,可以用ResNet 网络模型代替AlexNet 网络模型。由表4 可见基于多尺度特征融合的领域对抗网络相较于其他算法在域适应的任务上有着明显的优越性。
表4 Office‑Caltech10数据集运行10次平均分类精度Table 4 Average classification accuracy of 10 times on the Office‑Caltech10 dataset %
4 结束语
对于图像分类场景下的迁移学习问题,提出了一种基于多尺度融合的领域对抗网络模型。该模型减少了原始数据在多个子空间下的域适应偏差,有效地提取了多个尺度空间下的不同数据集之间的共享特征。利用基于并行分支的多尺度融合模型来实现不同特征空间下的领域自适应,实验证明该方法较单一尺度下的领域自适应相比有较大的提升。这种通过并行分支的多尺度融合思想也可以推广到其他深度域适应网络中。