用于执行生成对抗网络的处理装置及应用其进行机器创作的方法与流程

文档序号:19529701发布日期:2019-12-27 15:16阅读:211来源:国知局
用于执行生成对抗网络的处理装置及应用其进行机器创作的方法与流程

本披露涉及信息处理技术领域,具体涉及一种用于执行生成对抗网络的处理装置及应用其进行机器创作的方法。



背景技术:

现有技术为人工或者图像(视频)处理软件进行图像(视频)创作,人工或者固定格式的文字输入装置进行文学创作,人工或者人声合成软件或者音频处理软件进行音频创作。其中图像(视频)处理软件通过某些固定模式的图像色彩模式进行图像(视频)作品的创作,文字输入装置通过文字段落的整体剪切、复制或者替换进行文字作品的生成,人声合成软件和音频处理软件都是通过数字音频信号的混合、剪切等处理进行音频的创作。

现有技术的问题在于人工创作或修改费时费力,且某些重复的创作过程不能很好的节省人力资源;而通过软件进行各种图像(视频)、文字与音频创作时,由于软件没有学习能力,只能按照固定模式应用于各种不同的应用场景,而且还是需要人工进行干预指导,造成创作的实现效果差,普适性不强且未能更大程度解放人力资源,没有自我学习机制等各种缺点。



技术实现要素:

(一)要解决的技术问题

有鉴于此,本披露的目的在于提供一种用于执行生成对抗网络的处理装置及应用其进行机器创作的方法,以至少部分解决上述技术问题。

(二)技术方案

根据本披露的一方面,提供一种用于执行生成对抗网络的处理装置,包括:

存储器,用于接收输入数据,所述输入数据包括随机噪声和参考数据,以及存储判别器神经网络参数与生成器神经网络参数;

运算器,用于将随机噪声输入数据传入生成器神经网络进行运算,得到噪声生成结果;还用于将噪声生成结果和参考数据共同输入判别器神经网络进行运算,得到判别结果;还用于根据所述判别结果更新所述判别器神经网络参数与生成器神经网络参数。

根据本披露的另一方面,提供一种应用上述处理装置进行机器创作的方法,包括:

输入随机噪声和参考数据至存储器;

运算器将随机噪声输入数据传入生成器神经网络进行运算,得到噪声生成结果;

通过运算器将噪声生成结果和参考数据共同输入判别器神经网络进行运算,得到判别结果;

通过运算器,根据所述判别结果更新所述判别器神经网络参数与生成器神经网络参数。

根据本披露的再一方面,提供一种电子设备,包括权上述的处理装置。

(三)有益效果

本披露的有益效果主要体现在以下两点:

本披露提出了利用对抗网络(generativeadversarialnets)进行高效的视频图像、语音音频、文字表述类型的机器创作的方法,大大减少了相关领域人工处理或创作的复杂度,并且基于机器学习的创作方式相对于以往的软件实现更加能够体现抽象创作的艺术感,能够更加契合人们对于机器创作结果的期望;

本披露将上述方法实现结合本披露的处理装置,并针对对抗网络的具体实现方式规划更加合理的硬件结构以及指令类型,使得整体实现变得快速高效,实现了时间复杂度和功耗的同时降低。

附图说明

图1是本披露实施例的用于执行生成对抗网络的处理装置的基本方块图。

图2本披露又一实施例的用于执行生成对抗网络的处理装置的基本方块图。

图3是本披露实施例的进行机器创作的方法的流程图。

具体实施方式

为使本披露的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本披露作进一步的详细说明。

在本披露中所述的“存储器”可以集成在用于执行生成对抗网络的处理装置的内部,也可以是一个单独的器件,作为外部存储器与用于执行生成对抗网络的处理装置进行数据传输。

根据本披露的基本构思,提供一种用于执行生成对抗网络的处理装置,包括:

存储器110,用于接收输入数据,所述输入数据包括随机噪声和参考数据,以及存储判别器神经网络参数与生成器神经网络参数;

