一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于鉴别器森林提高生成对抗网络泛化能力的方法

2022-11-14 01:06:17 来源:中国专利 TAG:


1.本发明涉及机器学习领域,具体涉及一种基于鉴别器森林提高生成对抗网络泛化能力的方法。


背景技术:

2.近年来,随着复杂分布上无监督学习技术的发展,生成对抗网络(generativeadversarialnetworks,gan)模型,通过生成对抗网络,根据已知的某种类型的样本数据集生成新的样本,在机器学习领域得到了广泛的应用。gan由一个生成器和一个判别器构成,使用对抗学习的方式迭代训练生成器与判别器,最终估测出训练数据的分布,并利用训练好的生成器模型生成新样本。
3.但是,在当前基于gan模型的研究中,很多工作都是针对解决训练不稳定的问题,极少研究者会关心gan模型的泛化能力,但是缺少泛化能力的gan模型很容易出现模型坍塌和隐私泄露等问题;因为性能强的鉴别器会引导生成器走向坍塌均衡,容量小的鉴别器会使生成器记忆真实数据,导致gan模型容易受到潜在攻击和隐私泄露等问题。现有技术中对于带有多鉴别器的gan模型的泛化能力依然有待提高。
4.因此,现有技术还有待于改进和发展。


技术实现要素:

