CN111602144A - 生成指令序列以控制执行任务的代理的生成神经网络系统 - Google Patents
生成指令序列以控制执行任务的代理的生成神经网络系统 Download PDFInfo
- Publication number
- CN111602144A CN111602144A CN201980008613.0A CN201980008613A CN111602144A CN 111602144 A CN111602144 A CN 111602144A CN 201980008613 A CN201980008613 A CN 201980008613A CN 111602144 A CN111602144 A CN 111602144A
- Authority
- CN
- China
- Prior art keywords
- neural network
- simulator
- training
- output
- actions
- 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
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 149
- 230000009471 action Effects 0.000 claims abstract description 119
- 238000012549 training Methods 0.000 claims abstract description 92
- 230000002787 reinforcement Effects 0.000 claims abstract description 52
- 238000004590 computer program Methods 0.000 claims abstract description 24
- 230000003042 antagnostic effect Effects 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims description 40
- 239000003795 chemical substances by application Substances 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 21
- 239000013598 vector Substances 0.000 claims description 18
- 230000006870 function Effects 0.000 claims description 13
- 230000001419 dependent effect Effects 0.000 claims 2
- 230000001351 cycling effect Effects 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 14
- 230000006399 behavior Effects 0.000 description 13
- 238000011960 computer-aided design Methods 0.000 description 10
- 238000009826 distribution Methods 0.000 description 9
- 230000000306 recurrent effect Effects 0.000 description 8
- 230000001143 conditioned effect Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000009877 rendering Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 239000003814 drug Substances 0.000 description 4
- 229940079593 drug Drugs 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 241000282813 Aepyceros melampus Species 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 208000009119 Giant Axonal Neuropathy Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000090 biomarker Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001311 chemical methods and process Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 229940000406 drug candidate Drugs 0.000 description 1
- 238000009510 drug design Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 201000003382 giant axonal neuropathy 1 Diseases 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000015541 sensory perception of touch Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 229920002803 thermoplastic polyurethane Polymers 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- 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)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Feedback Control In General (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
生成对抗神经网络系统,提供执行任务的动作序列。系统包括耦合到模拟器的强化学习神经网络子系统和鉴别器神经网络。强化学习神经网络子系统包括策略循环神经网络,以在时间步序列中的每个处,根据动作选择策略选择要执行的一个或多个动作,每个动作包括一个或多个模拟器的控制命令。模拟器被配置为执行时间步的控制命令以生成模拟器输出。鉴别器神经网络被配置为在模拟器输出和训练数据之间进行鉴别,以提供用于强化学习的奖励信号。模拟器可以是不可微分的模拟器,例如用于产生图像或音频波形的计算机程序或用于控制机器人或车辆的程序。
Description
背景技术
本说明书涉及生成数据项的神经网络系统。
神经网络是采用一个或多个非线性单元层来预测针对所接收的输入的输出的机器学习模型。一些神经网络除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出用作网络中下一层(即,下一隐藏层或输出层)的输入。网络的每个层根据相应的参数集的当前值从所接收的输入生成输出。
一些神经网络是循环神经网络。循环神经网络是接收输入序列并且从输入序列生成输出序列的神经网络。具体地,循环神经网络可以在计算当前时间步(time step)处的输出时,使用来自先前时间步的网络的内部状态的部分或全部。循环神经网络的示例是包括一个或多个长短期(long short term,LSTM)记忆块(memory block)的长短期(LSTM)神经网络。每个LSTM记忆块可以包括一个或多个单元(cell),每个单元包括输入门、忘记门和输出门,其允许该单元存储该单元的先前状态,例如,用于生成当前激活或提供到LSTM神经网络的其他组件。
发明内容
本说明书描述了实施为在一个或多个位置中的一个或多个计算机上的计算机程序的系统,其生成动作序列,具体地,构成用于执行任务的程序形式的控制命令或指令。在实施方式中,指令序列用于控制代理(即模拟器),诸如用于生成图像的图形软件或者用于生成诸如语音的声音的音频软件,或者配置为模拟机械代理或机电代理的操作的模拟器。一旦受过训练,系统就可以被用于提供指令序列来控制相同或另一代理以执行例如现实世界中的任务。
根据第一方面,生成对抗神经网络系统——具体地用于提供执行通过训练数据定义的任务的动作序列——包括生成器子系统,该生成器子系统包括耦合至模拟器的强化学习神经网络子系统。强化学习神经网络子系统可以包括策略循环神经网络,用于在时间步序列中的每个处,根据动作选择策略来选择要执行的一个或多个动作,并且将所选择的一个或多个动作提供给模拟器例如,提供给模拟器的一个或多个控制输入。这样的控制输入可以包括数据输入、和/或电或光信号输入、和/或机械控制输入。模拟器可以被配置为实施针对时间步所选择的一个或多个动作,以生成模拟器输出。
生成对抗神经网络系统可以进一步包括鉴别器神经网络,该鉴别器神经网络被配置为在模拟器输出与系统的训练数据之间进行鉴别并且提供鉴别器输出。训练子系统可以被配置为根据从鉴别器输出确定的奖励信号、使用强化学习过程来更新策略循环神经网络的参数。训练子系统还可以被配置为根据模拟器输出与训练数据之间的差异来更新鉴别器神经网络的参数。
在一些实施方式中,这样的系统允许将不可微分的(non-differentiable)模拟器用作生成器的部分。在这里,不可微分意味着不可能将梯度从模拟器输出反向传播到模拟器控制输入。
模拟器可以是能够从控制动作序列中产生数据项或信号的任何系统,例如,用于产生图像的CAD(计算机辅助设计)程序。训练数据可以具有与模拟器输出(例如CAD程序尝试再现的图像)相同的类型。
在一些实施方式中,策略循环神经网络可以在每个时间步处接收模拟器输出的观察。例如,在模拟器输出包括音频或图像数据的情况下,这种观察可以包括来自模拟器的音频或图像数据。在模拟器输出包括模拟的机械代理或机电代理的位置、状态或配置的情况下,这种观察可以包括相对应的位置、状态或配置数据、或者机械代理或机电代理在其中进行动作的模拟的环境的观察(例如,这种环境的图像)。替选地,策略循环神经网络可能进行盲操作(operate blind),即除了在最终时间步之外,无需进行模拟器输出的观察。
强化学习神经网络子系统可以生成N个动作的序列;每个动作可以包括一个或多个所选择的动作的元组(tuple),例如,用于模拟器的控制命令。强化学习子系统的策略循环神经网络可以从模拟器接收控制动作的中间结果作为输入,或者可以在没有这种输入的情况下动作。
奖励信号可以包括通过鉴别器对模拟器输出与训练数据的接近程度的确定。例如,可以通过从生成器子系统和训练数据中采样来关于损失函数训练鉴别器,该损失函数依赖于模拟器输出与训练数据分布之间的第一Wasserstein距离(推土机距离)。因此,生成器强化学习神经网络子系统可以进行学习以最小化该距离。
在强化学习神经网络子系统中,可以从模拟器的预定的动作集中选择动作。强化学习神经网络子系统可以实施优势动作器-评判(advantage actor-critic)强化学习技术。因此,该子系统可以包括价值函数或评判神经网络,以根据策略循环神经网络的内部状态,确定采取通过策略循环神经网络推荐的动作的估计回报,即未来奖励。可以根据实际奖励与估计回报之间的差异来确定动作的优势。训练子系统可以被配置为使用多种强化学习算法中的任何来更新策略循环神经网络的参数和评判神经网络的参数。可以使用来自评判神经网络的估计回报来更新策略循环神经网络的参数。
在一些实施方式中,动作器-评判强化学习子系统的动作器和学习器(learner)可以由分布式环境中的不同工作器(worker)来实施。因此,可能存在多个动作器,每个动作器包括耦合到相应的模拟器以生成多个模拟器输出的策略循环神经网络的副本。动作器可以将其经验集中(pool)在经验缓冲器中。例如,动作器可以将来自模拟器输出的轨迹存储在经验缓冲器中,每个轨迹包括一个或多个动作的序列和相对应的模拟器输出。然后,一个或多个学习器可以使用存储的轨迹采取离线策略(off-policy)学习来更新策略循环神经网络的参数。每个动作器可以从最新的学习器策略来更新其策略网络。L.Espeholt等人在论文“具有重要性加权的动作器-学习器架构的可扩展分布式深度强化学习(IMPALA:Scalable Distributed Deep-RL with Importance Weighted Actor-LearnerArchitectures)”中描述了离线策略学习算法的合适算法。
除了基于奖励信号的学习之外,强化学习过程还可以为奖励提供额外好处(bonus),以鼓励探索并且劝阻过早收敛,同样如Espeholt等人所描述地。附加地或替选地,可以通过诸如树搜索的搜索来驱动探索。
在一些实施方式中,强化学习神经网络子系统可以包括重放缓冲器以存储模拟器输出。然后,鉴别器神经网络可以被配置为从重放缓冲器采样以提供鉴别器输出。以这种方式,鉴别器神经网络可以比生成器子系统更频繁地更新,这可能是有利的。
当模拟完成时,例如在定义的N步之后,可以从鉴别器神经网络确定强化学习神经网络子系统的奖励信号。然而,也可以生成一个或多个中间奖励信号。例如,奖励信号可以包括依赖于所选择的一个或多个动作的辅助奖励(或惩罚),以鼓励(或劝阻)特定行为。
策略循环神经网络可以基于随机初始化来生成动作和/或可以具有输入以接收定义用于模拟器输出的目标的目标向量。然后,可以以目标向量为条件来选择一个或多个动作。目标向量可以与模拟器输出具有相同的模式(modality)——例如,两者可以都均为图像数据或者两者可以均为声音数据,在这种情况下,目标向量可以是与训练数据具有相同数据类型的示例,并且可以用作鉴别器的训练数据。附加地或替选地,目标向量可以包括与训练数据不同类型的数据,例如描述图像的文本数据或要被转换为声音的文本数据,或者用于控制机器的运动控制数据。例如,来自一个域的图像(例如草绘图像或分割图像)可以被转换到另一域(例如图像的全彩色图形示例)。
在一些实施方式中,模拟器包括可编程信号生成器。可编程信号生成器可以生成诸如图像或图像序列的信号,或者诸如语音或音乐的音频信号波形的值序列,或者用于控制诸如机器人或自主车辆的机器的信号。针对时间步的序列所选择的一个或多个动作可以包括编程动作以控制可编程信号生成器来提供包括根据编程动作生成的信号的模拟器输出。
例如,模拟器可以包括CAD或其他绘图程序,并且动作可以包括用于选择、配置和放置CAD元素的动作,或者用于选择笔刷、画笔等的动作。替选地,模拟器可以包括图形渲染系统,并且动作可以包括用于将图形场景渲染为图像的场景数据。替选地,模拟器可以包括语音或音乐合成器,并且动作(即控制命令)可以包括对合成器进行编程以产生发声或音乐的命令,例如,如上所述,以目标向量为条件。例如,控制命令可以是用于文本到语音系统的命令,该命令以文本输入单元(诸如单词、字素或字符)为条件来控制语音合成器的参数以生成相对应的音频。训练数据可以包括期望的图像或音频输出数据。
替选地,模拟器可以包括机器人或车辆模拟器,并且动作可以包括控制模拟器来执行任务的动作。通常,系统可以被配置为实施反向(inverse)模拟器,即,当给出特定的响应时来确定例如陆地车辆或飞行器的控制命令。控制命令可以包括例如:电动机控制数据;例如用于控制表面的扭矩控制数据;用于机器人的一个或多个关节或另一机械代理的部件的位置、速度或力/扭矩/加速度数据;以及其他数据。训练数据可以包括期望的代理响应输出数据(例如,用于机械臂或车辆路径)。
替选地,该模拟器可以包括药物设计模拟器,该药物设计模拟器以设计与训练集中的药物相似的、具有抗疾病活性的药物为目的,根据程序步骤的序列集来生成样本药物候选。因此,模拟器可以包括计算机程序,该计算机程序被配置为模拟分子的组装,例如通过组装原子或分子片段或者通过组装例如蛋白质的二级结构的元素。然后,再次地,动作可以包括用于计算机程序的控制命令,例如控制分子(药物)的组成部分的放置和/或取向。训练数据可以包括示例分子(药物)结构,系统可以学习该示例分子(药物)结构以提供指令来生成该示例分子(药物)结构。然后,可以在模拟环境中或在现实世界中,向其提供新目标并生成用于组装该新目标的指令,例如用于分子的自动合成。
替选地,模拟器可以包括工厂或服务设施的模拟器,模拟设施的响应以控制设施中设备项目的命令,例如以控制操作速度或资源消耗。模拟器输出可以表示例如就系统操作参数集方面指定的一个或多个系统行为。该系统可以学习以提供指令来实现这些行为,并且当被训练后,其然后可以提供指令以实现新目标行为,即,进行行为以实现不同的操作参数集。
通常,该系统可以与任何下述模拟器一起使用,该模拟器采取程序步骤序列作为输入并且提供输出,通常包括在一个或多个计算机系统上实施的计算机程序的模拟器一起使用。
来自系统的输出可以包括例如图像、声音等的模拟器输出,和/或输出可以包括用来生成模拟器输出的动作序列。例如,这可以包括用于在给定对象的图像或描述的情况下生成对象的CAD绘图的命令序列,或更一般地,包括用于模拟器生成模拟器输出的程序。因此,例如,该系统可以被提供有一个或多个目标图像(例如一张或多张照片),并且可以生成CAD命令以产生目标图像的CAD渲染。以这种方式,可以将一张或多张照片转换为所拍摄对象或结构的工程样式表示,这对于计划或其他目的可能是有用的。
生成模型在机器学习和控制系统中具有许多应用。例如,由系统生成的预测数据项可以对应于预测观察,并且可以在真实或模拟环境中的控制任务中使用以预测环境中计划动作的结果(outcome)。可以从一个或多个传感器得出的观察来学习预测结果;预测数据项可以包括好像在将来的时间从传感器生成的数据。预测数据项可以用于填充丢失的数据,或用于半监督学习(其中标签仅对于少数数据项可用),或提供多模式数据输出,或从一个域映射到另一域。更一般地,预测数据项可以包括下述数据,诸如音频数据、静止图像数据或运动图像数据、定义对象的状态或运动的数据、诸如生物标志物数据的医学数据、与物理和/或化学处理有关的时空数据等。
在另一方面,提供了一种训练生成对抗神经网络系统的方法,该方法包括:联合地训练鉴别器以鉴别来自生成器的生成的样本和来自训练数据集的训练样本,以及训练生成器以产生生成的样本,该生成的样本看起来与鉴别器的训练样本相似。训练生成器包括训练强化学习系统,以提供动作序列来控制模拟器以产生生成的样本,并且使用鉴别器的输出来提供强化学习的奖励信号。
在系统的训练期间,并且具体地,在策略循环神经网络的训练期间,使用鉴别器神经网络,但是在训练之后可以丢弃该鉴别器神经网络,因为此时可能仅需要生成器子系统。
在另一方面,一种迭代地生成图像或其他数据项的方法,包括使用策略循环神经网络在时间步序列中的每个处,根据通过策略循环神经网络学习的动作选择策略来选择要执行的一个或多个动作,并且向模拟器提供一个或多个动作,以控制模拟器来实施动作并且提供模拟器输出。
在一些实施方式中,模拟器包括用于使用控制模拟器的模拟器命令生成模拟图像的模拟器,该模拟器命令包括通过策略循环神经网络选择的动作,并且模拟器输出包括模拟的图像。例如,模拟器命令可以就动作方面向模拟器提供模拟的对象或场景的描述。因此,动作可以包括例如绘画程序的绘画动作,或CAD程序的CAD动作,或渲染程序的渲染动作。
除了上述优点之外,可以实施本说明书中描述的主题的特定实施例,以实现以下一个或多个其他优点。
在本说明书中描述的生成对抗神经网络系统可以学习以执行常规生成系统不能执行的任务,这是因为常规系统要求生成器组件是可微分的,这限制了其适用性。因此,例如,本说明书中描述的生成对抗神经网络系统可以进行学习以控制与生成系统的神经网络分离的并且潜在地在外部的模拟系统,例如现成的(off the shelf)模拟程序或通过按键(keystroke)控制的基于计算机的模拟系统。
本说明书中描述的生成对抗神经网络系统还可以执行一些与常规系统相同的任务,但是具有更好的性能,即更准确的或自然的预测的输出数据。所描述的系统学习利用模拟器来控制任务的执行,并且这还使得模型能够就用于控制模拟器的动作的方面来提供如何执行任务的解释。这可以提高输出的置信度,并且可以具有独立的功用(utility),例如,允许系统想象控制机器以使其以特定方式进行行为所需的动作。系统还能够在具有挑战性的现实世界和合成数据集上快速学习,并且能够在复杂的环境中运行,因此与传统方式相比,可以消耗更少的计算资源,诸如存储器资源和计算能力。
所描述的系统的实施方式要求复杂的行为(诸如产生图像、生成声音、或控制车辆或机器人所需的那些行为)被表示为动作序列,即控制命令集,这些控制命令集用于生成行为。因此,可能要求控制命令或指令关于行为是语义上有意义的。这反过来意味着其可以形成最终输出(例如来自模拟器)的更压缩的、数据有效的表示。这样的表示可以以减少的存储器和带宽需求来存储和/或发送。另外,这还可以使得更容易修改指令以修改最终输出,例如以使输出适应特定任务和或在控制回路中进行输出预测。更进一步地,指令本身对人类可能是有意义的,从而使得系统和/或受过训练的强化学习神经网络子系统的行为更加可理解。这在例如解释自主车辆或机器人的行为中可能是有用的,并且可能潜在地促进干预或应用安全约束。
现有的生成系统的问题在于其可能非常耗费数据,并且经常浪费容量来表示训练数据集的细节。将关于数据的先验知识注入系统也很困难。本文所述的技术使用例如模拟器的工具来解决这些问题。以此方式,可以实现存储器和处理能力的更有效利用,并且还可以将有用的归纳偏置(inductive bias)编码到系统中。
通常,本文描述的技术有利地适用于范围广泛的任务,其中,任务可以由工具或其他实体在指令序列的控制下执行。
附图说明
图1示出了示例生成对抗神经网络系统。
图2示出了在图1的示例系统中指令序列的生成和相对应的模拟器输出。
图3示出了使用分布式计算系统的图1的系统的一个示例实施方式。
图4a至图4c示出了用于训练图1的系统的示例处理的流程图。
图5a和图5b示出了针对图1的系统的策略循环神经网络的示例实施方式的细节。
图6示出了来自图1所示类型的训练系统的示例输出图像。
图7示出了用于控制机械代理的行为的图1的受过训练的强化学习神经网络子系统的示例使用。
在各个附图中,相同的附图标记和指定指示相同的元件。
具体实施方式
本说明书通常描述了实施为一个或多个位置中的一个或多个计算机上的计算机程序的生成神经网络系统。该系统生成动作序列,即用于控制代理执行诸如生成图像、声音、或2D或3D设计的任务的控制命令,或用于控制机器人或陆地、海上或空中车辆的控制命令。动作序列可以构成程序,该程序是由用于控制模拟器(例如,CAD程序)的动作或者机械代理或机电代理的动作的离散符号或命令组成的指令系列。该系统包括强化学习神经网络子系统,以及在训练期间旨在对任务的输出(诸如生成的图像)和训练数据(诸如示例的图像)进行鉴别的鉴别器神经网络。在实施方式中,鉴别器神经网络的输出被用作强化学习神经网络子系统的奖励信号。因此,系统的实施方式在对抗性内容中采用强化学习,并且能够在没有监督的情况下学习。从允许损失函数的梯度反向传播的意义上讲,不需要模拟器或机械代理是可微分的。生成用于控制代理的“程序”往往会捕获任务的底层语义结构,也就是说,程序的指令往往是有意义的。
图1示出了示例生成对抗神经网络系统100。在实施方式中,其包括生成器子系统,该生成器子系统包括耦合至模拟器130的强化学习神经网络子系统110。强化学习神经网络子系统110生成动作序列114,每个动作包括一个或多个控制命令以控制模拟器130以生成模拟器输出132。例如,在模拟器是2D或3D绘图或CAD设计包的情况下,模拟器输出可以是2D或3D绘图或设计。强化学习神经网络子系统110包括用于生成动作序列的动作选择神经网络(实施方式中的策略循环神经网络(RNN)112)。在一些实施方式中,强化学习神经网络子系统随着任务的进行而接收任务的观察134,例如模拟器输出的中间表示,诸如部分完成的绘图。在其他实施方式中,强化学习神经网络子系统缺少对这种中间观察的访问。可选地,在一些实施方式中,策略RNN 112可以接收最后的动作作为输入以及最新近的观察。
在实施方式中,策略RNN 112提供定义了在时间步处可能动作的分布的输出。因此,策略RNN 112可以生成包括用于选择动作的数值的策略分数集。策略分数可以定义在时间步处可能的动作集中的每个动作的相应的概率值。可以例如通过根据概率值对动作进行采样或者通过选择具有最高策略分数的动作来选择动作。
在模拟完成之后,例如,在N个动作(控制命令)之后,模拟器输出的最终观察136将被提供给鉴别器神经网络120。例如,在一些实施方式中,模拟器的最终输出可以包括渲染的图像。鉴别器神经网络120产生鉴别器输出(即鉴别器分数),其表示鉴别器的输入(模拟器的最终输出)是来自训练数据集中的训练数据项所表示的分布的概率。实际上,鉴别器神经网络120产生表示来自模拟器的最终输出与训练数据之间的差异的输出。如后面所述,这被用作强化学习神经网络子系统110的奖励126。可选地,可以在产生最终模拟器输出(例如从控制命令)之前生成一个或多个辅助奖励(这里包括惩罚),并且用于训练强化学习神经网络子系统110。
在一些实施方式中,鉴别器神经网络120使用训练数据集的分布与最终模拟器输出的分布之间的差异的Wasserstein或“推土机”距离度量——也就是说,使用区分来自生成器子系统的样本和来自训练数据的样本的该度量来训练鉴别器。这可以增加训练期间的稳定性。
在一些实施方式中,强化学习神经网络子系统110和鉴别器神经网络120可以各自以条件数据124为条件,诸如指定目标(最终)模拟器输出的目标向量。因此,可以使用目标向量来标记训练数据集中的数据项的类别,并且可以训练系统以生成与每个类别相对应的最终模拟器输出,例如,如果类别标记了图形字符,则为特定的图形字符。替选地,系统可以基于训练数据项无条件地生成模拟器输出(下文描述的训练过程不需要来自生成器子系统和训练数据的对齐示例)。
系统包括训练引擎140,该训练引擎140操作为:如之后描述地调整强化学习神经网络子系统110的参数和鉴别器神经网络120的参数,鼓励最终模拟器输出与训练数据项匹配。其结果是,强化学习神经网络子系统学习生成动作序列,即用于控制模拟器以产生与训练数据项匹配的最终输出的控制命令或指令。这些例如可以是用于控制CAD程序以产生设计的控制命令、或者用于控制音乐或语音合成程序以产生音乐或语音的控制命令、或者用于控制车辆采取特定路径的控制命令。一旦已经对系统进行了训练,就不再需要训练引擎140和鉴别器神经网络120,并且如果需要的话,模拟器可以由实施器(例如,诸如由控制命令控制的机器人或车辆的机械代理)来代替。
图2示出了指令序列的生成和相对应的模拟器输出。在该示例中,模拟器130包括场景渲染程序,并且在每个时间步t=1…4,强化学习神经网络子系统110必须决定对象的类型、位置、大小和颜色以进行添加、移动、或改变并且相应地输出指令。如图所示,这些指令使3D图像得以渲染。在该示例中,策略RNN 112接收中间观察(渲染),并且使用这些来调整其动作选择策略,但是仅在执行的最后步中从鉴别器接收奖励。
强化学习神经网络子系统110可以实施强化学习技术范围中的任何。图3示出了使用分布式计算系统的图1的系统的一个示例实施方式,该分布式计算系统被配置为实施L.Espeholt等人的“IMPALA:具有重要性加权的动作器-学习器架构的可扩展分布式深度强化学习(IMPALA:Scalable Distributed Deep-RL with Importance Weighted Actor-Learner Architectures)”的IMPALA强化学习架构的变体。在这样的实施方式中,动作器集中的每个具有动作选择神经网络的副本(即策略RNN 112的实例),其用于根据本地行为策略来选择动作。在操作中,从策略RNN 112的另一实例的中央学习器的动作选择神经网络更新动作选择神经网络的本地副本的参数。然后,将动作选择神经网络的本地副本用于生成经验轨迹,其然后被传递给中央学习器并且在那里用于更新动作选择神经网络和还更新价值函数(状态值)神经网络。生成经验从学习动作选择神经网络和价值函数神经网络的参数解耦。由于生成动作和更新学习器参数之间的滞后,所以学习是离线策略的,并且使用了“V-trace”算法,该算法从广义上说基于学习器策略分数与所选择的动作的行为策略分数的比例来调整神经网络的参数。
在图3中,动作器计算单元200a、200b集中的每个计算单元包括耦合到如先前所描述的模拟器130的相应的策略RNN 112。策略学习器计算单元220采用定义最新的学习器策略的参数来维护策略RNN 112的中央版本。鉴别器学习器计算单元240评估最终模拟器输出与可能在数据存储250中提供的训练数据集中数据项的相似性。
计算单元可以是例如计算机、具有多个核的计算机内的核或能够独立地执行操作的计算机内的其他硬件或软件(例如专用线程)。计算单元可以包括处理器核、处理器、微处理器、专用逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(专用集成电路))、或任何其他适当的计算单元。在一些示例中,计算单元都是相同类型的计算单元。在其他示例中,计算单元可以是不同类型的计算单元。例如,一个计算单元可以是CPU,而其他计算单元可以是GPU、TPU等。
每个动作器计算单元在生成用于训练学习器计算单元220的经验轨迹之前,采用从学习器计算单元220获得的参数来维护策略RNN 112的本地副本。在每个时间步t=1…N,策略RNN 112的动作器计算单元副本接收对环境的观察(例如其相关联的模拟器的输出),并且输出可能动作(即模拟器的控制命令)的策略分数,该可能动作的一个或多个被选择以生成时间步的控制命令。
在实施方式中,经验轨迹包括每个时间步的观察和动作,以及在时间步的所选择动作的策略分数,经验轨迹还可以包括策略RNN 112的初始状态。经验轨迹由动作器计算单元异步产生,并且存储在队列210中,该队列充当策略学习器计算单元220的经验缓冲器。在实施方式中,最终模拟器输出存储在重放缓冲器240中,用于优化鉴别器学习器计算单元230。在实施方式中,由鉴别器神经网络120根据经验轨迹中的最终观察(即在t=N时),生成策略学习器计算单元220的最终奖励。最终奖励由鉴别器神经网络120确定并且存储在队列210中,或者最终奖励可以在需要时由策略学习器计算单元220确定。经验轨迹可以可选地包括一个或多个辅助奖励,例如,如下文所述的在t=N之前的奖励。
使用生成的经验轨迹和奖励来离线策略地训练策略学习器计算单元220,例如,通过使用随机梯度下降来优化生成器目标LG222。可以选择生成器目标LG以最大化由鉴别器神经网络120分配给最终模拟器输出的奖励,即,使得最终模拟器输出与训练数据集的分布匹配,可选地以条件数据124为条件。可以采用熵正则项224来强化生成器目标LG以鼓励探索。
鉴别器学习器计算单元230例如,从重放缓冲器240获得最终观察的示例,即,由动作器计算单元200控制的模拟器130的最终输出的示例。鉴别器学习器计算单元230还从可选地有条件的(例如根据条件数据124分类的)训练数据集(例如从数据存储250)获得随机示例。通过使用随机梯度下降优化鉴别器目标LD 232来训练鉴别器学习器计算单元230。
在图3中,鉴别器神经网络120的三个实例是相同的神经网络,为便于说明,将该神经网络示出三次。例如,策略学习器计算单元220包括鉴别器神经网络120的实例以说明下述,可以通过将鉴别器神经网络120的最新版本应用于来自经验缓冲器(队列210)中的最终模拟器输出而确定训练策略RNN 112时使用的最终奖励。
在实施方式中,策略RNN 112大于鉴别器神经网络120(其可以包括卷积神经网络)。重放缓冲器通过将对鉴别器神经网络120和策略RNN 112的更新解耦,允许鉴别器学习器计算单元230以比策略RNN 112更高的速率进行优化。这可以改善系统的性能。
鉴别器神经网络120可以实施GAN(生成对抗网络)目标范围中的任何。在一个实施方式中,如Gulrajani等人在“Wasserstein GAN的改进训练(Improved Training ofWasserstein GANs)”,arXiv:1704.00028中所述地使用Wasserstein GAN鉴别器。在这种实施方式中,鉴别器目标可以由下式给出:
其中是最终模拟器输出,x是训练集中的数据项。在实施方式中,使用正则项R来软约束D以保持在Lipschitz连续函数集中,例如, 其中λ是常数,例如λ=10,以及并且∈是在[0,1]范围内的随机数。LD定义为一个累加常数,在实施方式中,可以通过鼓励对于输入x平均接近于0的D(x)来消除这种歧义,该输入x是从生成的分布和训练分布的平均值中采样的,例如通过添加惩罚(诸如依赖于 的损失函数分量)。
在一个实施方式中,生成器目标LG可以由下式给出:
其中at是在时间t选择的动作,π(at)是所选择动作的策略分数,以及V(st)是价值函数的近似值,其依赖于策略RNN 112的循环状态st。在实际中,V(st)可以由价值函数神经网络提供。这可以被实施为在策略RNN 112上的独立头部,从而与策略RNN 112共享一些参数。Rt是时间步t的回报的估计,并且可以从确定,其中,rt是在时间t的奖励。奖励可以由下式给出:
可选地,奖励可以包括一个或多个辅助奖励,例如,对于t<N。这些可以依赖于中间模拟器输出和/或用于生成该输出的命令,例如,对于时间步t,并且可以根据系统的具体应用来选择。仅作为示例,如果对于开始笔划的连续序列提供负辅助奖励(辅助惩罚),则可以鼓励包括绘图程序的模拟器绘制单个连续运动。
如上所述,生成器目标LG还可包括熵的额外好处。例如,熵的额外好处可以由下式给出:
其中,A表示可能动作集,而π(a)表示对动作a的学习器策略分数。
为了实施动作的条件生成,条件数据124用于向策略RNN 112提供条件输入并且向鉴别器神经网络120提供目标数据项。例如,条件数据可以包括目标向量,该目标向量包括目标数据项,诸如目标图像。在这种情况下,目标数据项可以替换训练数据集中的示例数据项。替选地,条件数据可以包括目标向量,该目标向量索引例如,在数据存储250中的训练数据项或训练数据项的类别。
图4a至图4c示出了用于图1至图3的系统的示例训练处理的流程图,其可以在训练引擎140的控制下实施。这些示出了具有多个动作器的分布式系统的训练处理,但是不必使用分布式系统或多个动作器,并且在其他实施方式中可能仅存在一个动作器。
图4a示出了可以在动作器计算单元200a、200b集中的每个上实现的训练处理。在步骤400,模拟器被初始化为开始条件,例如用于绘图程序的干净画布。然后,该处理获得对模拟器输出的观察(402)并且将其提供给动作选择神经网络,即提供给策略RNN 112。
策略RNN 112为每个可用动作生成一个或多个策略分数,该动作可以包括一个或多个模拟器控制命令,并且使用如先前所描述的策略分数来选择动作(404)。然后,将对模拟器输出的观察、动作(即所选择的模拟器控制命令)以及该动作的策略分数存储在经验缓冲器(队列210)中。可选地,任何辅助奖励(例如基于模拟器控制命令的)也将被存储。
所选择的模拟器控制命令被提供给模拟器(406)。然后,该处理循环以获得下一模拟器输出(402),并且继续直到模拟完成,例如,在N个时间步之后。当模拟完成时,最终的观察,即最终模拟器输出,被存储在重放缓冲器240中,用于训练鉴别器神经网络。
图4b示出了可以在策略学习器计算单元220上实施的训练处理。策略学习器计算单元220从经验缓冲器,即从队列210获得经验轨迹(420)。轨迹的最终观察,即,最终模拟器输出被提供给鉴别器神经网络120以获得鉴别器输出,即鉴别器分数,例如在[0,1]范围内。这用于定义如上所述的奖励(422)。
然后,该处理使用以鉴别器分数作为奖励的任何合适的强化学习技术来调整强化学习神经网络子系统110的参数。例如,在一些实施方式中,使用了上述的IMPALA型强化学习技术,使用随机梯度下降来反向传播生成器目标(损失)LG 222的梯度以更新动作选择神经网络、策略RNN 112和价值函数(状态值)神经网络的参数。
然后,该处理循环以获得另一经验轨迹(420),并且继续直到满足终止标准。终止标准可以包括例如指定的迭代次数或超过性能度量的阈值。可选地,该处理然后可以输出定义受过训练的策略RNN 112的参数集(权重),从而可以独立地使用其。
图4b示出了可以在鉴别器学习器计算单元230上实施的训练处理。该处理获得从重放缓冲器240输出的最终模拟器的随机示例,并且从训练数据集(例如,从数据存储250)获得随机训练数据项(步骤430),以及然后将鉴别器神经网络120应用于这些中的每个,以获得相应的鉴别器输出D(x)(步骤432)。然后将其用于确定鉴别器目标(损失)LD232,并且使用随机梯度下降来反向传播其梯度以更新鉴别器神经网络120的参数(步骤434)。
针对动作选择策略RNN 112可以使用许多不同架构。图5a仅作为示例示出了策略RNN 112的一种可能架构。
广义而言,该示例策略RNN包括一个或多个卷积层,其耦合到一个或多个RNN层、耦合到解码器。解码器可以生成动作元组,其中,通过从具有由一个或多个RNN层的隐藏状态向量所确定的一个或多个参数的分类分布中采样来生成动作元组的分量。解码器可以是自回归解码器。这种策略RNN,具体地,适合于处理图像、渲染、CAD绘图和其他类似的2D或3D表示的观察。
在图5a中,FC指代完全连接的层,Conv指代卷积层,ResBlock指代残差块(residual block),MLP指代多层感知器,以及LSTM指代长短期记忆循环层;[]指示输出张量的尺寸;层之间存在整流线性单元(ReLU)激活(未显示)。LSTM层产生隐藏向量z0,以生成动作,例如,通过充当动作采样处理的种子。
图5a的示例策略RNN适合与例如来自绘图程序的图像输入一起使用。在该示例中,策略RNN 112接收当前观察或画布Ct,以及导致该结果的动作at。下一动作at+1由解码器的输出提供,例如,如图5b所示。该动作可以包括控制命令的元组,例如定义贝塞尔(Bezier)曲线、笔大小、笔颜色等的笔开始、结束和控制位置。
可以在图5a的策略RNN中使用的解码器的一个示例是自回归解码器,其示例在图5b中示出。在该示例解码器中,从分类分布对动作元组的每个分量i进行采样,其参数根据函数zi来计算。在是标量的情况下,例如笔大小,zi可以如图所示在稍后通过完全连接来处理;在是位置的情况下,zi可以由一个或多个去卷积或转置卷积层以及可选地由其他层来处理。一旦采样就可以通过将与zi组合来获得更新的隐藏向量zi+1。可以根据需要重复此过程,以生成整个动作元组。
图6示出了来自图1所示类型的受过训练的系统的示例输出图像,其中如图5a和图5b所示的策略RNN控制绘图程序。训练该系统为绘图程序提供命令序列,以执行从Omiglot字符集中绘制字符的任务。因此,该图显示了Omiglot字符集中的示例,其中,右侧为基本事实并且左侧为重构。在图6的示例中,策略RNN以目标图像为条件。然而,一旦受过训练,系统就能够绘制其他类似的字符,这些字符可以由提供给系统的目标向量指定,命令序列可以以目标向量为条件。
图7示出了受过训练的强化学习神经网络子系统110用于控制代理150的行为的示例,该代理150可以被称为解释器,可选地,控制的行为以目标向量或其他条件数据124为条件。在这里,代理可以是机械代理,例如机器人或车辆(例如汽车或飞行器)。可以控制代理执行由条件数据指定的任务,例如在机器人的情况下组装部件,或在车辆的情况下控制车辆采取特定路线。替选地,代理可以是计算机程序,诸如用于产生图像(即,图像的像素值)或音频(即,定义语音波形的时域和/或频域数据)的程序,并且可以控制代理以生成图像或声音。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形体现的计算机软件或固件中、在计算机硬件中实施,包括本说明书中公开的结构及其等同结构、或者一种或多种的本说明书中公开的结构及其等同结构的组合。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即,在有形的非暂时性程序载体上编码的计算机程序指令的一个或多个模块,以由数据处理装置执行或控制数据处理装置的操作。替选地或附加地,程序指令可以被编码在人工生成的传播信号(例如机器生成的电、光或电磁信号)上,其被生成以对信息进行编码以传输到合适的接收器装置以通过数据处理装置来执行。该计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行访问存储设备或它们中的一个或多个的组合。然而,计算机存储介质不是传播的信号。
术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或者多个处理器或计算机。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们其中的一个或多个组合的代码。
计算机程序(也可以称为或描述为程序、软件、软件应用程序、模块、软件模块、脚本或代码)可以以任何形式的编程语言编写,包括编译的或解释的语言,或声明性或过程性语言,并且可以以任何形式部署,包括作为独立程序或作为适用于计算环境的模块、组件、子例程或其他单元。计算机程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的部分(例如存储在标记语言文档中的一个或多个脚本)中、专用于所讨论程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。可以部署计算机程序以在位于一个站点上或分布在多个站点上并通过通信网络互连的一个计算机或多个计算机上执行。
如在本说明书中所使用的,“引擎”或“软件引擎”指代软件实施的输入/输出系统,其提供与输入不同的输出。引擎可以是编码的功能块(诸如库、平台、软件开发工具包(“SDK”)或对象)。每个引擎可以实施在任何适当类型的、包括一个或多个处理器和计算机可读介质的计算设备上,例如,服务器、移动电话、平板型计算机、笔记本计算机、音乐播放器、电子书阅读器、膝上型计算机或桌面型计算机、PDA、智能电话或其他固定或便携式设备。另外地,两个或多个引擎可以在同一计算设备上或在不同的计算设备上实施。
本说明书中描述的处理和逻辑流可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并且生成输出来执行功能。处理和逻辑流也可以由专用逻辑电路执行,并且装置也可以被实施为专用逻辑电路,该专用逻辑电路为例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。例如,处理和逻辑流可以由图形处理单元(GPU)执行并且装置也可以被实施为图形处理单元(GPU)。
例如,适合于执行计算机程序的计算机可以基于通用或专用微处理器或者基于两者,或者基于任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元以及用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备(例如,磁、磁光盘或光盘),或可操作地耦合到一个或多个用于存储数据的大容量存储设备(例如,磁、磁光盘或光盘)以从接收数据或/和将数据传输到其,或者以上两者。然而,计算机不必具有此类设备。此外,计算机可以被嵌入到另一个设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备(例如通用串行总线(USB)闪存驱动器),以上仅是实例性的。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,以示例的方式,包括半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,可以在具有下述计算机上实施本说明书中描述的主题的实施例:显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监视器,用于向用户显示信息;以及键盘和指点设备,例如鼠标或轨迹球,用户可通过其向计算机提供输入。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户进行交互;例如,通过响应从网页浏览器收到的请求,将网页发送到用户客户端设备上的网页浏览器。
本说明书中描述的主题的实施例可以实施在下述计算系统中:包括后端组件(例如,作为数据服务器)的计算系统、或者包括中间件组件(例如,应用服务器)的计算系统、或者包括前端组件(例如具有图形用户界面或Web浏览器的客户端计算机,用户可以通过图形用户界面或Web浏览器与本说明书中描述的主题的实施方式进行交互)的计算系统、或者一种或多种此类后端、中间件或前端组件的任何组合。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络交互。客户端和服务器之间的关系是通过在相应的计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。
尽管本说明书包含许多具体的实施方式细节,但是这些不应被解释为对任何发明或所要求保护的范围的限制,而应被解释为对可能特定于特定发明的特定实施例的特征的描述。在单独的实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实施。此外,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此宣称,但是在某些情况下,可以从组合中排除所要求保护的组合中的一个或多个特征,并且可以将所要求保护的组合用于子组合或子组合的变形。
类似地,尽管在附图中以特定顺序描绘了操作,但是这不应理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有示出的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以一起被集成在单个软件产品或打包成多个软件产品中。
已经描述了本主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。
Claims (20)
1.一种生成对抗神经网络系统,所述系统提供执行通过训练数据定义的任务的动作序列,所述系统包括:
生成器子系统,包括与模拟器耦合的强化学习神经网络子系统,
强化学习神经网络子系统,包括:
策略循环神经网络,在时间步序列中的每个处,根据动作选择策略选择要执行的一个或多个动作,并且将所选择的一个或多个动作提供给所述模拟器,以及其中
模拟器被配置为实施针对时间步所选择的一个或多个动作以生成模拟器输出;
鉴别器神经网络,被配置为在模拟器输出和训练数据之间进行鉴别,并且提供鉴别器输出;以及
训练子系统,被配置为:i)根据从鉴别器输出确定的奖励信号、使用强化学习过程来更新所述策略循环神经网络的参数,以及ii)根据模拟器输出与训练数据之间的差异来更新所述鉴别器神经网络的参数。
2.根据权利要求1所述的系统,其中,所述模拟器是不可微分的模拟器。
3.根据权利要求1或2所述的系统,其中,所述策略循环神经网络具有内部状态,其中,所述强化学习神经网络子系统是动作器-评判系统,所述强化学习神经网络子系统还包括价值函数神经网络以根据所述策略循环神经网络的内部状态来确定估计回报,以及其中,所述训练子系统被配置为使用估计回报来更新策略循环神经网络的参数。
4.根据权利要求1、2或3所述的系统,包括:多个动作器,每个动作器包括耦合到相应模拟器以生成多个模拟器输出的策略循环神经网络的副本;经验缓冲器,存储来自模拟器输出的轨迹,每个轨迹包括一个或多个动作的序列以及相对应的模拟器输出;以及其中,训练子系统被配置为使用所存储的轨迹来更新所述策略循环神经网络的参数。
5.根据权利要求1至4中的任一项所述的系统,还包括:重放缓冲器,存储所述模拟器输出,以及其中,所述鉴别器神经网络被配置为从所述重放缓冲器采样以提供所述鉴别器输出。
6.根据权利要求1至5中的任一项所述的系统,其中,所述训练子系统被配置为更新所述鉴别器神经网络的参数,使得所述鉴别器输出依赖于所述模拟器输出与训练数据之间的第一Wasserstein距离。
7.根据权利要求1至6中的任一项所述的系统,其中,所述奖励信号还包括依赖于所选择的一个或多个动作的辅助奖励。
8.根据权利要求1至7中的任一项所述的系统,其中,所述策略循环神经网络具有输入以接收定义用于所述模拟器输出的目标的目标向量,并且其中,以所述目标向量为条件来选择所述一个或多个动作。
9.根据权利要求8所述的系统,所述系统被配置为提供所述目标向量作为所述鉴别器神经网络的训练数据。
10.根据权利要求1至9中的任一项所述的系统,其中,所述模拟器包括可编程信号生成器,并且其中,针对时间步序列所选择的一个或多个动作包括编程动作,以控制所述可编程信号生成器来提供包括根据编程动作生成的信号的模拟器输出。
11.根据权利要求1至9中的任一项所述的系统,其中,所述任务是音频波形或图像的生成,其中,所述模拟器包括被配置为生成音频波形或图像的计算机程序,并且其中,所述动作包括用于所述计算机程序的控制命令。
12.根据权利要求1至9中的任一项所述的系统,其中,所述任务是对机械代理或机电代理的控制,其中,所述模拟器包括被配置为模拟对机械代理或机电代理的控制的计算机程序,并且其中,所述动作包括用于计算机程序的控制命令。
13.根据权利要求1至9中的任一项所述的系统,其中,所述任务是分子的组装,其中,所述模拟器包括被配置为模拟分子的组装的计算机程序,并且其中,所述动作包括用于所述计算机程序的控制命令。
14.根据权利要求1至12中的任一项所述的训练的强化学习神经网络子系统。
15.一种提供训练的动作选择神经网络的方法,所述方法包括使用训练数据来训练根据权利要求1至13中的任一项所述的系统,并且在训练之后,提供策略循环神经网络作为训练的动作选择神经网络。
16.根据权利要求15所述的方法,还包括使用训练的动作选择神经网络来控制代理,其中,所述代理包括机械代理和/或生成图像或音频波形的计算机程序。
17.一种训练生成对抗神经网络系统的方法,所述方法共同地包括:
训练鉴别器以在来自生成器的生成的样本与来自训练数据集的训练样本之间进行鉴别;和
训练生成器以产生生成的样本,所述样本看起来类似于鉴别器的训练样本;其中
训练生成器包括训练强化学习代理以提供动作序列来控制模拟器产生生成的样本,并且使用鉴别器的输出来提供针对强化学习的奖励信号。
18.一种提供训练的生成器的方法,所述方法包括根据权利要求17所述的训练生成对抗神经网络系统,并且提供训练的强化学习代理作为训练的生成器。
19.一种迭代地生成图像的方法,包括:
使用策略循环神经网络,在时间步序列中的每个处,根据通过所述策略循环神经网络学习的动作选择策略来选择要执行的一个或多个动作;
向模拟器提供一个或多个动作,以控制模拟器来实施动作并且提供模拟器输出;
其中,所述模拟器包括用于使用控制模拟器的模拟器命令来生成模拟的图像的模拟器,其中,模拟器命令包括通过所述策略循环神经网络选择的动作,并且其中,所述模拟器输出包括模拟的图像。
20.一个或多个计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令当由一个或多个计算机执行时,使一个或多个计算机实施根据权利要求1至14中的任一项所述的系统或子系统或者根据权利要求15至19中的任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862628867P | 2018-02-09 | 2018-02-09 | |
US62/628,867 | 2018-02-09 | ||
PCT/EP2019/053295 WO2019155052A1 (en) | 2018-02-09 | 2019-02-11 | Generative neural network systems for generating instruction sequences to control an agent performing a task |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111602144A true CN111602144A (zh) | 2020-08-28 |
Family
ID=65409085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980008613.0A Pending CN111602144A (zh) | 2018-02-09 | 2019-02-11 | 生成指令序列以控制执行任务的代理的生成神经网络系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210271968A1 (zh) |
EP (1) | EP3698283A1 (zh) |
CN (1) | CN111602144A (zh) |
WO (1) | WO2019155052A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112541298A (zh) * | 2020-11-03 | 2021-03-23 | 西安交通大学 | 基于深度学习的透平机械叶片型线自动参数化生成方法 |
CN113488116A (zh) * | 2021-07-09 | 2021-10-08 | 中国海洋大学 | 一种基于强化学习和对接的药物分子智能生成方法 |
CN113641099A (zh) * | 2021-07-13 | 2021-11-12 | 西北工业大学 | 一种超越专家演示的阻抗控制模仿学习训练方法 |
CN114627981A (zh) * | 2020-12-14 | 2022-06-14 | 阿里巴巴集团控股有限公司 | 化合物分子结构的生成方法及装置、非易失性存储介质 |
WO2023123838A1 (zh) * | 2021-12-31 | 2023-07-06 | 上海商汤智能科技有限公司 | 网络训练、机器人控制方法及装置、设备、存储介质和程序 |
CN116887956A (zh) * | 2020-12-31 | 2023-10-13 | 谷歌有限责任公司 | 真实机器人的模拟驱动机器人控制 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019002465A1 (en) | 2017-06-28 | 2019-01-03 | Deepmind Technologies Limited | NEURONAL LEARNING ACTION SELECTION NETWORKS USING APPRENTICESHIP |
JP7206898B2 (ja) * | 2018-12-25 | 2023-01-18 | 富士通株式会社 | 学習装置、学習方法および学習プログラム |
US11651196B2 (en) * | 2019-02-26 | 2023-05-16 | Google Llc | Reinforcement learning techniques for selecting a software policy network and autonomously controlling a corresponding software client based on selected policy network |
DE102019203634A1 (de) * | 2019-03-18 | 2020-09-24 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Ansteuern eines Roboters |
DE102019210270A1 (de) * | 2019-05-23 | 2020-11-26 | Robert Bosch Gmbh | Verfahren zum Trainieren eines Generative Adversarial Networks (GAN), Generative Adversarial Network, Computerprogramm, maschinenlesbares Speichermedium und Vorrichtung |
KR102461732B1 (ko) * | 2019-07-16 | 2022-11-01 | 한국전자통신연구원 | 강화 학습 방법 및 장치 |
US11571809B1 (en) * | 2019-09-15 | 2023-02-07 | X Development Llc | Robotic control using value distributions |
US12033055B2 (en) * | 2019-09-25 | 2024-07-09 | Deepmind Technologies Limited | Gated attention neural networks |
US20210143639A1 (en) * | 2019-11-08 | 2021-05-13 | Global Energy Interconnection Research Institute Co. Ltd | Systems and methods of autonomous voltage control in electric power systems |
WO2021112335A1 (ko) * | 2019-12-06 | 2021-06-10 | 주식회사 애자일소다 | 생성적 적대 신경망 기반의 분류 시스템 및 방법 |
US10902551B1 (en) * | 2019-12-17 | 2021-01-26 | X Development Llc | True positive transplant |
US11663840B2 (en) * | 2020-03-26 | 2023-05-30 | Bloomberg Finance L.P. | Method and system for removing noise in documents for image processing |
EP4133413A1 (en) * | 2020-04-09 | 2023-02-15 | HRL Laboratories, LLC | A deep reinforcement learning method for generation of environmental features for vulnerability analysis and improved performance of computer vision systems |
US20210350223A1 (en) * | 2020-05-07 | 2021-11-11 | International Business Machines Corporation | Digital content variations via external reaction |
US20240037452A1 (en) | 2020-12-25 | 2024-02-01 | Nec Corporation | Learning device, learning method, and learning program |
US20220366264A1 (en) * | 2021-05-12 | 2022-11-17 | Klarna Bank Ab | Procedurally generating realistic interfaces using machine learning techniques |
CN113962012B (zh) * | 2021-07-23 | 2024-05-24 | 中国科学院自动化研究所 | 无人机对抗策略优化方法及装置 |
WO2023217868A1 (en) * | 2022-05-11 | 2023-11-16 | Deepmind Technologies Limited | Negotiating contracts for agent cooperation in multi-agent systems |
WO2024018065A1 (en) * | 2022-07-21 | 2024-01-25 | Deepmind Technologies Limited | Optimizing algorithms for target processors using representation neural networks |
CN115470710B (zh) * | 2022-09-26 | 2023-06-06 | 北京鼎成智造科技有限公司 | 一种空中博弈仿真方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108830827A (zh) * | 2017-05-02 | 2018-11-16 | 通用电气公司 | 神经网络训练图像生成系统 |
US20180349527A1 (en) * | 2017-06-05 | 2018-12-06 | Autodesk, Inc. | Adapting simulation data to real-world conditions encountered by physical processes |
CN109313724A (zh) * | 2016-06-01 | 2019-02-05 | 科磊股份有限公司 | 针对半导体应用并入神经网络及前向物理模型的系统及方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11288568B2 (en) * | 2016-02-09 | 2022-03-29 | Google Llc | Reinforcement learning using advantage estimates |
US11475276B1 (en) * | 2016-11-07 | 2022-10-18 | Apple Inc. | Generating more realistic synthetic data with adversarial nets |
WO2018206504A1 (en) * | 2017-05-10 | 2018-11-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Pre-training system for self-learning agent in virtualized environment |
US10396919B1 (en) * | 2017-05-12 | 2019-08-27 | Virginia Tech Intellectual Properties, Inc. | Processing of communications signals using machine learning |
US11250329B2 (en) * | 2017-10-26 | 2022-02-15 | Nvidia Corporation | Progressive modification of generative adversarial neural networks |
US10766136B1 (en) * | 2017-11-03 | 2020-09-08 | Amazon Technologies, Inc. | Artificial intelligence system for modeling and evaluating robotic success at task performance |
US11038769B2 (en) * | 2017-11-16 | 2021-06-15 | Verizon Patent And Licensing Inc. | Method and system for virtual network emulation and self-organizing network control using deep generative models |
US11701773B2 (en) * | 2017-12-05 | 2023-07-18 | Google Llc | Viewpoint invariant visual servoing of robot end effector using recurrent neural network |
CN108304390B (zh) * | 2017-12-15 | 2020-10-16 | 腾讯科技(深圳)有限公司 | 基于翻译模型的训练方法、训练装置、翻译方法及存储介质 |
US10926408B1 (en) * | 2018-01-12 | 2021-02-23 | Amazon Technologies, Inc. | Artificial intelligence system for efficiently learning robotic control policies |
-
2019
- 2019-02-11 EP EP19704793.9A patent/EP3698283A1/en active Pending
- 2019-02-11 WO PCT/EP2019/053295 patent/WO2019155052A1/en unknown
- 2019-02-11 CN CN201980008613.0A patent/CN111602144A/zh active Pending
- 2019-02-11 US US16/967,597 patent/US20210271968A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109313724A (zh) * | 2016-06-01 | 2019-02-05 | 科磊股份有限公司 | 针对半导体应用并入神经网络及前向物理模型的系统及方法 |
CN108830827A (zh) * | 2017-05-02 | 2018-11-16 | 通用电气公司 | 神经网络训练图像生成系统 |
US20180349527A1 (en) * | 2017-06-05 | 2018-12-06 | Autodesk, Inc. | Adapting simulation data to real-world conditions encountered by physical processes |
Non-Patent Citations (3)
Title |
---|
GILLES LOUPPE ET AL.: ""Adversarial Variational Optimization of Non-Di erentiable Simulators"", 《ARXIV》, 22 July 2017 (2017-07-22) * |
PRANNAY KHOSLA ET AL.: ""POLICY DRIVEN GENERATIVE ADVERSARIAL NETWORKS FOR ACCENTED SPEECH GENERATION"", 《OPENREVIEW.NET》, pages 1 - 11 * |
XU OUYANG ET AL.: ""Generating Image Sequence from Description with LSTM Conditional GAN"", pages 1 - 6 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112541298A (zh) * | 2020-11-03 | 2021-03-23 | 西安交通大学 | 基于深度学习的透平机械叶片型线自动参数化生成方法 |
CN112541298B (zh) * | 2020-11-03 | 2022-12-09 | 西安交通大学 | 基于深度学习的透平机械叶片型线自动参数化生成方法 |
CN114627981A (zh) * | 2020-12-14 | 2022-06-14 | 阿里巴巴集团控股有限公司 | 化合物分子结构的生成方法及装置、非易失性存储介质 |
CN116887956A (zh) * | 2020-12-31 | 2023-10-13 | 谷歌有限责任公司 | 真实机器人的模拟驱动机器人控制 |
CN113488116A (zh) * | 2021-07-09 | 2021-10-08 | 中国海洋大学 | 一种基于强化学习和对接的药物分子智能生成方法 |
CN113488116B (zh) * | 2021-07-09 | 2023-03-10 | 中国海洋大学 | 一种基于强化学习和对接的药物分子智能生成方法 |
CN113641099A (zh) * | 2021-07-13 | 2021-11-12 | 西北工业大学 | 一种超越专家演示的阻抗控制模仿学习训练方法 |
CN113641099B (zh) * | 2021-07-13 | 2023-02-10 | 西北工业大学 | 一种超越专家演示的阻抗控制模仿学习训练方法 |
WO2023123838A1 (zh) * | 2021-12-31 | 2023-07-06 | 上海商汤智能科技有限公司 | 网络训练、机器人控制方法及装置、设备、存储介质和程序 |
Also Published As
Publication number | Publication date |
---|---|
WO2019155052A1 (en) | 2019-08-15 |
EP3698283A1 (en) | 2020-08-26 |
US20210271968A1 (en) | 2021-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111602144A (zh) | 生成指令序列以控制执行任务的代理的生成神经网络系统 | |
US11886997B2 (en) | Training action selection neural networks using apprenticeship | |
CN110692066B (zh) | 使用多模态输入选择动作 | |
US11714996B2 (en) | Learning motor primitives and training a machine learning system using a linear-feedback-stabilized policy | |
EP3596663B1 (en) | Neural network system | |
WO2019219969A1 (en) | Graph neural network systems for behavior prediction and reinforcement learning in multple agent environments | |
EP3593293B1 (en) | Imagination-based agent neural networks | |
WO2020065024A1 (en) | Stacked convolutional long short-term memory for model-free reinforcement learning | |
CN113795851A (zh) | 具有针对使用对抗训练的表示学习的推理的大规模生成神经网络模型 | |
CN110622174A (zh) | 基于想象的智能体神经网络 | |
WO2019170905A1 (en) | Training an unsupervised memory-based prediction system to learn compressed representations of an environment | |
CN115066686A (zh) | 使用对规划嵌入的注意操作生成在环境中实现目标的隐式规划 | |
US20240127586A1 (en) | Neural networks with adaptive gradient clipping | |
US20230178076A1 (en) | Controlling interactive agents using multi-modal inputs | |
JP7512416B2 (ja) | 少数ショット類似性決定および分類のためのクロストランスフォーマニューラルネットワークシステム | |
US20230214649A1 (en) | Training an action selection system using relative entropy q-learning | |
CN116868203A (zh) | 利用自适应梯度裁剪的神经网络 | |
US20240185082A1 (en) | Imitation learning based on prediction of outcomes | |
US20240189994A1 (en) | Real-world robot control using transformer neural networks | |
WO2024163992A1 (en) | Controlling agents using q-transformer neural networks | |
WO2024126633A1 (en) | Training modular agent networks using layout data |
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 |