CN110622174A - 基于想象的智能体神经网络 - Google Patents
基于想象的智能体神经网络 Download PDFInfo
- Publication number
- CN110622174A CN110622174A CN201880013648.9A CN201880013648A CN110622174A CN 110622174 A CN110622174 A CN 110622174A CN 201880013648 A CN201880013648 A CN 201880013648A CN 110622174 A CN110622174 A CN 110622174A
- Authority
- CN
- China
- Prior art keywords
- data
- action
- neural network
- state
- environment
- 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
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/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
- G06F18/2178—Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
- G06F18/2185—Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor the supervisor being an automated module, e.g. intelligent oracle
-
- 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
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/24—Character recognition characterised by the processing or recognition method
- G06V30/242—Division of the character sequences into groups prior to recognition; Selection of dictionaries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Multimedia (AREA)
- Feedback Control In General (AREA)
- Image Analysis (AREA)
Abstract
提出了一种用于选择要由智能体执行的动作的神经网络系统,所述智能体与环境交互来执行任务以尝试实现指定的结果。系统可以包括用于接收状态数据和场境数据并且输出动作数据的控制器。系统还可以包括用于接收状态和动作数据并且输出结果状态数据的想象模块。系统还可以包括用于接收状态数据和场境数据并输出路线数据的管理器,所述路线数据定义系统是执行动作还是想象。系统还可以包括用于存储场境数据的存储器。
Description
背景技术
本说明书涉及强化学习。
在强化学习系统中,智能体(agent)通过执行由强化学习系统响应于接收到表征环境的当前状态的观察(observation)而选择的动作与环境交互。
一些强化学习系统响应于接收到给定的观察,根据神经网络的输出,选择要由智能体执行的动作。
神经网络是采用一个或多个层的非线性单元来预测针对所接收的输入的输出的机器学习模型。一些神经网络是除了包括输出层之外还包括一个或多个隐藏层的深度神经网络。每一个隐藏层的输出用作对网络中下一层的输入,该下一层即下一个隐藏层或输出层。网络的每一层根据相应的参数集中的当前值从所接收的输入生成输出。
发明内容
本说明书总体描述了强化学习系统,所述强化学习系统选择要由与环境交互的强化学习智能体执行的动作。为了使智能体与环境交互,系统接收表征环境的当前状态的数据并响应于所接收的数据而选择智能体要执行的动作。表征环境状态的数据在本说明书中将被称为观察。
在一些实施方式中,环境是模拟环境并且智能体被实现为与模拟环境交互的一个或多个计算机程序。例如,模拟环境可以是视频游戏并且智能体可以是玩视频游戏的模拟用户。作为另一示例,模拟环境可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且智能体是通过运动模拟进行导航的模拟载具。在这些实施方式中,动作可以是用于控制模拟用户或模拟载具的控制输入。更一般地,环境可以是执行机器人控制任务的环境。
因此在一些其他实施方式中,环境是真实世界环境并且智能体是与真实世界环境交互的机械智能体。例如,智能体可以是与环境交互以完成特定任务的机器人。作为另一个示例,智能体可以是在环境中导航的自主或半自主载具。在这些实施方式中,动作可以是用于控制机器人或自主载具的控制输入。
在一个方面,本公开提出了一种用于任务学习的神经网络系统,所述神经网络系统被用于选择要由智能体执行的动作,该智能体与环境交互来执行任务以尝试实现指定的结果。系统可以包括用于接收状态数据并且输出动作数据的控制器神经网络模块,所述状态数据例如是状态向量和场境(context)数据。状态数据可以表征环境的真实或想象状态。场境数据定义了用于规划动作的场境和/或所拟议(proposed)的动作的场境。动作数据定义了要对环境或对环境的想象版本执行的真实或想象的动作。
系统还可以包括用于接收状态和动作数据并用于输出结果状态数据的模型神经网络模块(此处也称为“想象”)。结果状态数据定义了由动作数据定义的动作所导致的状态。模型神经网络模块还可以输出定义建模的奖励的奖励数据。
系统还可以包括用于接收状态数据和场境数据并且用于输出路线数据的管理器网络模块。路线数据可以定义系统是执行动作还是想象。“想象”意指针对一个或多个结果状态(即作为智能体采取由控制器拟议的特定动作的结果的预测的环境状态)生成结果状态数据以及可选地生成其他参数,诸如描述与结果状态相关联的奖励的奖励数据。
系统还可以包括用于存储场境数据的存储器。在实施方式中,场境数据可以至少从状态数据或结果状态数据、真实和/或想象的动作的动作数据以及从奖励数据导出。例如,场境数据可以是这些数据的嵌入。场境数据还可以从先前的场境数据中导出。场境数据还可以从诸如所采取的多个动作、所执行的多个想象推展(rollout)等的辅助数据导出。存储器可以包括顺序状态生成神经网络,诸如LSTM(长短期记忆)神经网络。
在路线数据定义系统要想象时,想象状态的状态数据(在此文档中后面被表示为其中j是指示神经网络系统已经接收状态数据sj的最新近时间的步数索引并且k指示神经网络系统已经被用于使用sj生成的迭代(想象步)的数目)可以被提供到控制器神经网络模块以生成想象动作数据。想象动作数据和状态数据可以被提供到模型神经网络模块。然后模型神经网络模块可以生成想象结果状态数据。场境数据可以使用结果状态数据来导出,例如以用于存储在存储器中。
状态数据可以包括当前动作步的状态数据,例如具有步数索引j的动作。因此,在一个示例中,状态数据可以是状态j的数据(最初想象状态可以被重置为状态j)。可以采用一步(one-step)想象并且根据模型的预测的结果状态可以被用于将想象状态更新至下一步。在另一示例中,被提供到所述控制器神经网络模块的状态数据包括在当前动作步之前的k个动作步的想象状态的想象状态数据。可选地,管理器网络模块可以通过另外确定想象将从其进行的一个或多个先前的想象状态来构造想象树。
一种训练系统的方法可以涉及单独地训练模型神经网络模块和管理器网络模块,并且联合地训练控制器神经网络模块和存储器。训练可以基于损失函数,所述损失函数包括表示使用系统进行想象的计算成本的项。
本说明书中描述的主题可以在特定实施例中实现,以实现以下优点中的一个或多个。系统可用于其中不存在要考虑的有限搜索树的连续控制应用。系统,特别是管理器模块,可以学习以决定智能体是否应该保持通过想象动作进行规划或者是否准备好行动并且可选地还可以决定从哪个状态进行想象。这两种能力都有助于有效率地实现良好的性能。在实验上,我们观察到明显的优势,其中随着想象步数目的增加,智能体通过采取固定数目的动作所实现的奖励一致增加。
系统可用于可以向前运行的几乎任何模型并且是可微分的,使得可以计算出策略梯度。这包括现实世界的控制问题,诸如控制复杂的、非线性动力系统。已经发现此系统成功应用的一类问题是智能体是在环境中导航的自主或半自主载具的问题。在其他示例中,真实世界环境可以是制造工厂或服务设施,观察可以涉及工厂或设施的运作,例如诸如功耗的资源使用,并且智能体可以控制在工厂/设施中的动作或操作,例如以减少资源使用。
系统通过使用模型向前推展以在动作的效果之间进行区分可以更好地在相似的所观察的状态之间进行区分。系统还可以改进对与系统的训练期间遇到的示例(状态)不同的示例(状态)的处置。更特别地,更快地学习的能力可以减少实现给定性能水平所需的训练数据量并且因此减少存储器需求。作为推论,所描述的系统还可以需要减少的计算资源以实现给定的性能水平,因为这可以使用比先前技术更少的训练来实现。
系统的实施方式还可以在外部任务执行和想象的计算成本之间取得平衡。
附图说明
图1示出了神经网络系统以及其与智能体和环境的交互。
图2示出了由神经网络系统执行的方法。
图3由图3(a)至图3(c)组成,示出了神经网络系统使用的三种想象策略。
图4示出了用于训练神经网络系统的方法。
各附图中相似的附图标记和名称指示相似的元素。
具体实施方式
本说明书总体上描述了被实现为在一个或多个位置中的一个或多个计算机上的计算机程序的强化学习系统,所述强化学习系统通过使用神经网络选择将由与环境交互的强化学习智能体执行的动作。本说明书还描述了这样的系统可以如何调整神经网络的参数。
系统具有这样的优点:智能体可以改进所述智能体与模拟或现实世界环境的交互,所述智能体诸如是机器人或自主或半自主载具。所述系统可以例如能够实现特定任务的完成或在环境中导航或与环境交互的改进。
为了与环境交互,智能体接收表征环境的当前状态的数据并且响应于所接收的数据而执行动作空间中的动作,所述动作空间即离散动作空间或连续动作空间。表征环境状态的数据在本说明书中将被称为观察。
在一些实施方式中,环境是模拟环境并且智能体被实现为与模拟环境交互的一个或多个计算机。例如,模拟环境可以是视频游戏并且智能体可以是玩视频游戏的模拟用户。
在其他实施方式中,环境是真实世界环境并且智能体是与现实世界环境交互的机械智能体。例如,智能体可以是与环境交互以完成特定任务的机器人或者在环境中导航的自主或半自主载具。在这些情况下,观察可以是在智能体与环境相互作用时由智能体的诸如相机、LIDAR传感器、温度传感器等的一个或多个传感器捕获的数据。
图1图示出本公开中提出的神经网络系统1的示例。神经网络系统1用于控制对环境10做出行动(或在环境内)的智能体15。神经网络系统1在任何时间j接收数据集sj,所述数据集sj是对系统的观察并且被称为“状态数据”。神经网络系统1生成动作aj并且将所述动作aj作为命令传送到对环境10做出行动的智能体15并且从而获得奖励rj,其也被传送到神经网络系统1。
神经网络系统1包括四个主要组件:管理器网络模块11(“管理器”)、控制器神经网络模块12(“控制器”)、想象13(因为它用作环境10的模型,所以此处也称为“模型神经网络模块”)和存储器14。
神经网络系统1通过执行具有多个步的迭代过程(在图2中图示出并且在下面更详细地解释)来确定aj。在每一个步中,管理器11确定是行动(即,生成用于定义由智能体15进行的动作的动作数据并且将动作数据传送到智能体15使得动作被执行)还是“想象”(所述“想象”意指拟议动作并评估动作的后果)。根据此确定,管理器11输出定义系统行动还是想象的路线数据。如果管理器11确定系统应该行动,则控制器12产生动作数据并且将所述动作数据传送到智能体15,使得所述动作数据在环境10中执行。如果管理器11确定系统应该想象,则控制器12产生定义由基于模型的想象13评估的动作的动作数据。在两种情况下,从每一个步得到的数据由存储器14聚合并用于影响未来的动作。因此,神经网络系统1的组件的共同活动支持用于构建、评估和执行规划的各种策略。
迭代过程的迭代由整数索引i标记,所述整数索引i在下面被假设为从0开始。神经网络系统1在动作之前执行的一系列想象步由整数索引k索引。在迭代过程期间,生成两种类型的数据:外部数据和内部数据。外部数据包括观察到的环境状态sj、所执行的动作aj和所获得的奖励rj。内部数据包括:由想象13生成的环境的想象状态,所述环境的想象状态由表示(即,在神经网络系统1确定如何响应于状态sj生成动作数据时想象的第k状态);由控制器12拟议的动作,所述由控制器12拟议的动作由表示;以及由想象13预测的奖励,所述由想象13预测的奖励由表示。内部数据进一步包括路线数据,所述路线数据取决于管理器关于将行动还是想象(以及可选地,关于如何想象)的决定,并且所述路线数据被表示为pj,k。内部数据进一步包括定义已经执行的动作和想象的数目的数据以及来自每一个步的全部其他辅助信息。我们将单个迭代i的外部和内部数据表示为di并且将一直到当前迭代并且包括当前迭代在内的全部外部和内部数据的历史表示为hi=(d0,...,di)。从前一个所执行的动作之后的全部想象状态的集合因此是其中被初始化为环境10的当前状态sj。
我们现在更精确地定义神经网络系统1的组件的操作。
管理器11是离散策略,其将从存储器14获得的历史h映射为路线数据p。我们可以将全部可能的历史的空间表示为并且使得类似地,我们可以将全部可能的路线数据的空间表示为使得因此,管理器11执行函数路线数据p确定智能体将在环境中执行动作还是想象所拟议的动作的结果。
如下面参考图3所述,在想象的情况下,路线数据还可以定义哪个状态(可以是真实状态sj或先前想象的状态)应该是从该处开始想象的想象的起点(即与所拟议的动作被预测的结果相关的状态)。因此,路线数据可以是其中“act”是生成动作数据以在环境10中执行动作的信号,并且如果pj,k不取此值,则所述pj,k替代地取中的一个值并且所述值是从想象状态开始拟议并且评估动作的信号。如下所述(参考图3),存在各种方式,其中可以由管理器11确定。在一个示例中,管理器11可以被实现为多层感知器(MLP)。在另一个示例中(特别是在状态数据s是二维的值数组时),管理器11可以是卷积网络(即包括至少一个卷积层的网络)。
控制器12是场境化的动作策略,其将状态s(其是作为环境10的全部可能状态的集合S的成员)和历史h映射至动作a,其为被表示为A的、作为全部可能动作的集合中的成员。因此,管理器12执行函数作为对控制器12的输入被提供的状态s是根据由管理器11输出的路线数据p。如果路线数据p指示要执行动作,则提供给控制器12的状态是sj。然而,如果路线数据p指示应该执行想象过程,则对控制器11的输入是在一个示例中,控制器12可以被实现为MLP。
想象13是世界的自适应模型。想象13将状态s(其中s∈S)和动作a(其中a∈A)映射至结果状态s′∈S以及作为可能的奖励R的集合的成员的标量奖励r。因此,想象12执行函数I:S×A→S×R。下面给出了想象12的可能形式的示例。
存储器14也是自适应系统,诸如长短期存储器(LSTM)。它循环地聚合从每一次迭代i生成的外部和内部数据di(其中di是全部可能数据的集合D的成员)以更新历史,即hi=μ(di,hi-1),其中μ是经训练的自适应函数。
由神经网络系统1针对j的给定值执行的方法200在图2中图示出。
在步骤201中,神经网络系统1接收实际数据状态sj。此时整数值k等于零。
在步骤202中,管理器11接收数据状态sj以及来自存储器14的数据。管理器11确定是执行动作还是想象并且生成对应的路线数据。
如果确定的结果是想象,则神经网络系统1转到步骤203,其中控制器12使用状态数据和场境数据来生成动作
在步骤204中,想象13接收相同的状态数据和动作并且根据所述状态数据和动作生成结果状态s′∈S和标量奖励
在步骤205中,存储器14被更新并被用于生成新输出hi。变量k被设定到k+1。然后方法返回到步骤202。此步骤202-205的循环可以执行任何次数。
然而,如果在步骤202中路线数据指示要执行动作,则方法200转到步骤206,其中控制器生成动作aj。在步骤207中,动作被传送到对系统10做出行动的智能体15并且获得奖励rj。在步骤208中,存储器14被更新以包括外部和内部数据并且然后方法终止。稍后针对j的下一值重复所述方法并且此过程继续直到达到了终止条件。
总之,构建规划的方法涉及神经网络系统1选择进行拟议动作并想象动作的结果,并且从而建立具有动作的预期质量的可能序列的记录。如果识别出被预测产生高奖励的动作序列,则然后管理器11可以选择进行行动并且控制器12可以产生适当的动作。
注意到在实施例的变化中,方法200可以改变,例如以使得控制器12在管理器11决定是否行动的同时(或之前)拟议动作,使得路线数据被用于确定先前生成的动作被执行还是被想象13使用。
对于如何选择在步骤203和204中控制器12和想象13在其上操作的状态数据s存在各种可能性。第一可能性(“一步”可能性)是控制器12和想象13总是基于sj来操作。注意到由于控制器可以是这样的:生成拟议的动作作为一个分布中的一个样本,使得在不同的迭代k中,动作是不同的。此策略在图3的行(a)中图示出。在图3中,圆指示环境的状态。从圆向下延伸的线指示由控制器12针对该状态拟议的动作。在这样的线的下端处的圆指示想象的结果状态。这样的圆示出为具有深色中心(作为“深色圆”),直到它被存储在存储器14中。一旦发生这种情况,圆被示出为不具有深色中心(“浅色圆”)。类似地,所拟议的动作被示为虚线,直到所拟议的动作被存储在存储器14中,并且然后所拟议的动作被示为实线。
因此,对于“一步”可能性(行(a)),k=0迭代以单个状态sj(被指示为浅色圆)开始,管理器(图3中的“Ma”)指示该单个状态sj应该作为想象的基础。此状态的动作由控制器12(“C”)拟议以给出圆外加向下延伸的虚线。然后,想象13(“I”)拟议状态,被指示为虚线下方的深色圆。然后状态和线被保存到存储器14(“Me”),使得线显示为实线并且状态显示为浅色圆。
在“一步”可能性中,行(a)的k=1和k=2迭代也均从被用作迭代k=0中的起点的状态sj开始:向下延伸的虚线被添加以表示由控制器12拟议的新动作;然后状态(深色圆)被添加到虚线的下端,指示由想象12预测的在动作被实现情况下的状态;并且然后状态和动作被存储在存储器中(想象状态现在显示为一个浅色圆并且新动作显示为实线)。
第二可能性(“n步(n step)”策略)是关于:在步骤203和204中控制器12和想象器13在其上操作的状态s在迭代k=0中被选择为sj并且在后续迭代中被设置为即在前一次迭代中由想象13输出的状态。“n步”规划策略在图3的行(b)中图示出。k=0迭代与行(a)中的相同。k=1迭代是不同的,因为表示在迭代k=0中想象的状态的圆是对向下延伸的虚线进行添加的起点。类似地,在k=2迭代中是不同的,因为表示在迭代k=1中想象的状态的圆是对向下延伸的虚线然后对圆进行添加的起点。更一般地说,在第n次迭代中想象的状态将是在sj在受到n个动作的作用之后的状态。注意到在k次迭代之后,想象13已经生成了是j之后的k步的结果状态使得如果在此处执行步骤206,则控制器具有可用的向将来延伸k个步的规划。
第三可能性(称为“树”策略)是关于:管理器11在每次迭代中指定哪个先前考虑的状态将要用作第k次迭代的步骤203中的控制器12以及第k次迭代的步骤204中的想象13的起点。树策略在图3的行(c)中图示出。注意到在k=0迭代中,输入到控制器12和想象13的状态数据仅存在一种可能性sj,因此管理器11除了选择它之外没有选择。因此,k=0迭代与“一步”和“n步”策略相同。在k=1迭代中,管理器11确定在k=0迭代中生成的状态将被输入到控制器12和想象13,因此k=1迭代恰好与n步策略相同。然而,在k=2迭代中,管理器11确定在k=0迭代中生成的状态再次被输入到控制器12和想象13,因此在图3的行(c)中,此状态在k=2迭代的结尾处显示为该状态下面具有通过线连接到其的两个状态。更一般地说,在树策略中,存在一个“想象树”(例如,相对于在行(b)的右手端产生的仅是一个状态链的状态阵列),因为想象的动作可以从任何先前想象状态拟议。
关于连续控制任务执行使用神经网络系统1的实验,其中环境的参数由实数定义。存储器14是执行函数μ的长短期存储器(LSTM)。在此实施方式中,在每次迭代i时,存储器14被用于产生场境ci,所述场境ci代替完整历史被用作对管理器11和控制器12的输入。即,存储器14被布置为输出包含内部和/或外部数据中的一部分的实参(argument)以及存储在存储器中的数据的子集的函数μ,诸如上一次迭代的内部和/或外部数据以及上一次迭代中的存储器14的输出的一部分的函数。这是对上面解释的存储器14的函数的一般化。具体地,对于想象,存储器14被布置为输出ci作为函数对于行动,存储器14被布置为输出函数管理器11和控制器12是多层感知器(MLP)。管理器将sj和ci-1作为输入并且输出pj,k。控制器11针对想象或行动相应取和ci-1作为输入并且输出或aj。想象13(即环境的基于想象的模型)是已知能够准确地学习来预测重力系统动力学的交互网络(见Peter Battaglia,Razvan PascanuMatthew Lai,Danilo Jimenez Rezende,et al.,“Interaction networks for learningabout objects,relations and physics(用于学习对象、关系和物理的交互网络)”,inAdvances in Neural Information Processing Systems pages 4502–4510,2016)。对于行动,想象13取和作为输入并且返回用于想象,并且对于行动,想象13取sj和aj作为输入并且返回sj+1用于行动。
在一个实验中,通过联合优化成本函数来训练神经网络系统1,成本函数包括两个损失项:外部项(称为性能损失)和内部项(称为资源损失)。性能损失项反映了在所选环境中在环境10中执行动作的成本。资源损失项反映了在特定时间步中使用想象的成本。资源损失项可以是固定的或者随目前为止所采取的动作的数目而变化,表达了提前想象比在运行中想象更昂贵或更低廉的约束。训练包括通过梯度下降优化神经网络系统的参数以联合最小化性能损失项和资源损失项。在项的梯度不直接可用的情况下,则使用近似方法来估计它们。
训练方法如图4所示。在步骤401中,教导想象13以有监督方式进行状态的下一步的预测,其中通过反向传播计算误差梯度。从智能体在环境10中行动时进行的观察收集训练数据。在这种情况下,想象13的策略是随机的,因此在训练期间使用熵奖励来激励探索。在步骤402中,训练管理器11。在步骤403中,联合训练控制器12和存储器14。注意到步骤401、402和403是独立的,因此它们可以以任何顺序或同时执行。
在我们针对其他任务的实验中(例如,针对环境不具有连续参数的任务),想象13的结构被不同地选择并且训练不是如图4所示的。
此说明书关于系统和计算机程序组件使用术语“被配置”。对于要被配置为执行特定操作或动作的一个或多个计算机的系统意指系统已在系统上安装了软件、固件、硬件或它们的组合,所述软件、固件、硬件或它们的组合在操作中使系统执行操作或动作。对于要被配置为执行特定操作或动作的一个或多个计算机程序意指一个或多个程序包括指令,所述指令在被数据处理装置执行时使装置执行操作或动作。
本说明书中描述的主题和功能操作的实施例,可以实现在数字电子电路中、在有形实施的计算机软件或固件中、在计算机硬件中——包括本说明书中公开的结构及其结构等同物、或者在它们中的一个或多个的组合中。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序——即在有形非暂时性程序载体上编码的计算机程序指令的一个或多个模块,以用于由数据处理装置执行或控制数据处理装置的操作。替选地或另外地,程序指令可以在人工生成的传播信号——例如机器生成的电、光或电磁信号上编码,所述传播信号被生成以编码信息以便传输到合适的接收器设备以用于由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备或它们中的一个或多个的组合。然而,计算机存储介质不是传播信号。
术语“数据处理装置”包括用于处理数据的全部类型的装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,装置还可以包括为上述计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序(也可称为或描述为程序、软件、软件应用、模块、软件模块、脚本或代码)可以以包括编译或解释语言或者声明性或过程性语言的任何形式的编程语言编写并且所述计算机程序可以以包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元的任何形式部署。计算机程序可以但不必需对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中——例如存储在标记语言文档中的一个或多个脚本、存储在专用于上述程序的单个文件中或者存储在多个协调文件中,所述多个协调文件例如是存储一个或多个模块、子程序或代码的部分的文件。计算机程序可以被部署以在一个计算机上或在位于一个站点上或跨多个站点分布并且由通信网络互连的多个计算机上执行。
如在本说明书中所使用的,“引擎”或“软件引擎”指代实现提供与输入不同的输出的输入/输出系统的软件。引擎可以是编码的功能块,诸如库、平台、软件开发工具包(“SDK”)或对象。每一个引擎可以在包括一个或多个处理器和计算机可读介质的任何适当类型的计算设备上实现,例如服务器、移动电话、平板计算机、笔记本计算机、音乐播放器、电子书阅读器、膝上型或台式计算机、PDA、智能电话或其他固定或便携式设备。另外,两个或更多个引擎可以在相同的计算设备上或在不同的计算设备上实现。
此说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行并且装置也可以被实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。例如,过程和逻辑流程可以由图形处理单元(GPU)执行并且装置也可以被实现为图形处理单元(GPU)。
适合于执行计算机程序的计算机包括例如可以是基于通用或专用微处理器或两者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于实施或执行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备或与之操作耦合以从其接收数据和将数据传输到其或者两者,所述一个或多个大容量存储设备例如是磁盘、磁光盘或光盘。然而,计算机不需要这样的设备。此外,计算机可以嵌入在另一个设备中,仅举几例,所述另一个设备例如是移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或例如是通用串行总线(USB)闪存驱动器的便携式存储设备。
适用于存储计算机程序指令和数据的计算机可读介质包括全部形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有以下的计算机上实现:用于向用户显示信息的显示设备,例如CRT(阴极射线管)、LCD(液晶显示器)监视器或触摸屏;以及用户可以通过其向计算机提供输入的键盘和定点设备,例如鼠标或轨迹球。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从用户的客户端设备上的web浏览器接收的请求而将网页发送到web浏览器。
本说明书中描述的主题的实施例可以在包括例如作为数据服务器的后端组件或包括例如应用服务器的中间件组件或包括前端组件或这样的后端、中间件或前端组件中的一个或多个的任何组合的计算系统中实现,所述前端组件例如是具有用户可以通过其与本说明书中描述的主题的实施方式进行交互的图形用户界面或Web浏览器的客户端计算机。系统的组件可以通过例如通信网络的任何形式或介质的数字数据通信互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络进行交互。客户端和服务器的关系借助于在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
虽然本说明书包含许多具体的实施方式细节,但这些不应被解释为对任何发明或可要求保护的范围的限制,而是作为特定于特定发明的特定实施例的特征的描述。在本说明书中在单独的实施例的场境中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的场境中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以被描述为以某些组合起作用并且甚至最初如此声明,但是在一些情况下可以从组合中去除所要求保护的组合中的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应该被理解为要求这样的操作以所示的特定顺序或按顺序执行或者执行全部图示出的操作以实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在全部实施例中都要求这种分离并且应理解的是,所描述的程序组件和系统通常可以一起被集成在单个软件产品中或被打包为多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求书的范围内。例如,权利要求书中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定要求所示的特定顺序或连续顺序来实现期望的结果。在某些实施方式中,多任务和并行处理可能是有利的。
Claims (12)
1.一种用于任务学习的神经网络系统,其中,所述神经网络系统被用于选择要由智能体执行的动作,所述智能体与环境交互来执行任务以尝试实现指定的结果,所述系统包括:
控制器神经网络模块,所述控制器神经网络模块被配置为接收状态数据和场境数据并且输出动作数据,其中所述状态数据表征所述环境的真实状态或想象状态,其中所述场境数据定义用于规划动作的场境和所拟议的动作的场境,并且其中所述动作数据定义要对所述环境或所述环境的想象版本执行的真实动作或想象动作;
模型神经网络模块,所述模型神经网络模块被配置为接收所述状态数据和所述动作数据并且输出结果状态数据和奖励数据,所述结果状态数据定义由所述动作数据定义的动作所导致的状态,所述奖励数据定义所建模的奖励;
管理器网络模块,所述管理器网络模块被配置为接收所述状态数据和所述场境数据并输出路线数据,其中所述路线数据定义所述系统要执行动作还是进行想象;以及
用于存储所述场境数据的存储器,其中所述场境数据至少是从以下导出的:(i)所述状态数据或所述结果状态数据、(ii)所述动作数据以及(iii)所述奖励数据。
2.根据权利要求1所述的神经网络系统,其中,响应于所述路线数据定义所述系统要进行想象,想象状态的状态数据被提供到所述控制器神经网络模块以生成想象动作数据,并且其中所述想象动作数据和所述状态数据被提供到所述模型神经网络模块。
3.根据权利要求1所述的神经网络系统,其中,所述模型神经网络模块被配置为生成想象结果状态数据,并且其中所述场境数据是从所述想象结果状态数据中进一步导出的。
4.根据权利要求2或3所述的神经网络系统,其中,所述状态数据包括当前动作步的状态数据。
5.根据权利要求2或3所述的神经网络系统,其中,提供到所述控制器神经网络模块的所述状态数据包括:在当前动作步之前k个动作步的想象状态的想象状态数据,其中k是大于零的整数。
6.根据前述权利要求中的任一项所述的神经网络系统,其中,在所述路线数据定义所述系统要进行想象的情况下,所述路线数据指定先前的想象状态,从所述先前的想象状态开始进行想象。
7.根据权利要求1至6中的任一项所述的神经网络系统,其中,所述存储器包括顺序状态生成。
8.一种用于训练根据权利要求1至7中的任一项所述的神经网络系统的方法,所述方法包括:单独地训练所述模型神经网络模块和所述管理器网络模块,以及联合地训练所述控制器神经网络模块和所述存储器。
9.根据权利要求8所述的方法,其中,所述训练包括使用损失函数来训练,所述损失函数表示使用所述神经网络系统进行想象的计算成本。
10.一个或多个存储指令的计算机存储介质,所述指令在被一个或多个计算机执行时使得所述一个或多个计算机实现根据权利要求1-9中的任一项所述的系统。
11.一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在被所述一个或多个计算机执行时使得所述一个或多个计算机执行根据权利要求8-9中的任一项所述的相应方法的操作。
12.一个或多个存储指令的计算机存储介质,所述指令在被一个或多个计算机执行时使得所述一个或多个计算机执行根据权利要求8-9中的任一项所述的相应方法的操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762509040P | 2017-05-19 | 2017-05-19 | |
US62/509,040 | 2017-05-19 | ||
PCT/EP2018/063291 WO2018211142A1 (en) | 2017-05-19 | 2018-05-22 | Imagination-based agent neural networks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110622174A true CN110622174A (zh) | 2019-12-27 |
Family
ID=62235953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880013648.9A Pending CN110622174A (zh) | 2017-05-19 | 2018-05-22 | 基于想象的智能体神经网络 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10860895B2 (zh) |
EP (1) | EP3596662A1 (zh) |
CN (1) | CN110622174A (zh) |
WO (1) | WO2018211142A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112494949A (zh) * | 2020-11-20 | 2021-03-16 | 超参数科技(深圳)有限公司 | 智能体行动策略制定方法、服务器及存储介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018083667A1 (en) * | 2016-11-04 | 2018-05-11 | Deepmind Technologies Limited | Reinforcement learning systems |
AU2019284379A1 (en) | 2018-06-12 | 2021-01-28 | Intergraph Corporation | Artificial intelligence applications for computer-aided dispatch systems |
DE102019105281A1 (de) * | 2019-03-01 | 2020-09-03 | Friedrich-Alexander-Universität Erlangen-Nürnberg | Autonomes selbstlernendes System |
EP4019202A4 (en) * | 2019-10-24 | 2023-08-09 | Naver Corporation | METHOD AND SYSTEM FOR OPTIMIZING AUTONOMOUS DRIVING BASED ON REINFORCEMENT LEARNING AS A FUNCTION OF USER PREFERENCES |
US12019967B2 (en) * | 2020-05-04 | 2024-06-25 | Nvidia Corporation | Routing connections in integrated circuits based on reinforcement learning |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105637540A (zh) * | 2013-10-08 | 2016-06-01 | 谷歌公司 | 用于强化学习的方法和设备 |
CN106056213A (zh) * | 2015-04-06 | 2016-10-26 | 谷歌公司 | 使用目标和观察来选择强化学习动作 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5879899B2 (ja) * | 2011-10-12 | 2016-03-08 | ソニー株式会社 | 情報処理装置、情報処理方法、及びプログラム |
US10909450B2 (en) * | 2016-03-29 | 2021-02-02 | Microsoft Technology Licensing, Llc | Multiple-action computational model training and operation |
DE202016004628U1 (de) | 2016-07-27 | 2016-09-23 | Google Inc. | Durchqueren einer Umgebungsstatusstruktur unter Verwendung neuronaler Netze |
-
2018
- 2018-05-22 CN CN201880013648.9A patent/CN110622174A/zh active Pending
- 2018-05-22 EP EP18726782.8A patent/EP3596662A1/en active Pending
- 2018-05-22 WO PCT/EP2018/063291 patent/WO2018211142A1/en active Application Filing
-
2019
- 2019-11-19 US US16/689,017 patent/US10860895B2/en active Active
-
2020
- 2020-12-07 US US17/114,324 patent/US20210089834A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105637540A (zh) * | 2013-10-08 | 2016-06-01 | 谷歌公司 | 用于强化学习的方法和设备 |
CN106056213A (zh) * | 2015-04-06 | 2016-10-26 | 谷歌公司 | 使用目标和观察来选择强化学习动作 |
Non-Patent Citations (1)
Title |
---|
JESSICA B. HAMRICK等: "《METACONTROL FOR ADAPTIVE IMAGINATION-BASED OPTIMIZATION》", 《HTTP://ARXIV.ORG/PDF/1705.02670.PDF》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112494949A (zh) * | 2020-11-20 | 2021-03-16 | 超参数科技(深圳)有限公司 | 智能体行动策略制定方法、服务器及存储介质 |
CN112494949B (zh) * | 2020-11-20 | 2023-10-31 | 超参数科技(深圳)有限公司 | 智能体行动策略制定方法、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20200082227A1 (en) | 2020-03-12 |
EP3596662A1 (en) | 2020-01-22 |
US20210089834A1 (en) | 2021-03-25 |
US10860895B2 (en) | 2020-12-08 |
WO2018211142A1 (en) | 2018-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110692066B (zh) | 使用多模态输入选择动作 | |
JP6875513B2 (ja) | ロボットエージェントによって実行されるべきアクションを選択するためのニューラルネットワーク | |
CN110088774B (zh) | 使用强化学习的环境导航 | |
CN110114783B (zh) | 利用辅助任务的强化学习 | |
CN110088775B (zh) | 使用加强学习的环境预测 | |
US10860895B2 (en) | Imagination-based agent neural networks | |
US10860927B2 (en) | Stacked convolutional long short-term memory for model-free reinforcement learning | |
JP7335434B2 (ja) | 後知恵モデリングを用いた行動選択ニューラルネットワークの訓練 | |
CN110546653B (zh) | 使用管理者和工作者神经网络的用于强化学习的动作选择 | |
WO2018211139A1 (en) | Training action selection neural networks using a differentiable credit function | |
EP3593293B1 (en) | Imagination-based agent neural networks | |
US11200482B2 (en) | Recurrent environment predictors | |
EP3384435B1 (en) | Selecting action slates using reinforcement learning | |
EP3776370A1 (en) | Graph neural network systems for behavior prediction and reinforcement learning in multple agent environments | |
CN111602144A (zh) | 生成指令序列以控制执行任务的代理的生成神经网络系统 | |
CN112840359B (zh) | 通过使用时间值传递在长时间尺度上控制代理 | |
JP7181415B2 (ja) | 観測値の尤度を使用して環境を探索するためのエージェントを制御すること | |
US20190251419A1 (en) | Low-pass recurrent neural network systems with memory |
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 |