5.本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种基于鉴别器森林提高生成对抗网络泛化能力的方法,提出带有多鉴别器的gan模型,并证明其泛化能力。
6.为了解决上述技术问题,本发明解决技术问题所采用的技术方案如下:
7.第一方面,本发明提供一种基于鉴别器森林提高生成对抗网络泛化能力的方法,其中,所述方法包括:
8.构建由一个生成器和鉴别器森林组成的生成对抗网络模型;
9.生成训练样本,基于所述训练样本对所述鉴别器森林中的每个鉴别器分别进行训练,得到训练过的鉴别器森林;
10.通过所述生成器得到第一生成样本,将所述第一生成样本输入到所述训练过的鉴别器森林中的每个鉴别器中,得到所述鉴别器的损失值;
11.根据所述鉴别器的损失值得到训练梯度,根据所述训练梯度更新所述生成器的训练参数,并以最小化的方式对所述生成器进行训练,得到更新的生成器;
12.基于所述更新的生成器,重新执行所述生成训练样本的步骤,以对所述鉴别器进行下一次迭代训练,直到完成迭代次数为止。
13.在一种实现方式中,所述构建由一个生成器和鉴别器森林组成的生成对抗网络模型之前,包括:
14.构建所述生成器的神经网络结构,在卷积层和卷积层之间采用批量归一化进行归
一化处理,并采用泄露的修正线性单元进行激活;
15.为所有鉴别器构建相同的神经网络结构,在每个鉴别器的卷积层和卷积层之间采用批量归一化进行归一化处理,并采用泄露的修正线性单元进行激活。
16.在一种实现方式中,所述生成训练样本,包括:
17.获取真实样本,并根据所述真实样本构建原始样本集,通过bootstrap采样方法进行随机有放回地采样,得到与若干鉴别器一一对应的若干训练数据集;
18.将随机采样的128维的高斯噪声数据输入所述生成器,得到第二生成样本;
19.根据所述训练数据集中的真实样本和所述第二生成样本为每个鉴别器分别生成独立的训练样本;
20.基于所述训练样本,针对每一个鉴别器分别利用adam优化器,采用交叉熵损失函数以最大化的方式进行训练,得到所述训练过的鉴别器森林。
21.在一种实现方式中,所述根据所述鉴别器的损失值得到训练梯度,包括:
22.将全部鉴别器的损失值进行均值汇总,得到均值汇总损失值;
23.根据所述均值汇总损失值计算所述训练梯度。
24.在一种实现方式中,所述根据所述鉴别器的损失值得到训练梯度,包括:
25.将全部鉴别器的损失值进行加权汇总,得到加权汇总损失值;
26.根据所述加权汇总损失值计算所述训练梯度。
27.在一种实现方式中,所述方法还包括:
28.设置所述生成器和所述鉴别器森林在一次迭代训练中的训练次数比例为1:1。
29.第二方面,本发明实施例还提供一种基于鉴别器森林提高生成对抗网络泛化能力的装置,其中,所述装置包括:
30.生成对抗网络模型构建模块,用于构建由一个生成器和鉴别器森林组成的生成对抗网络模型;
31.鉴别器训练模块,用于生成训练样本,基于所述训练样本对所述鉴别器森林中的每个鉴别器分别进行训练,得到训练过的鉴别器森林;
32.损失值获取模块,用于通过所述生成器得到第一生成样本,将所述第一生成样本输入到所述训练过的鉴别器森林中的每个鉴别器中,得到所述鉴别器的损失值;
33.生成器训练模块,用于根据所述鉴别器的损失值得到训练梯度,根据所述训练梯度更新所述生成器的训练参数,并以最小化的方式对所述生成器进行训练,得到更新的生成器;
34.更新迭代模块,用于基于所述更新的生成器,重新执行鉴别器训练模块中的内容,以对所述鉴别器进行下一次迭代训练,直到完成迭代次数为止。
35.第三方面,本发明实施例还提供一种智能终端,其中,所述智能终端包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的基于鉴别器森林提高生成对抗网络泛化能力程序,所述处理器执行所述基于鉴别器森林提高生成对抗网络泛化能力程序时,实现如以上任一项所述的基于鉴别器森林提高生成对抗网络泛化能力的方法的步骤。
36.第四方面,本发明实施例还提供一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有基于鉴别器森林提高生成对抗网络泛化能力程序,所述基于鉴别器森林提高生成对抗网络泛化能力程序被处理器执行时,实现如以上任一项所述的基于鉴别器森
林提高生成对抗网络泛化能力的方法的步骤。
37.有益效果:与现有技术相比,本发明提供了一种基于鉴别器森林提高生成对抗网络泛化能力的方法,本发明首先构建由一个生成器和鉴别器森林组成的生成对抗网络模型,再基于相互独立的训练样本对鉴别器分别进行训练,得到更新的鉴别器森林,然后,在生成器训练阶段,先基于生成样本对每个鉴别器进行训练得到每个鉴别器的损失值,再将所述鉴别器的损失值进行汇总得到的训练梯度回传给生成器,进而完成生成器的更新,这样有助于通过对生成器的训练,实现降低泛化误差上界,提高生成器的泛化能力,实现了通过鉴别器数量的增加以增强隐私保护能力的效果。最后,再基于更新的生成器,对鉴别器进行下一次迭代训练,以实现对生成对抗网络模型的优化。
附图说明
38.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
39.图1是本发明实施例提供的基于鉴别器森林提高生成对抗网络泛化能力的方法的流程图。
40.图2是本发明实施例提供的生成对抗网络模型的示意图。
41.图3是本发明实施例提供的构建训练数据集的方法示意图。
42.图4是本发明实施例提供的生成训练样本的方法示意图。
43.图5是本发明实施例提供的对鉴别器森林进行训练的方法示意图。
44.图6是本发明实施例提供的生成对抗网络模型的密度和分布的指标分析图。
45.图7是本发明实施例提供的生成对抗网络模型的准确率和召回率的指标分析图。
46.图8是本发明实施例提供基于条件的forest-gan的生成样本的指标分析图。
47.图9是本发明实施例提供的基于鉴别器森林提高生成对抗网络泛化能力的装置的原理框图。
48.图10是本发明实施例提供的智能终端的内部结构原理框图。
具体实施方式
49.为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
50.随着计算机生成图片技术取得空前发展,计算机已经能够自动生成高清晰度的数字图像,并且效果逼真难以通过肉眼区分。与传统基于计算机图形图像学的图像生成算法不同,采用生成对抗网络(generativeadversarial network,简称gan)模型从大量图像样本中学习自然图像的模式,能够生成更加逼真的图像。
51.生成对抗网络(gan)模型是一种深度学习模型,包含两个部分:一个是生成器(generator),一个是判别器(discriminator)。判别器的任务是判断生成模型生成的样本是真实的还是伪造的。生成器的任务是生成看起来逼真与原始数据相似的样本。也就是说,
生成器要生成能骗过判别器的实例,而判别器要从真假混合的样本中揪出由生成器生成的伪造样本。生成器和判别器的训练过程是一个对抗博弈的过程,最后博弈的结果是在最理想的状态下,生成器可以生成足以“以假乱真”的样本。
52.然而,现有技术中通过最小化与目标分布的jensen-shannon散度,普通的gan模型很难完全拟合复杂数据的真实分布。当使用普通的对抗损失函数来训练鉴别器时,性能强的鉴别器会导致模型坍塌,因为鉴别器会过度拟合训练数据,从而导致生成器走向坍塌均衡。容量小的鉴别器能够提高鉴别器的泛化能力,但是这会导致另一个问题:gan模型中的生成器会通过记忆训练数据来得到低容量的鉴别器,而不是学习、逼近真实的数据分布,这会导致gan模型容易受到攻击和隐私数据泄露等问题。虽然有很多相关的变体技术能够提高生成样本的质量,但是它们多数关心单个鉴别器gan模型的泛化能力,并没有讨论多鉴别器gan模型的泛化能力等问题。
53.因此,为了解决上述问题,本实施例提供一种基于鉴别器森林提高生成对抗网络泛化能力的方法,通过构建由一个生成器和鉴别器森林组成的生成对抗网络模型,实现了通过鉴别器数量的增加以增强隐私保护能力的效果,再基于相互独立的训练样本对鉴别器分别进行训练,然后,在生成器训练阶段,得到每个鉴别器的损失值,再将所述鉴别器的损失值进行汇总得到的训练梯度回传给生成器,进而完成生成器的更新,这样有助于通过对生成器的训练实现提高生成样本的多样性和质量并降低泛化误差。最后,再基于更新的生成器,对鉴别器进行下一次迭代训练,以实现对生成对抗网络模型的自我优化。本发明提出由鉴别器森林和一个生成器组成的生成对抗网络模型,能够通过提高生成样本的多样性和质量来降低泛化误差,并通过鉴别器数量的增加以增强隐私保护能力,通过生成器和判别器不断地进行对抗式训练,最终使得两个网络达到了一个动态平衡。
54.示例性方法
55.本实施例提供一种基于鉴别器森林提高生成对抗网络泛化能力的方法。如图1所示,所述方法包括如下步骤:
56.步骤s100、构建由一个生成器和鉴别器森林组成的生成对抗网络模型。
57.具体地,在生成对抗网络中,鉴别器的泛化能力决定了生成器的泛化能力。为了增强鉴别器的泛化能力,限制鉴别器的泛化误差上界,我们采用随机森林的方法来构建由多个鉴别器组成的鉴别器森林,即得到了forest-gan模型。在一种实施方式中,将鉴别器的个数定义为k,图2展示了生成对抗网络模型的框架结构。
58.举例说明,如图2所示,若鉴别器的个数为k,可将k个鉴别器分别标记为d1,d2,...,dk,。这样,由一个生成器和k个鉴别器就组成了forest-gan模型。
59.在一种实现方式中,本实施例所述步骤s100之前包括如下步骤:
60.步骤s10、构建所述生成器的神经网络结构,在卷积层和卷积层之间采用批量归一化进行归一化处理,并采用泄露的修正线性单元进行激活;
61.步骤s20、为所有鉴别器构建相同的神经网络结构,在每个鉴别器的卷积层和卷积层之间采用批量归一化进行归一化处理,并采用泄露的修正线性单元进行激活。
62.具体地,无论是生成器还是鉴别器,在卷积层与卷积层之间,都使用了批量归一化(batchnormalization)和泄露的修正线性单元(leakyrectified linearunit,leakyrelu)。即利用批量归一化处理,提升神经网络模型对图像特征的辨识能力,进而可有
效增强神经网络模型的泛化性能,并将上一层卷积输出的特征和残差块阶段内递归计算后输出的特征都由泄露的修正线性单元函数进行激活,并输入到下一层卷积。特别需要注意的是:本实施例中forest-gan模型的鉴别器森林中每个鉴别器的网络结构都是一样的。
63.步骤s200、生成训练样本,基于所述训练样本对所述鉴别器森林中的每个鉴别器分别进行训练,得到训练过的鉴别器森林;
64.具体地,在训练gan时,最终达到的理想状态是生成器与鉴别器之间达到平衡。这时,鉴别器无法区分真实数据与生成器生成的数据,因为生成器已经学会了生成看起来足以以假乱真的数据。在达到平衡的过程中,每一次迭代训练都需要计算鉴别器的损失值(loss)。可以通过原生gan模型的损失函数、wgan(wassersteingan)的损失函数/均方误差(mean squarederror,mse)损失函数或二元交叉熵(binarycrossentropy,bce)损失函数等方法计算所述鉴别器的损失值。本实施例通过为每一个鉴别器分别生成训练样本,即每一个鉴别器的训练样本都是相互独立的,再基于训练样本对鉴别器分别进行训练,以得到forest-gan模型中每个鉴别器各自的损失值。
65.在一种实现方式中,本实施例所述步骤s200包括如下步骤:
66.步骤s201、获取真实样本,并根据所述真实样本构建原始样本集,通过bootstrap采样方法进行随机有放回地采样,得到与若干鉴别器一一对应的若干训练数据集;
67.步骤s202、将随机采样的128维的高斯噪声数据输入所述生成器,得到第二生成样本;
68.步骤s203、根据所述训练数据集中的真实样本和所述第二生成样本为每个鉴别器分别生成独立的训练样本;
69.步骤s204、基于所述训练样本,针对每一个鉴别器分别利用adam优化器,采用交叉熵损失函数以最大化的方式进行训练,得到所述训练过的鉴别器森林。
70.具体地,在样本数量为m的真实样本构建原始样本集上,我们使用“bootstrap”的采样方法在原始样本集上随机有放回地采样m个样本作为鉴别器森林中某个鉴别器的训练数据集,其他鉴别器的训练数据集也是使用同样的方法得到,如图3所示,鉴别器di,i=1,...,k,所对应的训练数据集记为di,i=1,...,k。根据我们知道原始数据中任何一个元素在任意一个训练数据集上出现的概率是通过“bootstrap”采样方法,我们可以得到k个相互独立的训练数据集,每个训练数据集对应鉴别器森林的一个鉴别器,这些训练数据集为鉴别器提供真实样本。
71.本实施例中,生成器会为每一个鉴别器提供生成样本,如图4所示,设定均值为0.0,方差为1.0的高斯分布,从该高斯分布上,将随机采样的128维的高斯噪声数据输入所述生成器,得到第二生成样本。将生成样本标记为0,将真实样本标记为1,将带标签的第二生成样本和真实样本构成训练样本共同作为鉴别器的输入。
72.在一种实现方式中,可将划分原始数据集为若干子集,在子集上进行“bootstrap”采样以得到每个鉴别器训练数据集。
73.在一种实现方式中,若原始数据包含多个数据集,依次以相等或者不同的概率在各个数据集上使用“bootstrap”采样,以得到每个鉴别器训练数据集。
74.具体地,本实施例使用k个互相独立的训练数据集对鉴别器森林的鉴别器进行独立训练,也会得到k个相互独立的鉴别器。在训练鉴别器阶段,本实施例将每个鉴别器的训练样本输入到对应的鉴别器以对鉴别器森林进行独立训练;采用交叉熵损失函数,以最大化的方式来训练鉴别器,让鉴别器能够以更大的概率正确区分输入数据的来源,并得到每一个鉴别器的损失值。
75.举例说明,如图5所示,基于训练数据集训练每个鉴别器di,i=1,...,k,选择优化器是adam,初始的学习率、一阶估计衰减率和二阶估计衰减率分别是:1e-4,0.5,0.999。在鉴别器的训练阶段,采用交叉熵损失函数,以最大化的方式来训练鉴别器,所述鉴别器将输入的训练样本进行鉴别,并标记鉴别结果为真实样本(real)或生成样本(fake)。将所述鉴别结果与生成器已标记0/1值进行比较,就得到了每一个鉴别器的损失值(loss),因鉴别器与鉴别器之间不共享损失值,不共享回传梯度,因此得到的鉴别器也会是相互独立。
76.在一种实现方式中,在对原始样本集进行采样以构建一个鉴别器的训练数据集时,还可采用概率采样,即通过遍历原始样本集中的每一个样本,以概率p接受该样本,以概率1-p拒绝该样本的方式进行采样。按照这样的概率采样方式,可以得到鉴别器训练数据集的大小约为:n
·
p,其中n是原始数据的大小。以相同的方法重复采样k次,就能够获得k个鉴别器所对应的训练数据集。
77.步骤s300、通过所述生成器得到第一生成样本,将所述第一生成样本输入到所述训练过的鉴别器森林中的每个鉴别器中,得到所述鉴别器的损失值;
78.具体地,本实施例设定均值为0.0,方差为1.0的高斯分布,从该高斯分布上随机采样128维数据,用作生成器的输入,得到第一生成样本,并将得到的第一生成样本标记真实标签为0,输入到鉴别器森林中,得到预测结果。对于每个鉴别器,我们采用交叉熵损失函数来计算预测结果和真实标签之间的损失值,即得到所述鉴别器的损失值。
79.步骤s400、根据所述鉴别器的损失值得到训练梯度,根据所述训练梯度更新所述生成器的训练参数,并以最小化的方式对所述生成器进行训练,得到更新的生成器;
80.具体地,在训练生成器时,需要使用从鉴别器森林传递回来的训练梯度来训练生成器,而训练梯度是根据鉴别器的损失值得到的。将所述训练梯度传递给生成器,并以最小化的方式对所述生成器进行训练。
81.在一种实现方式中,本实施例所述步骤s400包括如下步骤:
82.步骤s401、将全部鉴别器的损失值进行均值汇总,得到均值汇总损失值;
83.步骤s402、根据所述均值汇总损失值计算所述训练梯度。
84.具体地,在训练生成器阶段,因为需要使用从鉴别器回传到生成器的训练梯度。如图5所示,本实施例使用“aggregation”的方式汇总鉴别器森林中k个鉴别器所产生的损失值,通过损失值计算训练梯度,进而完成对生成器的更新。本实施例采用均值汇总的方式得到鉴别器森林的均值汇总损失值loss,即:
[0085][0086]
再根据得到的均值汇总鉴别器森林中所产生的损失值计算训练梯度,以进行对生成器的训练。
[0087]
举例说明,若forest-gan模型的鉴别器森林由3个鉴别器di,i=3构成,通过对鉴别器分别进行训练,得到每个鉴别器的损失值为loss1=0.01,loss2=0.03,loss3=0.01,对3个鉴别器的损失值进行均值汇总,得到鉴别器森林的损失值为(0.01 0.03 0.01)/3=0.02。
[0088]
在一种实现方式中,本实施例所述步骤s400包括如下步骤:
[0089]
步骤m401、将全部鉴别器的损失值进行加权汇总,得到加权汇总损失值;
[0090]
步骤m402、根据所述加权汇总损失值计算所述训练梯度。
[0091]
具体地,在将全部鉴别器的损失值进行汇总时,对loss值的最大值、最小值、平均值、中位数等做加权和,权重的大小可以相等,也可以不相等,还可以伴随训练过程逐渐变化,以得到加权汇总损失值,再根据加权汇总损失值计算训练梯度。
[0092]
在一种实现方式中,还可以采用最大/最小/中值化的方式将全部鉴别器的损失值进行汇总,即采用鉴别器森林中所得到的最大/最小/中位数数值loss值作为汇总损失值,再根据所述汇总损失值计算所述训练梯度。
[0093]
步骤s500、基于所述更新的生成器,重新执行所述生成训练样本的步骤,以对所述鉴别器进行下一次迭代训练,直到完成迭代次数为止。
[0094]
如图5所示,基于更新后的生成器,重新生成训练样本,并基于所述训练样本对每个鉴别器分别进行训练,得到每个鉴别器的损失值,以执行对鉴别器森林的下一次迭代训练。
[0095]
本实施例中的forest-gan模型还能够和稳定训练的方法相结合,比如梯度惩罚(gradientpenalty)、批量归一化(batchnormalization)、普归一化(spectralnormalization)和r1正则化(r1regularization)等稳定训练过程、预防模型坍塌的训练方法结合,以得到更好的训练效果。
[0096]
在一种实现方式中,本实施例还包括如下步骤:
[0097]
步骤m10、设置所述生成器和所述鉴别器森林在一次迭代训练中的训练次数比例为1:1。
[0098]
进一步地,对本实施例中的forest-gan模型提高泛化能力的效果进行验证。
[0099]
在理论方面,因本实施例独立构建鉴别器di,i=1,...,k所对应的训练数据集di,i=1,...,k,再独立训练每个鉴别器di;因此,在固定生成器时,鉴别器di所对应的最优解i=1,...,k为:
[0100][0101]
式中,表示鉴别器di的训练数据集di,i=1,...,k所对应的分布,pg(x)表示生成数据所对应的分布。在所有独立的鉴别器都达到最优时,使用最小化的方式来训练生成器,可以得到待优化的优化目标:
[0102][0103]
其中,jsd是训练数据与生成数据之间的jensen-shannon散度常量,所以生成数据
所对应的分布需要不断近似等价于k个鉴别器训练数据集所表示的混合分布。
[0104]
另外,因使用随机森林的方式来构建鉴别器的训练数据集,为此可以证明鉴别器森林的误差上界ψd表示为:
[0105][0106]
式中,表示鉴别器森林中所有任意两个鉴别器之间关联系数的平均值,s表示鉴别器森林的鉴别能力。又因为生成器的误差上界不大于鉴别器森林的误差上界,为此我们确定鉴别器森林的泛化误差上界就是forest-gan模型的泛化误差上界。
[0107]
在实验方面,本实施例通过三个学习任务来间接展示forest-gan模型的泛化能力:模型覆盖、密度估计和隐私保护。本实施例将在两类数据上进行实验:模拟数据和真实数据。本实施例通过数据分布的密度和准确率(precision)与召回率(recall)的定量计算来评估模型对真实数据的覆盖率。更高的准确率表示生成样本更加接近真实分布,更高的召回率表示更大的模型覆盖。
[0108]
其中,对于模拟数据的构成,构建9个二维高斯分布,从这些二维高斯分布中均匀筛选10000个样本点;这些二维高斯分布的均值和方差依次满足:[-2,2],[0,2],[2,2],[-2,0],[0,0],[2,0],[-2,0],[0,-2]和[2,-2],方差依次对应于0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08和0.09;我们使用准确率(precision)和召回率(recall)来反映模型覆盖,可视化生成数据和真实数据的密度分布,然后分析forest-gan对真实数据的密度分布的拟合程度。在实验中,除了改变鉴别器的个数(k=1,2,5,10,20,50),本实施例还改变forest-gan模型的损失函数,使用两种常见的损失函数:原生gan模型的损失函数和wgan模型的损失函数。
[0109]
图6为模拟数据和生成数据的分布和密度估计。当k=1,不管使用wgan模型的损失函数还是使用原生gan模型的损失函数,生成的结果都不能学习到真实分布中的9种模式;但是随着k逐渐增大,forest-gan逐渐能够学习到不同的模式,并且当k》20时,forest-gan更准确地学习到真实分布中的9种模式;在k=50时,表现出最好的性能,准确率和召回率分别达到0.8938和0.9064。相比于使用原生gan模型的损失函数,使用wgan损失函数的forest-gan具有更好的表现性能。在k≥2就能够较好地学习到真实分布的9种模态,在k=50时,表现出更好的性能,准确率和召回率分别达到0.9150和0.9231。模型可能会捕获到真实数据的所有模态,但不一定能够捕获到每个模态的密度分布。在图6的密度分布图中,随着鉴别器数量的不断提升,我们的模型能够更加准确地捕获到数据的分布情况。并且在k=50时,生成数据的密度分布能够最大程度上接近真实数据的密度分布。
[0110]
图7展示了在训练过程中forest-gan在两种损失函数、不同鉴别器数量的设定下,生成样本和真实样本之间的准确率和召回率。可知,在使用原生gan损失函数时,当k≤2,训练的迭代次数超过1000之后,召回率有下降的趋势,这意味着在鉴别器数量很少的情况下,forest-gan容易出现过拟合,生成模型会出现模型坍塌的趋势。当鉴别器的数量逐步提高,forest-gan能够避免过拟合,并引导生成器生成更多样化的样本。
[0111]
此外,本实施例实现了基于条件的forest-gan(conditionforest-gan),在mnist数据集上进行实验。
[0112]
图8-a展示了训练过程中,真实样本与生成样本之间的准确率和召回率;召回率曲线随着训练过程先增加,再缓缓下降,但是随着鉴别器的数量增大,召回率在后期下降的趋势并不明显,这意味着,鉴别器数量的逐渐增加能够帮助模型缓解过拟合、缓解模型坍塌问题。图8-b展示了k=50时,基于条件的forest-gan按标签生成的样本经过t-sne映射后得到的分布图,图8-c表示的是生成分布和真实分布在经过t-sne映射后,在二维坐标上的密度分布图。图8-b和图8-c展示了生成样本十分接近真实样本。
[0113]
最后,针对forest-gan,进行与隐私保护相关实验。在cifar-10数据集上评估forest-gan模型的隐私保护能力。在训练数据集和对应的非训练数据集上,通过泛化差距、和针对判别森林的白盒攻击来衡量泄露隐私的风险。局限于计算资源,只能尝试k=1,2,5这三种鉴别器设置。正如表1所示,在数据集cifar10上,forest-gan模型的平均泛化差距和受到白盒攻击的平均准确率。每一个值都是三次实验的平均结果;值越小,表示隐私保护能力越强。随着鉴别器数量的增加,白盒攻击的平均准确率逐渐下降,平均泛化差距也在逐步下降,这意味着:随着鉴别器数量的增加,forest-gan能够逐渐增强隐私保护能力。
[0114]
表1.隐私保护实验数据表
[0115]
鉴别器个数平均差距平均准确率k=10.21040.6621k=20.18400.6310k=50.11540.5793
[0116]
综上,本实施例使用边缘函数(marginfunction)来定义gan模型的泛化误差度量,从理论上证明了forest-gan模型的泛化误差上界,分析了泛化误差边界与鉴别器的泛化能力和鉴别器之间的关联性逐渐的关联性。由于不能直接展示gan模型的泛化能力,为此在密度估计、模型覆盖和个性化攻击这三个任务上间接展示forest-gan模型的泛化能力以及它的数据隐私保护能力。并且在虚拟数据和真实数据上,通过实验结果,进一步佐证forest-gan能够通过提高生成样本的多样性和质量来降低泛化误差,通过抵抗个性化攻击(membershipinferenceattack,mia)来展示隐私保护能力。
[0117]
本实施例证明forest-gan模型的泛化误差上界,并且论证这个误差上界是由独立鉴别器的泛化能力和鉴别器之间的相关性共同确定的;从理论上,为如何减低gans的泛化误差上限提供了研究的理论基础。基于forest-gan模型的全局最优解近似“bootstrap”训练数据集的混合分布这一结果表明:即使训练数据有限,通过记忆训练数据,forest-gan并不能达到全局最优解的。因此,当forest-gan达到全局最优时,生成器能够产生多样化的样本和抵御个性化攻击。本实施例证明了forest-gan模型的泛化误差是小于判别森林的泛化误差的。为此,我们可以通过提高鉴别器的泛化能力来提高forest-gan模型的泛化能力。forest-gan是灵活易变的,不仅可以与任意的损失函数、权重正则化方法相结合,还能够进行并行计算,这些特点使得forest-gan能够在适用于分布式机器学习和联邦学习。
[0118]
示例性装置
[0119]
在一种实现方式中,本实施例所述步骤s10包括如下步骤:
[0120]
如图9中所示,本实施例还提供一种基于鉴别器森林提高生成对抗网络泛化能力的装置,所述装置包括:
[0121]
生成对抗网络模型构建模块10,用于构建由一个生成器和鉴别器森林组成的生成
对抗网络模型;
[0122]
鉴别器训练模块20,用于生成训练样本,基于所述训练样本对所述鉴别器森林中的每个鉴别器分别进行训练,得到训练过的鉴别器森林;
[0123]
损失值获取模块30,用于通过所述生成器得到第一生成样本,将所述第一生成样本输入到所述训练过的鉴别器森林中的每个鉴别器中,得到所述鉴别器的损失值;
[0124]
生成器训练模块40,用于根据所述鉴别器的损失值得到训练梯度,根据所述训练梯度更新所述生成器的训练参数,并以最小化的方式对所述生成器进行训练,得到更新的生成器;
[0125]
更新迭代模块50,用于基于所述更新的生成器,重新执行鉴别器训练模块中的内容,以对所述鉴别器进行下一次迭代训练,直到完成迭代次数为止。
[0126]
在一种实现方式中,所述基于鉴别器森林提高生成对抗网络泛化能力的装置包括:
[0127]
生成器构建单元,用于构建所述生成器的神经网络结构,在卷积层和卷积层之间采用批量归一化进行归一化处理,并采用泄露的修正线性单元进行激活;
[0128]
鉴别器构建单元,用于为所有鉴别器构建相同的神经网络结构,在每个鉴别器的卷积层和卷积层之间采用批量归一化进行归一化处理,并采用泄露的修正线性单元进行激活。
[0129]
在一种实现方式中,所述鉴别器训练模块20包括:
[0130]
第一训练数据集获取单元,用于获取真实样本,并根据所述真实样本构建原始样本集,通过bootstrap采样方法进行随机有放回地采样,得到与若干鉴别器一一对应的若干训练数据集;
[0131]
第二生成样本获取单元,用于将随机采样的128维的高斯噪声数据输入所述生成器,得到第二生成样本;
[0132]
第二训练样本获取单元,用于根据所述训练数据集中的真实样本和所述第二生成样本为每个鉴别器分别生成独立的训练样本;
[0133]
鉴别器森林训练单元,用于基于所述训练样本,针对每一个鉴别器分别利用adam优化器,采用交叉熵损失函数以最大化的方式进行训练,得到所述训练过的鉴别器森林。
[0134]
在一种实现方式中,所述损失值获取模块30包括:
[0135]
第一生成样本获取单元,用于设定高斯分布,从所述高斯分布上随机采样128维数据作为所述生成器的输入,得到所述第一生成样本;其中,所述第一生成样本带有生成标签;
[0136]
损失值获取单元,用于将所述第一生成样本输入到所述每个鉴别器中得到预测结果,采用交叉熵损失函数得到所述预测结果和所述生成标签之间的损失值。
[0137]
在一种实现方式中,所述生成器训练模块40包括:
[0138]
均值汇总单元,用于将全部鉴别器的损失值进行均值汇总,得到均值汇总损失值;
[0139]
加权汇总单元,用于将全部鉴别器的损失值进行加权汇总,得到加权汇总损失值;
[0140]
训练梯度获取单元,用于根据所述均值汇总损失值计算所述训练梯度。
[0141]
在一种实现方式中,所述基于鉴别器森林提高生成对抗网络泛化能力的装置还包括:
[0142]
训练次数设置单元,用于设置所述生成器和所述鉴别器森林在一次迭代训练中的训练次数比例为1:1。
[0143]
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图10所示。该能终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该能终端的处理器用于提供计算和控制能力。该能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于鉴别器森林提高生成对抗网络泛化能力的方法。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该智能终端的温度传感器是预先在能终端内部设置,用于检测内部设备的运行温度。
[0144]
本领域技术人员可以理解,图10中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0145]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、运营数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双运营数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0146]
综上,本发明公开了一种基于鉴别器森林提高生成对抗网络泛化能力的方法,首先构建由一个生成器和鉴别器森林组成的生成对抗网络模型;生成训练样本,基于所述训练样本对所述鉴别器森林中的每个鉴别器分别进行训练,得到训练过的鉴别器森林,再据所述鉴别器的损失值得到训练梯度,根据所述训练梯度更新所述生成器的训练参数,并以最小化的方式对所述生成器进行训练,得到更新的生成器,最后基于所述更新的生成器,重新执行生成训练样本的步骤,以对所述鉴别器进行下一次迭代训练,直到完成迭代次数为止。本发明提出由鉴别器森林和一个生成器组成的生成对抗网络模型,通过鉴别器数量的增加,降低泛化误差上界,提高生成样本的质量和多样性,增强模型的隐私保护能力。并且我们在理论上给出forest-gan的泛化误差边界。我们使用边缘函数(margin function)来定义gan的泛化误差度量,从理论上证明了forest-gan的泛化误差上界,分析了泛化误差边界与鉴别器的泛化能力和鉴别器之间的关联性逐渐的关联性。由于不能直接展示gan的泛化能力,为此我们在密度估计、模型覆盖和个性化攻击这三个任务上间接展示forest-gan的泛化能力以及它的数据隐私保护能力。并且在虚拟数据和真实数据上,通过实验结果,进一步佐证forest-gan能够通过提高生成样本的多样性和质量来降低泛化误差,通过抵抗个性化攻击(membership inference attack,mia)来展示隐私保护能力。
[0147]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献