一种深度卷积对抗生成网络的训练方法及训练系统与流程

文档序号:13208963阅读:208来源:国知局
一种深度卷积对抗生成网络的训练方法及训练系统与流程

本申请涉及计算机技术领域,特别涉及一种深度卷积对抗生成网络的训练方法及训练系统。



背景技术:

随着人工智能技术的发展,计算机视觉领域中应用的人工智能技术越来越成熟,尤其是在图像分类、目标检测以及目标识别的应用中。人工智能的学习训练方法的性能也越来越高。一般的人工智能的学习方法分为监督学习和非监督学习,在监督学习领域中,可以使用对抗生成网络进行学习。使用对抗生成网络进行图像分类、目标检测以及目标识别具有较好的效果。

但对抗生成网络训练起来非常不稳定,经常会使得生成器产生没有意义的输出。因此对抗生成网络进行改进,将有监督学习中的卷积神经网络和无监督学习中的生成对抗网络结合到一起,使卷积神经网络的网络拓扑结构设置了一系列的限制来使得对抗生成网络可以稳定训练。

而深度卷积对抗生成网络中存在的参数量过多,对内存和计算量要求很高,甚至学习过程中的计算量已经远远超出了大多数计算平台的承载能力,导致训练速度下降,效率变低。

因此,如何提高深度卷积对抗生成网络的训练效率,是本领域技术人员所关注的问题。



技术实现要素:

本申请的目的是提供一种深度卷积对抗生成网络的训练方法,通过将参数集空间表示为一系列紧密的权值向量,可以简化卷积的计算过程,使深度卷积对抗生成网络可以从少量样本中学习新的类型,因此少量的迭代训练就可以获得更高的精度,训练效率也得到了提升。本申请还公开了一种深度卷积对抗生成网络的训练系统。

为解决上述技术问题,本申请提供一种深度卷积对抗生成网络的训练方法,包括:

将参数集根据参数之间的关联性执行字典训练操作,得到字典d、索引i以及系数c;

将所述字典d、所述索引i以及所述系数c表示为卷积核w,利用所述卷积核w执行卷积换算操作,得到卷积公式;

利用所述卷积公式执行生成对抗网络学习操作,得到生成器g。

可选的,所述将参数集根据参数之间的关联性执行字典训练操作,得到字典、索引以及系数,包括:

对所述参数集执行深度卷积对抗生成网络操作,得到实际输出;

根据所述参数集的所述参数之间的关联性执行关联操作,得到原始字典、原始索引以及原始系数;

对原始字典、原始索引以及原始系数执行深度卷积对抗生成网络操作,得到原始输出;

将所述实际输出与所述原始输出执行误差计算操作,得到调整值;

将原始字典、原始索引以及原始系数根据所述调整值执行调整操作,得到所述字典d、所述索引i以及所述系数c。

可选的,所述将所述字典d、所述索引i以及所述系数c表示为卷积核w,利用所述卷积核w执行卷积运算操作,得到卷积公式,包括:

对所述字典d、所述索引i以及所述系数c执行卷积核表示操作,得到

利用所述进行变换操作,得到

根据s[i,:,:]=x*d[i,:]对所述执行带入操作,得到作为所述卷积公式。

可选的,所述利用所述卷积公式执行生成对抗网络学习操作,得到生成器g,包括:

将初始生成器根据卷积公式执行生成操作,得到伪数据;

将判别器根据真实数据和伪数据执行判别操作,得到判别结果;

将所述初始生成器根据所述判别结果执行迭代优化操作,得到生成器g。

本申请还提供一种深度卷积对抗生成网络的训练系统,包括:

字典获取模块,将参数集根据参数之间的关联性执行字典训练操作,得到字典d、索引i以及系数c;

卷积转换模块,将所述字典d、所述索引i以及所述系数c表示为卷积核w,利用所述卷积核w执行卷积换算操作,得到卷积公式;

对抗生成模块,利用所述卷积公式执行生成对抗网络学习操作,得到生成器g。

可选的,所述字典获取模块包括:

实际输出获取单元,对所述参数集执行深度卷积对抗生成网络操作,得到实际输出;

原始字典获取单元,根据所述参数集的所述参数之间的关联性执行关联操作,得到原始字典、原始索引以及原始系数;

