CN110619390A - 用于执行生成对抗网络的处理装置及应用其进行机器创作的方法 - Google Patents

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

Info

Publication number
CN110619390A
CN110619390A CN201810641721.9A CN201810641721A CN110619390A CN 110619390 A CN110619390 A CN 110619390A CN 201810641721 A CN201810641721 A CN 201810641721A CN 110619390 A CN110619390 A CN 110619390A
Authority
CN
China
Prior art keywords
instruction
neural network
calculation
generator
data
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.)
Pending
Application number
CN201810641721.9A
Other languages
English (en)
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Cambricon Information Technology Co Ltd
Original Assignee
Shanghai Cambricon Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Cambricon Information Technology Co Ltd filed Critical Shanghai Cambricon Information Technology Co Ltd
Priority to CN201810641721.9A priority Critical patent/CN110619390A/zh
Priority to PCT/CN2018/092829 priority patent/WO2019001418A1/zh
Priority to EP18824582.3A priority patent/EP3637272A4/en
Priority to US16/694,176 priority patent/US11726844B2/en
Priority to US16/693,918 priority patent/US10901815B2/en
Publication of CN110619390A publication Critical patent/CN110619390A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/452Instruction code
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)

Abstract

本披露一种用于执行生成对抗网络的处理装置和应用其的方法。其中,处理装置包括:存储器,用于接收输入数据,所述输入数据包括随机噪声和参考数据,以及存储判别器神经网络参数与生成器神经网络参数;运算器,用于将随机噪声输入数据传入生成器神经网络进行运算,得到噪声生成结果;还用于将噪声生成结果和参考数据共同输入判别器神经网络进行运算,得到判别结果;还用于根据所述判别结果更新所述判别器神经网络参数与生成器神经网络参数。本披露的处理装置能针对对抗网络的具体实现方式规划更加合理的硬件结构以及指令类型,使得整体实现变得快速高效,实现了时间复杂度和功耗的同时降低。

Description

用于执行生成对抗网络的处理装置及应用其进行机器创作的 方法
技术领域
本披露涉及信息处理技术领域,具体涉及一种用于执行生成对抗网络的处理装置及应用其进行机器创作的方法。
背景技术
现有技术为人工或者图像(视频)处理软件进行图像(视频)创作,人工或者固定格式的文字输入装置进行文学创作,人工或者人声合成软件或者音频处理软件进行音频创作。其中图像(视频)处理软件通过某些固定模式的图像色彩模式进行图像(视频)作品的创作,文字输入装置通过文字段落的整体剪切、复制或者替换进行文字作品的生成,人声合成软件和音频处理软件都是通过数字音频信号的混合、剪切等处理进行音频的创作。
现有技术的问题在于人工创作或修改费时费力,且某些重复的创作过程不能很好的节省人力资源;而通过软件进行各种图像(视频)、文字与音频创作时,由于软件没有学习能力,只能按照固定模式应用于各种不同的应用场景,而且还是需要人工进行干预指导,造成创作的实现效果差,普适性不强且未能更大程度解放人力资源,没有自我学习机制等各种缺点。
发明内容
(一)要解决的技术问题
有鉴于此,本披露的目的在于提供一种用于执行生成对抗网络的处理装置及应用其进行机器创作的方法,以至少部分解决上述技术问题。
(二)技术方案
根据本披露的一方面,提供一种用于执行生成对抗网络的处理装置,包括:
存储器,用于接收输入数据,所述输入数据包括随机噪声和参考数据,以及存储判别器神经网络参数与生成器神经网络参数;
运算器,用于将随机噪声输入数据传入生成器神经网络进行运算,得到噪声生成结果;还用于将噪声生成结果和参考数据共同输入判别器神经网络进行运算,得到判别结果;还用于根据所述判别结果更新所述判别器神经网络参数与生成器神经网络参数。
根据本披露的另一方面,提供一种应用上述处理装置进行机器创作的方法,包括:
输入随机噪声和参考数据至存储器;
运算器将随机噪声输入数据传入生成器神经网络进行运算,得到噪声生成结果;
通过运算器将噪声生成结果和参考数据共同输入判别器神经网络进行运算,得到判别结果;
通过运算器,根据所述判别结果更新所述判别器神经网络参数与生成器神经网络参数。
根据本披露的再一方面,提供一种电子设备,包括权上述的处理装置。
(三)有益效果
本披露的有益效果主要体现在以下两点:
本披露提出了利用对抗网络(generative adversarial nets)进行高效的视频图像、语音音频、文字表述类型的机器创作的方法,大大减少了相关领域人工处理或创作的复杂度,并且基于机器学习的创作方式相对于以往的软件实现更加能够体现抽象创作的艺术感,能够更加契合人们对于机器创作结果的期望;
本披露将上述方法实现结合本披露的处理装置,并针对对抗网络的具体实现方式规划更加合理的硬件结构以及指令类型,使得整体实现变得快速高效,实现了时间复杂度和功耗的同时降低。
附图说明
图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(Direct Memory Access,直接内存存取)将其分批传入指令缓存,输入神经元缓存,权值缓存中;
步骤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(Direct Memory Access,直接内存存取)将其分批传入指令缓存,输入神经元缓存,权值缓存中;
步骤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(Direct Memory Access,直接内存存取)将其分批传入指令缓存,输入神经元缓存,权值缓存中;
步骤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等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
以上所述的具体实施例,对本披露的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本披露的具体实施例而已,并不用于限制本披露,凡在本披露的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本披露的保护范围之内。