运算器120,用于将随机噪声输入数据传入生成器神经网络进行运算,得到噪声生成结果;还用于将噪声生成结果和参考数据共同输入判别器神经网络进行运算,得到判别结果;还用于根据所述判别结果更新所述判别器神经网络参数与生成器神经网络参数。

本披露实施例的处理装置,针对对抗网络的具体实现方式规划出合理的运算器以及存储器相配合的硬件结构,提高了计算效率。用于执行生成对抗网络的处理装置的存储器110接收输入数据,输入数据包括随机噪声和参考数据(包括但不限于真实图片、语音或文字)。参考数据包括但不仅限于一组包含一个或多个关键特征的图片,一组包含一个或多个关键采样点的音频,一组包含一个或多个具有词性标签的词组或短语;运算器120根据输入数据进行训练,得到一组生成函数参数,根据该生成函数参数和参考数据(例如参考图像)得到噪声生成结果(如创作图像)。其中输入数据可以是原始输入数据,也可以是对原始数据进行预处理后得到的结果。

在一些实施例中,所述存储器还用于存储计算指令,所述处理装置还包括控制器130,该控制器130用于根据提取所述计算指令并解析为运算指令,并发送至所述运算器。具体的,控制器130用于从所述存储器提取计算指令,解析该计算指令得到多个运算指令,将该多个运算指令以及输入数据发送给所述运算器。

