基于主动学习的半监督领域自适应方法研究①

2020-09-18 11:44姚明海黄展聪
高技术通讯 2020年8期
关键词:源域分类器标签

姚明海 黄展聪

(浙江工业大学信息工程学院 杭州 310023)

0 引 言

自2006年Hinton等人[1]采用逐层初始化解决深度神经网络训练以来,深度学习已广泛用于模式识别、图像理解、机器翻译等领域。2016年,深度学习模型在ImageNet图像集上的识别错误率已经低于人类[2]。然而,现有的深度学习模型训练都以监督学习为主[3],为了训练包含巨大参数量的模型,需要大量的人工标注训练样本,并假设训练和应用场景数据属于同一分布。但在实际中,由于许多因素(如照明、姿态和图像质量等)的影响,训练和应用场景的样本分布往往不一致,使训练好的模型在应用场景下的性能严重降低。此时需要重新标注应用场景数据再进行训练,而为新任务标注数据集并重新训练是昂贵且耗时的过程,上述问题成为深层神经网络应用中新的难题。

领域自适应学习[4]是一种解决如何将分类器从训练场景迁移到与之不同的应用场景的新型机器学习方法,其中训练场景称为源域,应用场景称为目标域。源域和目标域的分布虽然不同,但是具有一定相关性,且只有源域数据具有标签信息,而目标域数据没有或者只有少量标签信息可用[5]。从领域自适应学习提出至今,学者们已经提出了许多方法。Fetzer等人[6]引入了深度域混淆(DDC)架构来学习最后隐藏层中源域和目标域的域不变特征。Long等人[7]不局限于仅适配单一层,提出了一种深度自适应网络(DAN),进行多层适配来学习2个领域间的可迁移特征。之后,Long等人[8]在DAN的基础上,提出了联合自适应网络(JAN),基于联合最大均值差异(JMMD)进行多个领域特定层的联合分布,使得源域和目标域的分布更加可区分。

国内方面,袁丁等人[9]在DAN[8]的基础上引入了聚类辅助特征对齐,该方法通过聚类获得目标域数据伪标记,并将聚类和域适应2个过程训练的分类器进行继承学习,以提升模型的最终效果。蔡瑞初等人[10]提出类内最大均值差异技术对齐2个领域的类内分布,既保留分类信息,又减少了领域专用信息的干扰。

文献[6-10]方法共同特点是训练时同时输入已标注源域样本和未标注目标域样本,训练中除了利用源域样本学习如何优化分类器外,还学习源域和目标域的数据关联,进而提取领域不变特征[5],建立更优秀的学习模型。由于这些方法在训练时不需要任何目标域数据的标签信息,因此属于无监督学习范畴。虽然文献[6-10]的方法取得了一定效果,但从结果上可以发现仅使用源域标签信息学习得到的模型仍然无法完全适配目标域。

本文提出了一种基于主动学习的半监督领域自适应方法,该方法与文献[6-10]方法的主要差别在于利用了少量的目标域标签信息辅助源域上学习得到的分类器更好地迁移到目标域。为了实现上述目标,首先用源域和未标记的目标域数据训练深层神经网络作为初始模型,该模型可以通过提取领域不变特征让源域上学习得到的特征分类器基本适用于目标域。然后结合主动学习进一步加强领域自适应效果,具体做法是通过特定的样本选择策略不断挑选目标域中最具代表性的样本进行人工标注,然后迭代训练已有模型,直到预先设置终点。最后,在SVHN、MNIST和USPS数据集上分别进行了实验,实验结果表明,本文方法的领域自适应能力优于目前具有竞争力的同类方法。

1 主动学习

在训练深度神经网络模型的时候,随着训练数据的增加,网络模型的精度会不断提升。但是当训练数据量达到临界值时,精度基本不会产生变化,而这个临界值和数据样本本身有关。主动学习[11]可以通过挑选更具代表性的样本迭代训练模型使临界值更早地到来,既提升了模型收敛的速度,同时节省了人力标注的成本。