原始输出获取单元,对原始字典、原始索引以及原始系数执行深度卷积对抗生成网络操作,得到原始输出;

误差调整值获取单元,将所述实际输出与所述原始输出执行误差计算操作,得到误差调整值;

调整操作单元,将原始字典、原始索引以及原始系数根据所述调整值执行调整操作,得到所述字典d、所述索引i以及所述系数c。

可选的,所述卷积转换模块包括:

卷积核表示单元,对所述字典d、所述索引i以及所述系数d执行卷积核表示操作,得到

变换操作单元,利用所述进行变换操作,得到

卷积公式获取单元,根据s[i,:,:]=x*d[i,:]对所述执行带入操作,得到作为所述卷积公式。

可选的,所述对抗生成模块包括:

伪数据生成单元,将初始生成器根据卷积公式执行生成操作,得到伪数据;

判别结果获取单元,将判别器根据真实数据和伪数据执行判别操作,得到判别结果;

迭代优化处理单元,将所述初始生成器根据所述判别结果执行迭代优化操作,得到生成器g。

本申请所提供的一种深度卷积对抗生成网络的训练方法,包括:将参数集根据参数之间的关联性执行字典训练操作,得到字典d、索引i以及系数d;将所述字典d、所述索引i以及所述系数d表示为卷积核w,利用所述卷积核w执行卷积换算操作,得到卷积公式;利用所述卷积公式执行生成对抗网络学习操作,得到生成器g。

由于在深度卷积对抗生成网络中,很多参数之间的相关性很强,因此通过分析参数集之间的关联性,得到字典、索引以及系数,可以使用字典、索引以及系数表示权值向量,也就是将参数集空间表示为一系列紧密的权值向量,可以简化卷积的计算过程,使深度卷积对抗生成网络可以从少量样本中学习新的类型,因此少量的迭代训练就可以获得更高的精度,训练效率也得到了提升。本申请还提供一种深度卷积对抗生成网络的训练系统,具有上述有益效果,在此不再做赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的一种深度卷积对抗生成网络的训练方法的流程图;

图2为本申请实施例提供的一种深度卷积对抗生成网络的训练方法的对抗生成网络的计算流程图;

图3为本申请实施例提供的一种深度卷积对抗生成网络的训练方法的字典训练操作的流程图;

图4为本申请实施例提供的一种深度卷积对抗生成网络的训练方法的生成对抗网络学习操作流程图;

图5为本申请实施例提供的一种深度卷积对抗生成网络的训练系统的框图。

具体实施方式

本申请的核心是提供一种深度卷积对抗生成网络的训练方法及训练系统,通过将参数集空间表示为一系列紧密的权值向量,可以简化卷积的计算过程,使深度卷积对抗生成网络可以从少量样本中学习新的类型,因此少量的迭代训练就可以获得更高的精度,训练效率也得到了提升。本申请还公开了一种深度卷积对抗生成网络的训练系统。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例提供的一种深度卷积对抗生成网络的训练方法的流程图。

本实施例提供的一种深度卷积对抗生成网络的训练方法,可以包括:

s101,将参数集根据参数之间的关联性执行字典训练操作,得到字典d、索引i以及系数c;

本步骤旨在,根据参数之间的关联提取出可以表示参数集的字典d、索引i以及系数d。

其中,字典d、索引i以及系数c是指可以组合表示为参数空间的向量矩阵,参数空间在卷积运算公式中被称为卷积核,因此,字典d、索引i以及系数c表示卷积核w的具体过程如下:

将字典矩阵记作d∈rk×m,在该层的权值向量之间共享,字典包含k个字典向量,每个向量长度为m。与字典d对应的是一个查找索引矩阵以及一个系数矩阵其中,s表示卷积核w中的每个m维向量用s个字典向量线性表示。因此卷积核w可以表示为:

将字典d、索引i以及系数c表示为卷积核w也是下一步骤的重要操作,得到卷积核可以用于卷积运算,在运算中将每个卷积核w变换为d、i以及c,当降低字典的k值大小及重构向量的个数s时,可以减少卷积层中的参数量。

当然,在从参数集中提取出字典d、索引i以及系数c的过程中,不可避免的会存在其它一些处理操作,其它处理操作可以根据具体想得到什么样的字典d、索引i以及系数c而做出改变,在此不做限定。