如图2所示,所述存储器110包括:判别器参数存储单元112,用于存储判别器神经网络参数;生成器参数存储单元113,用于存储生成器神经网络参数;判别器指令存储单元114,用于存储进行判别器神经网络运算的计算指令;生成器指令存储单元115,用于存储进行生成器神经网络运算的计算指令;以及数据存储单元111,用于存储数据,这里的数据存储单元包括随机噪声、噪声生成结果(即负样本,例如随机噪声生成的图片)以及参考数据(从外部获得的真实图片、语音或文字等。此处结构主要是为了适应gan(对抗生成网络)具有的生成器与判别器的结构特点,故而可以将生成器与判别器的权值存储进行物理区分,更加高效的利用存储资源,同时为了适应这种存储结构可以对i/o指令进行修改,以区分判别器i/o指令与生成器i/o指令。

其中,数据存储单元111,用于获取并存储数据,进一步的还可以包括获取并存储网络模型(包括判别器神经网络和生成器神经网络)以及计算指令。

可选的,还包括输入/输出单元150,用于获取外部数据以及将内部计算结果输出至外部设备或其他部件。

可选的,还包括dma140,把生成器神经网络参数从存储器转发给运算器120,通过dma把随机噪声和参考数据从数据存储单元111转发给运算器120。

可选的,存储器还可以包括存储介质,存储介质可以为片外存储器,当然在实际应用中,也可以为片内存储器,用于存储数据块,该数据块具体可以为n维数据,n为大于等于1的整数,例如,n=1时,为1维数据,即向量,如n=2时,为2维数据,即矩阵,如n=3或3以上时,为多维张量。

在一些实施例中,上述控制器130包括:指令缓存单元110、指令存储单元111和存储队列单元113。指令缓存单元110,用于存储所述网络模型关联的计算指令;所述指令处理单元111,用于对所述计算指令解析得到多个运算指令;存储队列单元113,用于存储指令队列,该指令队列包括:按该队列的前后顺序待执行的多个运算指令或计算指令。

如下表1所示,该计算指令可以包括:一个或多个操作域以及一个操作码。该计算指令可以包括神经网络运算指令。以神经网络运算指令为例,如表1所示,其中,寄存器号0、寄存器号1、寄存器号2、寄存器号3、寄存器号4可以为操作域。其中,每个寄存器号0、寄存器号1、寄存器号2、寄存器号3、寄存器号4可以是一个或者多个寄存器的号码。

config指令在每层人工神经网络计算开始前配置当前层计算需要的各种常数;compute指令完成每层人工神经网络的算术逻辑计算;io指令实现从外部地址空间读入计算需要的输入数据以及在计算完成后将数据存回至外部空间;nop指令负责清空当前装至内部所有微指令缓存队列中的微指令,保证nop指令之前的所有指令全部指令完毕。nop指令本身不包含任何操作;jump指令负责控制器将要从指令存储单元读取的下一条指令地址的跳转,用来实现控制流的跳转;move指令负责将装置内部地址空间某一地址的数据搬运至装置内部地址空间的另一地址,该过程独立于运算单元,在执行过程中不占用运算单元的资源。

表1

所述依赖关系处理单元,用于在具有多个运算指令时,确定第一运算指令与所述第一运算指令之前的第零运算指令是否存在关联关系,如所述第一运算指令与所述第零运算指令存在关联关系,则将所述第一运算指令缓存在所述指令存储单元内,在所述第零运算指令执行完毕后,从所述指令存储单元提取所述第一运算指令传输至所述运算器;

所述确定该第一运算指令与第一运算指令之前的第零运算指令是否存在关联关系包括:

依据所述第一运算指令提取所述第一运算指令中所需数据(例如矩阵)的第一存储地址区间,依据所述第零运算指令提取所述第零运算指令中所需矩阵的第零存储地址区间,如所述第一存储地址区间与所述第零存储地址区间具有重叠的区域,则确定所述第一运算指令与所述第零运算指令具有关联关系,如所述第一存储地址区间与所述第零存储地址区间不具有重叠的区域,则确定所述第一运算指令与所述第零运算指令不具有关联关系。

根据本披露实施例的另一方面,还提供一种应用以上所述的处理装置进行机器创作的方法,包括:

s110:输入随机噪声和参考数据至存储器(例如随机噪声和参考数据存储至存储单元);

随后,可以通过dma把生成器神经网络参数从存储器转发给运算器120里,通过dma把随机噪声和参考数据从111转发给运算器120里;

s120:运算器将随机噪声输入数据和生成器神经网络参数进行生成器神经网络运算,得到噪声生成结果;

s130:运算器将噪声生成结果和参考数据进行判别器神经网络运算,得到判别结果;

s140:运算器根据所述判别结果更新所述判别器神经网络参数与生成器神经网络参数。

在一些实施例中,对于步骤s140,其具体包括:根据判别结果分别计算的生成器神经网络与判别器神经网络的损失值;然后根据损失值减小的最大梯度方向,自适应地更新判别器神经网络中的参数,进而提高判别器的判别精度;根据判别器判别的损失值增大的最大梯度方向,自适应地更新同时生成器神经网络中的参数。

通过重复进行步骤s110-s140,也就是进行训练,直至当判别器神经网络的判别精度在设定范围内变化时,输出生成器神经网络进行运算所得到噪声生成结果作为最终创作结果。

以下将结合具体实施例,对本披露的处理装置和利用装置的创作方法进行具体说明,但本领域技术人员应当知晓的是,以下具体的细节仅用于理解本披露,而并不应理解为对本披露的限定。

实施例1:

该实施例中的用于执行生成对抗网络的处理装置用于进行视频和/或图像的创作。

用于执行生成对抗网络的处理装置的存储器接收输入数据,输入数据包括但不仅限于一组包含一个或多个关键特征的图片;运算器根据输入数据进行训练,得到一组生成函数参数,根据该生成函数参数和输入参考图像生成输出创作图像。其中输入数据可以是原始输入数据,也可以是对原始数据进行预处理后得到的结果。

用于执行生成对抗网络的处理装置进行自适应性训练,例如:该装置输入一组包含一个或多个关键特征的训练图片,如包括手绘图片,实景照片,视频关键帧图片等等。装置将输入的训练图片作为真实图片与生成模型根据噪声生成的虚假图片一起混合输入到判别器中判别真假,并根据判别结果加权分别计算的生成器与判别器的损失值,然后根据损失值减小的最大梯度方向,自适应地更新判别器中的参数(如权值、偏置等等),进而提高判别器的判别精度;同时生成器根据判别器判别的损失值增大的最大梯度方向,自适应地更新生成器中的参数(如权值、偏置等等),进而提高生成器的生成能力,使得其根据噪声生成的图像更加接近真实图像,降低判别器的判别精度。最终,当判别器的判别精度在设定范围内变化时,达到最优生成器标准,以这个生成器的参数根据参考真实图片就可以将随机噪声生成创作图片。

判别器的输入图片真假取值二选一——例如{0,1},0表示输入图片为输入训练图片,为1表示输入图片为生成器根据噪声生成的虚假图片;当然也可以反过来,1表示真,0表示假。优选的,上述自适应性训练过程是离线处理的。

具体的视频或图像创造步骤可以包括:

步骤1,将随机噪声输入数据经预处理单元传入存储器或直接传入存储器;

步骤2,dma(directmemoryaccess,直接内存存取)将其分批传入指令缓存,输入神经元缓存,权值缓存中;

步骤3,控制器从指令缓存中读取指令,将其译码后传入运算器;

步骤4,根据指令,运算器执行相应的运算:在神经网络的各个层中,运算主要分为三步:步骤4.1,在乘法器中将对应的输入神经元和权值相乘;步骤4.2,在加法树中执行加法树运算,即将步骤4.1的结果通过加法树逐级相加,得到加权和,根据需要对加权和加偏置或不做处理;步骤4.3,在激活函数运算单元中对步骤4.2得到的结果执行激活函数运算,得到输出神经元,并将其传入输出神经元缓存中。

步骤5,重复步骤2到步骤4,直到所有数据运算完毕,其中所述生成器的噪声生成结果可以根据神经网络最终输出层得到,结果由dma存入生成器输出缓存;

步骤6,将部分输入数据与生成器生成结果混合作为判别器模型的输入数据,重复步骤2到步骤4,知道所有数据运算完毕,其中所述判别器的判别结果可以根据神经网络最终输出层的结果得到,结果由dma存入判别器输出缓存;

步骤7,由dma将判别器输出结果传入运算器,做偏导运算后分别得到生成器的优化梯度和判别器的优化梯度,分别将其与生成器、判别器的神经元权值相加后,将相应结果存入相应神经元缓存;

步骤8,重复步骤5,6,7直到生成器和判别器损失函数达到最优;

步骤9,输入参考数据经过数据预处理单元后传入存储器或直接传入存储器;

步骤10,重复步骤2到步骤4,生成器模型神经网络输出层输出结果即为创作结果。

根据所述功能需求:需要在自适应训练阶段预设输出创作图片大小(也是人工神经网络最终输出层的神经元个数)、与训练数据(输入训练特征)和网络参数更新方式(随机梯度下降、adam算法等)。

实施例2:

该实施例中的用于执行生成对抗网络的处理装置用于进行音频的创作。

用于执行生成对抗网络的处理装置,用于执行生成对抗网络的处理装置的存储器接收输入数据,输入数据包括但不仅限于一组包含一个或多个关键采样点的音频;运算器根据输入数据进行训练,得到一组生成函数参数,根据该生成函数参数和输入参考图像生成输出生成音频。其中输入数据可以是原始输入数据,也可以是对原始数据进行预处理后得到的结果。

用于执行生成对抗网络的处理装置进行自适应性训练,例如:该装置输入一组包含一个或多个关键采样点的音频数据,如包括语音片段,合成编辑电子音效音频等等。然后将输入的训练音频作为真实音频与生成模型根据噪声生成的虚假音频一起混合输入到判别器中判别真假,并根据判别结果加权分别计算的生成器与判别器的损失值,然后根据损失值减小的最大梯度方向,自适应地更新判别器中的参数(如权值、偏置等等),进而提高判别器的判别精度;同时生成器根据判别器判别的损失值增大的最大梯度方向,自适应地更新生成器中的参数(如权值、偏置等等),进而提高生成器的生成能力,使得其根据噪声生成的音频采样点分布更加接近特征采样点分布,降低判别器的判别精度。最终,当判别器的判别精度不再变化时,达到最优生成器标准,以这个生成器的参数根据参考音频就可以将随机噪声生成具有参考风格的音频。

判别器的输入音频真假取值二选一——例如{0,1},0表示输入图片为输入训练图片,为1表示输入图片为生成器根据噪声生成的虚假图片;当然也可以反过来,1表示真,0表示假。优选的,上述自适应性训练过程是离线处理的。

人工神经网络芯片得到创造图片(视频关键帧)的方法为:根据训练得到的最优生成器权值参数,与输入参考图片进行矩阵乘,得出最终的创作图片(视频关键帧)。

具体的语音创作步骤可以包括:

步骤1,将随机噪声(生成器模型的生成源是随机噪声,根据权值不断生成才会能够生成有意义的音频)输入数据经预处理单元传入存储单元或直接传入存储单元;

步骤2,dma(directmemoryaccess,直接内存存取)将其分批传入指令缓存,输入神经元缓存,权值缓存中;

步骤3,控制器从指令缓存中读取指令,将其译码后传入运算器;

步骤4,根据指令,运算器执行相应的运算:在神经网络的各个层中,运算主要分为三步:步骤4.1,,将对应的输入神经元和权值相乘;步骤4.2,执行加法树运算,即将步骤4.1的结果通过加法树逐级相加,得到加权和,根据需要对加权和加偏置或不做处理;步骤4.3,对步骤4.2得到的结果执行激活函数运算,得到输出神经元,并将其传入输出神经元缓存中。

步骤5,重复步骤2到步骤4,直到所有数据运算完毕,其中所述生成器的噪声生成结果可以根据神经网络最终输出层得到,结果由dma存入生成器输出缓存;

步骤6,将部分输入数据与生成器生成结果混合作为判别器模型的输入数据,重复步骤2到步骤4,知道所有数据运算完毕,其中所述判别器的判别结果可以根据神经网络最终输出层的结果得到,结果由dma存入判别器输出缓存;

步骤7,由dma将判别器输出结果传入运算器,做偏导运算后分别得到生成器的优化梯度和判别器的优化梯度,分别将其与生成器、判别器的神经元权值相加后,将相应结果存入相应神经元缓存;

步骤8,重复步骤5,6,7直到生成器和判别器损失函数达到最优;

步骤9,输入参考数据经过数据预处理单元后传入存储单元或直接传入存储单元;

步骤10,重复步骤2到步骤4,生成器模型神经网络输出层输出结果即为创作结果。

根据所述功能需求:需要在自适应训练阶段预设输出创作音频采样点个数及音频时间长短(也是人工神经网络最终输出层的神经元个数)、与训练数据(输入训练特征)和网络参数更新方式(随机梯度下降、adam算法等)。

实施例3:

该实施例中的用于执行生成对抗网络的处理装置用于进行文字类型的创作。

用于执行生成对抗网络的处理装置的存储器接收输入数据,输入数据包括但不仅限于一组包含一个或多个具有词性标签的词组或短语(文字类型);装置根据输入数据进行训练,得到一组生成函数参数,根据该生成函数参数和输入参考文字段落生成输出创作文字段落。其中输入数据可以是原始输入数据,也可以是对原始数据进行预处理后得到的结果。输出数据可以是文字段落,也可以是诗句等严格格式的特殊格式。

用于执行生成对抗网络的处理装置进行自适应性训练,例如:该装置输入一组包含一个或多个具有词性标签的词组或短语,如包括语音片段,合成编辑电子音效音频等等。装置将输入的训练文字段落作为特征文字段落与生成模型根据噪声在同词性词语组中选择的创造文字段落一起混合输入到判别器中判别真假,并根据判别结果加权分别计算的生成器与判别器的损失值,然后根据损失值减小的最大梯度方向,自适应地更新判别器中的参数(如权值、偏置等等),进而提高判别器的判别精度;同时生成器根据判别器判别的损失值增大的最大梯度方向,自适应地更新生成器中的参数(如权值、偏置等等),进而提高生成器的生成能力,使得其根据噪声生成的音频采样点分布更加接近特征采样点分布,降低判别器的判别精度。最终,当判别器的判别精度不再变化时,达到最优生成器标准,以这个生成器的参数根据参考文字段落就可以将随机噪声生成具有参考风格的文字创作。

判别器的输入文字段落真假取值二选一——例如{0,1},0表示输入词组或短语为输入训练段落包含的词组或短语,为1表示输入图片为生成器根据噪声生成的随机短语;当然也可以反过来,1表示真,0表示假。

优选的,上述自适应性训练过程是离线处理的。优选的,用于执行生成对抗网络的处理装置为人工神经网络芯片。

具体的文字类型创作步骤可以包括:

步骤1,将随机噪声输入数据经预处理单元传入存储器或直接传入存储器;

步骤2,dma(directmemoryaccess,直接内存存取)将其分批传入指令缓存,输入神经元缓存,权值缓存中;

步骤3,控制器从指令缓存中读取指令,将其译码后传入运算器;

步骤4,根据指令,运算器执行相应的运算:在神经网络的各个层中,运算主要分为三步:步骤4.1,,将对应的输入神经元和权值相乘;步骤4.2,执行加法树运算,即将步骤4.1的结果通过加法树逐级相加,得到加权和,根据需要对加权和加偏置或不做处理;步骤4.3,对步骤4.2得到的结果执行激活函数运算,得到输出神经元,并将其传入输出神经元缓存中。

步骤5,重复步骤2到步骤4,直到所有数据运算完毕,其中所述生成器的噪声生成结果可以根据神经网络最终输出层得到,结果由dma存入生成器输出缓存;

步骤6,将部分输入数据与生成器生成结果混合作为判别器模型的输入数据,重复步骤2到步骤4,知道所有数据运算完毕,其中所述判别器的判别结果可以根据神经网络最终输出层的结果得到,结果由dma存入判别器输出缓存;

步骤7,由dma将判别器输出结果传入运算器,做偏导运算后分别得到生成器的优化梯度和判别器的优化梯度,分别将其与生成器、判别器的神经元权值相加后,将相应结果存入相应神经元缓存;

步骤8,重复步骤5,6,7直到生成器和判别器损失函数达到最优;

步骤9,输入参考数据经过数据预处理单元后传入存储单元或直接传入存储单元;

步骤10,重复步骤2到步骤4,生成器模型神经网络输出层输出结果即为创作结果。

根据所述功能需求:需要在自适应训练阶段预设输出创作音频采样点个数及音频时间长短(也是人工神经网络最终输出层的神经元个数)、与训练数据(输入训练特征)和网络参数更新方式(随机梯度下降、adam算法等)。

本披露实施例还提供了一种电子设备,其包括了上述用于执行生成对抗网络的处理装置。

电子设备可包括但不限于机器人、电脑、打印机、扫描仪、平板电脑、智能终端、手机、行车记录仪、导航仪、传感器、摄像头、云端服务器、相机、摄像机、投影仪、手表、耳机、移动存储、可穿戴设备交通工具、家用电器、和/或医疗设备。

所述交通工具可包括飞机、轮船和/或车辆;所述家用电器包括电视、空调、微波炉、冰箱、电饭煲、加湿器、洗衣机、电灯、燃气灶、油烟机;所述医疗设备包括核磁共振仪、b超仪和/或心电图仪。

本披露中各功能单元/模块/子模块/子单元都可以是硬件,比如该硬件可以是电路,包括数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于物理器件,物理器件包括但不局限于晶体管,忆阻器等等。所述计算装置中的计算模块可以是任何适当的硬件处理器,比如cpu、gpu、fpga、dsp和asic等等。所述存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如rram,dram,sram,edram,hbm,hmc等等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

以上所述的具体实施例,对本披露的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本披露的具体实施例而已,并不用于限制本披露,凡在本披露的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本披露的保护范围之内。

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