基于最大均值差异的负迁移样本筛选方法
技术领域
本发明属于迁移学习技术领域,涉及一种基于最大均值差异的负迁移样本筛选方法。
背景技术
随着深度学习的识别能力和预测能力逐渐提高,深度学习在计算机视觉,语音识别,自然语言处理等领域中取得瞩目的成果。深度学习是基于一个基本假设:训练数据集和测试数据集处于同一特征空间而且服从同一分布。由于不同领域的分布有所差异,已训练好的模型需要重新进行训练。在深度学习的训练过程中,只有当数据集拥有足够多的样本时,才可以训练出具有高精度的神经网络模型。然而,给大量数据进行标注或者重新收集训练数据是非常昂贵甚至是不可能的,重新训练深度神经网络模型也是十分耗时的。
为了将已学习到的知识更快的解决新的问题,迁移学习的理论慢慢被提出来了。迁移学习的主要目标使用源领域学习到的知识来提高目标领域的分类和识别能力。结合预训练好的模型,针对目标领域的任务进行训练,能够训练出更鲁棒、泛化能力更换的模型,同时能够降低人工标注或重新收集数据的成本。此外,训练所需的计算资源大大的缩小,训练时间也极大的缩短,节省很大的计算成本。
在大数据时代,我们通常会有大量的源域数。这些源域数据比目标域数据不管在类别还是单个类别样本的数据都要丰富。然而目标域往往只是部分类别的部分数据,那些只存在源域的中的类别和类别中不相似的样本会对迁移结果产生负迁移的影响,导致训练的图像分类器准确率不高。
发明内容
本发明的目的是提供一种基于最大均值差异的负迁移样本筛选方法,解决了现有技术中只存在源域的中的类别和类别中不相似的样本会对迁移结果产生负迁移的影响,导致训练的图像分类器准确率不高的问题。
本发明的技术方案是,基于最大均值差异的负迁移样本筛选方法,包括如下步骤:
步骤1:对数据进行预处理
将图像变成统一的大小,并将图片进行归一化处理;
步骤2:将处理好的数据放进预训练好的深度迁移学习网络中做前向传播,并计算源领域数据和目标领域数据之间的MMD距离,通过MMD阈值来判别是否跟目标域领域数据相似;
步骤3:通过MMD距离来修正每个类别中样本的权值;
步骤4:重复步骤2-3步骤,迭代100000次之后,得到一个最终的权值,并进行排序,设置临界值来取前N个样本,为该类别的正迁移的样本;
步骤5:将源领域的正迁移样本重新输入深度迁移学习网络中,重新对网络进行训练,提高目标领域的识别率。
本发明所采用的技术方案是,
步骤2中深度迁移学习网络包括源领域和目标领域,源领域和目标领域分别由4个叠加的卷积层、3个全连接层通信连接。
步骤2的预训练过程为:
步骤2.1:通过微调的方法,将office31的数据集输入到在ImageNet上训练好的AlexNet模型,固定AlexNet的第七层全连接层,通过最小化损失项,损失项收敛后,得到一个在office31数据集上的模型,提高分辨率;
步骤2.2:通过最小化损失项,使得网络提取到的特征既可以进行分类又是域间不变的,损失项趋于收敛后,可以得到一个从源领域迁移到目标领域的模型,
在该模型中,计算一个批次的MMD约束如下:
MMD阈值为B=(2K/m)1/2,m指的源领域样本数量,n表示的目标领域样本数量,X表示源域数据,Y表示目标域数据,k(xi,yj)表示核函数。
步骤3的过程为:
假定在(0,B)范围内作出接受的决策,假定大于B,作出拒绝的决策;
对接受的批次数据的权值进行更新,将权值增加1,得到更新后的权值
B表示MMD阈值,B=(2K/m)
1/2。
步骤5的具体过程为:
将源领域的负迁移本剔除,然后再将其放入深度迁移网络中训练,通过梯度下降法使损失最小,提高目标领域的分类识别精度。
步骤4的临界值设定为源领域样本的80%。
本发明的有益效果是:
在迁移学习中,找出有效的迁移成分是相当的重要的,由于数据的特征空间或者边缘分布不一致,尤其在有负迁移样本存在的情况下,会使得迁移的效果非常不好。本发明一种基于最大均值差异的负迁移样本筛选方法,在筛选出负迁移的样本,并在训练的过程中,将其排除在训练的过程之外,能够取得更加好的效果。
附图说明
图1是本发明基于最大均值差异的负迁移样本筛选方法的流程图;
图2是本发明中步骤2的深度迁移学习网络结构图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明基于最大均值差异的负迁移样本筛选方法,如图1所示,包括如下步骤:
步骤1:对数据进行预处理
将图像变成统一的大小,并将图片进行归一化处理;
步骤2:将处理好的数据放进预训练好的深度迁移学习网络中做前向传播,并计算源领域数据和目标领域数据之间的MMD距离,通过MMD阈值来判别是否跟目标域领域数据相似;
如图2所示,深度迁移学习网络包括源领域和目标领域,所述源领域和目标领域分别由4个叠加的卷积层、3个全连接层通信连接。
步骤2的预训练过程为:
步骤2.1:通过微调的方法,将office31的数据集输入到在ImageNet上训练好的AlexNet模型,固定AlexNet的第七层全连接层,通过最小化损失项,损失项收敛后,得到一个在office31数据集上的模型,提高分辨率;
步骤2.2:通过最小化损失项,使得网络提取到的特征既可以进行分类又是域间不变的,损失项趋于收敛后,可以得到一个从源领域迁移到目标领域的模型,
在该模型中,计算一个批次的MMD约束如下:
所述MMD阈值为B=(2K/m)1/2,m指的源领域样本数量,n表示的目标领域样本数量,X表示源域数据,Y表示目标域数据,k(xi,yj)表示核函数。
在本发明中,使用的是最大均值差异(Maximum Mean Discrepancy,MMD)用来度量源领域概率分布函数P与目标领域概率分布函数Q之间的差异。给定源领域的样本
和目标领域样本
MMD定义如下:
其中f(·)是H中的任意函数,φ:x→H是将源领域数据和目标领域均映射到高维空间的非线性特征映射函数。仅当P=Q时,MMD[P,Q]=0。通过对非线性特征映射函数进行泰勒级数展开,MMD可以在高维空间中刻画概率分布的任意阶统计量,如一阶统计量均值和二阶统计量方差。所以最小化 MMD可以将源领域数据和目标领域数据的概率分布P和Q通过各阶统计量进行充分适配。
MMD的关键在于如何找到一个合适的φ()来作为一个映射函数。但是这个映射函数可能在不同的任务中都不是固定的,并且这个映射可能高维空间中的映射,所以是很难去选取或者定义的。而且如果映射函数的值域过大时,MMD很容易取到无穷,所以需要对映射函数有一个约束。为了计算 MMD,需要构造一个有约束的映射函数的空间。经证明当在再生核希尔伯特空间(RKHS)中的单位球时,是最佳的。希尔伯特空间对f空间的要求是完备的内积空间。在再生希尔伯特空间中,有一个重要性质,它可以用空间内的点积表示f→f(x)的映射,即
f(x)=<f,φ(x)>H
结合以上性质,有如下推导
其中sup表示上确界,μ表示均值。现在MMD已经可以使用再生希尔伯特空间中的两个点的距离表示,将上式两边平方
MMD2[P,Q]:=<μp-μq,μp-μq>H
=<μp,μp>H+<μq,μq>H-2<μp,μq>H
=Ep<φ(x),φ(x')>H+Eq<φ(y),φ(y')>H-2Ep,q<φ(x),φ(y)>H
式中的点积可以用核函数k(x,x')来计算,由于再生希尔伯特空间是高维甚至是无限维的空间,一般采用表示无穷维的高斯核
k(x,x')=exp(-||x-x'||2/(2σ2))
步骤3:通过MMD距离来修正每个类别中样本的权值;
假定在(0,B)范围内作出接受的决策,假定大于B,作出拒绝的决策;
对接受的批次数据的权值进行更新,将权值增加1,得到更新后的权值
B表示MMD阈值,B=(2K/m)
1/2。
步骤4:重复步骤2-3步骤,迭代100000次之后,得到一个最终的权值,并进行排序,设置临界值来取前N个样本,为该类别的正迁移的样本,其中,临界值设定为源领域样本的80%。
步骤5:将源领域的正迁移样本重新输入深度迁移学习网络中,重新对网络进行训练,提高目标领域的识别率:
具体过程为:
将源领域的负迁移本剔除,然后再将其放入深度迁移网络中训练,通过梯度下降法使损失最小,提高目标领域的分类识别精度。
其中,本发明中采用的是模型是一个深度自适应网络,固定了AlexNet的前面7层,在第8上加入自适应的度量。自适应度量方法采用的MMD准则。
该方法的损失函数表示为:
l=lc(Ds,ys)+λMMD2(Ds,Dt)
其中λ表示惩罚系数,主要作用是控制源领域与目标领域在全连接层的分布差异。lc(Ds,ys)表示源领域数据的分类损失,通常采用交叉熵损失作为分类损失。MMD2(Ds,Dt)表示源领域和目标领域在第8层输出的MMD距离的平方损失项。其目模型的目的是找到一个潜在的域不变特征。
该网络的预训练流程如下:
(1).通过微调的方法,将在ImageNet(1000类)上训练好的AlexNet 模型参数应用在office31(31类)的数据集上,继续训练进行调整,得到一个在office31数据集上性能最佳的模型。微调可以节约时间成本,不需要每次都从头开始训练网络。假如源数据集和现在的数据集处在同一特征空间,能够有很好的泛化能力。
(2).通过最小化l损失项,使得网络提取到的特征既可以进行分类又是域间不变的,可以得到一个从源领域迁移到目标领域性能最佳的模型。在该模型中,计算一个批次的MMD约束如下:
计算MMD的复杂度为ο(n2)。
数据的权重计算
本发明的目标是从源领域中筛选出负样本。负迁移指的是,在源域上学习到的知识,对于目标域上的学习产生负面作用。为了实现很好的迁移效果,衡量源领域和目标领域的数据的相似度,找到可迁移的成分是关键。
为此引入一种统计量,即MMD来衡量两个数据映射到高维的期望差异,并构造假设检验,根据统计量的值是否落入拒绝域而判断是否拒绝原假设。
给定m个源领域样本X:p和n个目标领域样本Y:q,原假设为Η0:p=q,备择假设为Η1:p≠q。给一个合理的法则Γ(X,Y):xm×xn a{0,1},利用已知样本做出决策是接受假设Η0(即拒绝假设Η1),还是拒绝假设Η0(即接受假设Η1)。在做出决策的过程中,需要设定一个特定的阈值,如果超过该阈值就接受Η0,则认为p和q是相同的,即该批次的源域样本数据跟目标域的样本数据属于同一分布,在知识迁移的过程中,对于在目标域的学习任务产生正面作用。否则,则认为在迁移的过程中起到负迁移的作用。由于检验是基于有限的样本,因此可能会返回错误的决策,假设H0实际上为真时,可能犯拒绝H0的错误,称错误为第I类错误。当H0实际上为假时,有可能接受H0,称这种错误为第II类错误。显著性水平α为第I类型错误概率的上限,通常取比较小的值。
设定一个MMD的阈值成了解决该问题的关键。在p=q的情况下,给出经验MMD有较大偏差的概率边界。通过这个边界可以作为第一个假设检验的阈值。假设核函数0≤k(x,y)≤K,MMDb[X,Y]收敛到MMD[p,q]的约束如下:
基于上式,增加p=q和m=n的条件,可得
符合以上条件的概率至少为
在本发明专利中我们采用B=(2K/m)
1/2作为作出决策的MMD阈值。在给定样本置信度α的情况下, 给定原假设p=q,即MMD[p,q]=0,可以得到接受域为
在本发明中,采用
作为MMD的阈值。通过每个批次的计算源领域与目标领域的距离,可以作出接受或拒绝原假设的决策。
有以上基础之后,可以通过Bootstrap的方法来计算每个样本的权重
重要性采样是蒙特卡洛积分中的一种采样策略,是基于概率统计的数值计算方法,利用随机采样来拟合目标函数。
算法的详细描述如下:
从源领域和目标领域中分别随机抽取一批数据。将两批次数据同时输入预训练迁移学习网络中,在全连接分布计算源领域与目标领域的经验 MMD2[X,Y]距离;
比较与阈值MMD距离的大小,作出接受或者拒绝的决策。对接受的批次数据的权值进行更新,增加其权重,得到更新后的权值
重复得到一个最终的权值,并进行排序,可以设置一个临界值来取前N 个样本,为该类别的正迁移的样本。
其中,本发明涉及的步骤5是该方法的验证过程。
在迁移学习中,找出有效的迁移成分是相当的重要的,由于数据的特征空间或者边缘分布不一致,尤其在有负迁移样本存在的情况下,会使得迁移的效果非常不好。本发明一种基于最大均值差异的负迁移样本筛选方法,在筛选出负迁移的样本,并在训练的过程中,将其排除在训练的过程之外,能够取得更加好的效果。