s102,将字典d、索引i以及系数c表示为卷积核w,利用卷积核w执行卷积换算操作,得到卷积公式;

在步骤s101的基础上,本步骤利用提取出的字典d、索引i以及系数c表示为卷积核w,并利用卷积核w在卷积运算中进行换算操作,得到简化的卷积公式。通过其步骤,可以将传统的卷积计算简化成字典卷积、索引查表及线性映射,降低了参数量,减少了计算负担。

其中,卷积运算是指在卷积神经网络中的运算,卷积神经网络(cnn)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,运用在大型图像处理中有出色处理效果。卷积神经网络包括卷积层和池化层。其卷积层为卷积运算步骤层,包含4个部分:1)输入向量x∈rm×w×h,其中,m,w和h分别是输入通道数、宽度与高度。2)n个卷积核权值,其中每个卷积核为w∈rm×kw×kh,其中,kw和kh分别是卷积核的宽度和高度。3)标量偏置参数b。4)输出向量y,由w*x+b计算得到,*为卷积符号。

需要说明的是,在卷积神经网络的两层基本结构中,特征提取层的每个神经元的输入与前一层的局部接受域相连,会提取该局部的特征。当该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;在卷积神经网络的特征映射层中,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid(s型)函数作为卷积网络的激活函数,使得特征映射具有位移不变性。

此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的计算层,这种特有的两次特征提取结构减小了特征分辨率。

将用字典d、索引i以及系数c表示的卷积核w带入到上述深度卷积神经网络的卷积层中,可以发现使用字典表示的卷积核可以使卷积层中的卷积运算使用的参数减少,即使用较少的字典数量即可表示每个卷积核,使卷积神经网络在计算时可以使用较少的参数量,就可以达到更精准的学习训练效果。

当然,在计算卷积神经网络时,还有其它需要操作计算的步骤。其它步骤随卷积运算的过程的简化而做相应的改变,具体可能还需要再做其他适应性以及个性化的修改,应视具体情况而定,在此不做限定。

s103,利用卷积公式执行生成对抗网络学习操作,得到生成器g。

在步骤s102的基础上,本步骤旨在将通过字典简化的卷积神经网络加入到生成对抗网络中,进行学习,并得到生成对抗网络的结果,即生成器。生成对抗网络的两个基本要素是生成器和判别器,而生成器和判别器的基本构成是微分算式,本步骤的加入操作也就将卷积神经网络的计算学习过程加入到生成器和判别器的微分算式中。通过简化的卷积计算,可以降低深度卷积对抗生成网络的计算参数量,减少计算负担,提升向前计算和反向训练的速度,获得有效的性能提升。

对于生成对抗网络,其核心思想来源于博弈论的纳什均衡,它设定参与游戏双方分别为上述生成对抗网络的基本要素,即生成器和判别器,其中,生成器的目的是尽量去学习真实的数据分布,而判别器的目的是尽量正确判别输入数据是来自真实数据还是来自生成器。将生成器和判别器类比为竞争关系,双方为了取得竞争的胜利,需要这个游戏的双方不断竞争不断优化,各自提高自己的生成能力和判别能力,这个优化学习的过程就是寻找二者之间的一个纳什平衡。

请参考图2,图2为本申请实施例提供的一种深度卷积对抗生成网络的训练方法的对抗生成网络的计算流程图。

一般的,生成对抗网络(gan)的计算流程与结构为上图所示,其中任意可微分的函数都可以用来表示gan的生成器和判别器,由此我们用可微分函数d和g来分别表示判别器和生成器,它们的输入分别为真实数据x和随机噪声z。g(z)则为由g生成的尽量服从真实数据分pdata的样本。如果判别器的输入来自真实数据,标注为1。如果输入样本为g(z),标注为0。这里d的目标是实现对数据来源的二分类判别:真,即来源于真实数据x的分布;或者伪,即来源于生成器的伪数据g(z)。而g的目标是使自己生成的伪数据g(z)在d上的表现d(g(z))和真实数据x在d上的表现d(x)一致,这两个相互对抗并迭代优化的过程使得d和g的性能不断提升,当最终d的判别能力提升到一定程度,并且无法正确判别数据来源时,可以认为这个生成器g已经学到了真实数据的分布。

