CN111160415B - 逐层逆化识别模型的生成模型训练方法 - Google Patents
逐层逆化识别模型的生成模型训练方法 Download PDFInfo
- Publication number
- CN111160415B CN111160415B CN201911274553.5A CN201911274553A CN111160415B CN 111160415 B CN111160415 B CN 111160415B CN 201911274553 A CN201911274553 A CN 201911274553A CN 111160415 B CN111160415 B CN 111160415B
- Authority
- CN
- China
- Prior art keywords
- layer
- module
- output
- recognition model
- loss function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种逐层逆化识别模型的生成模型训练方法,以图像生成为例,通过逐层逆化现有的识别模型(如在VGG、Inception‑v3、ResNet等),从而稳定地训练生成对抗模型,使得其中的生成模型能够生成逼真的指定类别的图像。逐层逆化指:对识别模型从输出层到输入层,逐层地以输出层的输出加随机因子作为生成种子,以真实图像特征提取至本层的输入作为真实样本,以本层及其后的识别模型的各层直至输出层作为监督器,指导训练生成对抗模型。本发明的方法不仅适用于构建图像生成模型,声音、文字等其他数据的生成模型同样可用本发明方法进行构建。
Description
技术领域
本发明涉及深度学习技术领域,尤其涉及一种逐层逆化识别模型的生成模型训练方法、计算机设备和存储介质。
背景技术
在深度学习领域,生成对抗模型以其能无监督的学习自然数据集而广受学术界乃至工业界追捧。但众所周知,生成对抗模型也是出奇地难以训练。训练不稳定,经常在训练过程中陷入模式爆炸的困境。另一方面,同样在深度学习领域,各类识别模型已经非常成熟。如何避开生成对抗模型的训练困境,能否利用现成的识别模型,进行监督辅助,具有重要意义。优良的训练过程所获得的相应模型可以应用在图片、视频、声音、文字等具体对象的生成上,提升图片、视频、声音、文字等具体对象的生成效果和生成效率。然而传统的逐层逆化识别模型的生成模型训练方式往往存在稳定性低的问题,容易影响所得模型的对象生成效果。
发明内容
针对以上问题,本发明提出一种逐层逆化识别模型的生成模型训练方法、计算机设备和存储介质。
为实现本发明的目的,提供一种逐层逆化识别模型的生成模型训练方法,包括如下步骤:
S10,将深度学习图像识别模型按层拆解,从深度学习图像识别模型的最后输出层到最初输入层按顺序选取选定层;
S20,将训练样本图片输入深度学习图像识别模型,获取深度学习图像识别模型中选定层的输入和最后输出层的输出;
S30,将最后输出层的输出和预设的随机种子拼接成生成种子,对选定层之后的各层进行逆化,得到选定层的生成模块,将生成种子输入生成模块,获取生成模块的输出;
S40,将生成模块的输出输入深度学习图像识别模型的后部分模型,得到生成识别结果,计算生成识别结果与最后输出层的输出的分类损失,得到生成模块第一损失函数;其中,所述后部分模型包括选定层之后的所有层组成的模型;
S50,获取生成模块获取过程中得到的对抗模块,将生成模块的输出输入到总对抗模块中,得到生成对抗输出,将选定层的输入输入到总对抗模型中,得到真实对抗输出;其中,总对抗模块包括对抗模块以及在此之前得到的对抗模块;
S60,根据生成对抗输出和第一损失函数计算生成模块的第二损失函数,根据第二损失函数更新生成模块参数,根据生成对抗输出和真实对抗输出,计算对抗模块的第三损失函数,根据第三损失函数更新对抗模块参数;
S70,重复执行步骤S20至步骤S60,直至对抗模块无法分辨生成模块的输出与训练样本图片的真实值区别为止;
S80,重复执行步骤S10至步骤S70,直至逆化深度学习图像识别模型的各层为止。
在一个实施例中,所述第一损失函数包括:
Lcls=-∑li×log(pi),
其中,li是类别one-hot编码的元素,pi是分类器输出的属于第i类的概率,Lcls表示第一损失函数。
作为一个实施例,所述pi的确定公式包括:
pi=C(Gk(G0...k-1(z|c))),
其中,z是随机种子,c是类别编码,z|c表示二者拼接在一起形成一个长向量,z作为生成种子,输入到之前循环中已经训练好的生成模块G0...k-1,最后再输入到生成模块Gk,然后数据传入分类器C进行分类。
在一个实施例中,所述第二损失函数包括:
LG=Lcls-∑log(D0...k(Gk(G0...k-1(z|c))),
其中,D0...k是对抗模块与之前循环中已经训练好的对抗模块头尾相接得到的模块,z是随机种子,c是类别编码,z|c表示二者拼接在一起形成一个长向量,z作为生成种子,输入到之前循环中已经训练好的生成模块G0...k-1,最后再输入到生成模块Gk,然后数据传入分类器C进行分类,LG表示第二损失函数。
在一个实施例中,所述第三损失函数包括:
LD=-∑log(D0...k(Cfor(Ir)))-∑log(1-D0...k(Gk(G0...k-1(z|c))),
其中,Ir表示训练样本图片的真实值,Cfor表示深度学习图像识别模型中选定层之前的模块,D0...k表示选定层对抗模块与之前训练好的对抗模块头尾相接得到的模块,z是随机种子,c是类别编码,z|c表示二者拼接在一起形成一个长向量,z作为生成种子,输入到之前循环中已经训练好的生成模块G0...k-1,最后再输入到生成模块Gk,然后数据传入分类器C进行分类,LD表示第三损失函数。
在一个实施例中,所述根据第二损失函数更新生成器参数包括:
计算第二损失函数的损失值,选用Adam优化器基于随机梯度下降法对生成模块的参数进行更新。
在一个实施例中,所述根据第三损失函数更新对抗模块参数包括:
计算第三损失函数的损失值后,选用Adam优化器基于随机梯度下降法对对抗模块的参数进行更新。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例的逐层逆化识别模型的生成模型训练方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例的逐层逆化识别模型的生成模型训练方法的步骤。
上述逐层逆化识别模型的生成模型训练方法,将深度学习图像识别模型按层拆解,从深度学习图像识别模型的最后输出层到最初输入层按顺序选取选定层,将训练样本图片输入深度学习图像识别模型,获取深度学习图像识别模型中选定层的输入和最后输出层的输出,将最后输出层的输出和预设的随机种子拼接成生成种子,对选定层之后的各层进行逆化,得到选定层的生成模块,将生成种子输入生成模块,获取生成模块的输出,将生成模块的输出输入深度学习图像识别模型的后部分模型,得到生成识别结果,计算生成识别结果与最后输出层的输出的分类损失,得到生成模块的第一损失函数,获取生成模块获取过程中得到的对抗模块,将生成模块的输出输入到总对抗模块中,得到生成对抗输出,将选定层的输入输入到总对抗模型中,得到真实对抗输出,根据生成对抗输出和第一损失函数计算生成模块的第二损失函数,根据第二损失函数更新生成模块参数,根据生成对抗输出和真实对抗输出,计算对抗模块的第三损失函数,根据第三损失函数更新对抗模块参数,重复返回执行将训练样本图片输入深度学习图像识别模型的过程,直至对抗模块无法分辨生成模块的输出与训练样本图片的真实值区别为止,重复依次将深度学习图像识别模型的其他各层确定为选定层,以针对相应的选定层执行相应处理,直至逆化深度学习图像识别模型的各层为止,以此确定逐层逆化识别模型的生成模型,可以有效利用现有开源的成功的识别模型,避免陷入生成对抗模型训练时出现的模式爆炸困境,从而稳定高效的训练生成模型;其中逐层地用识别模型中某一层的输入作为生成对抗模型的训练用的真实样本,从输出层到输入层,由简入繁,层层递进,从而达到稳定高效训练的结果。
附图说明
图1是一个实施例的逐层逆化识别模型的生成模型训练方法流程图;
图2是另一个实施例的逐层逆化识别模型的生成模型训练方法流程图;
图3为一个实施例的计算机设备示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在一个实施例中,如图1所示,提供了一种逐层逆化识别模型的生成模型训练方法,包括以下步骤:
S10,将深度学习图像识别模型按层拆解,从深度学习图像识别模型的最后输出层到最初输入层按顺序选取选定层。
具体地,可以下载网络上开源的任意效果良好的深度学习图像识别模型。
上述步骤将深度学习图像识别模型按层拆解,从深度学习图像识别模型的最后输出层到最初输入层按顺序选取选定层,具体可以将最后输出层确定为选定层,以在第一次循环中对该选定层进行相应处理,直至相应对抗模块无法分辨生成模块的输出与训练样本图片的真实值区别为止;在将最后输出层的上一层确定为选定层,以在第二次循环中对该选定层进行相应处理,直至相应对抗模块无法分辨生成模块的输出与训练样本图片的真实值区别为止,以此类推,直至在最后一个循环中将最初输入层确定为选定层,以在该循环中对该选定层进行相应处理,以达到逆化深度学习图像识别模型的各层的目的。
S20,将训练样本图片输入深度学习图像识别模型,获取深度学习图像识别模型中选定层的输入和最后输出层的输出。
上述步骤可以收集大量真实图片,从真实图片中提取一批次的图片作为训练样本图片。
S30,将最后输出层的输出和预设的随机种子拼接成生成种子,对选定层之后的各层进行逆化,得到选定层的生成模块,将生成种子输入生成模块,获取生成模块的输出。
上述随机种子可以预先生成,具体地,可以选用截断正态分布生成随机种子。
具体地,假设已对选定层的后续所有层实现了逆化,上述步骤的任务是逆化当前选定层,从而得到当前层对应的生成模块。将生成种子,输入到通过逆化得到的已有生成模块序列,得到当前生成模块的输入,并获取当前生成模块的输出。
S40,将生成模块的输出输入深度学习图像识别模型的后部分模型,得到生成识别结果,计算生成识别结果与最后输出层的输出的分类损失,得到生成模块第一损失函数;其中,所述后部分模型包括选定层之后的所有层组成的模型。
在一个实施例中,采用交叉熵定义第一损失函数,所述第一损失函数包括:
Lcls=-∑li×log(pi),
其中,li是类别one-hot编码的元素(即,若类别为j,则lj=1;i≠j时,li=0),pi是分类器输出的属于第i类的概率,Lcls表示第一损失函数。
作为一个实施例,所述pi的确定公式包括:
pi=C(Gk(G0...k-1(z|c))),
其中,z是随机种子,c是类别编码,z|c表示二者拼接在一起形成一个长向量,z作为生成种子,输入到之前循环中已经训练好的生成模块G0...k-1,最后再输入到生成模块Gk,然后数据传入分类器C进行分类。
S50,获取生成模块获取过程中得到的对抗模块,将生成模块的输出输入到总对抗模块中,得到生成对抗输出,将选定层的输入输入到总对抗模型中,得到真实对抗输出;其中,总对抗模块包括对抗模块以及在此之前得到的对抗模块。
假设通过逆化,伴随着生成模块,已经得到了一系列的对抗模块(如图2中的D0到D8)。将生成模块的输出输入到当前对抗模块并此前的一系列对抗模块中,得到生成对抗输出。将选定层的输入输入到对抗模型中,得到真实对抗输出。
S60,根据生成对抗输出和第一损失函数计算生成模块的第二损失函数,根据第二损失函数更新生成模块参数,根据生成对抗输出和真实对抗输出,计算对抗模块的第三损失函数,根据第三损失函数更新对抗模块参数。
在一个实施例中,所述第二损失函数包括:
LG=Lcls-∑log(D0...k(Gk(G0...k-1(z|c))),
其中,D0...k是对抗模块与之前循环中已经训练好的对抗模块头尾相接得到的模块,z是随机种子,c是类别编码,z|c表示二者拼接在一起形成一个长向量,z作为生成种子,输入到之前循环中已经训练好的生成模块G0...k-1,最后再输入到生成模块Gk,然后数据传入分类器C进行分类,LG表示第二损失函数。
在一个实施例中,所述第三损失函数包括:
LD=-∑log(D0...k(Cfor(Ir)))-∑log(1-D0...k(Gk(G0...k-1(z|c))),
其中,Ir表示训练样本图片的真实值,Cfor表示深度学习图像识别模型中选定层之前的模块,D0...k表示选定层对抗模块与之前训练好的对抗模块头尾相接得到的模块,z是随机种子,c是类别编码,z|c表示二者拼接在一起形成一个长向量,z作为生成种子,输入到之前循环中已经训练好的生成模块G0...k-1,最后再输入到生成模块Gk,然后数据传入分类器C进行分类,LD表示第三损失函数。
S70,重复执行步骤S20至步骤S60,直至对抗模块无法分辨生成模块的输出与训练样本图片的真实值区别为止。
S80,重复执行步骤S10至步骤S70,直至逆化深度学习图像识别模型的各层为止。
本实施例的核心在于逐层地用识别模型中某一层的输入作为生成对抗模型的训练用的真实样本,并对逐层训练好的生成模块和对抗模块分别进行组合,在逆化下一层的识别模型时会依赖这些训练好的模块。
上述逐层逆化识别模型的生成模型训练方法,将深度学习图像识别模型按层拆解,从深度学习图像识别模型的最后输出层到最初输入层按顺序选取选定层,将训练样本图片输入深度学习图像识别模型,获取深度学习图像识别模型中选定层的输入和最后输出层的输出,将最后输出层的输出和预设的随机种子拼接成生成种子,对选定层之后的各层进行逆化,得到选定层的生成模块,将生成种子输入生成模块,获取生成模块的输出,将生成模块的输出输入深度学习图像识别模型的后部分模型,得到生成识别结果,计算生成识别结果与最后输出层的输出的分类损失,得到生成模块的第一损失函数,获取生成模块获取过程中得到的对抗模块,将生成模块的输出输入到总对抗模块中,得到生成对抗输出,将选定层的输入输入到总对抗模型中,得到真实对抗输出,根据生成对抗输出和第一损失函数计算生成模块的第二损失函数,根据第二损失函数更新生成模块参数,根据生成对抗输出和真实对抗输出,计算对抗模块的第三损失函数,根据第三损失函数更新对抗模块参数,重复返回执行将训练样本图片输入深度学习图像识别模型的过程,直至对抗模块无法分辨生成模块的输出与训练样本图片的真实值区别为止,重复依次将深度学习图像识别模型的其他各层确定为选定层,以针对相应的选定层执行相应处理,直至逆化深度学习图像识别模型的各层为止,以此确定逐层逆化识别模型的生成模型,可以有效利用现有开源的成功的识别模型,避免陷入生成对抗模型训练时出现的模式爆炸困境,从而稳定高效的训练生成模型;其中逐层地用识别模型中某一层的输入作为生成对抗模型的训练用的真实样本,从输出层到输入层,由简入繁,层层递进,从而达到稳定高效训练的结果。
在一个实施例中,所述根据第二损失函数更新生成器参数包括:
计算第二损失函数的损失值,选用Adam优化器基于随机梯度下降法对生成模块的参数进行更新。
本实施例计算出相应损失值后,基于随机梯度下降法对当前生成模块的参数进行更新,实际操作时,选用Adam优化器。
在一个实施例中,所述根据第三损失函数更新对抗模块参数包括:
计算第三损失函数的损失值后,选用Adam优化器基于随机梯度下降法对对抗模块的参数进行更新。
本实施例计算出相应损失值后,基于随机梯度下降法对对抗模块的参数进行更新,实际操作时,选用Adam优化器。
在一个实施例中,以图像生成为例,真实图片数据选用ImageNet数据集,识别模型选用VGG16,选用tensoflow开发平台。为了简化计算,突出实验效果,仅用鸟、狗两类图片。此时上述逐层逆化识别模型的生成模型训练方法可以参考图2所示,包括:
第1步,收集大量真实图片。此处为ImageNet数据集。
第2步,下载网络上开源的任意效果良好的深度学习图像识别模型。这里选用VGG16。
第3步,对上述识别模型进行按层拆解。对VGG16拆解时,我们是按照张量的高和宽的变化,进行的。从输出层到输入层,高和宽每变化一次,我们就划定一个层,进行拆解。因此,每次拆解定结果都包含VGG16模型中的好几层。
第4步,从输出层到输入层按顺序选取某一层。举例来说,比方我们现在逆化进行到第三层,也就是14×14的这一层。
第5步,从真实图片数据集中提取一批次的图片。即通常说的batch-size,按照经验,我们设定了硬件所能容许的最大值,128。
第6步,将上述图片输入到识别模型中,获取上述第4步选定层的输入和最后输出层的输出。这一层的输入的形状是28×28×512,输出层的输出由于我们只选了鸟和狗,因此可以简化成3个点:鸟、狗、其他。
第7步,生成随机种子,随机种子的分布与本发明无关,实验中我们选用截断正态分布,维度1024。
第8步,将上述第6步获取的输出层输出与第7步生成的随机种子拼接在一起,构成生成种子。于是生成种子的维度是1027。
第9步,假设按本发明方法已对选定层的后续所有层实现了逆化,我们的任务是逆化当前选定层,从而得到当前层对应的生成模块。将第8步构造的生成种子,输入到通过逆化得到的已有生成模块序列,得到当前生成模块的输入。
在当前层之前,我们已经逆化了1×1和7×7的两层,将两层叠加在一起,形成一个暂时的生成模型。输入是1027长度向量的生成种子,输出是14×14×512形状的张量。
第10步,将第9步得到的结果,输入到当前生成模块,得到输出。
当前生成模块的输入与识别模型中当前层的输出形状相同,即14×14×512。
第11步,将第10步得到的结果,输入到识别模型中当前层之后的所有层组成的模型中,得到生成的识别结果,并计算其与第6步得到的输出层的输出的距离,作为生成模型的损失之一(第一损失函数)。
实验中,本实施例采用交叉熵损失函数:
Lc=-∑yc log(pc),
第12步,假设通过逆化,伴随着第9步所述的生成模块,已经得到了一系列的对抗模块。将第10步得到的结果输入到当前对抗模块并此前的一系列对抗模块中,得到生成的对抗输出。
此前我们已经得到了两个对抗模块,分别是1×1和7×7的两层对应对抗模块,将两个模块叠加在一起,形成一个暂时的对抗模型。
第13步,将第6步所述的选定层的输入输入到第12步所述的对抗模型中,得到真实的对抗输出。
对抗输出的意义就是判断输入到对抗模块的数据是否真实。
第14步,根据第12步的生成的对抗输出,以及第11步的结果,计算生成模型的损失(第二损失函数)。并根据损失更新生成器参数。
实验中我们采用最常用的Adam优化器,学习率1e-3。
第15步,根据第12步的生成的对抗输出,以及第13步的真实的对抗输出,计算对抗模块的损失(第三损失函数)。并根据损失更新对抗模块参数。
这里采用了Wasserstein距离计算生成对抗模型的损失函数。
第16步,重复第5-15步直至当前对抗模块无法分辨当前生成模块的输出与真实样本的区别为止。
对tensorflow计算图进行循环执行,此不赘述。
第17步,重复第4-16步直至逆化识别模型的所有层为止。
对tensorflow计算图进行循环执行,此不赘述。
本实施例以图像生成为例,真实图片数据选用ImageNet数据集,识别模型选用VGG16,按本发明方法训练生成模型。最终Inception Score(IS)为142,接近BigGAN的166。但从训练成本上看,本发明方法明显优于BigGAN等一众暴力模型。
在一个实施例中,提供一种逐层逆化识别模型的生成模型训练装置,包括:
拆解模块,用于将深度学习图像识别模型按层拆解,从深度学习图像识别模型的最后输出层到最初输入层按顺序选取选定层;
第一获取模块,用于将训练样本图片输入深度学习图像识别模型,获取深度学习图像识别模型中选定层的输入和最后输出层的输出;
拼接模块,用于将最后输出层的输出和预设的随机种子拼接成生成种子,对选定层之后的各层进行逆化,得到选定层的生成模块,将生成种子输入生成模块,获取生成模块的输出;
第一计算模块,用于将生成模块的输出输入深度学习图像识别模型的后部分模型,得到生成识别结果,计算生成识别结果与最后输出层的输出的分类损失,得到生成模块的第一损失函数;其中,所述后部分模型包括选定层之后的所有层组成的模型;
第二获取模块,用于获取生成模块获取过程中得到的对抗模块,将生成模块的输出输入到总对抗模块中,得到生成对抗输出,将选定层的输入输入到总对抗模型中,得到真实对抗输出;其中,总对抗模块包括对抗模块以及在此之前得到的对抗模块;
第二计算模块,用于根据生成对抗输出和第一损失函数计算生成模块的第二损失函数,根据第二损失函数更新生成模块参数,根据生成对抗输出和真实对抗输出,计算对抗模块的第三损失函数,根据第三损失函数更新对抗模块参数;
第一执行模块,用于重复执行步骤S20至步骤S60,直至对抗模块无法分辨生成模块的输出与训练样本图片的真实值区别为止;
第二执行模块,用于重复执行步骤S10至步骤S70,直至逆化深度学习图像识别模型的各层为止。
关于逐层逆化识别模型的生成模型训练装置的具体限定可以参见上文中对于逐层逆化识别模型的生成模型训练方法的限定,在此不再赘述。上述逐层逆化识别模型的生成模型训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种逐层逆化识别模型的生成模型训练方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
基于如上所述的示例,在一个实施例中还提供一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现如上述各实施例中的任意一种逐层逆化识别模型的生成模型训练方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述逐层逆化识别模型的生成模型训练方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
据此,在一个实施例中还提供一种计算机存储介质计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上述各实施例中的任意一种逐层逆化识别模型的生成模型训练方法。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
需要说明的是,本申请实施例所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二\第三”区分的对象在适当情况下可以互换,以使这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
本申请实施例的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种逐层逆化识别模型的生成模型训练方法,其特征在于,包括如下步骤:
S10,将深度学习图像识别模型按层拆解,从深度学习图像识别模型的最后输出层到最初输入层按顺序选取选定层;
S20,将训练样本图片输入深度学习图像识别模型,获取深度学习图像识别模型中选定层的输入和最后输出层的输出;
S30,将最后输出层的输出和预设的随机种子拼接成生成种子,对选定层之后的各层进行逆化,得到选定层的生成模块,将生成种子输入生成模块,获取生成模块的输出;
S40,将生成模块的输出输入深度学习图像识别模型的后部分模型,得到生成识别结果,计算生成识别结果与最后输出层的输出的分类损失,得到生成模块第一损失函数;其中,所述后部分模型包括选定层之后的所有层组成的模型;
S50,获取生成模块获取过程中得到的对抗模块,将生成模块的输出输入到总对抗模块中,得到生成对抗输出,将选定层的输入输入到总对抗模型中,得到真实对抗输出;其中,总对抗模块包括对抗模块以及在此之前得到的对抗模块;
S60,根据生成对抗输出和第一损失函数计算生成模块的第二损失函数,根据第二损失函数更新生成模块参数,根据生成对抗输出和真实对抗输出,计算对抗模块的第三损失函数,根据第三损失函数更新对抗模块参数;
S70,重复执行步骤S20至步骤S60,直至对抗模块无法分辨生成模块的输出与训练样本图片的真实值区别为止;
S80,重复执行步骤S10至步骤S70,直至逆化深度学习图像识别模型的各层为止。
2.根据权利要求1所述的逐层逆化识别模型的生成模型训练方法,其特征在于,所述第一损失函数包括:
Lcls=-∑li×log(pi),
其中,li是类别one-hot编码的元素,pi是分类器输出的属于第i类的概率,Lcls表示第一损失函数。
3.根据权利要求2所述的逐层逆化识别模型的生成模型训练方法,其特征在于,所述pi的确定公式包括:
pi=C(Gk(G0...k-1(z|c))),
其中,z是随机种子,c是类别编码,z|c表示二者拼接在一起形成一个长向量,z作为生成种子,输入到之前循环中已经训练好的生成模块G0...k-1,最后再输入到生成模块Gk,然后数据传入分类器C进行分类。
4.根据权利要求1所述的逐层逆化识别模型的生成模型训练方法,其特征在于,所述第二损失函数包括:
LG=Lcls-∑log(D0...k(Gk(G0...k-1(z|c))),
其中,D0...k是对抗模块与之前循环中已经训练好的对抗模块头尾相接得到的模块,z是随机种子,c是类别编码,z|c表示二者拼接在一起形成一个长向量,z作为生成种子,输入到之前循环中已经训练好的生成模块G0...k-1,最后再输入到生成模块Gk,然后数据传入分类器C进行分类,LG表示第二损失函数。
5.根据权利要求1所述的逐层逆化识别模型的生成模型训练方法,其特征在于,所述第三损失函数包括:
LD=-∑log(D0...k(Cfor(Ir)))-∑log(1-D0...k(Gk(G0...k-1(z|c))),
其中,Ir表示训练样本图片的真实值,Cfor表示深度学习图像识别模型中选定层之前的模块,D0...k表示选定层对抗模块与之前训练好的对抗模块头尾相接得到的模块,z是随机种子,c是类别编码,z|c表示二者拼接在一起形成一个长向量,z作为生成种子,输入到之前循环中已经训练好的生成模块G0...k-1,最后再输入到生成模块Gk,然后数据传入分类器C进行分类,LD表示第三损失函数。
6.根据权利要求1至5任一项所述的逐层逆化识别模型的生成模型训练方法,其特征在于,所述根据第二损失函数更新生成器参数包括:
计算第二损失函数的损失值,选用Adam优化器基于随机梯度下降法对生成模块的参数进行更新。
7.根据权利要求1至5任一项所述的逐层逆化识别模型的生成模型训练方法,其特征在于,所述根据第三损失函数更新对抗模块参数包括:
计算第三损失函数的损失值后,选用Adam优化器基于随机梯度下降法对对抗模块的参数进行更新。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的逐层逆化识别模型的生成模型训练方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至5任一项所述的逐层逆化识别模型的生成模型训练方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911274553.5A CN111160415B (zh) | 2019-12-12 | 2019-12-12 | 逐层逆化识别模型的生成模型训练方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911274553.5A CN111160415B (zh) | 2019-12-12 | 2019-12-12 | 逐层逆化识别模型的生成模型训练方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111160415A CN111160415A (zh) | 2020-05-15 |
CN111160415B true CN111160415B (zh) | 2022-08-12 |
Family
ID=70556844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911274553.5A Active CN111160415B (zh) | 2019-12-12 | 2019-12-12 | 逐层逆化识别模型的生成模型训练方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111160415B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108446667A (zh) * | 2018-04-04 | 2018-08-24 | 北京航空航天大学 | 基于生成对抗网络数据增强的人脸表情识别方法和装置 |
CN109815801A (zh) * | 2018-12-18 | 2019-05-28 | 北京英索科技发展有限公司 | 基于深度学习的人脸识别方法及装置 |
CN110097103A (zh) * | 2019-04-22 | 2019-08-06 | 西安电子科技大学 | 基于生成对抗网络的半监督图像分类方法 |
-
2019
- 2019-12-12 CN CN201911274553.5A patent/CN111160415B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108446667A (zh) * | 2018-04-04 | 2018-08-24 | 北京航空航天大学 | 基于生成对抗网络数据增强的人脸表情识别方法和装置 |
CN109815801A (zh) * | 2018-12-18 | 2019-05-28 | 北京英索科技发展有限公司 | 基于深度学习的人脸识别方法及装置 |
CN110097103A (zh) * | 2019-04-22 | 2019-08-06 | 西安电子科技大学 | 基于生成对抗网络的半监督图像分类方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111160415A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Brownlee | XGBoost With python: Gradient boosted trees with XGBoost and scikit-learn | |
CN107392973B (zh) | 像素级手写体汉字自动生成方法、存储设备、处理装置 | |
EP3602419B1 (en) | Neural network optimizer search | |
CN106997474A (zh) | 一种基于深度学习的图节点多标签分类方法 | |
CN111582348A (zh) | 条件生成式对抗网络的训练方法、装置、设备及存储介质 | |
CN113994341A (zh) | 面部行为分析 | |
CN108154197A (zh) | 实现虚拟场景中图像标注验证的方法及装置 | |
CN108008942A (zh) | 对数据记录进行处理的方法及系统 | |
CN113377964B (zh) | 知识图谱链接预测方法、装置、设备及存储介质 | |
CN111124916B (zh) | 一种基于动作语义向量的模型训练方法和电子设备 | |
CN114547267A (zh) | 智能问答模型的生成方法、装置、计算设备和存储介质 | |
CN111160415B (zh) | 逐层逆化识别模型的生成模型训练方法 | |
CN113591472A (zh) | 歌词生成方法、歌词生成模型训练方法、装置及电子设备 | |
CN114170484B (zh) | 图片属性预测方法、装置、电子设备和存储介质 | |
KR20210048281A (ko) | 배경 제거 영상 생성 방법 및 장치 | |
CN113077383B (zh) | 一种模型训练方法及模型训练装置 | |
JP6869588B1 (ja) | 情報処理装置、方法及びプログラム | |
CN114139674A (zh) | 行为克隆方法、电子设备、存储介质和程序产品 | |
KR102255470B1 (ko) | 인공신경망 모델의 검증 방법 및 장치 | |
CN113408571A (zh) | 一种基于模型蒸馏的图像分类方法、装置、存储介质及终端 | |
CN112861546A (zh) | 获取文本语义相似值的方法、装置、存储介质及电子设备 | |
CN113191527A (zh) | 一种基于预测模型进行人口预测的预测方法及装置 | |
CN112861601A (zh) | 生成对抗样本的方法及相关设备 | |
CN117648585B (zh) | 基于任务相似度的智能决策模型泛化方法和装置 | |
WO2022185457A1 (ja) | 特徴量抽出装置、学習装置、特徴量抽出方法、学習方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 211100 floor 5, block a, China Merchants high speed rail Plaza project, No. 9, Jiangnan Road, Jiangning District, Nanjing, Jiangsu (South Station area) Applicant after: JIANGSU AIJIA HOUSEHOLD PRODUCTS Co.,Ltd. Address before: 211100 No. 18 Zhilan Road, Science Park, Jiangning District, Nanjing City, Jiangsu Province Applicant before: JIANGSU AIJIA HOUSEHOLD PRODUCTS Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |