1.深度域混淆自适应
在图像分类任务中,当源域数据和目标域数据具有不同的分布时,使用源域数据训练的分类器仅符合源域数据分布,其分类性能在目标域会显著下降。如果能学习到使源域和目标域数据分布差异最小的源域和目标域数据的特征表示,就可以将使用源域数据训练的分类器有效迁移至目标域。Tzeng等人[31]提出了深度域混淆(deep domain confusion,DDC)自适应方法,通过在源域与目标域的特征提取网络之间添加了一层自适应层,使网络学得的源域和目标域的数据分布尽可能靠近。在训练网络时,设计域混淆损失函数,让网络在学会如何分类的同时能有效减小源域和目标域之间的域偏移。
1)网络结构
深度域混淆方法以AlexNet为基础模型,使用有标注的源域数据训练AlexNet来学习源域数据特征表示和分类模型。AlexNet包含5个卷积层和池化层,以及3个全连接层。为使在源域训练的AlexNet能自适应到目标域,将自适应层置于第二个全连接层和第三个全连接层(softmax分类层)之间,并通过网格搜索确定该自适应层的参数维度。无标注的目标域数据也参与整个网络的训练。网络训练时,采用源域数据的分类损失以及使得源域和目标域数据分布差异最小的域适应损失。图4.11为深度域混淆自适应方法的网络结构。
图4.11 深度域混淆自适应方法的网络结构[31]
2)损失函数
损失函数的设计目标不仅要最小化分类误差,还要最小化不同域之间的距离(即最大化域混淆),如图4.12所示。
为满足上述两个目标,深度域混淆方法分别构造基于最大均值差异的域适应损失函数和基于交叉熵的分类损失函数,表示为
其中,Lc(Xs,Ys)为采用交叉熵形式根据源域数据Xs及其标注Ys计算的分类损失,其具体形式是交叉熵;λ为平衡参数;MMD(Xs,Xt)为源域数据Xs和目标域数据Xt之间的最大均值差异,定义为
其中,φ(·)为将样本映射到可再生核希尔伯特空间的函数,使得源域和目标域的数据分布差异可以在该空间进行度量。
图4.12 最小化分类错误和最大化域混淆[31]
2.深度适应网络
深度神经网络不同层所学习到的特征其迁移能力各不相同。较浅层的特征具有通用性,其本身可迁移能力较强;较深层的特征具有任务特定性,其可迁移能力较弱。因此,要想提高模型的迁移能力,就必须提高较深网络层的自适应性。前面介绍的深度域混淆自适应方法只采用了单个自适应层来对齐源域和目标域的特征分布,其网络迁移能力仍然有限。因此,Long等人[32]提出了深度适应网络(deep adaptation networks,DAN),设计多个自适应层以实现多层特征分布对齐。在每个自适应层采用多核最大均值差异度量源域和目标域之间的数据分布差异,从而进一步提高网络的域适应能力。
1)网络结构
深度适应网络以AlexNet为基础模型,将原始的3个全连接层均改为自适应层。相比于深度域混淆方法中的单个自适应层,深度适应网络通过多个自适应层来对齐源域和目标域的特征分布,更好地减少源域和目标域之间的域偏移;同时采用表示能力更强的多核最大均值差异来度量源域和目标域之间的数据分布距离。不同的核对应于不同的再生希尔伯特空间。通过自动学习每个核的权重,多核方法能有效提升“好”核的影响、降低“坏”核的影响,有利于提高域偏移度量的鲁棒性。图4.13为深度适应网络结构。
图4.13 深度适应网络结构[32]
2)多核最大均值差异
设Hk表示核k对应的再生内核希尔伯特空间,分布p和分布q之间的多核最大均值差异dk(p,q)可由p和q在Hk中的平均嵌入距离定义,表示为
其中,E为数学期望;φ(x)为将样本x映射到与核k相关联的希尔伯特空间。当且仅当时,分布p和分布q相同,即p=q。将与映射φ(·)所相关的多个核定义为m个半正定核{ku}的凸组合,即(www.daowen.com)
其中,βu为第u个核的系数。与单核方法相比,多核方法虽然形式更复杂,但在实践中其性能更优。
3)损失函数
设源域为,目标域为,深度域适应方法的优化目标定义为
其中,Lc(·,·)为交叉熵损失;为将源域样本分配给第类别的概率。表示在第l个自适应层,源域和目标域之间的多核最大均值差异。是源域或目标域样本的第l层特征表示。l1和l2是自适应层索引,实验中设置为l1=6、l2=8。λ是分类损失和域适应损失之间的平衡系数。优化网络参数,使得网络在将源域样本正确分类的同时,减少源域和目标域的特征分布差异,使学得的分类模型更加适应于目标域任务。
3.残差迁移网络
深度域混淆自适应方法和深度适应网络均假设源域和目标域共享同一个分类器,并通过减少源域和目标域之间的分布差异,将源域分类器迁移到目标域上。2016年,Long等人[33]放宽了共享分类器的限制,允许源域和目标域的分类器有所不同,并假设源域分类器和目标域分类器之间存在残差函数。因此,他们提出了残差迁移网络(residual transfer networks,RTN),通过在神经网络中构建残差模块来显式地学习目标域分类器与源域分类器之间的残差函数。该方法突破了源域和目标域共享分类器的局限性,更加适用于实际应用场景。
1)网络结构
图4.14展示了残差迁移网络的网络结构及相关模块。如图4.14(a)所示,残差迁移网络以AlexNet为基础模型,在卷积层后增加1×1的卷积层fcb,称之为瓶颈层(bottleneck layer),用来减少特征的维度。降维后的特征输入全连接层fcc用于分类,该层称之为分类器层。在分类器层基础上,增加全连接层fc1和fc2(即残差层),与分类器层fcc的输出形成残差结构,从而使得fs(x)=ft(x)+Δf(x)。定义L={fcb,fcc}为自适应层,通过张量最大均值差异(tensor maximum mean discrepancy)度量源域和目标域在自适应层的特征分布距离,并最小化该距离以减少域偏移,如图4.14(b)所示。残差层的详细结构如图4.14(c)所示。不同于特征学习中的残差模块,通过如下定义:x≜ft(x),F(x)≜fs(x)和ΔF(x)≜Δf(x),以实现使用残差模块建模源域分类器和目标域分类器的差异。
图4.14 残差迁移网络的网络结构及相关模块[33]
(a)整体结构;(b)自适应层;(c)残差层
2)张量最大均值差异
设源域为,目标域为,采用多层特征表示之间的张量积进行多层特征融合。对于源域样本,有如下定义:,目标域样本,有如下定义:,其中,⊗表示张量积,和分别表示源域样本和目标域样本在网络第l层的特征表示。对于融合后的特征表示,采用最大均值差异度量源域和目标域之间的分布距离,称之为张量最大均值差异,定义为
其中,k为高斯核函数。用多层特征的融合特征来度量域分布差异,有利于捕获多层特征之间的相互作用,更好地减少域偏移。
3)损失函数
残差模块建模了源域分类器和目标域分类器之间的差异。然而,残差学习得到的目标域分类器与源域分类器通常差别不大,不能保证目标域分类器能很好地适应于目标域任务。为了解决这个问题,可以利用信息熵最小化原理,提高目标域分类器对目标域样本的分类置信度。具体优化目标为
其中,H(·)为信息熵函数,定义为;K为类别总数;为目标域分类器ft预测的被分类为第k个类别的概率。
综上,残差迁移网络的总体优化目标为
其中,第一项为根据源域数据及其标签定义的源域分类损失;第二项为信息熵损失;第三项为基于张量最大均值差异的域损失;λ和γ为各项损失之间的平衡系数。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。