其中,深度卷积对抗生成网络,是由加入的卷积神经网络后构成的。在深度卷积对抗生成网络中,生成器的网络结构是需要进行向上采样,所以可以使用反卷积层,而对于判别器则是采用卷积层进行向下采样,从而使网络得以稳定的训练,图像特征得以很好的表达。通过简化过得卷积计算,即字典卷积、索引查找及线性映射,可以降低深度卷积对抗生成网络的计算参数量,减少计算负担,提升向前计算和反向训练的速度,获得有效的性能提升。

请参考图3,图3为本申请实施例提供的一种深度卷积对抗生成网络的训练方法的字典训练操作的流程图。

结合上一实施例,本实施主要是针对上一实施例中的如何进行字典训练操作的一个具体说明,其它部分与上一实施例基本相同,相同部分可参考上一实施例,在此不再做赘述。

本实施例可以包括:

s201,对参数集执行深度卷积对抗生成网络操作,得到实际输出;

本步骤旨在,对原有的参数集进行深度卷积对抗生成网络得到不使用字典向量的输出。为了可以得到训练更准确的字典,需要将字典的输出与时机的输出做对比,得到参数的调整方向,以便更好的调整字典参数。

s202,根据参数集的参数之间的关联性执行关联操作,得到原始字典、原始索引以及原始系数;

本步骤旨在,根据参数集初步得到原始状态的字典等参数。为了后续的得到调整方向值,需要得到字典的输出,所以需要设置原始状态的字典等参数。

s203,对原始字典、原始索引以及原始系数执行深度卷积对抗生成网络操作,得到原始输出;

在步骤s202的基础上,本步骤旨在,通过原始的字典等参数执行深度卷积对抗生成网络处理操作得到原始输出。为了可以与实际输出作比较。

s204,将实际输出与原始输出执行误差计算操作,得到调整值;

在步骤s201与步骤s203的基础上,本步骤旨在将实际输出与原始输出作比较得到字典的调整值。通过将原始输出与实际输出作比较,可以知道字典需要修改的方向,调整的大小,因此就得到了如何调整字典等参数的调整值。

s205,将原始字典、原始索引以及原始系数根据调整值执行调整操作,得到字典d、索引i以及系数c。

在步骤s204的基础上,本步骤旨在利用上述的调整值对原始的字字典等参数进行调整,得到训练结束后的字典、索引以及系数。

在深度卷积对抗生成网络中,使用此字典、索引以及系数就可以以较少的数据量进行更为精准的学习训练操作。

结合上一实施例,本实施主要是针对上一实施例中的如何进行卷积运算操作的一个具体说明,其它部分与上一实施例基本相同,相同部分可参考上一实施例,在此不再做赘述。

本实施例可以包括:

s301,对字典d、索引i以及系数c执行卷积核表示操作,得到

本步骤旨在将字典d、索引i以及系数c表示为卷积核w。其中卷积核的表示为:

w(m×kw×kh)

其中,kw和kh分别是卷积核的宽度和高度。

字典矩阵表示为:

d(k×m)

其中,包含k个字典向量,每个向量长度为m。与字典d对应的是一个查找索引矩阵i(s×kw×kh),以及一个系数矩阵c(s×kw×kh),s是指卷积核中的每个m维向量用s个字典向量线性表示。

因此,得到最后的卷积核w为:

利用此公式,就可以以较少的字典参数表示卷积运算的参数空间。

s302,利用进行变换操作,得到

在步骤s301的基础上,本步骤旨在讲卷积核w带入到卷积公式中进行变换操作。

s303,根据s[i,:,:]=x*d[i,:]对执行带入操作,得到作为卷积公式。

在步骤s302的基础上,对上述执行操作得到的公式做进一步换算。其中,将公式:

进一步变换为:

在上式中,可以将字典d中的所有字典向量与输入x进行卷积,将x与所有字典d的卷积表示为s,即:

s[i,:,:]=x*d[i,:]

在计算时就可以急撒u念书s之后,可以根据查找表法,找到卷积所对应的s的索引i以及系数c,进行线性组合,如下:

因此,在计算时可以通过降低k的大小减少d的参数,从而在计算s时可以降低其计算量,实现计算速度的提升。

具体的,其中s的计算过程为密集矩阵乘积,还可以借助一系列的加速库来进行快速矩阵运算。