图1是主动学习的基本流程,主要包括“学习模块”和“选择策略”2个最基本的重要模块。“学习模块”通过不断地迭代训练网络模型来提高分类器的分类精度和鲁棒性;“选择策略”模块通过某种选择策略选择出更具代表性的样本进行标记之后送入“学习模块”。

目前常见的领域自适应方法,如文献[6-10]仅利用已标注源域样本和未标注目标域样本本身数据关联性学习得到的模型仍然无法完全适配目标域数据,因此可以考虑适当利用少量的目标域标签信息提升领域自适应效果,主动学习正是用于解决标注样本短缺条件下如何训练机器学习模型。文献[12,13]的ALDA(active learning for domain adaptation)算法证明了这种结合的可行性,ALDA包括3部分,源域分类器Wsrc、目标域分类器Wds和域判别器uφ。ALDA使用uφ从未标记的目标域样本中选择样本然后决定是使用Wsrc获取标签还是人工标注,uφ不断使用标注后的样本训练。

与ALDA不同,本文提出的方法使用了深层神经网络,网络中的域判别器除了在训练中帮助减小源域和目标域在特征空间上的差距外,还参与了样本选择。第2节将具体介绍本文算法。

图1 主动学习基本流程

2 基于主动学习的半监督领域自适应方法

2.1 问题定义

本文以图像分类问题为背景,问题中的输入记为x∈X,x对应的标签记为y∈Y,Y是一个有限的集合,Y={1,2,…,L}。假设在X⊗Y上存在2个分布PS(x,y)和PT(x,y),代表源域数据分布和目标域数据分布。上述两者分布都是复杂且未知的,并存在一定差距。

根据源域和目标域分布的边缘分布PS(x)和PT(x)可以获得大量的训练样本集合{x1,x2,…,xN}。本文使用一个0或1的标量di代表第i个样本xi来自哪一个域,di等于0代表xi~PS(x),反之di等于1代表xi~PT(x)。为了后续描述方便,源域样本集合记为Ls,目标域样本集合记为UT。

在初始训练时,源域样本的标签是已知的,而目标域样本的标签是未知的。之后的训练中,需要从目标域中挑选样本进行人工标注加入源域数据并重新训练模型。

本文最终的目标是给定来自目标域分布的输入x时,能够预测它的标签。

2.2 网络结构

现定义一个深层神经网络,其作用是对于每一个样本x预测其分类标签y∈Y和领域标签d∈{0,1}。为了完成上述映射,网络结构分成3部分,如图2所示。先让输入x通过一个特征提取网络Gf,其把x映射成一个D维特征向量f∈RD。Gf由一系列卷积层和激活函数层组成,其参数记为θf,此时有f=Gf(x;θf)。然后,使用另一个卷积神经网络Gy作为标签预测网络把f映射成分类标签y,Gy参数记为θy。同时,使用另一个卷积神经网络Gd作为域预测网络把f映射成领域标签d,Gd参数记为θd。

在训练时,首先希望减小源域数据的标签预测损失,并基于此优化Gf和Gy的参数。这使得不同类别的输入训练得到的特征f具有区分性,并保证Gf和Gy的组合对于源域数据能成功地预测其标签。

同时,特征向量f应具有领域不变性,即源域数据和目标域数据都通过Gf映射到同一个特征空间,映射后的特征分布PS(f)和PT(f)尽量一致,从而让标签分类网络Gf适用于目标域数据的特征图,保证总体上源域和目标域数据标签预测准确率一致。

受到对抗神经网络[14](generative adversarial network,GAN)的启发,本文使用额外的网络Gd来衡量PS(f)和PT(f)一致性。在训练中,Gf尽量输出让Gd分辨不出来自源域还是目标域的特征向量,Gd尽量分辨出数据来自于哪一个域,最终,Gf与Gd博弈的结果是源域和目标域的数据在特征空间上分布一致,继而可以用Gf来分类目标域的数据。

为了实现上述训练目标,本文设计损失函数如下,其中λ是权重系数,Lc是交叉熵。

E(θf,θy,θd)=λEx~PS(x)[Lc(Gy(Gf(x),y))]

+Ex~PS(x)[logGd(Gf(x))]