Claims (18)

1.一种用于执行生成对抗网络的处理装置,其特征在于,包括:
存储器,用于接收输入数据,所述输入数据包括随机噪声和参考数据,以及存储判别器神经网络参数与生成器神经网络参数;
运算器,用于将随机噪声输入数据传入生成器神经网络进行运算,得到噪声生成结果;还用于将噪声生成结果和参考数据共同输入判别器神经网络进行运算,得到判别结果;还用于根据所述判别结果更新所述判别器神经网络参数与生成器神经网络参数。
2.根据权利要求1所述的处理装置,其特征在于,所述存储器还用于存储计算指令,所述处理装置还包括:
控制器,用于根据提取所述计算指令并解析为运算指令,并发送至所述运算器。
3.根据权利要求1所述的处理装置,其特征在于,所述存储器包括:
判别器参数存储单元,用于存储判别器神经网络参数;
生成器参数存储单元,用于存储生成器神经网络参数;
判别器指令存储单元,用于存储进行判别器神经网络运算的计算指令;
生成器指令存储单元,用于存储进行生成器神经网络运算的计算指令;
数据存储单元,用于存储噪声生成结果、随机噪声以及参考数据。
4.根据权利要求2所述的处理装置,其特征在于,所述控制器包括:
指令缓存单元,用于缓存进行判别器神经网络运算的计算指令和/或进行生成器神经网络运算的计算指令;
指令处理单元,用于对计算指令解析得到多个运算指令;
存储队列单元,用于存储多个运算指令形成的指令队列,该指令队列包括:按该队列的前后顺序待执行的多个运算指令或计算指令;
依赖关系处理单元,用于在具有多个运算指令时,确定第一运算指令与所述第一运算指令之前的第零运算指令是否存在关联关系,如所述第一运算指令与所述第零运算指令存在关联关系,则将所述第一运算指令缓存在所述指令存储单元内,在所述第零运算指令执行完毕后,从所述指令存储单元提取所述第一运算指令传输至所述运算器;
优选的,所述确定该第一运算指令与第一运算指令之前的第零运算指令是否存在关联关系包括:
依据所述第一运算指令提取所述第一运算指令中所需数据的第一存储地址区间,依据所述第零运算指令提取所述第零运算指令中所需矩阵的第零存储地址区间,如所述第一存储地址区间与所述第零存储地址区间具有重叠的区域,则确定所述第一运算指令与所述第零运算指令具有关联关系,如所述第一存储地址区间与所述第零存储地址区间不具有重叠的区域,则确定所述第一运算指令与所述第零运算指令不具有关联关系。
5.根据权利要求1所述的处理装置,其特征在于,所述参考数据包括图片、视频、语音和/或文字;优选的,所述处理装置还包括输入/输出单元,用于获取外部数据以及将内部计算结果输出至外部设备。
6.根据权利要求2所述的处理装置,其特征在于,所述计算指令包括操作码和至少一个操作域;
所述计算指令包括:
CONFIG指令,在每层人工神经网络计算开始前配置当前层计算需要的各种常数;
COMPUTE指令,完成每层人工神经网络的算术逻辑计算;
IO指令,实现从外部地址空间读入计算需要的输入数据以及在计算完成后将数据存回至外部空间;
NOP指令,负责清空当前装至内部所有微指令缓存队列中的微指令,保证NOP指令之前的所有指令全部指令完毕;
JUMP指令,负责控制器将要从指令存储单元读取的下一条指令地址的跳转,用来实现控制流的跳转;
MOVE指令,负责将装置内部地址空间某一地址的数据搬运至装置内部地址空间的另一地址,该过程独立于运算单元,在执行过程中不占用运算单元的资源;
所述COMPUTE指令包括一个操作码和五个操作域,五个操作域分别对应输入数据起始地址、输入数据长度、权值起始地址、权值长度和激活函数插值表地址;
所述IO指令包括一个操作码和三个操作域,三个操作域分别对应数据外部存储地址、数据长度和数据内部存储器地址;
所述JUMP指令包括一个操作码和一个操作域,一个操作域对应目标地址;
所述MOVE指令包括一个操作码和三个操作域,三个操作域分别对应输入地址、数据大小和输出地址。
7.根据权利要求1所述的处理装置,其特征在于,还包括DMA,用于将生成器神经网络参数从存储器转发给运算器,还用于把随机噪声和参考数据从转发给运算器。
8.应用权利要求1-7任一所述处理装置进行机器创作的方法,其特征在于包括:
输入随机噪声和参考数据至存储器;
运算器将随机噪声输入数据和生成器神经网络参数进行生成器神经网络运算,得到噪声生成结果;
运算器将噪声生成结果和参考数据进行判别器神经网络运算,得到判别结果;
运算器根据所述判别结果更新所述判别器神经网络参数与生成器神经网络参数。
9.根据权利要求8所述的方法,其特征在于,所述运算器根据所述判别结果更新所述判别器神经网络参数与生成器神经网络参数,包括:
根据判别结果分别计算的生成器神经网络与判别器神经网络的损失值;
然后根据损失值减小的最大梯度方向,自适应地更新判别器神经网络中的参数,进而提高判别器的判别精度;
根据判别器判别的损失值增大的最大梯度方向,自适应地更新同时生成器神经网络中的参数。
10.根据权利要求8所述的方法,其特征在于,包括:重复进行权利要求8所述的方法步骤,直至当判别器神经网络的判别精度在设定范围内变化时,输出生成器神经网络进行运算所得到噪声生成结果作为最终创作结果。
11.根据权利要求10所述的方法,其特征在于,还包括:
控制器根据提取所述计算指令并解析为运算指令,并发送至所述运算器;和/或
通过DMA将生成器神经网络参数从存储器转发给运算器,还用于把随机噪声和参考数据从转发给运算器。
12.根据权利要求11所述的方法,其特征在于,还包括:
判别器参数存储单元存储判别器神经网络参数;
生成器参数存储单元存储生成器神经网络参数;
判别器指令单元存储进行判别器神经网络运算的计算指令;
生成器指令单元存储进行生成器神经网络运算的计算指令;
数据存储单元存储输入数据。
13.根据权利要求11所述的方法,其特征在于,所述控制器根据提取所述计算指令并解析为运算指令,并发送至所述运算器,具体包括:
通过指令缓存单元缓存进行判别器神经网络运算的计算指令和/或进行生成器神经网络运算的计算指令;
通过指令处理单元对计算指令解析得到多个运算指令;
通过存储队列单元存储多个运算指令形成的指令队列,该指令队列包括:按该队列的前后顺序待执行的多个运算指令或计算指令;
其中,所述通过控制器,根据提取所述计算指令并解析为运算指令,并发送至所述运算器,还包括:
通过依赖关系处理单元在具有多个运算指令时,确定第一运算指令与所述第一运算指令之前的第零运算指令是否存在关联关系,如所述第一运算指令与所述第零运算指令存在关联关系,则将所述第一运算指令缓存在所述指令存储单元内,在所述第零运算指令执行完毕后,从所述指令存储单元提取所述第一运算指令传输至所述运算器。
14.根据权利要求13所述的方法,其特征在于,所述确定该第一运算指令与第一运算指令之前的第零运算指令是否存在关联关系包括:
依据所述第一运算指令提取所述第一运算指令中所需数据的第一存储地址区间,依据所述第零运算指令提取所述第零运算指令中所需矩阵的第零存储地址区间,如所述第一存储地址区间与所述第零存储地址区间具有重叠的区域,则确定所述第一运算指令与所述第零运算指令具有关联关系,如所述第一存储地址区间与所述第零存储地址区间不具有重叠的区域,则确定所述第一运算指令与所述第零运算指令不具有关联关系。
15.根据权利要求8所述的方法,其特征在于,所述参考数据包括图片、视频、语音和/或文字。
16.根据权利要求9所述的方法,其特征在于,所述计算指令包括操作码和至少一个操作域;
所述计算指令包括:
CONFIG指令,在每层人工神经网络计算开始前配置当前层计算需要的各种常数;
COMPUTE指令,完成每层人工神经网络的算术逻辑计算;
IO指令,实现从外部地址空间读入计算需要的输入数据以及在计算完成后将数据存回至外部空间;
NOP指令,负责清空当前装至内部所有微指令缓存队列中的微指令,保证NOP指令之前的所有指令全部指令完毕,;
JUMP指令,负责控制器将要从指令存储单元读取的下一条指令地址的跳转,用来实现控制流的跳转;
MOVE指令,负责将装置内部地址空间某一地址的数据搬运至装置内部地址空间的另一地址,该过程独立于运算单元,在执行过程中不占用运算单元的资源。
17.根据权利要求16所述的方法,其特征在于,
所述COMPUTE指令包括一个操作码和五个操作域,五个操作域分别对应输入数据起始地址、输入数据长度、权值起始地址、权值长度和激活函数插值表地址;
所述IO指令包括一个操作码和三个操作域,三个操作域分别对应数据外部存储地址、数据长度和数据内部存储器地址;
所述JUMP指令包括一个操作码和一个操作域,一个操作域对应目标地址;
所述MOVE指令包括一个操作码和三个操作域,三个操作域分别对应输入地址、数据大小和输出地址。
18.一种电子设备,包括权利要求1-7任一所述的处理装置。
CN201810641721.9A 2017-06-26 2018-06-20 用于执行生成对抗网络的处理装置及应用其进行机器创作的方法 Pending CN110619390A (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201810641721.9A CN110619390A (zh) 2018-06-20 2018-06-20 用于执行生成对抗网络的处理装置及应用其进行机器创作的方法
PCT/CN2018/092829 WO2019001418A1 (zh) 2017-06-26 2018-06-26 数据共享系统及其数据共享方法
EP18824582.3A EP3637272A4 (en) 2017-06-26 2018-06-26 DATA-SHARING SYSTEM AND RELATED DATA-SHARING PROCESS
US16/694,176 US11726844B2 (en) 2017-06-26 2019-11-25 Data sharing system and data sharing method therefor
US16/693,918 US10901815B2 (en) 2017-06-26 2019-11-25 Data sharing system and data sharing method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810641721.9A CN110619390A (zh) 2018-06-20 2018-06-20 用于执行生成对抗网络的处理装置及应用其进行机器创作的方法

Publications (1)

Publication Number Publication Date
CN110619390A true CN110619390A (zh) 2019-12-27

Family

ID=68921084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810641721.9A Pending CN110619390A (zh) 2017-06-26 2018-06-20 用于执行生成对抗网络的处理装置及应用其进行机器创作的方法

Country Status (1)

Country Link
CN (1) CN110619390A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111340286A (zh) * 2020-02-24 2020-06-26 广东博智林机器人有限公司 机器人调度方法、装置、电子设备以及存储介质
CN111368056A (zh) * 2020-03-04 2020-07-03 北京香侬慧语科技有限责任公司 一种古诗词生成方法和装置
CN111582473A (zh) * 2020-04-23 2020-08-25 中科物栖(北京)科技有限责任公司 一种对抗样本的生成方法及装置
CN111639861A (zh) * 2020-06-01 2020-09-08 上海大学 一种基于神经网络的绩效考核方法及系统
CN113160156A (zh) * 2021-04-12 2021-07-23 佛山市顺德区美的洗涤电器制造有限公司 用于处理图像的方法、处理器、家用电器及存储介质
CN113378655A (zh) * 2021-05-24 2021-09-10 电子科技大学 一种基于深度神经网络的对抗性能量分解方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107590531A (zh) * 2017-08-14 2018-01-16 华南理工大学 一种基于文本生成的wgan方法
CN107992329A (zh) * 2017-07-20 2018-05-04 上海寒武纪信息科技有限公司 一种计算方法及相关产品

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107992329A (zh) * 2017-07-20 2018-05-04 上海寒武纪信息科技有限公司 一种计算方法及相关产品
CN107590531A (zh) * 2017-08-14 2018-01-16 华南理工大学 一种基于文本生成的wgan方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IAN J. GOODFELLOW 等: "Generative Adversarial Nets", 《HTTPS://ARXIV.ORG/PDF/1406.2661.PDF》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111340286A (zh) * 2020-02-24 2020-06-26 广东博智林机器人有限公司 机器人调度方法、装置、电子设备以及存储介质
CN111368056A (zh) * 2020-03-04 2020-07-03 北京香侬慧语科技有限责任公司 一种古诗词生成方法和装置
CN111368056B (zh) * 2020-03-04 2023-09-29 北京香侬慧语科技有限责任公司 一种古诗词生成方法和装置
CN111582473A (zh) * 2020-04-23 2020-08-25 中科物栖(北京)科技有限责任公司 一种对抗样本的生成方法及装置
CN111582473B (zh) * 2020-04-23 2023-08-25 中科物栖(南京)科技有限公司 一种对抗样本的生成方法及装置
CN111639861A (zh) * 2020-06-01 2020-09-08 上海大学 一种基于神经网络的绩效考核方法及系统
CN113160156A (zh) * 2021-04-12 2021-07-23 佛山市顺德区美的洗涤电器制造有限公司 用于处理图像的方法、处理器、家用电器及存储介质
CN113378655A (zh) * 2021-05-24 2021-09-10 电子科技大学 一种基于深度神经网络的对抗性能量分解方法
CN113378655B (zh) * 2021-05-24 2022-04-19 电子科技大学 一种基于深度神经网络的对抗性能量分解方法

Similar Documents

Publication Publication Date Title
US11726844B2 (en) Data sharing system and data sharing method therefor
CN110619390A (zh) 用于执行生成对抗网络的处理装置及应用其进行机器创作的方法
US11698786B2 (en) Processing apparatus and processing method
Zhan et al. Multimodal image synthesis and editing: A survey and taxonomy
US11710041B2 (en) Feature map and weight selection method and accelerating device
CN107832843B (zh) 一种信息处理方法及相关产品
WO2018171717A1 (zh) 面向神经网络处理器的自动化设计方法和系统
CN111260025B (zh) 用于执行lstm神经网络运算的装置和运算方法
WO2020062392A1 (zh) 信号处理装置、信号处理方法及相关产品
CN109376852B (zh) 运算装置及运算方法
CN112580720B (zh) 一种模型训练方法及装置
Gowda et al. Learn2augment: learning to composite videos for data augmentation in action recognition
JP2022502758A (ja) 符号化方法、装置、機器およびプログラム
Peng et al. Portraitbooth: A versatile portrait model for fast identity-preserved personalization
CN117273074A (zh) 一种数据处理方法及其装置
CN109147773B (zh) 一种语音识别装置和方法
CN112766475A (zh) 处理部件及人工智能处理器
Zhou et al. RoboDreamer: Learning Compositional World Models for Robot Imagination
CN114781642B (zh) 一种跨媒体对应知识的生成方法和装置
CN114692847B (zh) 数据处理电路、数据处理方法及相关产品
Park et al. An Artificial-Intelligence-based SLAM Processor with Scene-adaptive Sampling and Hybrid NeRF Model Training Acceleration
CN117669691A (zh) 一种数据处理方法及其装置
CN116882512A (zh) 一种数据处理方法、模型的训练方法以及相关设备
CN117689771A (zh) 一种基于知识图谱推理的文本到图像生成装置及方法
CN116343820A (zh) 音频处理方法、装置、设备和存储介质

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191227