可选的,其加速库可以为openblas,可以加速矩阵运算的速度。其中blas即是basiclinearalgebrasubprograms,是基本线性代数子程序,主要包括矩阵和矩阵,矩阵和向量,向量和向量操作,是科学和工程计算的基础数学库之一。

请参考图4,图4为本申请实施例提供的一种深度卷积对抗生成网络的训练方法的生成对抗网络学习操作流程图。

结合上一实施例,本实施主要是针对上一实施例中的如何进行生成对抗网络学习操作的一个具体说明,其它部分与上一实施例基本相同,相同部分可参考上一实施例,在此不再做赘述。

本实施例可以包括:

s401,将初始生成器根据卷积公式执行生成操作,得到伪数据;

基于上述实施例中,对于对抗生成网络的说明。本步骤的具体操作是根据加入字典后的卷积公式进行对抗生成操作,得到生成器生成的伪数据。伪数据是为了训练判别器,其中伪数据在训练的开始时,不可避免的与真实数据差距较大,因此,通过判别器的判别结果进行修正。继续生成伪数据,让判别器进行判别,再根据判别结果进行修正,直到判别器识别不出伪数据为止。

当然,在训练过程中,还会有其他处理操作,应视具体情况选择不同的处理操作,在此不做限定。

s402,将判别器根据真实数据和伪数据执行判别操作,得到判别结果;

在步骤s401的基础上,本步骤旨在根据真实数据对判别器进行学习训练,再判别伪数据是否为真。对于伪数据的判别,每次判别后都会得到判别结果,生成器可以利用判别结果对生成器进行调整,即迭代优化。

s403,将初始生成器根据判别结果执行迭代优化操作,得到生成器g。

在步骤s402的基础上,本步骤旨在将生成器根据判别结果进行迭代优化。其迭代优化的可能是多次迭代优化,每次迭代优化后的生成器都会生成伪数据,让判别器根据伪数据进行判别,得到判别结果,再根据判别结果进行迭代优化,直到判别器无法正确识别伪数据为止。

本申请实施例提供的一种深度卷积对抗生成网络的训练方法,通过将参数集空间表示为一系列紧密的权值向量,可以简化卷积的计算过程,使深度卷积对抗生成网络可以从少量样本中学习新的类型,因此少量的迭代训练就可以获得更高的精度,训练效率也得到了提升。本申请还公开了一种深度卷积对抗生成网络的训练系统。

下面对本申请实施例提供的一种深度卷积对抗生成网络的训练系统进行介绍,下文描述的一种深度卷积对抗生成网络的训练系统与上文描述的一种深度卷积对抗生成网络的训练方法可相互对应参照。

请参考图5,图5为本申请实施例提供的一种深度卷积对抗生成网络的训练系统的框图。

本训练系统可以包括:

字典获取模块100,将参数集根据参数之间的关联性执行字典训练操作,得到字典d、索引i以及系数c;

卷积转换模块200,将字典d、索引i以及系数c表示为卷积核w,利用卷积核w执行卷积换算操作,得到卷积公式;

对抗生成模块300,利用卷积公式执行生成对抗网络学习操作,得到生成器g。

可选的,字典获取模块100可以包括:

实际输出获取单元,对参数集执行深度卷积对抗生成网络操作,得到实际输出;

原始字典获取单元,根据参数集的参数之间的关联性执行关联操作,得到原始字典、原始索引以及原始系数;

原始输出获取单元,对原始字典、原始索引以及原始系数执行深度卷积对抗生成网络操作,得到原始输出;

误差调整值获取单元,将实际输出与原始输出执行误差计算操作,得到误差调整值;

调整操作单元,将原始字典、原始索引以及原始系数根据调整值执行调整操作,得到字典d、索引i以及系数c。

可选的,卷积转换模块200可以包括:

卷积核表示单元,对字典d、索引i以及系数d执行卷积核表示操作,得到

变换操作单元,利用进行变换操作,得到

卷积公式获取单元,根据s[i,:,:]=x*d[i,:]对执行带入操作,得到作为卷积公式。

可选的,对抗生成模块300可以包括:

伪数据生成单元,将初始生成器根据卷积公式执行生成操作,得到伪数据;

判别结果获取单元,将判别器根据真实数据和伪数据执行判别操作,得到判别结果;

迭代优化处理单元,将初始生成器根据判别结果执行迭代优化操作,得到生成器g。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1