+Ex~PT(x)[log(1-Gd(Gf(x)))]

(1)

与GAN网络的对抗训练方式一致,利用上述损失函数在训练中更新θf和θy时需固定θd,反之在更新θd时需固定θf和θy,即,

(2)

图2 网络结构图

2.3 重要性分数

通过训练上述网络得到的模型M已经具备对Ut样本分类的能力,但训练过程中仅利用了源域标签,最终预测精度具有局限性,在实验分析部分可看到具体结果。因此本文选择从Ut中选择少量重要的样本标注后迭代训练M,以提升M分类精度,本小节介绍如何计算Ut中样本重要性分数用以后续选择。

文献[15]提出了一种带权重的领域自适应损失函数,如式(3)所示:

(3)

本文将上述2个特征用于目标域样本重要性分数计算,但直接应用存在困难,首先因为w(x)计算时无法直接估计源域和目标域2个高维分布,其次由于目标域样本没有标记导致无法计算其经验风险。

(4)

针对第2个问题,本文使用目标域样本的熵近似交叉熵[16]。最终定义样本的重要性分数s(x)如下,其中H(·)代表熵值。s(x)越大表示该样本越值得标注。

(5)

2.4 主动学习过程描述

输入已标记源域数据LS,未标记目标域数据Ut,已标记目标域数据LT,预设轮数b。

模型M={Gy,Gf,Gd},具体结构及目标函数见2.2节。

步骤1利用LS和UT训练M,训练采用目前常见的小批量训练梯度下降(mini-batch gradient descen)法[17],每个批次从LS和UT中随机采样。

步骤2根据2.3节的方法,使用训练完成的M计算UT所有样本的重要性分数s(x),降序排序选取前b个进行人工标注,其集合记为LT,此时UT=UT/LT。

步骤3使用LT、LS、UT重新训练M。与初始阶段只有一个源域不同,现在有LS和LT2个源域。此类多源域领域自适应问题的泛化边界[18]如下:

(6)

εa(h)=atεT(h)+asεS(h)

(7)

因此,使用Ls、Lt、Ut重新训练模型M时可以把LS、LT看成整体,同样采用步骤1的小批量训练梯度下降法,每个批次从Ls、Lt、Ut随机采样。

步骤4重复步骤2和3,直到M的总训练次数到达预设值b。

3 实验与分析

3.1 数据集介绍

本文选择MNIST数据集,SVHN数据集和USPS数据集作为本文的实验对象。MNIST数据集[19]是一种广泛使用的灰度手写数字数据集,包含60 000个训练图像和10 000个测试图像。USPS数据集[20]是美国邮政服务手写数字识别库,库中共有9 298个手写数字图像,均为灰度图像,灰度值已被归一化。街景门牌号码(SVHN)[21]则是包含来自Google Street View的各种房屋号码,图像具有一定的实际背景。 利用上述3个数据可以构建以下3项任务: SVHN→MNIST、MNIST→USPS和USPS→MNIST。在每项任务中,左边的数据集作为源域,右边的数据集作为目标域,其中所有图像都重新调整为32×32的像素分辨率。

3.2 实验设置

本文实验运行在搭载GTX1080显卡的机器上,使用Python语言编写程序,其中图像预处理的部分使用了OpenCV3.4库,检测算法使用Keras2.0搭建模型,TensorFlow1.4作为后端,使用Adam优化算法训练网络参数,初始学习率lr=2e-3,动量参数β1=0.5,β2=0.999。

在主动学习的每一轮训练中训练20个周期,其中每个批次的大小为128,λ=0.1,样本选择的数量为20,共进行20轮。

3.3 结果分析

3.3.1 交叉实验

本文算法的目的是结合主动学习让源域上学习得到的分类器更好适配到目标域,主要依赖解决以下2个问题:(1)选择哪些目标域样本进行标注?(2)样本标注后如何训练模型? 针对上面2个问题,本文选择了一些其他方法展开交叉实验,实验中样本的选择策略如下:

(1)依据重要性分数:如2.3节所述。

