一种三模型博弈的产生式对抗网络模型的建立方法及装置
技术领域
本发明实施例涉及机器学习技术领域,尤其涉及一种三模型博弈的产生式对抗网络模型的建立方法及装置。
背景技术
随着深度学习的不断发展,前馈神经网络在各个领域都取得了显著的成就,比如语音识别、图像分类、文本分类等等。但是单纯的前馈神经网络忽略了输入数据中的不确定性,其成功往往依赖于高质量的有标注数据。
深度生成模型作为一种提取样例高阶非线性特征的模型,可以利用无标定数据进行学习。其中产生式对抗网络(Generative Adversarial Nets,简称GAN)通过生成网络和判别网络的对抗训练在真实图像生成任务上取得了令人瞩目的成效。其中生成网络负责产生伪造图像,判别网络负责区分真正图像和伪造图像。但是产生式对抗网络在半监督学习任务上的扩展是非平凡的,现有的方法往往直接将判别网络进行分类扩展,同时加上信息论中的一些限制条件,强制判别网络进行分类。但是这种做法有如下两个主要缺点:
(1)由于判别网络同时负责区分是否为真实图像和分类图像两个任务,内在的不兼容性会导致分类任务和生成任务不能同时达到最优;
(2)判别网络推断的类别信息不能直接被生成网络利用,因此生成网络不能生成指定类别的图片。
现有技术中的以上两个缺点均会极大限制产生式对抗网络模型的应用,因此如何提高产生式对抗网络模型的分类准确率,并同时能够产生特定类别图片是现如今亟待解决的技术问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种三模型博弈的产生式对抗网络模型的建立方法及装置。
一方面,本发明实施例提供一种三模型博弈的产生式对抗网络模型的建立方法,包括:
初始化分类子模型、生成子模型和判别子模型;
获取图像-类别数据集、无类别图像数据集和类别信息集,根据所述图像-类别数据集、所述无类别图像数据集和所述类别信息集构成训练数据集合;
通过所述判别子模型计算所述训练数据集合中每一训练数据为真的概率值,并根据所述概率值优化所述判别子模型中的第一参数目标函数,获得优化后判别子模型;
根据所述训练数据集合计算所述分类子模型中对应的损失函数,根据所述损失函数优化所述分类子模型中的第二参数目标函数,获得优化后分类子模型;
根据所述训练数据集合优化所述生成子模型中的第三参数目标函数,获得优化后生成子模型;
所述优化后判别子模型、所述优化后分类子模型和所述优化后生成子模型构成所述产生式对抗网络模型。
另一方面,本发明实施例提供一种装置,包括:
第一获取模块,用于初始化分类子模型、生成子模型和判别子模型;
第二获取模块,用于获取图像-类别数据集、无类别图像数据集和类别信息集,根据所述图像-类别数据集、所述无类别图像数据集和所述类别信息集构成训练数据集合;
第一参数优化模块,用于通过所述判别子模型计算所述训练数据集合中每一训练数据为真的概率值,并根据所述概率值优化所述判别子模型中的第一参数目标函数,获得优化后判别子模型;
第二参数优化模块,用于根据所述训练数据集合计算所述分类子模型中对应的损失函数,根据所述损失函数优化所述分类子模型中的第二参数目标函数,获得优化后分类子模型;
第三参数优化模块,用于根据所述训练数据集合优化所述生成子模型中的第三参数目标函数,获得优化后生成子模型;
模型建立模块,用于根据所述优化后判别子模型、所述优化后分类子模型和所述优化后生成子模型建立所述产生式对抗网络模型。
本发明实施例提供的一种三模型博弈的产生式对抗网络模型的建立方法及装置,通过训练数据集合分别优化判别子模型中的第一参数目标函数、分类子模型中的第二参数目标函数和生成子模型中的第三参数目标函数,所得的优化后判别子模型,优化后分类子模型,优化后生成子模型即为产生式对抗网络模型,在半监督情况下,显著提高了产生式对抗网络的分类准确率,并使其具有产生特定类别图片的能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种三模型博弈的产生式对抗网络模型的建立方法流程示意图;
图2为本发明实施例提供的一种三模型博弈的产生式对抗网络模型优化方法流程示意图;
图3为本发明实施例提供的一种装置结构示意图;
图4为本发明实施例提供的一种装置的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种三模型博弈的产生式对抗网络模型的建立方法流程示意图,如图1所示,所述方法,包括:
步骤101:初始化分类子模型、生成子模型和判别子模型;
具体地,初始化产生式对抗网络模型包括的分类子模型、生成子模型和判别子模型,其中,分类子模型用于,针对一张高维图像作为输入,其输出为该高维图像对应的类别信息;生成子模型用于,针对一个类别信息和一个低维随机向量作为输入,其输出为一个具有该类别信息的伪造图像;判别子模型用于,针对一个图像-类别数据作为输入,其输出为该图像-类别数据为真的概率值,因此,分类子模型和生成子模型用于生成伪造的图像-类别数据,而判别子模型用来识别出分类子模型和生成子模型生成的伪造的图像-类别数据。
步骤102:获取图像-类别数据集、无类别图像数据集和类别信息集,根据所述图像-类别数据集、所述无类别图像数据集和所述类别信息集构成训练数据集合;
具体地,获取图像-类别数据集、无类别图像数据集和类别信息集,其中,图像-类别数据集中包括多个图像-类别数据,即该数据中包括一张图像及该图像对应的类别,属于真的数据,无类别图像数据集中包括多张图像,但没有该图像对应的类别,类别信息集中只包括一些类别信息,没有图像。根据图像-类别数据集、无类别图像数据集和类别信息集可以构成用来对产生式对抗网络模型进行训练的训练数据集合。
步骤103:通过所述判别子模型计算所述训练数据集合中每一训练数据为真的概率值,并根据所述概率值优化所述判别子模型中的第一参数目标函数,获得优化后判别子模型;
具体地,将获取到的训练数据集合中的训练数据输入到判别子模型中,判别子模型可以判断出训练数据集合中每一条训练数据为真的概率值,并计算判别子模型中的第一参数目标函数,根据概率值,利用随机梯度上升法对第一参数目标函数中的参数进行优化,最终获得优化后判别子模型。
步骤104:根据所述训练数据集合计算所述分类子模型中对应的损失函数,根据所述损失函数优化所述分类子模型中的第二参数目标函数,获得优化后分类子模型;
具体地,将获取到的训练数据集合中的训练数据输入到分类子模型中,分类子模型可以输出训练数据对应的类别信息概率分布,根据该类别信息概率分布可以获得分类子模型的交叉熵、伪判别式损失函数和无标定数据判别式损失函数,根据上述计算获得的交叉熵、伪判别式损失函数和无标定数据判别式损失函数来计算分类子模型中的第二参数目标函数,利用随机梯度下降法对第二参数目标函数中的参数进行优化,获得优化后分类子模型。
步骤105:根据所述训练数据集合优化所述生成子模型中的第三参数目标函数,获得优化后生成子模型;
具体地,将类别信息集中的一定数量的类别信息输入到生成子模型中,使得该生成子模型生成类别信息对应的伪造图像,将伪造的图像-类别数据作为训练数据集合,将该训练数据集合输入到判别子模型中,获取该训练数据集合中每一训练数据为真的概率值,根据该概率值计算生成子模型对应的第三参数目标函数,并利用随机梯度下降法对第三参数目标函数中的参数进行优化,获得优化后生成子模型。
步骤106:所述优化后判别子模型、所述优化后分类子模型和所述优化后生成子模型构成所述产生式对抗网络模型。
具体地,优化后判别子模型、优化后分类子模型和优化后生成子模型即为三模型博弈的产生式对抗网络模型。应当说明的是,将分别对判别子模型、分类子模型和生成子模型的一次优化作为一轮优化,在整个优化过程中需要很多轮的优化,其中具体进行几轮优化,根据实际情况进行预先设定。另外,第一参数目标函数、第二参数目标函数和第三参数目标函数中的参数具有内在关联,例如:在对判别子模型进行优化时需要用到分类子模型和生成子模型中的参数,在对分类子模型进行优化时需要用到判别子模型和生成子模型中的参数,在对生成子模型进行优化时需要用到判别子模型和分类子模型中的参数。
本发明实施例通过训练数据集合分别优化判别子模型中的第一参数目标函数、分类子模型中的第二参数目标函数和生成子模型中的第三参数目标函数,所得的优化后判别子模型,优化后分类子模型,优化后生成子模型即为产生式对抗网络模型,在半监督情况下,显著提高了产生式对抗网络的分类准确率,并使其具有产生特定类别图片的能力。
在上述实施例的基础上,所述根据所述图像-类别数据集、所述无类别图像数据集和所述类别信息集构成训练数据集合,包括:
从所述图像-类别数据集中获取第一预设数量的图像-类别数据,从所述无类别图像数据集中获取第二预设数量的无类别图像数据,构成数据大小为第三预设数量的预选训练子集;
具体地,从图像-类别数据集中获取第一预设数量的图像-类别数据,从无类别图像数据集中获取第二预设数量的无类别图像数据,将第一预设数量的图像-类别数据和第二预设数量的无类别图像数据合并构成第三预设数量的预选训练子集,可以理解的是,第三预设数量等于第一预设数量与第二预设数量之和,图像-类别数据集和无类别图像数据集中的图像为长宽固定的矩阵,图像-类别数据集中的类别信息为一个整数值;根据图像-类别数据集和无类别图像数据集中数据数量的比例来选择第一预设数量的图像-类别数据和第二预设数量的无类别图像数据,例如:图像-类别数据集中有100条图像-类别数据,无类别图像数据集中有900条无类别图像数据,则第一预设数量可以10,第二预设数量为90,因此,第三预设数量为100。
根据所述分类子模型获得所述第二预设数量的无类别图像数据对应的类别信息,构成第一伪造图像-类别数据,将所述第一预设数量的图像-类别数据和所述第一伪造图像-类别数据构成第一训练子集;
具体地,将预选训练子集中来自无类别图像数据集中的第二预设数量的无类别图像数据输入到分类子模型中,交替进行卷积、池化和非线性映射操作,得到类别信息的概率分布pc1(y|x),并选择y'=argmaxypc1(y|x)作为伪造类别,从而构成第一伪造图像-类别数据,将第一伪造图像-类别数据与预选训练子集中来自图像-类别数据集中第一预设数量的图像-类别数据合并,共同构成第一训练子集。
从所述无类别图像数据集中随机选取所述第三预设数量的所述无类别图像数据,利用所述分类子模型获得所述第三预设数量的所述无类别图像数据对应的所述类别信息,构成第二伪造图像-类别数据,根据所述第二伪造图像-类别数据构建第二训练子集;
具体地,从无类别图像数据集中随机选取第三预设数量的无类别图像数据,将选取出来的无类别图像数据输入到分类子模型中,得到类别信息的概率分布pc2(y|x),并选择y'=argmaxypc2(y|x)作为伪造类别,根据第三预设数量的无类别图像数据和计算出来的伪造类别构成第二伪造图像-类别数据,第三预设数量的第二伪造图像-类别数据构成了第二训练子集。
随机从所述类别信息集中选取所述第三预设数量的类别信息,利用所述生成子模型生成所述第三预设数量的类别信息对应的伪造图像,构成第三伪造图像-类别数据,根据所述第三伪造图像-类别数据构建第三训练子集;
具体地,随机的从类别信息集中选取第三预设数量的类别信息,其中,第三预设数量选为100,将选取出来,100个类别信息输入到生成子模型中,同时每个类别信息采样一个大小为100维的均匀分布随机向量,将分类信息和均匀分布随机向量级联在一起,交替进行卷积、反池化和非线性映射操作产生于类别信息对应的伪造图像,类别信息和伪造图像构成了第三伪造图像-类别数据,将100个第三伪造图像-类别信息构成的集合称为第三训练子集。
从所述图像-类别数据集中随机获取第三预设数量的所述图像-类别数据,构成第四训练子集;
从所述类别信息集中随机选取所述第三预设数量的所述类别信息,利用所述生成子模型生成所述第三预设数量的类别信息对应的伪造图像,构成第五伪造图像-类别数据,根据所述第五伪造图像-类别数据构建第五训练子集;
具体地,随机的从类别信息集中选取第三预设数量的类别信息,其中,第三预设数量选为100,将选取出来,100个类别信息输入到生成子模型中,同时每个类别信息采样一个大小为100维的均匀分布随机向量,将分类信息和均匀分布随机向量级联在一起,交替进行卷积、池化和非线性映射操作产生于类别信息对应的伪造图像,类别信息和伪造图像构成了第五伪造图像-类别数据,将100个第五伪造图像-类别信息构成的集合称为第五训练子集。可以看出,第五训练子集和第三训练子集的选取方法一致,但是由于从类别信息集中随机选取第三预设数量的类别信息,所以第三训练子集中的数据与第五训练子集中的数据不同。
从所述无类别图像数据集中选取所述第三预设数量的所述无类别图像数据构成第六训练子集;
所述第一训练子集、所述第二训练子集、所述第三训练子集、所述第四训练子集、所述第五训练子集和所述第六训练子集构成所述训练数据集合。
具体地,通过上述方法获得的第一训练子集、第二训练子集、第三训练子集、第四训练子集、第五训练子集和第六训练子集构成训练数据集合。应当说明的是,训练集合中还可能有其他的训练数据,本发明实施例对此不作具体限定。
本发明实施例通过图像-类别数据集、无类别图像数据集和类别信息集构成训练数据集合,使用大量的真数据集和伪造的数据集对产生式对抗网络模型中的参数进行优化,提高了产生式对抗网络模型分类的准确性,并使其具有产生特定类别图片的能力。
在上述实施例的基础上,所述通过所述判别子模型计算所述训练数据集合中每一训练数据为真的概率值,并根据所述概率值优化所述判别子模型中的第一参数目标函数,获得优化后判别子模型,包括:
利用判别子模型,计算所述第一训练子集、所述第二训练子集和所述第三训练子集中每一训练数据为真的所述概率值,根据所述概率值优化所述判别子模型中的第一参数目标函数,其中,所述第一参数目标函数为:
其中,θD为所述判断子模型中的参数,d1为所述第一训练子集,d2为所述第二训练子集,d3为所述第三训练子集,D1(x,y)为所述判断子模型根据d1中的一条所述训练数据(x,y)获得的所述概率值,D2(x,y)为所述判断子模型根据d2中的一条所述训练数据(x,y)获得的所述概率值,D3(x,y)为所述判断子模型根据d3中的一条所述训练数据(x,y)获得的所述概率值。
具体地,将第一训练子集、第二训练子集和第三训练子集输入到判别子模型中,将图像-类别数据中的类别信息和图像级联在一起,交替进行卷积、池化和非线性映射操作计算每个图像-类别数据为真的概率值,并根据概率值优化判别子模型中第一参数目标函数中的参数,其中,第一参数目标函数为最大化目标函数,其具体的公式为:
其中,利用随机梯度上升法对第一参数目标函数进行优化,在第一参数目标函数中θD为判断子模型中的参数,d1为第一训练子集,d2为第二训练子集,d3为第三训练子集,将d1中的所有训练数据输入到判别子模型中,得到d1中每一个训练数据对应的为真的概率值D1(x,y),将d2中的所有训练数据输入到判别子模型中,得到d2中每一个训练数据对应的为真的概率值D2(x,y),将d3中的所有训练数据输入到判别子模型中,得到d3中每一个训练数据对应的为真的概率值D3(x,y),通过以上数据可以构成第一参数目标函数的公式,通过该公式对判别子模型中的参数进行优化。
本发明实施例通过对判别子模型中的参数优化,提高了判别子模型对伪造的训练数据和真是的训练数据的辨别能力,从而使其分类结果更为准确。
在上述实施例的基础上,所述根据所述训练数据集合计算所述分类子模型中对应的损失函数,根据所述损失函数优化所述分类子模型中的第二参数目标函数,获得优化后分类子模型,包括:
根据所述第四训练子集,利用所述分类子模型计算所述类别信息的第一概率分布,根据所述第一概率分布计算交叉熵,其中交叉熵为:
其中,pc4(y|x)为所述第一概率分布,d4为所述第四训练子集,(x,y)为所述第四训练子集中的一条训练数据;
具体地,将第四训练数据输入到分类子模型中,分类子模型针对第四训练子集中的每一条训练数据都生成一个第一概率分布,根据第一概率分布计算其交叉熵,其中,交叉熵的具体公式为:
其中,(x,y)为第四训练子集d4中的一条训练数据,pc4(y|x)为第四训练子集中训练数据(x,y)对应的类别信息的第一概率分布。
根据所述第五训练子集,利用所述分类子模型计算所述类别信息对应的第二概率分布,根据所述第二概率分布计算所述分类子模型的伪判别式损失函数,其中所述伪判别式损失函数为:
其中,pc5(y|x)为所述第二概率分布,d5为所述第五训练子集,(x,y)为所述第五训练子集中的一条训练数据;
具体地,将第五训练子集输入到分类子模型中,其中第五训练子集的获得方法已在上述实施例中具体描述,本发明实施例对此不再赘述,计算第五训练子集中每一数据的分类信息的第二概率分布,根据第二概率分布构成分类子模型的伪判别式损失函数,其中,伪判别式损失函数的具体公式为:
其中,伪判别式损失函数中的d5为第五训练子集,(x,y)为第五训练子集中的一条训练数据,pc5(y|x)为第五训练子集输入到分类子模型中输出的第二概率分布。
根据所述第六训练子集,利用所述分类子模型计算所述类别信息对应的第三概率分布,根据所述第三概率分布计算所述分类子模型的无标定数据判别式损失函数,其中所述无标定数据判别式损失函数为:
其中,pc6(y|x)为所述第三概率分布,d6为所述第六训练子集,(x,y)为所述第六训练子集中的一条训练数据;
具体地,由于第六训练子集中的训练数据只有图像,没有图像对应的类别信息,因此,将第六训练子集中的训练数据输入到分类子模型中,得到类别信息的第三概率分布pc6(y|x),根据第三概率分布,构成分类子模型对应的无标定数据判别式损失函数,其中,无标定数据判别式损失函数为:
其中,d6为第六训练子集,(x,y)为第六训练子集中的一条训练数据,pc6(y|x)为第六训练子集中的一条训练数据输入到分类子模型中输出的第三概率分布。
根据所述交叉熵、所述伪判别式损失函数和所述无标定数据判别式损失函数优化所述第二参数目标函数,其中第二参数目标函数为:
其中,θC为所述分类子模型中的参数,d2为所述第二训练子集,d4为所述第四训练子集,d5为所述第五训练子集,d6为所述第六训练子集,D2(x,y)为d2中的一条所述训练数据(x,y)计算获得的所述概率值,pc4(y|x)为所述第一概率分布,pc5(y|x)为所述第二概率分布,pc6(y|x)为所述第三概率分布。
具体地,将计算得到的交叉熵、伪判别式损失函数和无标定数据判别式损失函数累加,得到第二参数目标函数,通过第二参数目标函数优化分类子模型中的参数,其中第二参数目标函数为:
其中,θC为分类子模型中的参数,d2为第二训练子集,d4为第四训练子集,d5为第五训练子集,d6为第六训练子集,D2(x,y)为d2中的训练数据(x,y)输入到判别子模型中计算获得的概率值,pc4(y|x)为d4中的训练数据输入到分类子模型中得到的第一概率分布,pc5(y|x)为d5中的训练数据输入到分类子模型中得到的第二概率分布,pc6(y|x)为d6中的训练数据输入到分类子模型中得到的第三概率分布。由第二参数目标函数可以看出,该函数中包含经过判别子模型计算获得的第二训练子集对应的为真的概率值。
本发明实施例通过交叉熵、伪判别式损失函数和无标定数据判别式损失函数构成第二参数目标函数,并通过第二参数目标函数对分类子模型中的参数进行优化,优化后的分类子模型能够在非参数化假设下收敛到真实数据的分布上,因此,优化后的分类子模型可以产生更加真实的伪造数据来训练判别子模型,使得判别子模型能够输出更加准确的判定结果。
在上述各实施例的基础上,所述根据所述训练数据集合优化所述生成子模型中的第三参数目标函数,获得优化后生成子模型,包括:
根据所述第三训练子集,利用所述判别子模型计算获得所述第三训练子集中的所述训练数据为真的概率值,根据所述概率值优化所述生成子模型中的所述第三参数目标函数,其中所述第三参数目标函数为:
其中,θG为所述生成子模型中的参数,d3为所述第三训练子集,D3(x,y)为所述判别子模型根据d3中的一条所述训练数据(x,y)计算获得的所述概率值。
具体地,将第三训练子集中的训练数据输入到判别子模型中,使得判别子模型计算得到该训练数据为真的概率值,根据计算得到的概率值,构建第三参数目标函数,其中,第三参数目标函数为:
其中,θG为生成子模型中的参数,d3为第三训练子集,D3(x,y)为将第三训练子集中的训练数据(x,y)输入到判别子模型,计算获得的概率值。
由此可知,在对生成子模型中的参数进行优化时,需要用到判别子模型对训练数据的输出结果,因此,对判别子模型、分类子模型和生成子模型的优化是相辅相成,共同促进的。
本发明实施例通过第三训练子集对生成子模型中的参数进行优化,使得该生成子模型在非参数化假设下能够收敛到真实数据的分布上,从而根据类别信息生成更加真实的伪造图像,用更加真实的伪造数据来训练判定子模型使得判定子模型能够输出更加准确的结果。
图2为本发明实施例提供的一种三模型博弈的产生式对抗网络模型优化方法流程示意图,如图2所示,该方法具体为:
步骤201:根据训练子集,利用随机梯度上升法优化判别子模型中的参数;获取第一训练子集、第二训练子集和第三训练子集,其中获取上述各训练子集的方法与上述实施例一致,此处不再赘述,将上述各训练子集输入到判别子模型中,计算得到各个训练子集中各个训练数据为真的概率值,根据该概率值利用随机梯度上升法优化判别子模型中的参数,其中,判别子模型对应的最大化目标函数为:
其中,该最大化目标函数中的各个参数所代表的含义在上述实施例中进行了描述,此处不再赘述。
步骤202:根据训练子集,利用随机梯度下降法优化分类子模型中的参数;其中获取上述各训练子集的方法与上述实施例一致,此处不再赘述,将上述各训练子集输入到分类子模型中,计算得到各个训练子集中各个训练数据对应的概率分布,根据概率分布构建交叉熵,伪判别式损失函数和无标定数据判别式损失函数,并构建第二参数目标函数,第二参数目标函数为:
根据随机梯度下降法对分类子模型中的参数进行优化。
步骤203:根据训练子集,利用随机梯度下降法优化生成子模型中的参数;获取第三训练子集,将第三训练子集中的训练数据输入到判别子模型中,计算得到该训练数据为真的概率值,根据该概率值构建第三参数目标函数,其中第三参数目标函数为:
第三参数目标函数中的参数在上述实施例中进行描述,此处不再赘述,根据第三参数目标函数利用随机梯度下降法对生成子模型中的参数进行优化。
步骤204:是否优化到预定的轮数;对判别子模型、分类子模型和生成子模型的一次优化为一轮,可以设定轮数,判断是否达到了预定的轮数,如果达到则进行步骤205,否则进行步骤201;
步骤205:进形图像分类和给定类别的图像生成任务;对判别子模型、分类子模型和生成子模型进行优化完成后,构成了产生式对抗网络模型,可以利用该产生式对抗网络模型进行图像分类和给定类别信息生成图像。
本发明实施例通过训练数据集合分别优化判别子模型中的第一参数目标函数、分类子模型中的第二参数目标函数和生成子模型中的第三参数目标函数,所得的优化后判别子模型,优化后分类子模型,优化后生成子模型即为产生式对抗网络模型,在半监督情况下,显著提高了产生式对抗网络的分类准确率,并使其具有产生特定类别图片的能力。图3为本发明实施例提供的一种装置结构示意图,如图3所示,所述装置包括:初始化模块301、获取模块302、第一参数优化模块303、第二参数优化模块304、第三参数优化模块305和模型构成模块306,其中:
初始化模块301用于初始化分类子模型、生成子模型和判别子模型;获取模块302用于获取图像-类别数据集、无类别图像数据集和类别信息集,根据所述图像-类别数据集、所述无类别图像数据集和所述类别信息集构成训练数据集合;第一参数优化模块303用于通过所述判别子模型计算所述训练数据集合中每一训练数据为真的概率值,并根据所述概率值优化所述判别子模型中的第一参数目标函数,获得优化后判别子模型;第二参数优化模块304用于根据所述训练数据集合计算所述分类子模型中对应的损失函数,根据所述损失函数优化所述分类子模型中的第二参数目标函数,获得优化后分类子模型;第三参数优化模块305用于根据所述训练数据集合优化所述生成子模型中的第三参数目标函数,获得优化后生成子模型;模型构成模块306用于根据所述优化后判别子模型、所述优化后分类子模型和所述优化后生成子模型构成所述产生式对抗网络模型。
具体地,初始化模块301获取该产生式对抗网络模型包括分类子模型、生成子模型和判别子模型,获取模块302获取图像-类别数据集、无类别图像数据集和类别信息集,根据图像-类别数据集、无类别图像数据集和类别信息集可以构成用来对产生式对抗网络模型进行训练的训练数据集合。第一参数优化模块303将获取到的训练数据集合输入到判别子模型中,判别子模型可以判断出训练数据集合中每一个训练数据为真的概率值,并计算判别子模型中的第一参数目标函数,根据概率值,利用随机梯度上升法对第一参数目标函数中的参数进行优化,最终获得优化后的判别子模型。第二参数优化模块304将获取到的训练数据集合输入到分类子模型中,分类子模型可以输出训练数据集合对应的类别信息概率分布,根据该类别信息概率分布来计算分类子模型中的第二参数目标函数,利用随机梯度下降法对第二参数目标函数中的参数进行优化,获得优化后分类子模型。第三参数优化模块305将类别信息集中的一定数量的类别信息输入到生成子模型中,使得该生成子模型生成类别信息对应的伪造图像,将伪造的图像-类别数据作为训练数据集合,将该训练数据集合输入到判别子模型中,获取该训练数据集合中每一训练数据为真的概率值,根据该概率值计算生成子模型对应的第三参数目标函数,并利用随机梯度下降法对第三参数目标函数中的参数进行优化,获得优化后生成子模型。模型构成模块306将优化后判别子模型、优化后分类子模型和优化后生成子模型作为产生式对抗网络模型。
本发明提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
本发明实施例通过训练数据集合分别优化判别子模型中的第一参数目标函数、分类子模型中的第二参数目标函数和生成子模型中的第三参数目标函数,所得的优化后判别子模型,优化后分类子模型,优化后生成子模型即为产生式对抗网络模型,在半监督情况下,显著提高了产生式对抗网络的分类准确率,并使其具有产生特定类别图片的能力。在上述实施例的基础上,所述第二获取模块具体用于:
从所述图像-类别数据集中获取第一预设数量的图像-类别数据,从所述无类别图像数据集中获取第二预设数量的无类别图像数据,构成数据大小为第三预设数量的预选训练子集;
具体地,第二获取模块从图像-类别数据集中获取第一预设数量的图像-类别数据,从无类别图像数据集中获取第二预设数量的无类别图像数据,将第一预设数量的图像-类别数据和第二预设数量的无类别图像数据合并构成第三预设数量的预选训练子集,可以理解的是,第三预设数量等于第一预设数量与第二预设数量之和,图像-类别数据集和无类别图像数据集中的图像为长宽固定的矩阵,图像-类别数据集中的类别信息为一个整数值;根据图像-类别数据集和无类别图像数据集中数据数量的比例来选择第一预设数量的图像-类别数据和第二预设数量的无类别图像数据。
根据所述分类子模型获得所述第二预设数量的无类别图像数据对应的类别信息,构成第一伪造图像-类别数据,将所述第一预设数量的图像-类别数据和所述第一伪造图像-类别数据构成第一训练子集;
具体地,第二获取模块将预选训练子集中来自无类别图像数据集中的第二预设数量的无类别图像数据输入到分类子模型中,交替进行卷积、池化和非线性映射操作,得到类别信息的概率分布pc1(y|x),并选择y'=argmaxypc1(y|x)作为伪造类别,从而构成第一伪造图像-类别数据,将第一伪造图像-类别数据与预选训练子集中来自图像-类别数据集中第一预设数量的图像-类别数据合并,共同构成第一训练子集。
从所述无类别图像数据集中随机选取所述第三预设数量的所述无类别图像数据,利用所述分类子模型获得所述第三预设数量的所述无类别图像数据对应的所述类别信息,构成第二伪造图像-类别数据,根据所述第二伪造图像-类别数据构建第二训练子集;
具体地,第二获取模块从无类别图像数据集中随机选取第三预设数量的无类别图像数据,将选取出来的无类别图像数据输入到分类子模型中,得到类别信息的概率分布pc2(y|x),并选择y'=argmaxypc2(y|x)作为伪造类别,根据第三预设数量的无类别图像数据和计算出来的伪造类别构成第二伪造图像-类别数据,第三预设数量的第二伪造图像-类别数据构成了第二训练子集。
随机从所述类别信息集中选取所述第三预设数量的类别信息,利用所述生成子模型生成所述第三预设数量的类别信息对应的伪造图像,构成第三伪造图像-类别数据,根据所述第三伪造图像-类别数据构建第三训练子集;
具体地,第二获取模块从类别信息集中选取第三预设数量的类别信息,其中,第三预设数量选为100,将选取出来,100个类别信息输入到生成子模型中,同时每个类别信息采样一个大小为100维的均匀分布随机向量,将分类信息和均匀分布随机向量级联在一起,交替进行卷积、池化和非线性映射操作产生于类别信息对应的伪造图像,类别信息和伪造图像构成了第三伪造图像-类别数据,将100个第三伪造图像-类别信息构成的集合称为第三训练子集。
从所述图像-类别数据集中随机获取第三预设数量的所述图像-类别数据,构成第四训练子集;
从所述类别信息集中随机选取所述第三预设数量的所述类别信息,利用所述生成子模型生成所述第三预设数量的类别信息对应的伪造图像,构成第五伪造图像-类别数据,根据所述第五伪造图像-类别数据构建第五训练子集;
具体地,第二获取模块随机的从类别信息集中选取第三预设数量的类别信息,其中,第三预设数量选为100,将选取出来,100个类别信息输入到生成子模型中,同时每个类别信息采样一个大小为100维的均匀分布随机向量,将分类信息和均匀分布随机向量级联在一起,交替进行卷积、池化和非线性映射操作产生于类别信息对应的伪造图像,类别信息和伪造图像构成了第五伪造图像-类别数据,将100个第五伪造图像-类别信息构成的集合称为第五训练子集。可以看出,第三训练子集和第二训练子集的选取方法一致,但是由于从类别信息集中随机选取第三预设数量的类别信息,所以第三训练子集中的数据与第五训练子集中的数据不同。
从所述无类别图像数据集中选取所述第三预设数量的所述无类别图像数据构成第六训练子集;
所述第一训练子集、所述第二训练子集、所述第三训练子集、所述第四训练子集、所述第五训练子集和所述第六训练子集构成所述训练数据。
具体地,第二获取模块通过上述方法获得的第一训练子集、第二训练子集、第三训练子集、第四训练子集、第五训练子集和第六训练子集构成训练数据集合。应当说明的是,训练集合中还可能有其他的训练数据,本发明实施例对此不作具体限定。
本发明实施例通过图像-类别数据集、无类别图像数据集和类别信息集构成训练数据集合,使用大量的真数据集和伪造的数据集对产生式对抗网络模型中的参数进行优化,提高了产生式对抗网络模型分类的准确性,并使其具有产生特定类别图片的能力。
在上述实施例的基础上,所述第一参数优化模块具体用于:
利用判别子模型,计算所述第一训练子集、所述第二训练子集和所述第三训练子集中每一训练数据为真的所述概率值,根据所述概率值优化所述判别子模型中的第一参数目标函数,其中,所述第一参数目标函数为:
其中,θD为所述判断子模型中的参数,d1为所述第一训练子集,d2为所述第二训练子集,d3为所述第三训练子集,D1(x,y)为所述判断子模型根据d1中的一条所述训练数据(x,y)获得的所述概率值,D2(x,y)为所述判断子模型根据d2中的一条所述训练数据(x,y)获得的所述概率值,D3(x,y)为所述判断子模型根据d3中的一条所述训练数据(x,y)获得的所述概率值。
具体地,第一参数优化模块将第一训练子集、第二训练子集和第三训练子集输入到判别子模型中,将图像-类别数据中的类别信息和图像级联在一起,交替进行卷积、池化和非线性映射操作计算每个图像-类别数据为真的概率值,并根据概率值优化判别子模型中第一参数目标函数中的参数,其中,第一参数目标函数为最大化目标函数,其具体的公式为:
其中,利用随机梯度上升法对第一参数目标函数进行优化,在第一参数目标函数中θD为判断子模型中的参数,d1为第一训练子集,d2为第二训练子集,d3为第三训练子集,将d1中的所有训练数据输入到判别子模型中,得到d1中每一个训练数据对应的为真的概率值D1(x,y),将d2中的所有训练数据输入到判别子模型中,得到d2中每一个训练数据对应的为真的概率值D2(x,y),将d3中的所有训练数据输入到判别子模型中,得到d3中每一个训练数据对应的为真的概率值D3(x,y),通过以上数据可以构成第一参数目标函数的公式,通过该公式对判别子模型中的参数进行优化。
本发明实施例通过对判别子模型中的参数优化,提高了判别子模型对伪造的训练数据和真是的训练数据的辨别能力,从而使其分类结果更为准确。
在上述实施例的基础上,所述第二参数优化模块具体用于:
根据所述第四训练子集,利用所述分类子模型计算所述类别信息的第一概率分布,根据所述第一概率分布计算交叉熵,其中交叉熵为:
其中,pc4(y|x)为所述第一概率分布,d4为所述第四训练子集,(x,y)为所述第四训练子集中的一条训练数据;
具体地,第二参数优化模块将第四训练数据输入到分类子模型中,分类子模型针对第四训练子集中的每一条训练数据都生成一个第一概率分布,根据第一概率分布计算其交叉熵,其中,交叉熵的具体公式为:
其中,(x,y)为第四训练子集d4中的一条训练数据,pc4(y|x)为第四训练子集中训练数据(x,y)对应的类别信息的第一概率分布。
根据所述第五训练子集,利用所述分类子模型计算所述类别信息对应的第二概率分布,根据所述第二概率分布计算所述分类子模型的伪判别式损失函数,其中所述伪判别式损失函数为:
其中,pc5(y|x)为所述第二概率分布,d5为所述第五训练子集,(x,y)为所述第五训练子集中的一条训练数据;
具体地,第二参数优化模块将第五训练子集输入到分类子模型中,其中第五训练子集的获得方法已在上述实施例中具体描述,本发明实施例对此不再赘述,计算第五训练子集中每一数据的分类信息的第二概率分布,根据第二概率分布构成分类子模型的伪判别式损失函数,其中,伪判别式损失函数的具体公式为:
其中,伪判别式损失函数中的d5为第五训练子集,(x,y)为第五训练子集中的一条训练数据,pc5(y|x)为第五训练子集输入到分类子模型中输出的第二概率分布。
根据所述第六训练子集,利用所述分类子模型计算所述类别信息对应的第三概率分布,根据所述第三概率分布计算所述分类子模型的无标定数据判别式损失函数,其中所述无标定数据判别式损失函数为:
其中,pc6(y|x)为所述第三概率分布,d6为所述第六训练子集,(x,y)为所述第六训练子集中的一条训练数据;
具体地,由于第六训练子集中的训练数据只有图像,没有图像对应的类别信息,因此,第二参数优化模块将第六训练子集中的训练数据输入到分类子模型中,得到类别信息的第三概率分布pc6(y|x),根据第三概率分布,构成分类子模型对应的无标定数据判别式损失函数,其中,无标定数据判别式损失函数为:
其中,d6为第六训练子集,(x,y)为第六训练子集中的一条训练数据,pc6(y|x)为第六训练子集中的一条训练数据输入到分类子模型中输出的第三概率分布。
根据所述交叉熵、所述伪判别式损失函数和所述无标定数据判别式损失函数优化所述第二参数目标函数,其中第二参数目标函数为:
其中:
θC为所述分类子模型中的参数,d2为所述第二训练子集,d4为所述第四训练子集,d5为所述第五训练子集,d6为所述第六训练子集,D2(x,y)为d2中的一条所述训练数据(x,y)计算获得的所述概率值,pc4(y|x)为所述第一概率分布,pc5(y|x)为所述第二概率分布,pc6(y|x)为所述第三概率分布。
具体地,第二参数优化模块将计算得到的交叉熵、伪判别式损失函数和无标定数据判别式损失函数累加,得到第二参数目标函数,通过第二参数目标函数优化分类子模型中的参数,其中第二参数目标函数为:
其中,θC为分类子模型中的参数,d2为第二训练子集,d4为第四训练子集,d5为第五训练子集,d6为第六训练子集,D2(x,y)为d2中的训练数据(x,y)输入到判别子模型中计算获得的概率值,pc4(y|x)为d4中的训练数据输入到分类子模型中得到的第一概率分布,pc5(y|x)为d5中的训练数据输入到分类子模型中得到的第二概率分布,pc6(y|x)为d6中的训练数据输入到分类子模型中得到的第三概率分布。由第二参数目标函数可以看出,该函数中包含经过判别子模型计算获得的第二训练子集对应的为真的概率值。
本发明实施例通过交叉熵、伪判别式损失函数和无标定数据判别式损失函数构成第二参数目标函数,并通过第二参数目标函数对分类子模型中的参数进行优化,优化后的分类子模型能够在非参数化假设下收敛到真实数据的分布上,因此,优化后的分类子模型可以产生更加真实的伪造数据来训练判别子模型,使得判别子模型能够输出更加准确的判定结果。
在上述各实施例的基础上,所述第三参数优化模块具体用于:
根据所述第三训练子集,利用所述判别子模型计算获得所述第三训练子集中的所述训练数据为真的概率值,根据所述概率值优化所述生成子模型中的所述第三参数目标函数,其中所述第三参数目标函数为:
其中,θG为所述生成子模型中的参数,d3为所述第三训练子集,D3(x,y)为所述判别子模型根据d3中的一条所述训练数据(x,y)计算获得的所述概率值。
具体地,第三参数优化模块将第三训练子集中的训练数据输入到判别子模型中,使得判别子模型计算得到该训练数据为真的概率值,根据计算得到的概率值,构建第三参数目标函数,其中,第三参数目标函数为:
其中,θG为生成子模型中的参数,d3为第三训练子集,D3(x,y)为将第三训练子集中的训练数据(x,y)输入到判别子模型,计算获得的概率值。
由此可知,在对生成子模型中的参数进行优化时,需要用到判别子模型对训练数据的输出结果,因此,对判别子模型、分类子模型和生成子模型的优化是相辅相成,共同促进的。
本发明实施例通过第三训练子集对生成子模型中的参数进行优化,使得该生成子模型在非参数化假设下能够收敛到真实数据的分布上,从而根据类别信息生成更加真实的伪造图像,用更加真实的伪造数据来训练判定子模型使得判定子模型能够输入更加准确的结果。
图4为本发明实施例提供的一种装置的实体结构示意图,如图4所示,所述装置包括:处理器(processor)401、存储器(memory)402和总线403;其中,
所述处理器401和存储器402通过所述总线403完成相互间的通信;
所述处理器401用于调用所述存储器402中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:初始化分类子模型、生成子模型和判别子模型;获取图像-类别数据集、无类别图像数据集和类别信息集,根据所述图像-类别数据集、所述无类别图像数据集和所述类别信息集构成训练数据集合;通过所述判别子模型计算所述训练数据集合中每一训练数据为真的概率值,并根据所述概率值优化所述判别子模型中的第一参数目标函数,获得优化后判别子模型;根据所述训练数据集合计算所述分类子模型中对应的损失函数,根据所述损失函数优化所述分类子模型中的第二参数目标函数,获得优化后分类子模型;根据所述训练数据集合优化所述生成子模型中的第三参数目标函数,获得优化后生成子模型;所述优化后判别子模型、所述优化后分类子模型和所述优化后生成子模型构成所述产生式对抗网络模型。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:初始化分类子模型、生成子模型和判别子模型;获取图像-类别数据集、无类别图像数据集和类别信息集,根据所述图像-类别数据集、所述无类别图像数据集和所述类别信息集构成训练数据集合;通过所述判别子模型计算所述训练数据集合中每一训练数据为真的概率值,并根据所述概率值优化所述判别子模型中的第一参数目标函数,获得优化后判别子模型;根据所述训练数据集合计算所述分类子模型中对应的损失函数,根据所述损失函数优化所述分类子模型中的第二参数目标函数,获得优化后分类子模型;根据所述训练数据集合优化所述生成子模型中的第三参数目标函数,获得优化后生成子模型;所述优化后判别子模型、所述优化后分类子模型和所述优化后生成子模型构成所述产生式对抗网络模型。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:初始化分类子模型、生成子模型和判别子模型;获取图像-类别数据集、无类别图像数据集和类别信息集,根据所述图像-类别数据集、所述无类别图像数据集和所述类别信息集构成训练数据集合;通过所述判别子模型计算所述训练数据集合中每一训练数据为真的概率值,并根据所述概率值优化所述判别子模型中的第一参数目标函数,获得优化后判别子模型;根据所述训练数据集合计算所述分类子模型中对应的损失函数,根据所述损失函数优化所述分类子模型中的第二参数目标函数,获得优化后分类子模型;根据所述训练数据集合优化所述生成子模型中的第三参数目标函数,获得优化后生成子模型;根据所述优化后判别子模型、所述优化后分类子模型和所述优化后生成子模型构成所述产生式对抗网络模型。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。