杨海花,应文豪,龚声蓉,+
(1.苏州大学 计算机科学与技术学院,江苏 苏州 215006;2.常熟理工学院 计算机科学与工程学院,江苏 常熟 215500)
近年来,基于一个包含大量带标签样本的数据集(源域),设计一种跨域图像分类器算法来提高只有少量标记样本数据集(目标域)上的分类准确率引起了广泛的关注[1],跨域图像分类方法主要分为两类,一方面是对两域间样本数据的边缘和条件做适配[2-7],这类方法学习到的特征往往泛化能力较弱。另一方面,许多研究开始将深度学习和跨域图像分类相结合,旨在学习更鲁棒的特征。Rozantsev等[8]提出源域和目标域的网络框架中部分层使用不同的参数而非共享参数;Zhang等[9]将源域和目标域分别输入到两个网络,并且不分享参数以提取出更多的域特定特征;Shen等[10]利用同一网络对源域和目标域编码,并优化两个编码的相似性使源域和目标域的数据分布在语义上对齐;Lee等[11]提出Sliced Wasserstein Discrepancy用于捕捉任务特定分类器输出之间的自然差异;Ganin等[12]通过优化网络架构最小化域间差异。上述方法都取得了较好的结果,但在提取特征时对两域中图像的域不变细节信息缺乏考虑。
综上,为了充分利用数据中的细节信息,本文提出基于混合池化和样本筛选机制的域不变细节特征提取方法(fine-tuned hybrid pooling for deep domain adaptation,FHPDDA)。首先,本文基于卷积神经网络提出混合池化策略,在原先的池化结果上进一步提取全局特征和局部细节特征。其次,本文设计了一种样本选择机制,基于聚类思想从源域和目标域中选取具有细节特征的样本点,以学习两域间的共有细节特征。
WDGRL(wasserstein distance guided representation learning)的核心思想是将wasserstein距离作为距离度量函数,并通过减小域间距离来学习域不变特征表示。为了更好阐述该方法中的相关问题,下文中Ds表示源域,Xs表示源域中的样本集合,Dt表示目标域,Xt表示目标域中的样本集合。WDGRL的目标函数如下
(1)
其中,Lc为判别器的数据损失部分,λ和γ为平衡参数,Lwd为WDGRL方法中的核心,表示源域和目标域之间的差异程度,Lgrad为梯度惩罚项。
差异程度又可转化为两者之间的距离。针对不同的问题,研究人员提出不同的距离度量标准。WDGRL方法采用的wasserstein距离和其它距离相比,它的优越性是,即使两个分布没有重叠,wasserstein距离仍然能够反映它们之间的远近。给定一个度量空间 (M,ρ),ρ(x,y) 是两个样本x和y间的距离函数,即wasserstein距离,表达式如下
(2)
其中,Phs,Pht是两个领域中样本的分布,fg(x) 为特征表示,fw(h) 为一个函数,该函数将特征表示fg(x) 转换为所属的类别编号。
如果 {fw} 满足1 Lipschitz条件,wasserstein距离又可以转化为求解模型的预测值与真实值之间的差值,即损失值。WDGRL方法中计算差值的损失函数如下
(3)
其中,xs表示源域中的样本,xt表示目标域中的样本,ns为源域的样本数,nt为目标域的样本数。
由式(3)可以看出,提取特征的好坏直接影响迁移效果。WDGRL模型利用卷积神经网络对源域和目标域中的样本分别进行卷积、池化等一系列操作,提取样本的描述子特征。因为特征中往往编码了某种模式或概念在特征图的不同位置是否存在,而观察不同特征的最大值能够给出更多的信息[13],所以WDGRL采用最大池化对卷积特征图进行处理,剔除无用且造成干扰的特征,仅保留能够表征图像内容的全局特征。但是,在实际分类任务中,有些图片的相似度很低,仅靠全局特征会造成机器的误判,图1(a)和图1(b)可能会被误判为车轮和眼镜,但实际上它们和图1(c)一样,都属于耳机这一类别。
图1 共有特征不明显的耳机类别
为了利用样本数据中的细节信息提高分类器的性能,本文提出了基于混合池化和样本筛选机制的域不变细节特征提取算法,算法过程见算法1。该算法的思路是首先为了提高分类器对细节特征的感应程度,本文对卷积神经网络中的池化层进行修改以优化特征分布,使得全局特征和细节特征均匀分布。其次利用筛选算法对细节特征进行聚类分析,挑选具有较强细节特征的样本,然后将这些新样本组成正样本对以学习源域和目标域两域间的域不变细节特征,提高目标域分类器对域不变细节特征的识别能力,从而提高识别准确率。与其它跨域图像分类算法相比,本文算法考虑了被忽略了的细节特征且通过适配正样本对的细节特征以获取域不变细节特征。具体网络框架如图2所示。
图2 FHPDDA算法框架
为了获取图像中的细节特征,本文首先利用卷积层M分别得到源域和目标域的样本xs和xt的特征表示fs和ft, 此时的特征存在许多无用特征,如背景特征。本小节提出的基于混合池化的域间迁移学习HPDDA(hybrid pooling for deep domain adaptation)首先对fs和ft进行下采样
(4)
(5)
其中,Nm是子区域的数量。αi、βi分别为源域和目标域中的子区域。max*表示最大池化。最大池化筛选出了对分类有益的全局特征,同时减少了下一层数据的处理量。此时的特征集合包含的大多是图像的全局特征,这导致最终用于目标域分类的特征缺失具有关键性作用的细节特征,所以本文对特征集合进一步处理并分类,一方面在全局特征中继续筛选能诠释全局的特征,一方面在全局特征中提取细节特征,这样既能提高分类器对细节特征的敏感度,又能保证特征分布的均匀化。之所以会在全局特征的基础上提取细节特征,是因为如果直接对原始的图像块进行细节特征提取,会有很多的干扰特征掺杂进来,这在实验部分也做了验证实验。第二次的特征筛选结果如下
(6)
(7)
(8)
(9)
其中,N1为经过第一次下采样后的子区域的数量。由于平均池化和最大池化提取的特征对于最终的分类任务的有效程度不一,所以需要平衡两者的关系。最终,我们通过合并上述池化结果的加权总和来制定最终的池化结果
(10)
(11)
然后将最终池化结果送入全连接层,得到最终的特征表示F(xs),F(xt), 并用第一小节提到的wasserstein距离来刻画源域和目标域之间的相似度,表示为
(12)
通过最小化LDA值来减小领域之间的差异,使得拥有相同标签但却属于不同分布的样本能够在映射空间中比较靠近或者分布相似。有许多工作只把焦点放在目标域分类准确率上,使得重新训练好的模型在目标域上有较好的效果,但往往这些模型不再适用于源域。所以HPDDA在减小域间差异的同时也考虑了分类误差最小化,实现过程及效果如图3所示,图中空心形状表示源数据,实心形状表示目标数据。这种情况下模型得到的特征大多具备鲁棒性,从而解决迁移中的泛化问题。实现细节是通过减小损失函数Lc来最小化分类误差
图3 HPDDA的两个优化目标
(13)
本文算法创新点之一就是通过改进卷积神经网络中的池化层,这充分利用了源域和目标域中样本包含的重要细节信息。本文的实验分别对集成了最大池化的算法和集成了混合池化的算法进行了实验,通过实验及分析,集成了混合池化的算法更能有效提高分类器的准确率。
算法1: hybrid pooling for deep domain adaptation
输入: source dataXs; target dataXt; learning rate for domain adapatationα; learning rate for classificationβ
输出: accuracy on target data
(1) Initialize feature extractor, domain critic, discriminator with random weightsθg,θw,θc
(2) repeat
(3) Sample minibatch {xs,ys},{xt,yt} fromXsandXt
(4) fort=1,…,ndo
(5)hs←M(xs),ht←M(xt)
(6)f1(xs)←maxpooling(hs),f1(xt)←maxpooling(ht)
(8)
(10) end for
(13) untilθg,θw,θcconverge
针对域间细节特征缺失的问题,本小节通过筛选后的正样本对预训练模型的参数进行优化,学习出源域和目标域之间的域不变细节特征。
2.2.1 训练样本筛选机制
2.1节用于学习细节特征表示的样本都是随机选择的,但是,如果源域和目标域所选择的样本不属于同一类别,那么学习到的细节特征就不是域不变的。为了得到域不变的细节特征,本文提出另一个重要的创新点,对原来的样本集进行筛选,将符合条件的样本组成新的样本集,并利用新的样本集合对2.1预训练好的网络进行微调,详细的新样本集筛选算法过程如下:
(1)利用用k均值聚类算法对全连接层的特征进行聚类,得到n个聚类中心 {c1,c2,…,cn};
(2)计算每个特征点与聚类中心点间的距离,记为Sfc, 我们认为,在聚类中心辐射范围内的特征表示属于同一特征表示,因它们在映射空间中是不变的,所以包含这些特征的样本具有相同的标签。本文将这个辐射范围定义为λ, 距离小于等于λ的被认为是正样本,其余样本则是负样本;
(3)在筛选的过程中,依然分为源域和目标域2个样本集,记为Xs,Xt, 并按照标签将其分为m个子数据集,其中Xs={[Xs1,Xs2,…,Xsm],Ys=[Ys1,Ys2,…,Ysm]},Xt={[Xt1,Xt2,…,Xtm],Yt=[Yt1,Yt2,…,Ytm]},m表示类别数,将两个域的样本集统称为DC。
至此,域不变细节特征学习中所用到的训练样本筛选结束。
2.2.2 微调学习机制
2.1节预训练的HPDDA模型虽然能够提取图像包含的细节特征,但必须保证训练的样本对属于同一类别才能提取域不变的细节特征,这对于随机选取样本的策略来说有很大困难。本小节利用筛选后的新样本集DC对预训练的模型进行微调,微调后的模型称作FHPDDA。FHPDDA保留HPDDA的卷积层C1-C2,对剩下的卷积层C3和全连接层FC1,FC2层的参数进行优化,训练流程如下:①对筛选后的样本进行数据增强;②每次从源域和目标域数据集中选择标签相同的样本对送入模型进行特征提取;③利用Softmax回归层进行有监督的学习训练,迭代微调需要优化层的训练参数,直至模型趋于收敛。
为了验证所提方法的有效性,本节将在多个具有迁移学习场景的图像数据集上设计多个学习任务:①讨论改进池化方法的有效性;②对超参数γ和聚类中心数n进行了研究;③讨论筛选后样本对提取域不变细节特征的有效性;④在MNIST-USPS和Office-Caltech数据集上进行了对比实验。
MNIST-USPS数据集。该数据集是迁移学习领域里使用较频繁的数据集,MNIST包含7万张黑底白字手写数字图片,其中55 000张为训练集,5000张为验证集,10 000张为测试集。本文将数据输入神经网络之前,先将图像的像素用长度为784的一维数组来代替,再将该数组作为神经网络的输入特征输入神经网络。USPS数据集中的训练集有55 000张图片,测试集有1860张。
Office-Caltech数据集。该数据集是域适配领域的一个标准数据集。它包含了10个类别,横跨了4个领域:Amazon, Webcam,DSLR和Caltech,分别记作A,W,D,C。本文利用这个数据集做了几组实验。
本文所有的实验都在TensorFlow框架上实现,所采用的软硬件环境为:Inter Core I5-4 GHz CPU;3.4 GB RAM,Ubantu16.04;Python 3.5;如无特别说明,在所有实验中参数学习率lr的初始化为1e-4。所提出网络框架中的卷积神经网络M是由3个卷积层组成,提取到的深度特征再送入本文提出的混合池化层,先经由最大池化层得到整张图像的全局结构信息,然后在后面叠加由最大池化和平均池化级联而成的级联池化层。最大池化层能进一步对图像的全局特征进行抽取,平均池化进一步获取特征图中的局部细节特征,使得最终提取的特征既包含全局特征,也没有忽略具有关键细节信息的局部特征。最后连接两个全连接层,分别有1024和100个神经元。
3.3.1 融合实验
为了验证混合池化的有效性,本部分将对池化部分做一个融合实验。表1是我们的实验结果,其中WDGRL表示对原先的特征提取器不做任何改变,WDGRL union mean-pooling表示在原有的最大池化层级联一层平均池化,并通过一定比例的系数将两者进行加权得到最后的池化结果;WDGRL+mean-pooling表示在原有的最大池化层后增加一个平均池化层,将平均池化层的输出作为最后的池化结果;HPDDA则是2.1提出的基于混合池化的域间迁移方法。从表1可以看出,当直接与平均池化层级联时,分类准确率下降的很快,这是因为对原有的特征图进行平均池化,会将很多的背景信息当成是主要特征,而这些特征导致机器判断错误,准确率下降。直接在最大池化层后增加平均池化层后,分类准确率得到显著提升,这是因为通过最大池化后,背景及其它噪声已被剔除,再利用平均池化对局部特征提取的有效性,提取特征图的主要特征及细节特征。而对于本文提出的混合池化,它在上一个方法的基础上又级联了一层最大池化连接最大池化后的结果,得到的特征既包括全局特征又有细节特征,这使得分类准确率有了进一步的提升。
表1 改进池化方法的有效性评估
3.3.2 超参数的有效性分析
3.3.2.1 混合池化层的权重参数γ
因为要对两个池化结果进行加权求和,所以本小节的实验利用MNIST-USPS数据集对权重的选择进行了讨论。如图4所示,将最后一层为最大池化的权重设为γ, 最后一层平均池化的权重设为1-γ。
图4 混合池化的过程
表2记录了权重参数γ选取不同值时的分类准确率。由表2可以看出,当γ=0.6时,准确率达到最高,说明虽然利用最大池化实现下采样可以提取出图像的主特征,但对于本文所要处理的任务来说,仅使用一层最大池化提取到的特征并不能使分类器达到最佳状态,因为缺失了局部细节特征。当γ<0.6时,准确率不断提升,而且提升最大的达到2%,这说明平均池化虽然可以得到细节信息,但是也会得到很多无用甚至干扰分类结果的信息,直接导致分类准确率的下降。当γ>0.6时,准确率缓缓下降,这说明最大池化和平均池化是相辅相成的,并且最大池化占有主导地位。
表2 混合权重参数对分类准确率的影响
3.3.2.2 聚类中心数n
聚类中心数对筛选后样本的质量有着直接影响,所以本小节的实验对聚类中心数n进行了讨论。图5是HPDDA在MNIST-USPS数据集上超参数n取不同值对应的分类精度图。从图5可以看出,当聚类数n等于3时,HPDDA在MNIST-USPS数据集上的分类精度达到最高。当n<3时,网络的分类精度下降。可能的原因是每个类别的样本都很大,因此会引入更多的噪声。当n>3时,分类精度也下降。其原因可以归结为样本量稀疏问题。
图5 n值对分类准确率的影响
3.3.3 样本筛选有效性分析
本文主要是通过提取域间不变细节特征提高目标域分类器的分类性能。2.1节的训练样本是以随机选择的方式抽取的,这样无法保证提取到的细节特征是域间不变的,所以2.2节提出利用样本筛选机制筛选出具有显著细节特征的样本,并按标签从源域和目标域抽取同一类别的样本,送入卷积神经网络进行特征提取,为了验证本文提出的样本筛选机制的有效性,本小节利用筛选后的样本对2.1训练好的模型进行微调,实验结果如下所示(黑色加粗数据表示精度最高)。
HPDDA是集成了本文改进后的混合池化的分类器模型,FHPDDA是对HPDDA进行微调所得的分类器模型。从表3可以看出,FHPDDA的分类准确率普遍比HPDDA高,因为本文采用样本筛选机制筛选出的样本有助于域不变细节特征的提取,从而提高目标域分类器对图像中细节信息的敏感度。
表3 微调机制对分类准确率的影响
3.3.4 FHPDDA与其它方法的性能比较
进行实验对比的是近年来具有代表性的研究成果,包括Deep CORAL[3]、DANN[10]、WDGRL[14]。
S-only:制定一个最低的基准。利用源域的标签数据训练一个识别网络,该网络由两层卷积、两层池化和两层全连接层,再通过反向传播算法训练网络。最后将训练好的网络直接用于目标域。
Deep CORAL:通过减少源特征和目标特征的二阶统计量之间的距离来最小化域差异。
DANN:通过一个对抗模型来提高特征表示的质量,该模型能够区分源样本和目标样本的学习特征,而特征抽取器试图混淆域分类器。
WDGRL:将wasserstein距离作为模型的loss函数,并通过迭代对抗训练减小域间差异提高迁移效果。
从表4的结果可以看出,对于MNIST-USPS,本文提出的策略和其它几种方法相比有较好的改善因为MNIST和USPS两个域的差异并不是特别大,所以大部分方法的迁移效果都比较好,而本文提出的混合池化因同时兼顾了全局信息和局部细节特征,使得提取的特征分布更均匀且更具鲁棒性,所以最终分类准确率提高了约2%。对于Office-Caltech数据集,与其它方法相比,本文提出的算法在分类效果上都有明显的提升。其中,Webcam和Amazon两个域之间的差异很大,以前的方法改善并不是很明显,原因是对于这种差距比较大的数据集,很难学习到它们之间的共有特征,所以导致分类效果大打折扣。而本文提出的算法的准确率提高了约2%,这表明该方法对于差异比较大的领域提取的特征是具有鲁棒性的。
表4 FHPDDA与其它方法的性能比较
图6、图7分别为MNIST迁移到USPS的精度方差/标准差曲线图和损失值曲线图。图6中的accvar_source,accvar_target 分别表示源域和目标域中测试样本的精度方差,accavg_source,accavg_target分别表示源域和目标域
图6 分类精度的标准差/方差
中测试样本的精度标准差。可以看到源域和目标域精度方差的波动幅度差不多,前期波动较大,说明该网络框架并不是很稳定,经过10 000次迭代训练后,精度方差值趋于平稳,且趋于0,这说明本文提出模型的精度已经达到最好。图7中源域和目标域的loss值经过10 000次迭代后趋于平稳,这说明模型已经收敛。
图7 源域及目标域的损失值
本文提出了一种基于混合池化的深度卷积特征提取方法。通过对最大池化后的特征进行最大池化和平均池化的级联,使得提取的特征在包含全局信息的基础之上对细节信息更加敏感,并利用筛选后的正样本提取图像间的域不变细节特征,以获取更具鲁棒性的细节特征,最终提高分类器在目标域上的准确率。与最近针对域适配问题提出的算法相比,本文提出的策略不仅在目标域上的分类准确率有所提高,在源域上的准确率也有小幅度提高。
实验结果虽然验证了混合池化策略的有效性,但依然有待改进的地方,其中一个是可以对源域中的样本进行预处理,去除一些背景信息较多的图像样本;还有一点是实验中只在最后一个卷积层之后采取了混合池化策略,如果在每一个卷积操作后都采取该策略效果是否会更好。这两点是以后工作研究的重点。