(2)K-Means聚类[22]:对特征向量Gf(x), ∀x∈Ut进行聚类,共选择b个聚类中心,对每个类选择离其中心最近的类。

(3)BVSB法[23]:对于Ut的每个样本,Gy会输出其对应每个分类标签的置信度,BVSB值是最大的置信度和第2大置信度之间的差值,代表该样本的不确定性,BVSB值越大代表分类器对该样本越不确定其属于哪个类别。

(4)随机选择:从Ut中随机选择待标注样本。

对于标注后的训练有如下选择:

1)对抗训练:如2.4节所述,使用{Ls,Lt,Ut}重新训练。

2)微调[24]:固定特征提取网络Gf、域判别网络Gd,仅使用Lt更新标签分类器Gy的参数。

图3是不同采样策略的实验对比结果,训练方法都使用{Ls,Lt,Ut}重新训练,其中横坐标是标注样本的总数,纵坐标是3个任务的平均准确率。从图4中看到本文方法的准确率基本在每一轮都高于其他方法,此外在标注样本增多时能保证准确率持续上升,而其他方法均不能保证。这是由于其他方法可能使某一类别的分类准确率很高,而其他类别较低,从而整体平均准确率反而下降。

图4是不同训练方法实验对比结果,样本选择策略都依据2.3节。从图中可以看到标注数量小于300时,对抗训练效果明显优于微调。而在标注数量超过300后,两者准确率提升都不明显,微调方法的准确率略高于对抗训练。整体上,采用对抗训练能比微调获得更好的效果。

图3 不同采样策略的对比结果

图4 不同训练方法对比结果

3.3.2 同类方法比较

除了上述实验外,本文与目前主流方法ALDA[12,13]进行了对比。图5是准确率上的对比结果,可以看到本文算法整体效果都优于ALDA,当标注样本数达到340时,本文算法平均准确率比ALDA高出7.8%。

为了进一步对比,本文还统计了不同方法达到指定平均准确率所需的人工成本和模型收敛时间,分别如图7和图8所示。结合主动学习的领域自适应方法的人工成本主要在于目标域样本的标注,从表1可以看到,本文方法达到指定平均准确率所需要的人工成本比ALDA分别减少了33.33%、54.54%、35.48%、26.53%。

图5 与ALDA对比结果

表1 不同方法达到指定平均准确率所需的标注数量

另外,表2为不同方法不同标注数量所需的收敛时间,其中标注数量0对应2.4节中步骤1所用的时间,由于本文方法参数数量大于ALDA,因此在初始训练时所花的时间大于ALDA方法。

其余标注数量为100、200、300和400对应2.4节中步骤4的时间,这部分中本文方法与ALDA所用时间相差不大,这是因为此时训练时的初始参数是上一次收敛后的参数,因此都能较快收敛。同时,随着标注数量的增加,收敛时间逐渐减少,这是因为目标域标注数量增加时,准确率提升的程度逐渐减小,从而模型参数变化程度减小,导致收敛越来越快。总体上,本文方法能更好地让源域上学习得到的分类器适用于目标域。

表2 不同方法不同标注数量所需的收敛时间(s)

4 结 论

本文提出了一种基于主动学习的半监督领域自适应方法,它可以解决机器学习应用中由于训练场景和测试场景不一致带来的性能下降问题。该方法利用深层神经网络对齐源域和目标域的数据表示学习域不变特征,让源域上学习得到的分类器在目标域上基本可用。同时,结合主动学习方法,不断选取最重要的目标域数据标记,然后提升已有模型的精度。实验结果表明,本文提出的方法实现了具有较高准确度的跨域分类性,通过标记少量的目标域样本就可以获得较好的领域自适应效果。后续的研究主要会对网络结构进行进一步的优化处理,改善整个网络结构,使其整体性能朝着更快更准确方向发展。

猜你喜欢
源域分类器标签
基于参数字典的多源域自适应学习算法
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法
从映射理论视角分析《麦田里的守望者》的成长主题
让衣柜摆脱“杂乱无章”的标签
科学家的标签
基于层次化分类器的遥感图像飞机目标检测
一种基于置换的组合分类器剪枝方法