CN115298668A - 使用适应性回报计算方案强化学习 - Google Patents
使用适应性回报计算方案强化学习 Download PDFInfo
- Publication number
- CN115298668A CN115298668A CN202180021105.3A CN202180021105A CN115298668A CN 115298668 A CN115298668 A CN 115298668A CN 202180021105 A CN202180021105 A CN 202180021105A CN 115298668 A CN115298668 A CN 115298668A
- Authority
- CN
- China
- Prior art keywords
- reward
- action
- environment
- agent
- intrinsic
- 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
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/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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/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
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/002—Special television systems not provided for by H04N7/007 - H04N7/18
- H04N7/005—Special television systems not provided for by H04N7/007 - H04N7/18 using at least one opto-electrical conversion device
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Feedback Control In General (AREA)
- Geophysics And Detection Of Objects (AREA)
Abstract
方法、系统和装置,包括编码在计算机存储介质上的计算机程序,用于使用适应性回报计算方案进行强化学习。在一个方面,一种方法包括:维护指定用于在多个不同的回报计算方案之间进行选择的策略的数据,在执行任务的情节时每个回报计算方案向探索环境分配不同的重要性;使用策略从多个不同的回报计算方案选择回报计算方案;控制智能体执行任务的情节以最大化根据选择的回报计算方案计算的回报;识别作为智能体执行任务的情节的结果而生成的奖励;和使用识别的奖励更新用于在多个不同的回报计算方案之间进行选择的策略。
Description
技术领域
本说明书涉及使用机器学习模型处理数据。
背景技术
机器学习模型接收输入并基于接收的输入生成输出,例如,预测的输出。一些机器学习模型是参数模型,并基于接收的输入和基于模型的参数值生成输出。
一些机器学习模型是利用模型的多层对于接收的输入生成输出的深度模型。例如,深度神经网络是深度机器学习模型,其包括输出层和一个或多个隐藏层,每个隐藏层将非线性变换应用于接收的输入以生成输出。
发明内容
本说明书描述了一种在一个或多个位置的一个或多个计算机上实现为计算机程序的系统,用于训练一组一个或多个动作选择神经网络,以控制与环境交互的智能体。
可以实现本说明书中描述的主题的特定实施例以实现以下优点中的一个或多个。
本说明书中描述的系统维护策略,系统使用该策略来选择用于在训练用于控制与环境交互的智能体以便执行任务的一组一个或多个动作选择神经网络的训练期间执行的任何给定任务情节的最适当的回报计算方案。在智能体与环境交互时,每个可能的回报计算方案为探索环境分配不同的重要性。特别地,每个可能的回报补偿方案指定用于计算回报的折损因子、用于计算总奖励的内在奖励缩放因子或者这二者。更特别地,系统在整个训练过程中使用适应性机制来调整策略,导致在训练期间不同的回报计算方案在不同点更有可能被选择。使用这种适应性机制允许系统在训练期间的任何给定时间有效地选择计算回报的最适当的时间范围(time horizon)、最适当的探索程度或这两者。这导致在控制智能体执行各种任务中的任一个时会表现出改进的性能的经训练神经网络。
此外,在某些实施方式中,系统使用以下两个单独的神经网络来估计任何给定动作的“值”:仅使用外在奖励被训练的外在奖励动作选择神经网络和仅使用内在奖励被训练的内部回报动作选择神经网络。这种新颖的架构参数化允许更一致和稳定的学习,减少训练所需的训练时间和计算资源量,并提高所得经训练神经网络的性能。特别地,这两个神经网络可以在相同的轨迹上被训练(但使用来自轨迹的不同类型的奖励),因此可以在没有伴随数据效率降低的情况下实现增加的一致性和稳定性。
与常规系统相比,本说明书中描述的系统可以通过训练(一个或多个)动作选择神经网络在更少的训练迭代内达到可接受的性能水平来消耗更少的计算资源(例如,存储器和算力)。此外,通过本说明书中描述的系统训练的一组一个或多个动作选择神经网络可以选择使智能体能够比通过替代系统训练的动作选择神经网络更有效(例如,更快)完成任务的动作。
本说明书的主题的一个或多个实施例的细节在附图和以下描述中阐述。本主题的其他特征、方面和优点将从描述、附图和权利要求中变得显而易见。
附图说明
图1示出了示例动作选择系统。
图2示出了示例训练系统。
图3示出了示例内在奖励系统。
图4是用于控制智能体执行任务情节并用于更新回报计算方案选择策略的示例过程的流程图。
不同附图中相同的附图标记和名称指示相同的要素。
具体实施方式
图1示出了示例动作选择系统100。动作选择系统100是在其中实现下文描述的系统、组件和技术的在一个或多个位置的一个或多个计算机上实现为计算机程序的系统的示例。
动作选择系统100使用一个或多个动作选择神经网络102和策略数据120来控制与环境106交互的智能体104,以通过选择在执行任务的情节期间的多个时间步中的每一个时要由智能体104执行的动作108来完成任务。
任务的“情节(episode)”是交互的序列,在此期间,智能体尝试从环境的某个起始状态开始执行任务的实例。换言之,每个任务情节以环境处于初始状态(例如,固定的初始状态或随机选择的初始状态)开始,并在智能体成功完成任务或在满足某个终止标准(例如,环境进入已被指定为终止状态的状态,或者智能体执行阈值数量的动作而未成功完成任务)时结束。
在任何给定任务情节期间的每个时间步,系统100接收表征环境106在该时间步的当前状态的观察110,并且作为响应,选择要由智能体104在该时间步执行的动作108。在智能体执行动作108之后,环境106转换到新状态,并且系统100从环境106接收外在奖励130。
通常,外在奖励130是标量数值并且表征智能体104朝向完成任务的进展。
作为特定示例,外在奖励130可以是稀疏二元奖励,除非任务成功完成,否则为零,并且如果由于执行的动作的结果而任务成功完成,则为一。
作为另一特定示例,外在奖励130可以是密集奖励,其衡量基于在尝试执行任务的情节期间接收的各个观察所确定的智能体朝向完成任务的进展,即,使得在任务成功完成之前可以并且频繁接收非零奖励。
当执行任何给定的任务情节时,系统100选择动作以尝试最大化在任务情节的过程中接收的回报。
也就是说,在情节期间的每个时间步,系统100选择尝试最大化将从该时间步开始的对于任务情节的剩余部分接收的回报的动作。
通常,在任何给定时间步,将接收的回报是在情节中给定时间步之后的时间步将接收的奖励的组合。
例如,在时间步t,回报可以满足:
∑iγi-t-1ri,
其中,i的范围涵盖情节中t之后的所有时间步,或范围为情节中t之后的某个固定数量的时间步,γ是折损因子,并且ri是在时间步i的总奖励。从上面的式子可以看出,越高的折损因子值导致越长的回报计算时间范围,即,导致在回报计算中,来自距时间步t在时间上更远的时间步的奖励被赋予更大的权重。
在一些实施方式中,给定时间步的总奖励等于在该时间步接收的外在奖励,即作为在先前时间步执行的动作的结果而接收的外在奖励。
在一些其他实施方式中,系统100还至少从在时间步接收的观察获得,即接收或生成内在奖励132。内在奖励132以与正在执行的任务无关的方式表征在该时间步时(as of)智能体朝向探索环境的进展,即,不像外在奖励130那样,表征在该时间步时智能体朝向完成任务的进展。也就是说,内在奖励132衡量对环境的探索,而不是衡量智能体对任务的执行。例如,内在奖励可以是指示观察提供关于整个环境和/或其中的对象的可能配置的信息的程度的值;例如,如果环境是现实世界的环境,并且观察是与环境的对应部分相关的图像(或其他传感器数据),则内在奖励可以是指示有多少环境已经出现在图像中的至少一个中的值。下面将参考图2和图3更详细地描述计算时间步的内在奖励。
在这些实施方式中,系统100可以至少基于以下来确定智能体在时间步接收的“总”奖励:(i)该时间步的外在奖励、(ii)该时间步的内在奖励步骤和(iii)内在奖励缩放因子。
作为特定示例,系统100可以生成时间步t的总奖励rt,例如,如下:
其中,表示该时间步的外在奖励,rt exploration表示该时间步的内在奖励,并且β表示内在奖励缩放因子。可以理解,内在奖励缩放因子的值控制外在奖励和内在奖励对总奖励的相对重要性,例如,使得内在奖励缩放因子的更高值增加内在奖励对总奖励的贡献。其中内在奖励缩放因子的值控制外在奖励和内在奖励对总奖励的相对重要性的用于从外在奖励、内在奖励和内在奖励缩放因子确定总奖励的其他方法也是可能的,且上述式子仅供说明之用。
策略数据120是指定用于从一组回报计算方案中的多个不同的回报计算方案之间进行选择的策略的数据。
该组中的每个回报计算方案在执行任务情节时对探索环境分配不同的重要性。换言之,该组中的一些回报计算方案对探索环境(即收集有关环境的新信息)分配更多重要性,而该组中的其他回报计算方案对利用环境(即利用关于环境的当前知识)分配更多重要性。
作为一个特定示例,每个回报计算方案可以指定至少一个相应的折损因子γ,该折损因子用于组合奖励以生成回报。换言之,一些回报计算方案可以与其他回报计算方案相比指定相对较大的折损因子,即,导致在当前时间步的回报计算中将来时间步的奖励相对更重地被加权的折损因子。
作为另一特定示例,每个回报计算方案可以指定至少一个相应的内在奖励缩放因子β,该缩放因子限定内在奖励相对于在生成回报时从环境接收的外在奖励的重要性。
特别地,如上所述,内在奖励缩放因子限定在给定时间步的内在奖励被加到该给定时间步的外在奖励以生成该时间步的总奖励之前,该给定时间步的内在奖励的多少被缩放。换言之,一些回报计算方案可以与其他回报计算方案相比指定相对较大的内在奖励缩放因子,即导致在该时间步的总回报计算中该时间步的内在奖励被分配相对更大权重的缩放因子。
作为另一特定示例,每个回报计算方案可以指定相应的折损因子-内在奖励缩放因子对,即γ-β对,使得该组中的每个方案指定与方案中设置的彼此不同的折损因子和缩放因子的值的组合。
在执行情节之前,系统100使用由策略数据120当前指定的策略从该组中的多个不同方案选择回报计算方案。例如,系统100可以基于通过策略分配给方案的奖励分数来选择方案。下文参考图4更详细地描述选择方案。如下文将更详细地描述的,在训练期间适应性地修改策略,使得在训练期间不同的方案变得更有可能在不同时间被选择。
然后,系统100控制智能体104根据选择的方案执行任务情节,即,使用一个或多个动作选择神经网络102最大化使用选择的方案计算的回报。
为此,在情节中的每个时间步,系统100使用(一个或多个)动作选择神经网络102处理输入,包括:(i)表征环境在该时间步的当前状态的观察110,和(ii)指定选择的回报计算方案112的选择的方案数据,以生成动作分数114。选择的方案数据可以以任何适当的方式指定选择的方案112,例如,作为学习的嵌入或作为独热向量,其在与选择的方案对应的位置处具有值“1”,而在与该组中所有其他方案对应的位置处具有值“0”。
动作分数114(也称为“回报估计”)可以包括一组可能动作中每个动作的相应数值,并被系统100用于选择在该时间步要由智能体104执行的动作108。
(一个或多个)动作选择神经网络102可以被理解为实现由该组中可能的回报计算方案索引的一系列动作选择策略。特别地,训练系统200(其将参考图2更详细地被描述)可以训练(一个或多个)动作选择神经网络102,使得选择的回报计算方案表征对应的动作选择策略是“探索性”的程度,即选择导致智能体探索环境的动作。换言之,训练系统200训练(一个或多个)动作选择神经网络102,使得使(一个或多个)神经网络以选择的方案为条件导致该(一个或多个)网络生成限定根据哪个方案被选择或多或少强调探索对强调利用环境的动作选择策略的输出。
在一些实施方式中,一个或多个动作选择神经网络102是单个神经网络,其接收包括观察110和指定选择的回报计算方案112的数据的输入并生成动作分数114作为输出。也就是说,在这些实施方式中,动作分数114是单个动作选择神经网络102的输出。
动作选择神经网络102可以用使其能够执行其所描述的功能的任何适当的神经网络架构来实现。在一个示例中,动作选择神经网络102可以包括“嵌入”子网络、“核心”子网络和“选择”子网络。神经网络的子网络是指神经网络中的一组一个或多个神经网络层。当观察是图像时,嵌入子网络可以是卷积子网络,即,其包括一个或多个卷积神经网络层,其被配置为处理时间步的观察。当观察是较低维数据时,嵌入子网络可以是全连接子网络。核心子网络可以是循环子网络,例如,其包括一个或多个长短期记忆(LSTM)神经网络层,其被配置为处理:(i)嵌入子网络的输出,(ii)表示选择的回报计算方案的选择的方案数据,以及,可选地,(iii)指定最近的外在(和可选地内在)奖励和/或最近执行的动作的数据。选择子网络可以被配置为处理核心子网络的输出以生成动作分数114。
在一些其他实施方式中,一个或多个动作选择神经网络102是以下两个单独的神经网络:(i)内在奖励动作选择神经网络,其估计仅根据由内在奖励系统基于在与环境交互期间接收的观察生成的内在奖励而计算的内在回报;和(ii)外在奖励动作选择神经网络,其估计仅根据作为与环境交互的结果从环境接收的外在奖励而计算的外在回报。
在这些实施方式中,两个单独的神经网络可以具有相同的架构,但由于被训练以估计不同的量(即,由于内在奖励动作选择神经网络被训练以估计内在回报而外在奖励动作选择神经网络被训练以估计外在回报),因此参数值不同。
在这些实施方式中,系统100使用内在奖励动作选择神经网络处理输入以生成每个动作的相应内在动作分数(“估计的内在奖励”),并使用外在奖励动作选择神经网络处理输入以生成每个动作的相应的外在动作分数(“估计的外在奖励”)。
然后,系统100可以根据内在奖励缩放因子组合每个动作的内在动作分数和外在动作分数,以生成动作的最终动作分数(“最终回报估计”)。
作为一个示例,在选择第j个方案的情况下,响应于观察x,动作a的最终动作分数Q(x,a,j;θ)可以满足:
Q(x,a,j;θ)=Q(x,a,j;θe)+βj·Q(x,a,j;θi),
其中,Q(x,a,j;θe)是动作a的外在动作分数,Q(x,a,j;θi)是动作a的内在动作分数,并且βj是第j个方案中的缩放因子。
作为另一示例,最终动作分数Q(x,a,j;θ)可以满足:
Q(x,a,j;θ)=h(h-1(Q(x,a,j;θe))+βjh-1(Q(x,a,j;θi))),
其中,h是单调递增且可逆的压缩函数,其缩放状态-动作值函数,即外在和内在奖励函数,以使其更容易近似于神经网络。
因此,回报方案中βj的不同值导致在计算最终动作分数时内在动作选择神经网络的预测被不同地加权。
系统100可以使用动作分数114来选择在时间步要由智能体104执行的动作108。例如,系统100可以处理动作分数114以在可能的动作组上生成概率分布,然后通过根据概率分布对动作进行采样来选择要由智能体104执行的动作108。系统100可以例如通过使用软性最大值函数处理动作分数114来生成可能的动作组上的概率分布。作为另一示例,系统100可以将要由智能体104执行的动作108选择为与最高动作分数114关联的可能动作。可选地,系统100可以使用探索策略选择在时间步要由智能体104执行的动作108,例如,在其中系统100以概率1–ε选择具有最高最终回报估计的动作并以概率ε从一组动作中选择随机动作的ε-贪婪探索策略。
一旦任务情节已经被执行,即,一旦智能体成功执行任务或一旦任务情节的某个终止标准已经满足,系统100就可以使用任务情节的结果来(i)更新用于在当前由策略数据120指定的回报计算方案之间进行选择的策略,(ii)训练(一个或多个)动作选择神经网络102,或这两者。
更一般地,由策略数据120指定的策略和(一个或多个)动作选择神经网络102的参数值两者在训练期间基于作为智能体104与环境交互的结果而生成的轨迹被更新。
特别地,在训练期间,系统100使用最近生成的轨迹(例如,在最近生成的轨迹的固定大小的滑动窗口内生成的轨迹)更新回报方案选择策略。通过在整个训练过程中使用这种适应性机制来调整回报计算方案选择策略,在(一个或多个)动作选择神经网络的训练期间,更有可能在不同的点选择不同的回报计算方案。使用这种适应性机制允许系统100在训练期间的任何给定时间有效地选择最适当的时间范围、最适当的探索程度或这两者。这导致在控制智能体执行各种任务中的任一个时会表现出改进的性能的(一个或多个)经训练神经网络。
下面参考图4更详细地描述更新回报方案选择策略。
系统100使用由系统100生成并添加到称为重放缓冲器的数据存储的轨迹来训练(一个或多个)动作选择神经网络102。换言之,在训练期间的指定间隔,系统100从重放缓冲器采样轨迹,并使用轨迹到轨迹来训练(一个或多个)神经网络102。在一些实施方式中,用于更新回报方案选择策略的轨迹也被添加到重放缓冲器以供以后在训练(一个或多个)神经网络102时使用。在其他实施方式中,用于更新回报方案选择策略的轨迹不被添加到重放缓冲器而仅被用于更新策略。例如,系统100可以在执行将用于更新策略的任务情节和执行将被添加到重放缓冲器的任务情节之间交替。
下面参考图2描述训练(一个或多个)动作选择神经网络。
在一些实施方式中,环境是现实世界环境,并且智能体是与现实世界环境交互(例如,在现实世界环境内移动(通过在环境中的平移和/或旋转,和/或改变其配置)和/或修改现实世界环境)的机械智能体。例如,智能体可以是与环境交互(例如,以将感兴趣的对象定位在环境中、将感兴趣的对象移动到环境中的指定位置、物理地操纵环境中的感兴趣的对象或导航到环境中的指定目的地)的机器人;或者智能体可以是导航通过环境到环境中的指定目的地的自主或半自主陆地或空中或海洋载具。
在这些实施方式中,观察可包括例如图像、对象位置数据和传感器数据中的一个或多个,以在智能体与环境交互时捕获观察,例如来自图像、距离或位置传感器或致动器的传感器数据。
例如,在机器人的情况下,观察可以包括表征机器人的当前状态的数据,例如,以下中的一个或多个:关节位置、关节速度、关节力、扭矩或加速度,例如,重力补偿扭矩反馈以及机器人保持(hold)的物件的全局或相对姿态。
在机器人或其他机械智能体或载具的情况下,观察可以类似地包括智能体的一个或多个部分的位置、线速度或角速度、力、扭矩或加速度以及全局或相对姿态中的一个或多个。可以在1、2或3维中限定观察,并且观察可以是绝对和/或相对观察。
观察还可以包括例如由感测现实世界环境的一个或多个传感器设备获得的数据;例如感测的电子信号,诸如电动机电流或温度信号;和/或例如来自相机或LIDAR传感器的图像或视频数据,例如来自智能体的传感器的数据或来自环境中与智能体分离地定位的传感器的数据。
在电子智能体的情况下,观察可以包括来自监测工厂或服务设施的一部分的一个或多个传感器的数据,诸如电流、电压、功率、温度和表示装备的电子和/或机械物件的功能的其他传感器和/或电子信号。
动作可以是控制机器人的控制输入,例如,用于机器人的关节的扭矩或更高级别的控制命令,或者是控制自主或半自主陆地或空中或海洋载具的控制输入,例如,到载具的控制表面或其他控制元件的扭矩或更高级别的控制命令。
换言之,动作可以包括例如机器人的一个或多个关节或另一机械智能体的部分的位置、速度或力/扭矩/加速度数据。动作可以附加地或替代地包括电子控制数据,诸如电动机控制数据,或更一般地,包括用于控制环境内的一个或多个电子设备的数据,对该电子设备的控制对观察到的环境的状态有影响。例如,在自主或半自主陆地、空中或海洋载具的情况下,动作可以包括控制载具的导航(例如转向)和移动(例如制动和/或加速)的动作。
在一些实施方式中,环境是模拟环境,并且智能体被实现为与模拟环境交互的一个或多个计算机。
例如,模拟环境可以是机器人或载具的模拟,并且可以在该模拟上训练动作选择网络。例如,模拟环境可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且智能体可以是导航通过该运动模拟的模拟载具。在这些实施方式中,动作可以是控制模拟用户或模拟载具的控制输入。
在另一示例中,模拟环境可以是视频游戏,并且智能体可以是玩视频游戏的模拟用户。
在另外的示例中,环境可以是蛋白质折叠环境,使得每个状态是蛋白质链的相应状态,并且智能体是用于确定如何折叠蛋白质链的计算机系统。在该示例中,动作是用于折叠蛋白质链的可能的折叠动作,并且要实现的结果可以包括例如折叠蛋白质以使蛋白质稳定并从而其实现特定的生物学功能。作为另一示例,智能体可以是机械智能体,其在没有人类交互的情况下自动执行或控制由系统选择的蛋白质折叠动作。观察可以包括蛋白质的状态的直接或间接观察和/或可从模拟得出。
通常,在模拟环境的情况下,观察可以包括先前描述的观察或观察类型中的一个或多个的模拟版本,并且动作可以包括先前描述的动作或动作类型中的一个或多个的模拟版本。
在模拟环境中训练智能体可以使智能体能够从大量模拟训练数据中学习,同时避免与在现实世界环境中训练智能体关联的风险,例如,由于不当执行选择的动作而对智能体造成损害。此后,在模拟环境中训练的智能体可以部署在现实世界环境中。
在某些其他应用中,智能体可以控制包括装备的物件的现实世界环境中(例如在数据中心或电网干线电力或水分配系统中,或在制造工厂或服务设施中)的动作。然后,观察可以与工厂或设施的操作有关。例如,观察可以包括装备的电力或水使用的观察,或者发电或分配控制的观察,或者资源使用或废物产生的观察。智能体可以在该环境中控制动作,以例如通过减少资源使用来提高效率,和/或例如通过减少废物来减少环境中操作的环境影响。动作可以包括控制工厂/设施的装备的物件或将操作条件强加于工厂/设施的装备的物件的动作,和/或导致工厂/设施的操作设置改变,例如,以调整或打开/关闭工厂/设施的组件的动作。
可选地,在上述实施方式中的任何一个中,在任何给定时间步的观察可以包括来自先前时间步的可能有利于表征环境的数据,例如,在先前时间步执行的动作、响应于在先前时间步被执行而接收的奖励等。
训练系统200可以确定智能体104在每个时间步接收的奖励,并且可以使用强化学习技术训练(一个或多个)动作选择神经网络102以优化智能体接收的奖励的累积度量。智能体接收的奖励可以例如由标量数值表示。训练系统200可以至少部分地基于由(一个或多个)动作选择神经网络102在每个时间步处理的内在奖励缩放因子112来确定智能体在该时间步接收的奖励。特别地,内在奖励缩放因子112的值可以确定环境106的探索对智能体接收的奖励的贡献程度。以这种方式,训练系统200可以训练(一个或多个)动作选择神经网络102,使得对于内在奖励缩放因子112的更高值,(一个或多个)动作选择神经网络102选择导致智能体更迅速探索环境的动作。
图2示出了示例训练系统200。训练系统200是在其中实现下文描述的系统、组件和技术的在一个或多个位置的一个或多个计算机上实现为计算机程序的系统的示例。
训练系统200被配置为训练(一个或多个)动作选择神经网络102(如参考图1所述)以通过执行使用(一个或多个)动作选择神经网络102选择的动作来优化智能体接收的总奖励的累积度量。
如上所述,训练系统200可以至少基于以下来确定智能体在时间步接收的“总”奖励202:(i)该时间步的“外在”奖励204、(ii)该时间步的“探索”奖励206和(iii)由对于该时间步所属的情节被采样的回报计算方案210指定的内在奖励缩放因子。
如上所述,内在奖励206可以表征在该时间步智能体朝向探索环境的进展。例如,训练系统200可以基于以下之间的相似性度量来确定该时间步的内在奖励206:(i)表征环境在该时间步的状态的观察212的嵌入,和(ii)表征环境在相应的先前时间步的状态的一个或多个先前观察的嵌入。特别地,在时间步的观察嵌入与在先前时间步的观察的嵌入之间的较低相似性可以指示智能体正在探索环境中先前没看见的方面,因此导致较高的内在奖励206。训练系统200可以通过使用内在奖励系统300处理表征环境在该时间步的状态的观察212来生成该时间步的内在奖励206,这将参考图3更详细地进行描述。
为了训练(一个或多个)动作选择神经网络102,训练系统200获得表征在任务情节期间智能体与环境在一个或多个(连续)时间步内的交互的“轨迹”。特别地,轨迹可以对于每个时间步指定:(i)表征环境在该时间步的状态的观察212,(ii)该时间步的内在奖励202,和(iii)该时间步的外在奖励。轨迹还指定与轨迹对应的回报计算方案,即,用于选择智能体在任务情节期间执行的动作的回报计算方案。
当存在单个动作选择神经网络时,训练引擎208随后可以通过根据时间步的内在奖励、时间步的外在奖励和如上所述的内在奖励缩放因子(即,恒定的内在奖励缩放因子,或者,如果不同的回报计算方案指定不同的内在奖励缩放因子,则为由与轨迹对应的回报计算方案指定的内在奖励缩放因子)计算每个时间步的相应总奖励来训练(一个或多个)动作选择神经网络102。
然后,训练引擎208可以使用强化学习技术在轨迹上训练动作选择神经网络。强化学习技术可以是例如Q学习技术,例如回溯Q学习技术或具有变换的贝尔曼算子的回溯Q学习技术,使得动作选择神经网络是Q神经网络并且动作分数是Q值,其估计如果智能体执行对应的动作则将被接收的预期回报。
一般地,强化学习技术使用在轨迹中的将来时间步接收的奖励的折损因子、在任何给定时间步之后接收的将来回报的估计或这两者来计算用于动作选择神经网络的训练的目标输出。当在轨迹上训练时,系统200在与轨迹对应的回报补偿方案中使用折损因子。这导致动作选择神经网络被训练以生成动作分数,当以不同的折损因子为条件时,该动作分数对将来的奖励进行不同的加权。
当存在两个动作选择神经网络102时,训练引擎208可以在同一轨迹上分别训练这两个动作选择神经网络102,即,而不是计算轨迹中时间步的总奖励。更特别地,训练引擎208可以使用强化学习技术(但是对于轨迹中的时间步仅使用内在奖励)来训练内在奖励动作选择神经网络。训练引擎208还可以使用强化学习技术(但是对于轨迹中的时间步仅使用外在奖励)来训练外在奖励动作选择神经网络。
对于两个神经网络的训练,训练引擎208可以使用相同的“目标”策略进行训练,即,选择使使用对应的回报计算方案210中的缩放因子计算的总奖励最大化的动作的策略。类似地并且如上所述,当在轨迹上训练时,系统200在对应于轨迹的回报补偿方案中使用折损因子。这导致动作选择神经网络被训练以生成动作分数,当以不同的折损因子为条件时,该动作分数对将来的奖励进行不同的加权。
在这样做时,系统200训练内在奖励动作选择神经网络以生成内在动作分数(“估计的内在回报”),其是如果智能体执行对应的动作则将接收的内在回报的估计,同时训练外在奖励动作选择神经网络以生成外在动作分数(“估计的外在回报”),其是如果智能体执行对应的动作则将接收的外在回报的估计。
在一些实施方式中,在训练期间,系统100可以生成轨迹以供训练系统200在使用多个行动者(actor)计算单元训练(一个或多个)动作选择神经网络102时使用。在这些实施方式中的一些实施方式中,每个行动者计算单元维护并单独更新用于在多个不同的回报计算方案之间进行选择的策略。当不同的行动者计算单元在ε-贪婪控制中使用不同的ε值或以其他方式不同地控制智能体时,这可能是有益的。在一些其他实施方式中,系统可以维护对所有行动者计算单元都相同的中央策略。
当使用多个行动者计算单元时,每个行动者计算单元可以重复执行上面参考图1描述的操作,以控制智能体的实例执行任务情节,并使用任务情节期间智能体交互的结果更新回报计算方案选择策略(即中央策略或由行动者计算单元单独维护的策略),并生成用于训练(一个或多个)动作选择神经网络的训练数据。
计算单元可以是例如计算机、具有多个核的计算机内的核或能够独立执行操作的计算机内的其他硬件或软件,例如专用线程。计算单元可以包括处理器核、处理器、微处理器、专用逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(专用集成电路))或任何其他适当的计算单元。在一些示例中,计算单元都是相同类型的计算单元。在其他示例中,计算单元可以是不同类型的计算单元。例如,一个计算单元可以是CPU,而其他计算单元可以是GPU。
训练系统200将每个行动者计算单元生成的轨迹存储在称为重放缓冲器的数据存储中,并且在多次训练迭代中的每一次,从重放缓冲器采样一批轨迹,以用于训练(一个或多个)动作选择神经网络102。训练系统200可以根据优先化体验重放算法从重放缓冲器中采样轨迹,例如,通过为每个存储的轨迹分配相应的分数,并且根据分数采样轨迹。T.Schaul等人的“优先化体验重放(Prioritized experience replay)”(arXiv:1511.05952v4(2016))中描述了示例优先化体验重放算法。
其他可能的内在奖励缩放因子可以是相应的正数(通常全部彼此不同),并且可以被认为导致动作选择神经网络实现相应的“探索性”动作选择策略。探索性动作选择策略,在由对应的内在奖励缩放因子限定的程度上,促使智能体不仅解决其任务,而且还探索环境。
(一个或多个)动作选择神经网络102可以使用由探索性动作选择策略提供的信息来学习更有效的资源开发性(exploitative)动作选择策略。探索性策略提供的信息可以包括例如存储在(一个或多个)动作选择神经网络的共享权重中的信息。通过联合学习一系列动作选择策略,训练系统200可以使(一个或多个)动作选择神经网络102能够更高效地学习每个单独的动作选择策略,例如通过更少的训练迭代。此外,学习探索性策略使系统能够持续训练动作选择神经网络,即便外在奖励是稀疏的(例如,很少是非零的)也如此。
在完成(一个或多个)动作选择神经网络的训练之后,系统100可以继续更新方案选择策略并如上所述选择方案,或者固定方案选择策略并通过贪婪地选择方案选择策略指示最高奖励分数的方案来控制智能体。
通常,系统可以使用表征探索进展而不是任务进展的任何类型的奖励作为内在奖励。下面参考图3描述内在奖励的一个特定示例和生成内在奖励的系统的描述。
图3示出了示例内在奖励系统300。内在奖励系统300是在其中实现下文描述的系统、组件和技术的在一个或多个位置的一个或多个计算机上实现为计算机程序的系统的示例。
内在奖励系统300被配置为处理表征环境的当前状态的当前观察212以生成表征智能体在探索环境中的进展的内在奖励206。由系统300生成的内在奖励206可以被例如参考图2描述的训练系统200使用。
系统300包括嵌入神经网络302、外部存储器304和比较引擎306,接下来将更详细地描述其中的每一个。
嵌入神经网络302被配置为处理当前观察212以生成当前观察的嵌入,其被称为“可控性表示”308(或“嵌入的可控性表示”)。当前观察212的可控性表示308可以被表示为数值的有序集合,例如,数值数组。嵌入神经网络302可以被实现为具有多层的神经网络,其中,该层中的一个或多个执行由在嵌入神经网络302的训练期间修改的权重限定的功能。在某些情况下,特别是在当前观察是至少一个图像的形式时,层中的一个或多个,例如至少嵌入神经网络的第一层,可以被实现为卷积层。
系统300可以训练嵌入神经网络302以生成表征可以由智能体控制的环境的状态的各个方面的观察的可控性表示。如果环境的状态的方面(至少部分地)由智能体执行的动作确定,则可以将其称为可由智能体控制。例如,被机器人智能体的致动器抓握的对象的位置可以由智能体控制,而环境照明条件或环境中其他智能体的移动可能无法由智能体控制。下面更详细地描述用于训练嵌入神经网络302的示例技术。
外部存储器304存储表征环境在先前时间步的状态的先前观察的可控性表示。
比较引擎306被配置为通过将当前观察212的可控性表示308与存储在外部存储器304中的先前观察的可控性表示进行比较来生成内在奖励206。通常,如果当前观察212的可控性表示308与存储在外部存储器中的先前观察的可控性表示较不相似,则比较引擎306可以生成较高的内在奖励206。
例如,比较引擎306可以按以下生成内在奖励rt:
其中,表示外部存储器304中与当前观察212的可控性表示308具有最高相似性(例如,通过欧几里得相似性度量)的一组k个可控性表示fi(其中,k是预定义的正整数值,其通常大于一),f(xt)表示被表示为xt的当前观察212的可控性表示308,K(·,·)表示为“核”函数,并且c是用于促进数值稳定性的预定义常数值(例如,c=0.001)。核函数K(·,·)可例如由下式给出:
其中,d(f(xt),fi)表示可控性表示f(xt)和fi之间的欧几里得距离f(xt),∈表示用于促进数值稳定性的预定义常数值,并且表示:(i)在时间步的观察的可控性表示,和(ii)来自外部存储器的k个最相似的可控性表示中的可控性表示之间的均方欧几里得距离的运行平均(即,在多个时间步上,例如固定的多个时间步上的运行平均)。如果当前观察212的可控性表示308与存储在外部存储器中的先前观察的可控性表示较不相似,则用于生成内在奖励206的导致更高的内在奖励206的其他技术也是可能的,并且式子(2)-(3)仅供说明之用。
基于表征环境的状态的可控方面的可控性表示确定内在奖励206可以使得能够更有效地训练动作选择神经网络。例如,环境的状态可能会独立于智能体执行的动作而变化,例如,在具有照明变化和干扰(distractor)对象存在的现实世界环境中的情况下。特别地,表征环境的当前状态的观察可能与表征环境的先前状态的观察大不相同,即使智能体在中间时间步中没有执行动作。因此,被训练为最大化通过直接比较表征环境的状态的观察而确定的内在奖励的智能体可能不执行对环境的有意义探索,例如,因为即使不执行任何动作,智能体也可能接收积极的内在奖励。相比之下,系统300生成激励智能体实现对环境的可控方面的有意义探索的内在奖励。
除了使用当前观察212的可控性表示308生成当前时间步的内在奖励206之外,系统300可以将当前观察212的可控性表示308存储在外部存储器304中。
在一些实施方式中,外部存储器304可以是“情节”存储器,即,使得系统300在每次满足存储器重置标准时“重置”外部存储器(例如,通过擦除其内容)。例如,如果在当前时间步之前存储器重置标准最后被满足预定数量的时间步N>1,或者如果智能体在当前时间步完成其任务,则系统300可以确定在当前时间步满足存储器重置标准。在外部存储器304是情节存储器的实施方式中,由比较引擎306生成的内在奖励206可以被称为“情节”内在奖励。情节内在奖励可以促成智能体通过执行导致环境的状态反复转换到每个可能状态的动作来不断探索环境。
除了确定情节内在奖励之外,系统300还可以确定“非情节”内在奖励,即,取决于环境在每个先前时间步而非仅仅自最后一次重置情景存储器起的那些时间步的状态的内在奖励。非情节内在奖励可以是例如随机网络蒸馏(RND)奖励,如参考Y.Burda等人的“通过随机网络蒸馏进行探索(Exploration by random network distillation)”(arXiv:1810.12894v1(2018))所述。随着智能体探索环境,非情节内在奖励可能会随着时间的推移而减少,并且不促成智能体反复重新访问环境的所有可能状态。
可选地,系统300可以基于情节奖励和非情节奖励两者生成当前时间步的内在奖励206。例如,系统300可以如下生成时间步的内在奖励Rt:
Rt=rt episodic·min{max{rt non-episodic,1},L} (4)
其中,rt episodic表示情节奖励,例如,由比较引擎306使用情节外部存储器304生成的情节奖励,并且rt non-episodic表示非情节奖励,例如,随机网络蒸馏(RND)奖励,其中,非情节奖励的值被剪裁(clip)到预定义的范围[1,L],其中,L>1。
接下来更详细地描述用于训练嵌入神经网络302的一些示例技术。
在一个示例中,系统300可以与动作预测神经网络联合训练嵌入神经网络302。动作预测神经网络可以被配置为接收包括以下的相应可控性表示(由嵌入神经网络生成)的输入:(i)表征环境在第一时间步的状态的第一观察,和(ii)表征环境在下一时间步的状态的第二观察。动作预测神经网络可以处理输入以生成导致环境的状态从第一观察转变为第二观察的由智能体执行的动作的预测。系统300可以训练嵌入神经网络302和动作预测神经网络以优化衡量以下之间的误差的目标函数:(i)由动作预测神经网络生成的预测动作,和(ii)智能体实际执行的“目标”动作。特别地,系统300可以在多次训练迭代中的每一次将目标函数的梯度反向传播通过动作预测神经网络并进入嵌入神经网络302中。目标函数可以是例如交叉熵目标函数。以这种方式训练嵌入神经网络促成可控性表示对关于受智能体的动作影响的环境的信息(即环境的可控方面)进行编码。
在另一示例中,系统300可以与状态预测神经网络联合训练嵌入神经网络302。状态预测神经网络可以被配置为处理输入,该输入包括:(i)表征环境在时间步的状态的观察的可控性表示(由嵌入神经网络302生成),和(ii)智能体在该时间步执行的动作的表示。状态预测神经网络可以处理输入以生成表征环境在下一步(即智能体执行动作之后)的预测状态的输出。该输出可以包括例如表征环境在下一时间步的预测状态的预测可控性表示。系统300可以联合训练嵌入神经网络302和状态预测神经网络以优化衡量以下之间的误差的目标函数:(i)由状态预测神经网络生成的预测可控性表示,和(ii)表征环境在下一时间步的实际状态的“目标”可控性表示。“目标”可控性表示可以由嵌入神经网络基于表征环境在下一时间步的实际状态的观察生成。特别地,系统300可以在多次训练迭代中的每一次将目标函数的梯度反向传播通过状态预测神经网络并进入嵌入神经网络302中。目标函数可以是例如平方误差目标函数。以这种方式训练嵌入神经网络促成可控性表示对关于受智能体的动作影响的环境的信息(即环境的可控方面)进行编码。
图4是用于执行任务情节和更新回报计算方案选择策略的示例过程400的流程图。为方便起见,过程400将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书被适当编程的动作选择系统,例如图1的动作选择系统100,可以执行过程500。
系统维护策略数据,其指定用于在多个不同的回报计算方案之间进行选择的策略,在执行任务的情节时每个回报计算方案对探索环境分配不同的重要性(步骤402)。
系统使用策略从多个不同的回报计算方案中选择回报计算方案(步骤404)。例如,该策略可以将相应的奖励分数分配给每个方案,该奖励分数表示如果该方案对于情节被用于控制智能体则将接收的奖励信号的当前估计。作为一个示例,为了选择策略,系统可以选择具有最高奖励分数的方案。作为另一示例,在概率ε下,系统可以从一组方案中选择随机方案,并且在概率1-ε下,系统可以选择具有由策略限定的最高奖励分数的方案。作为另一示例,为了选择策略,系统可以将奖励分数映射到一组回报计算方案上的概率分布,然后根据概率分布采样方案。
系统控制智能体执行任务的情节以最大化根据选择的回报计算方案计算的回报(步骤406)。也就是说,在任务情节期间,系统使(一个或多个)动作选择神经网络以识别选择的回报计算方案的数据为条件。
系统识别由于智能体执行任务的情节的结果而生成的奖励(步骤408)。作为特定示例,系统可以识别外在奖励,即衡量任务进展的奖励,该奖励在任务情节中的每个时间步被接收。
系统使用识别的奖励更新用于在多个不同的回报计算方案之间进行选择的策略(步骤410)。
通常,系统使用具有与回报计算方案中的每一个对应的相应臂的非平稳多臂老虎机算法来更新策略。
更特别地,系统可以根据识别的奖励生成老虎机算法的奖励信号,然后使用奖励信号更新策略。奖励信号可以是在任务情节期间接收的外在奖励的组合,例如,作为接收的奖励的未折损和的未折损外在奖励。
系统可以使用多种非平稳多臂老虎机算法中的任何一种来执行更新。
作为特定示例,对于每个方案,系统可以计算对于在当前情节的某固定数量的任务情节内(即在固定长度的最近的范围内)的情节已经接收的奖励信号的经验均值。然后,系统可以根据方案的经验均值计算每个方案的奖励分数。例如,系统可以通过向给定方案的经验均值添加置信界限津贴(confidence bound bonus)来计算给定方案的奖励分数。置信界限津贴可以基于在最近的范围内给定方案已被选择的次数来确定,即,使得选择次数越少的方案被分配的津贴越大。作为特定示例,在第k个任务情节之后计算的给定方案a的津贴可以满足:
其中,β是固定权重,Nk-1(a,τ)是给定方案a在最近范围内已被选择的次数,并且τ是范围的长度。
因此,系统在训练(一个或多个)动作选择神经网络期间适应性地修改用于在回报计算方案之间进行选择的策略,从而导致在训练期间的不同时间不同的回报计算方案受到策略的偏爱(因此更有可能被选择)。因为在训练中的任何给定点策略基于不同方案的预期奖励信号(其基于外在奖励),因此系统更有可能选择在任务情节的过程中更有可能导致收集更高外在奖励的方案,从而导致对于(一个或多个)动作选择神经网络生成更高质量的训练数据。
本说明书与系统和计算机程序组件有关地使用术语“被配置”。一个或多个计算机的系统被配置为执行特定操作或动作的意思是系统在其上安装有软件、固件、硬件或其组合,在操作时,软件、固件、硬件或其组合使系统执行操作或动作。一个或多个计算机程序被配置为执行特定操作或动作的意思是一个或多个程序包括指令,当在由数据处理装置执行该指令时使装置执行操作或动作。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路、有形地实现的计算机软件或固件、计算机硬件(包括本说明书中公开的结构以及其结构等效物)或它们中的一个或多个的组合中实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即编码在有形非暂态存储介质上以供数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机存储介质可以是机器可读存储设备、机器可读存储基片、随机或串行存取存储器设备或它们中一个或多个的组合。替代地或额外地,程序指令可以编码在人工生成的传播的信号(例如,机器生成的电、光或电磁信号,其被生成为编码信息以传输到合适的接收器装置以供数据处理装置执行)上。
术语“数据处理装置”是指数据处理硬件并且涵盖用于处理数据的所有种类的装置、设备和机器,举例来说包括可编程处理器、计算机或多个处理器或计算机。所述装置还可以是或者进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,所述装置可以可选地包括代码,该代码为计算机程序创建执行环境,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中一个或多个的组合的代码。
计算机程序(其也被称为或被描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码)可以以任何形式的编程语言编写,包括编译或解释性语言、陈述性或过程语言,并且可以以任何形式部署计算机程序,包括作为独立程序或作为模块、组件、子例程或其他适于用在计算环境中的单元。程序可以但不必与文件系统中的文件对应。程序可以存储在保持其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中、在专用于所讨论程序的单个文件中或在多个协作的文件(例如,存储一个或多个模块、子程序或代码的一些部分的文件)中。计算机程序可以部署为在一个或多个计算机上执行,这些计算机位于一个站点或跨多个站点分布并通过数据通信网络互联。
在本说明书中,术语“引擎”被用于宽泛地指基于软件的系统、子系统或被编程为执行一个或多个特有功能的过程。通常,引擎将被实现为安装在一个或多个位置的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,多个引擎可以安装并运行在相同的计算机或多个计算机上。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,从而通过对输入数据进行操作并生成输出来执行功能。所述过程和逻辑流程也可以由专用逻辑电路(例如FPGA或ASIC)执行,或者由专用逻辑电路和一个或多个经编程计算机的组合来执行。
适用于执行计算机程序的计算机可以基于通用或专用微处理器或二者,或者任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或二者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路来补充或可以结合到其中。一般来说,计算机将也包括用于存储数据的一个或多个大容量存储设备(例如、磁盘、磁光盘或光盘)或可以操作性地联接一个或多个大容量存储设备以从其接收数据或将数据传送到其处或者接收和传输二者。然而,计算机不必具有这样的设备。另外,计算机可以嵌入到另一设备(例如,仅举例几个,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如通用串行总线(USB)快闪驱动器))中。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,举例来说,包括半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以实现在具有显示设备及键盘和指向设备的计算机上,显示设备例如用于向用户显示信息的CRT(阴极射线管)或LCD(液晶显示)监视器,用户可以通过键盘和指向设备向计算机提供输入,指向设备例如为鼠标或轨迹球。也可以使用其他种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。此外,通过向由用户使用的设备发送文档和接收来自该设备的文档;例如,通过响应于从web浏览器接收的请求而将网页发送到用户的设备上的web浏览器,计算机可以与用户交互。另外,计算机可以通过将文本消息或其他形式的消息发送到个人设备(例如,运行消息收发应用的智能电话)并且作为回应从用户接收响应消息来与用户交互。
用于实现机器学习模型的数据处理装置还可以包括例如用于处理机器学习训练或产生的一般和计算密集部分(即,推断、工作负荷)的专用硬件加速器单元。
机器学习模型可以使用机器学习框架(例如,TensorFlow框架、微软认知工具包框架(Microsoft Cognitive Toolkit framework)、Apache Singa框架或Apache MXNet框架)来实现和部署。
本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括后端组件(例如作为数据服务器)或包括中间件组件(例如应用服务器)或包括前端组件(例如具有图形用户界面、web浏览器或app的客户端计算机,用户可通过其与本说明书中描述的主题的实施方式进行交互),或者一个或多个这样的后端、中间件或前端组件的任意组合。可以通过数字数据通信的任意形式或媒介(例如通信网络)将系统的组件互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。
计算系统可以包括客户端和服务器。一般来说,客户端和服务器彼此远离,并且通常通过通信网络交互。通过运行在相应计算机并且彼此具有客户端-服务器关系的计算机程序而形成的客户端和服务器的关系。在一些实施例中,服务器向充当客户端的用户设备传输数据(例如,HTML页面)(例如,用于向与设备交互的用户显示数据和从其接收用户输入的目的)。在用户设备处生成的数据(例如,用户交互的结果)可以在服务器处从该设备接收。
尽管本说明书包含许多具体的实现方式细节,但是这些细节不应当被解释为对任何发明的范围或对可能请求保护的范围进行限制,而应该被解释为可能特定于特定发明的特定实施例的特征的描述。在本说明书中在单独的实施例的上下文中描述的某些特征也可以以组合实现在单个实施例中。相反,在单个实施例的上下文中描述的各种特征也单独地可以在多个实施例中实现或以任何合适的子组合实现。此外,尽管特征可以如上被描述为以某些组合起作用并且甚至最初也这样地请求,但在一些情况下,来自所请求保护的组合的一个或多个特征可以从组合中排除,并且所请求保护的组合可以涉及子组合或子组合的变体。
类似地,尽管在附图中以特定顺序描绘了操作并且在权利要求中以特定顺序记载了操作,但是这不应当被理解为需要以示出的特定顺序或以相继的顺序来执行这样的操作或者需要执行所有示意的操作来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。另外,上述实施例中各种系统模块和组件的分离不应当被理解为在所有实施例中要求这样的分离,而是应当理解,所描述的程序组件和系统可一般地在单个软件产品中被集成在一起或者被封装成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,记载在权利要求中的动作可以以不同的顺序执行而仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定需要所示出的特定顺序或者相继顺序来实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。
Claims (16)
1.一种用于控制与环境交互的智能体以执行任务的情节的方法,所述方法包括:
维护指定用于在多个不同的回报计算方案之间进行选择的策略的数据,在执行所述任务的情节时每个回报计算方案向探索所述环境分配不同的重要性;
使用所述策略从所述多个不同的回报计算方案选择回报计算方案;
控制所述智能体执行所述任务的情节以最大化根据选择的回报计算方案计算的回报;
识别作为所述智能体执行所述任务的情节的结果而生成的奖励;和
使用识别的奖励更新用于在多个不同的回报计算方案之间进行选择的所述策略。
2.根据权利要求1所述的方法,其中,所述多个不同的回报计算方案各自至少指定用于组合奖励以生成回报的相应折损因子。
3.根据前述权利要求中任一项所述的方法,其中,所述多个不同的回报计算方案各自至少指定相应的内在奖励缩放因子,所述内在奖励缩放因子限定在生成回报时内在奖励相对于从所述环境接收的外在奖励的重要性。
4.根据前述权利要求中任一项所述的方法,其中,控制所述智能体执行所述任务的情节以最大化根据选择的回报计算方案计算的回报包括重复执行以下:
接收表征所述环境的当前状态的观察;
使用一个或多个动作选择神经网络处理所述观察和指定选择的回报计算方案的数据,以生成动作选择输出;和
使用所述动作选择输出选择要由所述智能体执行的动作。
5.根据权利要求4所述的方法,其中,所述环境是现实世界环境,每个观察是被配置为感测所述环境的至少一个传感器的输出,并且所述智能体是与所述环境交互的机械智能体。
6.根据权利要求4或5所述的方法,其中,所述一个或多个动作选择神经网络包括:
内在奖励动作选择神经网络,其估计仅根据由内在奖励系统基于在与所述环境的交互期间接收的观察生成的内在奖励而计算的内在回报;和
外在奖励动作选择神经网络,其估计仅根据作为与所述环境的交互的结果从所述环境接收的外在奖励而计算的外在回报。
7.根据权利要求6所述的方法,其中,使用一个或多个动作选择神经网络处理所述观察和指定选择的回报计算方案的数据以生成动作选择输出包括,对于一组动作中的每个动作:
使用所述内在奖励动作选择神经网络处理所述观察、动作和指定选择的回报计算方案的数据,以生成如果所述智能体响应于所述观察执行所述动作则将接收的估计的内在回报;
使用所述外在奖励动作选择神经网络处理所述观察、动作和指定选择的回报计算方案的数据,以生成如果所述智能体响应于所述观察执行所述动作则将接收的估计的外在回报;和
根据估计的内在奖励和估计的外在奖励确定最终回报估计。
8.根据权利要求7所述的方法,其中,使用所述动作选择输出选择要由所述智能体执行的动作包括以概率1-ε选择具有最高最终回报估计的动作并以概率ε从一组动作中选择随机动作。
9.根据权利要求6-8中任一项所述的方法,其中,两个动作选择神经网络具有相同的架构但参数值不同。
10.根据权利要求5-9中任一项所述的方法,还包括:
根据任务情节的执行生成训练数据;和
通过强化学习在所述训练数据上训练所述一个或多个动作选择神经网络。
11.根据当还从属于权利要求6-9中任一项时的权利要求10所述的方法,其中,在所述训练数据上训练所述一个或多个动作选择神经网络包括:
仅使用由于任务情节的执行的结果而生成的内在奖励训练所述内在奖励动作选择神经网络;和
仅使用在任务情节的执行期间接收的外在奖励训练所述外在奖励动作选择神经网络。
12.根据前述权利要求中任一项所述的方法,其中,所述策略将相应的奖励分数分配给所述回报计算方案中的每一个。
13.根据前述权利要求中任一项所述的方法,其中,使用具有与所述回报计算方案中的每一个对应的相应臂的非平稳多臂老虎机算法来更新所述策略。
14.根据权利要求13所述的方法,其中,使用识别的奖励来更新用于在多个不同的回报计算方案之间进行选择的策略包括:
根据任务情节的执行期间接收的外在回报确定未折损的外在奖励;和
通过使用所述未折损的外在奖励作为所述非平稳多臂老虎机算法的奖励信号来更新所述策略。
15.一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-14中任一项所述的相应方法的操作。
16.一种或多种存储指令的非暂时性计算机存储介质,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行根据权利要求1-15中任一项所述的相应方法的操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062971890P | 2020-02-07 | 2020-02-07 | |
US62/971,890 | 2020-02-07 | ||
PCT/EP2021/052988 WO2021156518A1 (en) | 2020-02-07 | 2021-02-08 | Reinforcement learning with adaptive return computation schemes |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115298668A true CN115298668A (zh) | 2022-11-04 |
Family
ID=74591970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180021105.3A Pending CN115298668A (zh) | 2020-02-07 | 2021-02-08 | 使用适应性回报计算方案强化学习 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20230059004A1 (zh) |
EP (1) | EP4100881A1 (zh) |
JP (1) | JP2023512722A (zh) |
KR (1) | KR20220137732A (zh) |
CN (1) | CN115298668A (zh) |
CA (1) | CA3167201A1 (zh) |
WO (1) | WO2021156518A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114362773B (zh) * | 2021-12-29 | 2022-12-06 | 西南交通大学 | 一种面向光学射频对消的实时自适应追踪决策方法 |
GB202202994D0 (en) * | 2022-03-03 | 2022-04-20 | Deepmind Tech Ltd | Agent control through cultural transmission |
CN114676635B (zh) * | 2022-03-31 | 2022-11-11 | 香港中文大学(深圳) | 一种基于强化学习的光学谐振腔反向设计和优化的方法 |
CN114492845B (zh) * | 2022-04-01 | 2022-07-15 | 中国科学技术大学 | 资源受限条件下提高强化学习探索效率的方法 |
WO2024056891A1 (en) * | 2022-09-15 | 2024-03-21 | Deepmind Technologies Limited | Data-efficient reinforcement learning with adaptive return computation schemes |
US20240112038A1 (en) * | 2022-09-26 | 2024-04-04 | Deepmind Technologies Limited | Controlling agents using reporter neural networks |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10977551B2 (en) * | 2016-12-14 | 2021-04-13 | Microsoft Technology Licensing, Llc | Hybrid reward architecture for reinforcement learning |
-
2021
- 2021-02-08 KR KR1020227030755A patent/KR20220137732A/ko unknown
- 2021-02-08 US US17/797,878 patent/US20230059004A1/en active Pending
- 2021-02-08 JP JP2022548005A patent/JP2023512722A/ja active Pending
- 2021-02-08 CA CA3167201A patent/CA3167201A1/en active Pending
- 2021-02-08 CN CN202180021105.3A patent/CN115298668A/zh active Pending
- 2021-02-08 WO PCT/EP2021/052988 patent/WO2021156518A1/en unknown
- 2021-02-08 EP EP21704741.4A patent/EP4100881A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230059004A1 (en) | 2023-02-23 |
CA3167201A1 (en) | 2021-08-12 |
JP2023512722A (ja) | 2023-03-28 |
WO2021156518A1 (en) | 2021-08-12 |
KR20220137732A (ko) | 2022-10-12 |
EP4100881A1 (en) | 2022-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11663441B2 (en) | Action selection neural network training using imitation learning in latent space | |
US20230059004A1 (en) | Reinforcement learning with adaptive return computation schemes | |
US11714990B2 (en) | Jointly learning exploratory and non-exploratory action selection policies | |
US11627165B2 (en) | Multi-agent reinforcement learning with matchmaking policies | |
CN112292693A (zh) | 强化学习系统训练返回函数的元梯度更新 | |
US10872294B2 (en) | Imitation learning using a generative predecessor neural network | |
CN112119404A (zh) | 样本高效的强化学习 | |
WO2021058588A1 (en) | Training action selection neural networks using hindsight modelling | |
WO2021058583A1 (en) | Training action selection neural networks using q-learning combined with look ahead search | |
JP7354460B2 (ja) | ブートストラップされた潜在性の予測を使用するエージェント制御のための学習環境表現 | |
CN115280322A (zh) | 使用学习的隐藏状态规划作用因素控制 | |
CN116324818A (zh) | 使用增强时间差异学习训练强化学习智能体 | |
CN115380293A (zh) | 多任务强化学习中利用元梯度学习动作选择的选项 | |
EP3788554B1 (en) | Imitation learning using a generative predecessor neural network | |
CN115066686A (zh) | 使用对规划嵌入的注意操作生成在环境中实现目标的隐式规划 | |
JP7467689B2 (ja) | 相対エントロピーq学習を使ったアクション選択システムのトレーニング | |
US20240185083A1 (en) | Learning diverse skills for tasks using sequential latent variables for environment dynamics | |
US20230093451A1 (en) | State-dependent action space quantization | |
US20240104379A1 (en) | Agent control through in-context reinforcement learning | |
WO2024056891A1 (en) | Data-efficient reinforcement learning with adaptive return computation schemes | |
EP4356302A1 (en) | Controlling agents by switching between control policies during task episodes |
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 |