CN110574046A - 各种行为的数据有效模仿 - Google Patents
各种行为的数据有效模仿 Download PDFInfo
- Publication number
- CN110574046A CN110574046A CN201880027559.XA CN201880027559A CN110574046A CN 110574046 A CN110574046 A CN 110574046A CN 201880027559 A CN201880027559 A CN 201880027559A CN 110574046 A CN110574046 A CN 110574046A
- Authority
- CN
- China
- Prior art keywords
- neural network
- encoder
- state
- action
- discriminator
- 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
- 230000006399 behavior Effects 0.000 title description 39
- 238000013528 artificial neural network Methods 0.000 claims abstract description 131
- 230000009471 action Effects 0.000 claims abstract description 103
- 238000000034 method Methods 0.000 claims abstract description 87
- 238000012549 training Methods 0.000 claims abstract description 68
- 230000004044 response Effects 0.000 claims abstract description 17
- 230000000875 corresponding effect Effects 0.000 claims abstract description 15
- 230000007613 environmental effect Effects 0.000 claims abstract description 5
- 239000003795 chemical substances by application Substances 0.000 claims description 58
- 230000002787 reinforcement Effects 0.000 claims description 43
- 230000006870 function Effects 0.000 claims description 35
- 230000033001 locomotion Effects 0.000 claims description 32
- 230000003278 mimic effect Effects 0.000 claims description 28
- 239000013598 vector Substances 0.000 claims description 17
- 230000000306 recurrent effect Effects 0.000 claims description 8
- 230000001143 conditioned effect Effects 0.000 claims description 7
- 101100001674 Emericella variicolor andI gene Proteins 0.000 claims description 6
- 230000002457 bidirectional effect Effects 0.000 claims description 5
- 230000006403 short-term memory Effects 0.000 claims description 4
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000004590 computer program Methods 0.000 abstract description 16
- 230000008569 process Effects 0.000 description 20
- 238000012545 processing Methods 0.000 description 12
- 230000015654 memory Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010367 cloning Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000003542 behavioural effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000002620 method output Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- 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
- 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/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder 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/088—Non-supervised learning, e.g. competitive learning
-
- 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/092—Reinforcement learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Feedback Control In General (AREA)
Abstract
方法、系统和装置,包括在计算机存储介质上编码的计算机程序,用于训练神经网络,该神经网络用于选择要由与环境交互的代理执行的动作。所述方法之一包括:获得识别轨迹集合的数据,每个轨迹包括表征环境状态集合的观察集合和另一代理响应于所述状态执行的相应动作;获得识别编码器的数据,其将观察结果映射到嵌入上以用于确定模仿轨迹集合;对于每个轨迹,通过将编码器应用于该轨迹而确定相应的嵌入;通过将神经网络定义的策略应用于每个轨迹的嵌入,确定模仿轨迹集合;以及基于轨迹集合、模仿轨迹集合和嵌入来调整神经网络的参数。
Description
对相关申请的交叉引用
本申请是2017年5月19日提交的美国临时专利申请第62/508,972号的非临时申请并要求其优先权,其全部内容通过引用合并于此。
技术领域
本说明书涉及用于训练神经网络的方法和系统。
背景技术
在强化学习系统中,代理通过执行由强化学习系统响应于接收到表征环境的当前状态的观察而选择的动作来与环境交互。
一些强化学习系统根据神经网络的输出,响应于接收到给定的观察,选择由代理要执行的动作。
神经网络是采用一层或多层非线性单元来预测接收的输入的输出的机器学习模型。一些神经网络除输出层外还包括一个或多个隐藏层。每个隐藏层的输出用作网络中下一个层、即下一个隐藏层或输出层的输入。网络的每一层根据相应的一组参数的当前值从接收的输入生成输出。
一些神经网络是循环神经网络(recurrent neural network)。循环神经网络是接收输入序列并从输入序列生成输出序列的神经网络。具体地,循环神经网络可以在计算当前时间步骤的输出中使用来自先前时间步骤的网络的部分或全部内部状态。循环神经网络的示例是长短期(long short term,LSTM)神经网络,其包括一个或多个LSTM记忆块。每个LSTM记忆块可以包括一个或多个单元,每个单元包括输入门、忘记门和输出门,允许该单元存储该单元的先前状态,例如,用于生成当前激活或提供给LSTM神经网络的其他组件。
发明内容
该说明书描述了一种被实现为在一个或多个位置的一个或多个计算机上的计算机程序的系统如何能够调整神经网络的参数,该神经网络用于响应于接收的观察选择由与环境交互的代理执行的动作。这通常被称为“训练”神经网络。
本文描述的实施方式利用变分自编码和强化学习的组合来训练系统以模仿训练轨迹集合的行为。
在强化学习系统中,可以输出数据以在系统的控制下选择要执行的动作。为了使代理与环境交互,系统接收表征在时间t的环境ε的当前状态xt的数据,并根据其策略π响应于接收的数据选择要由代理执行的动作at。策略π是从状态到动作的映射。作为回报,代理接收标量奖励rt。回报是从时间步骤t起的总累积奖励,折扣因子为γk∈(0,1]。代理的目标是最大化来自每个状态的预期回报。在本说明书中,将表征环境的状态的数据称为观察。
在一些实施方式中,环境是模拟环境,并且代理被实现为与模拟环境交互的一个或多个计算机程序。例如,模拟环境可以是视频游戏,并且代理可以是玩视频游戏的模拟用户。作为另一个示例,模拟环境可以是运动模拟环境,例如驾驶模拟或飞行模拟,并且代理是在运动模拟中导航的模拟车辆。在这些实施方式中,动作可以是控制模拟用户或模拟车辆的控制输入。在另一个示例中,模拟环境可以是机器人的环境,并且代理可以是模拟机器人。然后,可以训练模拟机器人以在模拟环境中执行任务,并将训练转移到控制真实机器人的系统。
在一些其他实施方式中,环境是真实世界环境,并且代理是与真实世界环境交互的机械代理。例如,代理可以是与环境交互以完成特定任务的机器人。作为另一个示例,代理可以是在环境中导航的自主或半自主车辆。在这些实施方式中,动作可以控制输入以控制机器人或自主车辆。
通常,本说明书中描述的主题的一个创新方面可以体现在一种用于训练神经网络以选择要由与环境交互的代理执行的动作的方法。所述方法包括:获得识别轨迹集合的数据,每个轨迹包括表征环境状态集合的观察集合和另一代理响应于所述状态执行的相应动作;以及获得识别编码器的数据,其将观察结果映射到嵌入上以用于确定模仿轨迹集合。所述方法还包括:通过将编码器应用于该轨迹,为每个轨迹确定相应的嵌入;通过将神经网络定义的策略应用于每个轨迹的嵌入,确定模仿轨迹集合;以及基于轨迹集合、模仿轨迹集合和嵌入来调整神经网络的参数。
模仿轨迹集合可以是包括旨在复制(训练)轨迹集合的状态动作对的轨迹。每个嵌入可以包括潜变量集合,其可以被解码以确定模仿轨迹集合。一旦已经调整了神经网络参数(一旦已经对神经网络进行了训练),神经网络就可以模仿在(训练)轨迹集合中观察的行为。
通过基于经由编码器确定的嵌入(潜变量)调整神经网络的参数,所得的神经网络更好地能够在更广泛的行为上以鲁棒的方式模仿轨迹集合的行为。由于神经网络对更广泛范围的行为进行建模,因此训练神经网络所需的训练轨迹数量更少。因此,该方法允许一次性学习。此外,该方法允许在合成控制器中重新使用。
与例如行为克隆(behavior cloning)相比,本文描述的方法提供了改善的训练。行为克隆因其顺序性质而效率低下,并且在训练数据集合没有演示适当的纠正行为的情况下无法有效地纠正错误。相反,通过使用已经在训练轨迹上训练的编码器来训练神经网络,本文描述的方法更好地能够从小的训练数据集合中鲁棒地学习多种行为。因此,本文描述的方法在训练神经网络上更加高效和有效。
调整神经网络的参数可以使用从已经使用嵌入为条件的鉴别器输出的值。使用潜变量对鉴别器值进行调节导致神经网络变得更加鲁棒,并表现出更大的建模行为多样性。更具体地,调节鉴别器值也允许生成各种奖励函数,它们中的每一个被定制以模仿不同的轨迹。奖励函数的增加的多样性为训练神经网络提供了更稳定的手段,因为该方法不会崩溃为一种特定的模式。这样允许建模的行为中具有更大的多样性。
调整神经网络的参数可以包括确定参数集合,其改善来自奖励函数的回报,奖励函数基于从鉴别器输出的值。因此,可以使用基于鉴别器的奖励函数(即,取决于相应轨迹的鉴别器值的各种奖励函数)经由强化学习来训练神经网络。由于鉴别器已经使用潜变量为条件,因此奖励函数也取决于已从轨迹集合编码的潜变量。这导致神经网络的鲁棒性提高。可以经由随机梯度上升或下降过程来确定参数。更具体地,可以经由信任域策略优化过程来确定参数。
更具体地说,奖励函数可以是:
其中:
是第j轨迹的第t奖励
是第j轨迹的总共Tj个状态动作对中的第t状态;
是第j轨迹的总共Tj个状态动作对中的第t动作;
zj是通过将编码器q应用于第j轨迹而计算的嵌入以及
Dψ是鉴别器的输出。
所述方法可以进一步包括基于所述嵌入来更新鉴别器参数集合。这允许迭代地重复方法以进一步改善神经网络。
所述方法可以包括迭代地:基于鉴别器更新神经网络的参数;基于轨迹集合、模仿轨迹集合和嵌入来更新鉴别器参数;以及使用更新的神经网络更新嵌入和模仿轨迹,直到满足结束条件为止。结束条件可以是为训练神经网络分配的最大迭代次数或最大时间量。该方法可以进一步包括:响应于满足结束条件,基于更新的鉴别器来更新神经网络的参数,并且输出神经网络的参数。
更新所述鉴别器参数集合可以利用梯度上升方法。更具体地,更新所述鉴别器参数集合可以包括实现:
其中:
Dψ是鉴别器函数;
ψ是鉴别器参数集合;
πθ是神经网络的策略;
θ是神经网络的参数集合;
πE表示生成轨迹集合的专家策略;
q是编码器;
τi是第i轨迹,其中是总共Ti个状态动作对中的第n状态,并且是第n动作;以及
z是嵌入。
因此,所述方法可以包括相对于θ最小化上述函数并且相对于ψ最大化上述函数。
更新所述鉴别器参数集合可以利用梯度上升方法,其中梯度为:
其中:
Dψ是鉴别器函数;
ψ是鉴别器参数集合;
θ是神经网络的参数集合;
轨迹集合中的每个轨迹τj是其中是总共Tj个状态动作对中的第n状态,并且是第n动作;
每个模仿轨迹是其中是总共个模仿状态动作对中的第n模仿状态,并且是第n模仿动作;以及
zj是轨迹τj的嵌入。
通过经由以上方法更新鉴别参数,可以利用更新后的鉴别器来确定改善的神经网络参数。
获得编码器可以包括:基于所述轨迹集合来训练变分自动编码器,其中,所述编码器形成所述变分自动编码器的一部分。因此,尽管可以使用预训练的编码器,但是该方法也可以包括基于轨迹的训练集合来训练编码器。这可以通过训练变分自动编码器来实现。变分自动编码器通常包括:编码器,用于从训练轨迹集合生成潜变量集合;以及解码器,用于对潜变量进行解码以生成模仿轨迹。
变分自动编码器可以进一步包括:状态解码器,用于对所述嵌入进行解码以生成模仿状态;以及动作解码器,用于对所述嵌入进行解码以生成模仿动作。模仿状态和模仿动作组合为状态动作对,以形成模仿轨迹。
所述动作解码器可以是多层感知器,并且所述状态解码器可以是自回归神经网络,诸如wavenet。
所述策略可以基于所述动作解码器。这允许将神经网络的训练自举(bootstrap)到已经在轨迹上进行训练的动作解码器的背面。最初,该策略可以合并从动作解码器获取的权重。话虽如此,由于注入到策略中的噪声,直接从动作解码器获取权重可能导致最初的性能下降,并破坏在动作解码器中存在的行为。
有利地,所述策略πθ可以为:
其中:
x是来自轨迹的状态;
z是通过将编码器应用于轨迹而计算的嵌入;
μθ是神经网络的平均输出;
μα是动作解码器的输出的平均;以及
σθ是神经网络的输出的方差。
这提供了改善的性能,并有助于避免噪声引起的问题。
在已经确定动作解码器之后,可以将动作解码器的权重保持恒定。通过冻结动作解码器的权重,可以防止动作解码器的劣化。
编码器可以是双向长短期记忆编码器。
总地来说,本说明书中描述的主题的另一创新方面可以体现在强化学习的方法中,该方法包括:获得训练的变分自动编码器神经网络的编码器,其中,变分自动编码器神经网络使用多个状态动作对的轨迹来训练,该变分自动编码器包括:编码器,该编码器包括循环神经网络,以将轨迹的概率分布编码为定义表示该概率分布的参数的嵌入矢量;以及解码器,从该概率分布中进行采样以提供解码的状态动作对;通过从由编码器对目标轨迹编码的概率分布中采样来确定目标轨迹的目标嵌入矢量;以及使用以目标嵌入矢量为条件的奖励值来训练强化学习神经网络。
强化学习神经网络可以包括神经网络,该神经网络包括策略生成器和鉴别器。可以使用策略生成器来选择要由与环境交互以模仿状态动作轨迹的代理执行的动作,使用鉴别器在模仿的状态动作轨迹和参考轨迹之间进行鉴别,以及使用以目标嵌入矢量为条件的奖励值来更新策略生成器的参数。
解码器可以包括动作解码器和状态解码器,并且状态解码器可以包括自回归神经网络以学习解码器的状态表示。
用于强化学习的相应系统包括变分自动编码器神经网络、特别是训练的变分自动编码器神经网络的编码器,该编码器包括循环神经网络,该循环神经网络被配置为将状态动作对的轨迹的概率分布编码为定义表示概率分布的参数的嵌入矢量,其中强化学习系统配置为通过从由编码器为目标轨迹编码的概率分布中进行采样来确定目标轨迹的目标嵌入矢量,并使用以目标嵌入矢量为条件的奖励值来训练强化学习神经网络。该系统可以包括如前所述的策略生成器和鉴别器。解码器可以包括自回归神经网络以学习状态表示。
总地来说,本说明书中描述的主题的一个创新方面可以体现在一种系统中,其包括一个或多个计算机和一个或多个存储设备,该存储设备存储指令,当所述指令由一个或多个计算机执行时,使所述一个或多个计算机执行本文所述任一方法的相应方法的操作。
总地来说,本说明书中描述的主题的一个创新方面可以体现在一种或多种计算机存储介质中,其存储指令,该指令在由一个或多个计算机执行时使所述一个或多个计算机执行本文所述任一方法的相应方法的操作。
一旦训练了神经网络,就可以将其用于确定响应于输入状态的动作。这可以用于控制诸如机器人、自主车辆或计算机化身的代理。尽管本文描述的实施方式讨论了确定对应于特定输入状态的动作,但是也可以生成插值动作。插值动作可以基于插值状态(通过插值两个输入状态而形成的状态)或插值嵌入(通过在两个对应状态的两个嵌入之间进行插值而形成的嵌入)。
可以在特定实施例中实现本说明书中描述的主题,以实现以下优点中的一个或多个。该方法可以用于更高效和有效地训练神经网络。例如,通过利用编码器来训练神经网络,所得到的神经网络更好地能够在更宽的行为范围内以鲁棒的方式模仿更少数量的训练轨迹的行为。由于需要的训练轨迹的数量更少,因此神经网络可以从观察的动作中更快地学习,同时也避免了通常与使用小训练集合时相关联的错误。因此,所得的神经网络更加鲁棒,并且表现出行为上的增加的多样性。利用更小的训练轨迹集合意味着需要更少的计算量,因此本文描述的方法显示出提高的计算效率。
本说明书的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1示出了示例强化学习系统。
图2是用于训练神经网络以选择要由与环境交互的代理执行的动作的示例处理的流程图。
图3示出根据实施方式的状态编码器以及状态和动作解码器。
图4示出了用于使用嵌入轨迹来训练神经网络的示例处理的流程图。
在各个附图中,相同的附图标记和标记指示相同的元件。
具体实施方式
本说明书一般地描述了一种强化学习系统,该强化学习系统被实现为在一个或多个位置中的一个或多个计算机上的计算机程序,该强化学习系统通过使用神经网络来选择与环境交互的强化学习代理要执行的动作。本说明书也描述了这样的系统能够如何调整神经网络的参数。
该系统的优点在于,诸如机器人、自主或半自主车辆的代理可以改善其与模拟或真实环境的交互。例如,它可以通过环境或与环境交互使能特定任务的完成或改善环境的导航。
该系统的一些实施方式解决了将结果的信用分配给导致结果的一系列决策的问题。更具体地,它们旨在改善在给定后续奖励序列的情况下对状态值的估计,从而提高学习速度和达到的最终性能水平。它们也减少了对超参数精细调谐的需求,从而能够更好地在不同的问题域范围中操作。
在一些实施方式中,环境是真实世界环境,并且代理是与真实世界环境交互的机械代理。例如,代理可以是与环境交互以完成特定任务的机器人。作为另一个示例,代理可以是在环境中导航的自主或半自主车辆。在这些情况下,观察可以是机械代理与环境交互时由机械代理的一个或多个传感器捕获的数据,所述传感器例如相机、LIDAR传感器、温度传感器等。
在其他实施方式中,环境是模拟环境,并且代理被实现为与模拟环境交互的一个或多个计算机。例如,模拟环境可以是视频游戏,并且代理可以是玩视频游戏的模拟用户。
在过去的几年中,通过深度强化学习进行的连续控制取得了很大的进步,其中可以从头开始或从模拟中的演示以及某种程度上在真实的机器人上了解到复杂的运动如何施展才能的一些令人印象深刻的演示。
但是,动物的灵活性和敏捷性仍然无与伦比。生物运动控制的一个标志是动物能够根据环境需要进行多种不同运动。想象足球运动员在行动:她将以不同的速度向前或向后奔跑、快速转弯、运球、骗过门将并最终将球踢入球门。以真实机器人的形式和动画化身的形式二者来构建能够进行多种多样的行为集合的通用体现代理是AI长期存在的挑战之一。
行为克隆(BC)是一种模仿代理动作的训练方法。给定演示轨迹集合{τi}i,其中状态动作对的第i轨迹为行为克隆寻求应用最大似然来模仿动作。在第i轨迹中,{τi}i:
是第n状态,
是第n动作,
Ti是状态动作对的数量。
当演示数据丰富时,BC可以有效;但是,如果没有大量数据,BC经常会失败。BC效率低下的原因是问题的顺序性质。当使用BC时,在展开策略时,即使是模仿演示行为的最轻微的错误也会迅速累积。好的策略应该纠正以前犯的错误。为了使BC学习良好的纠正策略,演示中必须有足够的相应行为。不幸的是,纠正行为通常在演示轨迹中很少见,因此很难学习良好的纠正策略。
从学习的角度来看,使代理具有多种行为的目标因而提出了一些挑战,因为它通常首先需要获取行为。本文描述的方法试图克服该问题。
起点是这样的假设,即以状态动作序列或简单地状态序列的形式进行各种不同行为的适度数量的演示是可用的。目的是学习一种控制策略,该策略可以以行为嵌入矢量为条件,并且在适当条件下可以从原始集合中再现任何行为,并且至少在一定程度上在它们之间进行插值。
通过基于经由编码器确定的嵌入(潜变量(latent variable))训练系统,所得到的系统更好地能够在更广泛的行为上以鲁棒的方式模仿轨迹集合的行为。由于神经网络对更广泛范围的行为进行建模,因此训练神经网络需要更少的训练轨迹数量,因此提供了一种更有效的训练方法。此外,该方法允许一次性(one-shot)学习。
另外,代替预先定义行为嵌入(embedding)空间,本文描述的一些实施方式通过与编码器联合训练控制策略来允许该行为出现,编码器将演示轨迹映射到嵌入矢量。然后,训练该策略以近似再现轨迹。除了作为学习合适的嵌入空间的工具外,编码器随后还能够用来对给定的测试轨迹进行一次性模拟。
图1示出了示例强化学习系统100。强化学习系统100是被实现为其中实现下述系统、组件和技术的在一个或多个位置中的一个或多个计算机上的计算机程序上的系统的示例。
强化学习系统100选择将由与环境104交互的强化学习代理102执行的动作。也就是说,强化学习系统100接收观察,每个观察表征环境104的相应状态,并且响应于每个观察,强化学习系统100从动作空间中选择要由强化学习代理102响应于该观察而执行的动作。强化学习系统100然后指示或以其他方式使代理102执行所选择的动作。
在代理102执行选择的动作之后,环境104转变为新状态,并且系统100接收表征环境104的下一个状态的另一观察和奖励。奖励可以是作为代理102执行所选择的动作的结果而由系统100或代理102从环境104接收的数值。即,系统100所接收的奖励通常取决于由代理102执行所选择的动作引起的状态转变的结果而变化。例如,相比于转变为距完成由代理102执行的任务更远的状态,转变为更接近完成由代理102执行的任务的状态可以导致系统100接收更高的奖励。
具体地,为了选择动作,强化学习系统100包括神经网络110和编码器120。编码器120为每个接收的动作生成嵌入,并将每个嵌入提供给神经网络110。每个嵌入经由潜变量集合描述相应的动作。通常,神经网络110是被配置为接收观察的嵌入并处理该嵌入以生成输出的神经网络,该输出定义响应于观察而应当由代理执行的动作。
在一些实施方式中,神经网络110是这样的神经网络:其接收嵌入的观察和动作,并输出表示该动作是最大化代理完成任务的机会的动作的概率的概率。
在一些实施方式中,神经网络110是这样的神经网络:其接收嵌入的观察并生成输出,输出定义可能动作的概率分布,其中每个动作的概率是该动作是最大化代理完成任务的机会的动作的概率。
在一些其他实施方式中,神经网络110是这样的神经网络:其被配置为接收观察的嵌入和由代理响应于观察而执行的动作、即观察-动作对,并生成观察动作对的Q值,表示由于代理响应于观察动作对中的观察而执行该动作所得到的估计回报。神经网络110可以例如通过重复生成观察动作对的Q值来重复地执行该处理。系统100然后可以使用生成的Q值来确定代理响应于给定观察而执行的动作。
为了允许代理102有效地与环境交互,强化学习系统100联合训练神经网络110和编码器120,以确定神经网络110和训练的编码器120的参数的训练值。
在代理102已经响应于给定的观察执行了动作、并且作为代理执行动作的结果系统100已经接收到奖励之后,系统基于观察和奖励来训练神经网络110。
下面参考图2更详细地描述训练强化学习系统100。下面参考图3更详细地描述训练编码器120。下面参考图4更详细地描述训练神经网络110。
图2示出了用于训练强化学习系统以选择将由与环境交互的代理执行的动作的示例处理的流程图。为了方便起见,将处理200描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的强化学习系统,例如,图1的强化学习系统100,可以执行处理200。
训练的目的是学习一种能够模仿多种行为集合的单一策略,即使当没有足够的数据来使传统方法很好工作也是如此。为此,引入了两阶段方法。首先,基于输入轨迹集合对编码器进行训练。然后,使用由训练的编码器生成的编码、经由强化学习对神经网络进行训练。
因此,该方法开始于获得轨迹集合202。这些轨迹是表现出要被模仿的行为的训练或演示轨迹。每个轨迹包括识别(i)表征环境的第一状态的第一观察和(ii)代理响应于第一观察而执行的第一动作的数据。在一些实施方式中,例如,在使用非策略算法训练神经网络的实施方式中,系统可以从存储器中获取数据,该存储器存储从与环境交互的代理生成的状态-动作对。在其他实施方式中,例如,在使用按策略算法训练神经网络的实施方式中,获得的数据包括作为代理与环境的最新交互的结果而生成的数据。
接下来,系统基于轨迹210训练编码器。在一个实施方式中,采用变分自动编码器(VAE),包括用于演示轨迹的双向长短期记忆(LSTM)编码器和两个解码器:用于动作的多层感知器(MLP)和用于预测下一状态的Wavenet。该系统被配置为使轨迹通过编码器以确定演示轨迹的嵌入z上的分布,然后对轨迹进行解码以获得模仿轨迹,然后训练系统以提高编码器和解码器性能。就优化目标而言,该受监督阶段本质上类似于行为克隆(BC),但在体系结构上包括编码器,该编码器输出随机嵌入以提高多样性。下面将参考图3对此进行更详细的讨论。
接下来,系统使用嵌入的轨迹220经由强化学习来训练神经网络。即,使用训练的编码器来确定每个轨迹的嵌入(嵌入的轨迹),并且使用嵌入的轨迹来训练神经网络。在完全监督第一阶段的同时,第二阶段则是有关经由强化学习来调谐模型以提高鲁棒性。这将参考图4更详细地讨论。
尽管图2的实施方式包括编码器的训练,但是应当注意,本文所述的训练方法通过基于使用预训练的编码器生成的嵌入训练神经网络将同样地起作用。因此,对于强化学习系统100而言,训练编码器不是必需的,因为编码器可以由外部系统训练,即可以将预训练的编码器预先提供给强化学习系统100(例如,加载到存储器中)。
有监督的模仿阶段
没有演示性轨迹编码器的常规BC虽然简单,但有许多缺点。估计的策略很难在环境偏差较小的情况下模仿专家。例如,假设专家在车道中间驾驶汽车。如果经过BC训练的代理遭遇到自身在车道中间以外,则很有可能完全离开道路;这是相当不理想的情况。另外,没有明显的方法来利用在分层控制器中的常规BC学习的策略。
为了克服这个问题,可以使用编码器对演示轨迹进行编码,以形成BC策略所依赖的嵌入。这种方法有助于转移和一次性学习。
在本实施方式中,为了更好地规范潜空间,利用具有分布q(z|x1:T)的随机变分自动编码器(VAE)。编码器将演示轨迹映射到矢量。给定该矢量,则状态和动作轨迹二者可以被解码,如图3所示。为此,系统将以下损失函数最小化:
其中:
πα代表具有参数α的动作解码器;
pω代表具有参数ω的状态解码器;
qφ代表带有参数φ的编码器;
DKL()是Kullback-Leibler分散;以及
τi是第i轨迹,其中是是总共Ti个状态动作对中的第n状态,并且第n动作。
图3示出根据实施方式的状态编码器以及状态和动作解码器。
状态编码器网络q采用双向长短期记忆(LSTM)神经网络的形式。编码器采用状态集合,并生成相应的嵌入状态(嵌入)集合。编码器具有两层。
为了生成最终编码,在应用最终线性变换以生成表示编码的高斯的均值(mean)和标准偏差之前,确定双向LSTM第二层的所有输出的平均值(average)。然后,系统从此高斯样本中获取样本作为编码∈。
在训练期间,编码被输入到状态解码器和动作解码器中以确定模仿状态和模仿动作。然后它们被用于训练编码器,如上所述。
动作解码器是多层感知器(MLP),它将状态和编码二者作为输入并生成高斯参数。
在图3的右侧示出状态解码器。状态解码器类似于条件Wavenet。在被传递到MLP中之前,通过状态xt和编码的级联来生成条件。网络的其余部分类似于标准的条件Wavenet架构。Wavenet是一种自回归卷积神经网络。代替Softmax输出单元,高斯的混合被用作Wavenet的输出。在A.van den Oord、S.Dieleman、H.Zen、K.Simonyan、O.Vinyals、A.Graves、N.Kalchbrenner、A.Senior和K.Kavukcuoglu的“WaveNet:A generative modelfor raw audio”中描述了Wavenet。
然后将编码器和解码器的输出用于训练中,以找到最小化上述损失函数的参数。
一旦被训练,就可以存储编码器的参数,以用于将来训练神经网络110。
应该注意的是,尽管以上实施方式讨论了使用双向长短期记忆(LSTM)神经网络,但可以使用替代形式的编码器。另外,尽管以上实施方式讨论了使用条件Wavenet,但是可以使用替代形式的状态解码器。此外,尽管以上实施方式论述了使用多层感知器,但是可以使用替代形式的动作解码器。
模仿的控制阶段
如上所讨论的,在没有大演示集合的情况下,BC表现不佳。即使在当前情况下使用演示轨迹编码器,BC也会导致致使无法恢复的故障的策略。
为了解决该问题,本文描述的实施方式包括具有强化学习的策略细化的第二阶段,这导致鲁棒性的显著改善。
为此,本文所述的实施方式适用于在生成式对抗模仿学习(GAIL)中使用的概念。
GAIL是可以通过与环境交互来避免BC陷阱的方法。具体而言,GAIL使用生成式对抗网络(GAN)来构造奖励函数,以测量策略生成轨迹与专家轨迹之间的相似性。
GAN是使用两个网络的生成式模型:生成器G和鉴别器D。生成器尝试生成与真实数据难以区分的样本。鉴别器的作用是将数据和样本区分开,如果样本为实数,则有高概率预测为1,否则为0。更准确地说,GAN优化了以下目标函数:
GAIL是GAN的模仿学习版本,旨在模仿专家轨迹。GAIL采用以下目标函数:
其中,πE表示生成的演示轨迹的专家策略,并且πθ表示要训练的策略。为了避免系统动力学之间的差异,替代反向传播,策略梯度算法被用于通过最大化折扣的总和奖励来训练策略:
rψ(xt,at)=-log(1-Dψ(xt,|at))
其中:
rψ(xt,at|zt)是轨迹的奖励;
xt是轨迹的总共Tj个状态动作对中的第t状态;
at是轨迹的总共Tj个状态动作对中的第t动作;以及
Dψ是具有鉴别器参数ψ的鉴别器的输出。
最大化此奖励——可能不同于专家奖励——会将πθ驱动到状态动作空间类似于专家的区域。实际上,信任区域策略优化(TRPO)用于稳定化该学习过程。
尽管GAIL可以克服有关BC的一些问题,但已发现不足以训练本文所述的系统。基于策略梯度的GAIL优化器是模式搜索。因此,使用这种方法很难恢复各种各样的行为集合。GAN的模式崩溃问题进一步加剧了该问题。
为了解决这个问题,提出了一种新的方法,该方法能够经由强化学习来模仿各种行为。本文使用的实施方式使鉴别器以由预训练的编码器生成的编码为条件。具体来说,通过优化以下目标来训练鉴别器:
其中:
Dψ是鉴别器函数;
ψ是鉴别器参数集合;
πθ是神经网络的策略;
θ是神经网络的参数集合;
πE表示生成训练轨迹集合的专家策略;
q是编码器;
τi是第i轨迹,其中是总共Ti个状态操作对中的第n状态,并且是第n操作;以及
z是嵌入。
由于鉴别器是有条件的,因此奖励函数现在也是有条件的:
因此,该条件允许生成定制的奖励函数集合,每个定制的奖励函数被定制以模仿不同的轨迹。策略梯度算法尽管通过模式搜索,但由于奖励函数的多样性,不会导致崩溃成一种特定的模式。
由于系统已经具有来自监督训练的动作解码器,因此可以用来自举RL的学习。一种可能的途径是将策略网络的权重初始化为与动作解码器的权重相同。然而,在策略达到良好性能之前,注入到策略中进行探索的噪声(假设使用随机策略梯度来训练策略)可能最初导致性能低下并破坏在动作解码器中已经存在的行为。替代地,选择新策略为:
其中:
x是来自轨迹的状态;
z是通过将编码器应用于轨迹而计算的嵌入;
μθ是来自神经网络的均值输出;
μα是动作解码器的输出的均值;以及
σθ是神经网络的输出的方差。
为了防止动作解码器的恶化,在训练期间其权重被冻结。即,当训练神经网络时,动作解码器的权重保持恒定。
对于策略优化,可以采用信任域策略优化。
图4示出了用于使用嵌入轨迹来训练神经网络的示例处理的流程图。可以认为该处理等同于图2中的步骤220。
如关于图2所讨论的,该处理开始于接收轨迹集合和训练的编码器。
然后,对于每个轨迹,确定对应的嵌入222。这是通过将编码器应用于轨迹以获得嵌入轨迹来实现的。
然后,策略被应用于嵌入轨迹以获得对应的模仿轨迹224。即,对于每个嵌入轨迹,嵌入轨迹被输入到神经网络中,该神经网络应用该策略并输出对应的模仿轨迹。如果这是该方法的第一次迭代,则如上所述启动策略;否则,应用先前更新的策略。
然后,基于以嵌入为条件的奖励函数来更新策略参数226。如所讨论的,可以使用信任域策略优化(TRPO)来更新策略。这旨在确定策略参数集合,其改善奖励函数的回报。奖励函数以鉴别器为条件,而鉴别器又以嵌入为条件,因此对每个嵌入(对每个轨迹)应用定制的奖励函数。如上所述,奖励函数为:
其中:
是第j轨迹的第t奖励;
是第j轨迹的总共Tj个状态动作对中的第t状态;
是第j轨迹的总共Tj个状态动作对中的第t动作;
zj是通过将编码器q应用于第j轨迹计算的嵌入以及
Dψ是鉴别器的输出。
对于每个轨迹,使用不同的奖励函数,并且对于轨迹内的每个状态动作对,使用相应的奖励函数来确定不同的奖励。
基于由神经网络输出的模仿轨迹,使用梯度上升方法来更新鉴别器。鉴别器也以嵌入为条件228。通过使用梯度上升或下降方法、利用梯度的反向传播来调整鉴别器神经网络的参数,来更新鉴别器。
在当前情况下,梯度为:
其中:
Dψ是鉴别器函数;
ψ是鉴别器参数的当前集合;
θ是神经网络的参数集合;
τj是轨迹集合的第j轨迹,其中其中是总共Tj个状态动作对中的第n状态,并且是第n动作;
是第j模仿轨迹,其中其中是总共个模拟状态动作对中的第n模仿状态,并且是第n模仿动作;
zj是轨迹τj的嵌入;以及
是相对于ψ的梯度。
一旦鉴别器已被更新,则系统确定是否已经达到训练的结束229。当满足结束标准时,达到结束。例如,这可能是训练的预定义迭代次数或训练的预定义时间。
如果还没有达到结束,则该方法使用更新的鉴别器参数和更新的策略参数循环回去以重复步骤224-229。在步骤224中利用更新的策略,并且在步骤226中将更新的鉴别器应用于奖励函数。
因此,该方法重复地更新策略和鉴别器参数,对其进行迭代改善,直到满足结束标准为止。
一旦已达到结束,则方法输出策略参数230。该输出可以输出到本地的或其他的存储器,或经由与另一设备或系统的通信。然后,可以将输出策略参数用作训练模型,用于模仿由输入训练轨迹指示的行为。
算法1示出用于使用嵌入轨迹来训练神经网络的示例处理。
该算法首先接收演示轨迹集合和预训练的编码器(例如,在步骤210期间训练的或输入到系统的)。
然后,对于每个轨迹,该算法确定嵌入,然后在该嵌入上运行策略以确定相应的模仿轨迹。重复此过程,直到为所有输入轨迹确定了嵌入和模仿轨迹为止。
然后,使用从以嵌入为条件的奖励函数确定的奖励,经由TRPO更新策略参数,并使用梯度更新鉴别器参数。
重复该方法,直到达到最大迭代次数或最大时间为止。
本文描述的实施方式提供了一种用于训练神经网络以使用更少的训练轨迹来模仿各种行为集合的手段。这意味着可以更有效地训练神经网络。此外,如果使用大量轨迹,则神经网络可以更有效地模仿训练行为。
已经对本文所述的训练方法进行了测试以量化其优点。在训练后,已发现训练的模型更有能力再现大多数训练和测试策略。
另外,为了帮助更好的概括,对于编码器以语义上有意义的方式对轨迹进行编码将是有益的。为了测试是否确实如此,比较了两个随机训练轨迹,并使用编码器获得了它们的嵌入矢量。生成了从一个到另一个的插值的这些嵌入矢量的一系列凸组合。动作解码器以这些中介点中的每一个为条件,并在环境中执行。结果表明,在潜空间中的插值确实对应于物理维度上的插值。这突显了发现的潜空间的语义意义。
鉴于上述情况,可以看出,编码器的使用提供了一种有效的手段,可以获取各种各样的行为,并将其压缩为在训练神经网络时使其更加有效的合适的表示。通过对在嵌入的强化学习中使用的奖励函数进行调节,可以更高效和有效地训练神经网络,以模仿更多样化的行为。
对于被配置为执行特定操作或动作的一个或多个计算机的系统,意味着系统已在其上安装了软件、固件、硬件或它们的组合,其在操作中使系统执行操作或动作。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当由数据处理装置执行时使装置执行操作或动作的指令。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形体现的计算机软件或固件中、在计算机硬件中实现,包括本说明书中公开的结构及其结构等同物,或者以它们中的一个或多个的组合体现。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即,在有形非暂时性存储介质上编码的一个或多个计算机程序指令模块,用于由数据处理装置执行或控制数据处理装置的操作。可替代地或另外地,程序指令可以在例如机器生成的电、光或电磁信号的人工生成的传播信号上编码,其被生成以编码信息,用于传输到合适的接收器设备以由数据处理装置执行计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。然而,计算机存储介质不是传播信号。
术语“数据处理装置”包括用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所述计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们的一个或多个的组合的代码。
计算机程序(也可以被称为或描述为程序、软件、软件应用、应用程序、模块、软件模块、脚本或代码)可以用任何形式的编程语言编写,包括编译或解释语言、或声明或过程性语言;并且它可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境的其他单元。计算机程序可以但不必对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本,专用于所讨论的程序的单个文件中,或者存储在多个协调文件中,所述协调文件例如存储一个或多个模块、子程序或代码部分的文件。可以部署计算机程序以在一个计算机上或在位于一个站点上或跨多个站点分布并通过数据通信网络互连的多个计算机上执行。
在本说明书中,“引擎”或“软件引擎”指代提供与输入不同的输出的软件实现的输入/输出系统。引擎可以是功能性的编码块,诸如库、平台、软件开发包(“SDK”)或对象。每个引擎可以实现在任何适当类型的计算设备上,所述计算设备例如服务器、移动电话、平台计算机、笔记本计算机、音乐播放器、电子书阅读器、膝上或桌面计算机、PDA、智能电话或其他固定或便携式设备,其包括一个或多个处理器和计算机可读介质。此外,可以在同一个计算设备或不同的计算设备上实现两个或更多个引擎。
本说明书中描述的处理和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并生成输出来执行功能。处理和逻辑流程也可以由专用逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,并且装置可以实现为专用逻辑电路。例如,处理和逻辑流程可以由图形处理单元(GPU)执行,并且装置也可以实现为图形处理单元(GPU)。
适合于执行计算机程序的计算机例如可以基于通用或专用微处理器或两者,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或可操作地耦合以从用于存储数据的一个或多个大容量存储设备接收数据或将数据传输到一个或多个大容量存储设备或两者,所述大容量存储设备例如磁盘、磁光盘或光盘。但是,计算机不必需这样的设备。此外,计算机可以嵌入在例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动)等的另一设备中。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CDROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入到专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实现,所述计算机具有:显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监视器,用于向用户显示信息;以及键盘和指示设备(例如,鼠标或轨迹球),用户可通过其向计算机提供输入。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以包括声学、语音或触觉输入的任何形式接收来自用户的输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档,例如,通过响应于从web浏览器接收的请求将网页发送到用户的客户端设备上的web浏览器,与用户交互。
本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括:后端组件,例如作为数据服务器;或者包括中间件组件,例如应用服务器;或者包括前端组件,例如,具有图形用户界面或网络浏览器的客户端计算机,用户可通过其与本说明书中描述的主题的实施方式进行交互;或者包括一个或多个这样的后端、中间件或前端组件的任何组合。系统的组件可以通过例如通信网络的任何形式或介质的数字数据通信互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且典型地通过通信网络进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而生成。
虽然本说明书包含许多具体的实现细节,但是这些不应被解释为对任何发明的范围或可能要求保护的范围的限制,而是作为可以特定于特定发明的特定实施例的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管特征可以在上面描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从组合中切除来自要求保护的组合的一个或多个特征,并且要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然以特定顺序在附图中描绘了操作,但是这不应该被理解为要求以所示的特定顺序或按顺序执行这些操作,或者执行所有示出的操作以达到期望的效果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和系统通常可以集成在单个软件产品中或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的处理不一定需要所示的特定顺序或按顺序来实现期望的结果。在一些情况下,多任务处理和并行处理可能是有利的。
Claims (21)
1.一种用于训练神经网络的方法,所述神经网络用于选择要由与环境交互的代理执行的动作,所述方法包括:
获得识别轨迹集合的数据,每个轨迹包括表征环境状态集合的观察集合和另一代理响应于所述状态执行的相应动作;
获得识别编码器的数据,其将观察结果映射到嵌入上以用于确定模仿轨迹集合;
对于每个轨迹,通过将编码器应用于该轨迹而确定相应的嵌入;
通过将神经网络定义的策略应用于每个轨迹的嵌入,确定模仿轨迹集合;以及
基于轨迹集合、模仿轨迹集合和嵌入来调整神经网络的参数。
2.根据权利要求1所述的方法,其中,调整所述神经网络的参数使用从已经使用所述嵌入为条件的鉴别器输出的值。
3.根据权利要求2所述的方法,其中,调整所述神经网络的参数包括:确定改善来自奖励函数的回报的参数集合,所述奖励函数基于从所述鉴别器输出的值。
4.根据权利要求3所述的方法,其中,所述奖励函数是:
其中:
是第j轨迹的第t奖励;
是第j轨迹的总共Tj个状态动作对中的第t状态;
是第j轨迹的总共Tj个状态动作对中的第t动作;
zj是通过将编码器q应用于第j轨迹计算的嵌入以及
Dψ是鉴别器的输出。
5.根据权利要求2-4中的任一项所述的方法,还包括基于所述嵌入来更新鉴别器参数集合。
6.根据权利要求5所述的方法,其中,所述方法包括迭代地:
基于鉴别器来更新神经网络的参数;
基于轨迹集合、模仿轨迹集合和嵌入来更新鉴别器参数;以及
使用更新的神经网络来更新嵌入和模仿轨迹,
直到满足结束条件为止。
7.根据权利要求5或权利要求6所述的方法,其中,更新所述鉴别器参数集合利用梯度上升方法。
8.根据权利要求5-7中的任一项所述的方法,其中,更新所述鉴别器参数集合包括实现:
其中:
Dψ是鉴别器函数;
ψ是鉴别器参数集合;
πθ是神经网络的策略;
θ是神经网络的参数集合;
πE表示生成轨迹集合的专家策略;
q是编码器;
τi是第i轨迹,其中是总共Ti个状态操作对中的第n状态,并且是第n动作;以及
z是嵌入。
9.根据权利要求8所述的方法,其中,更新所述鉴别器参数集合利用具有以下梯度的梯度上升方法:
其中:
Dψ是鉴别器函数;
ψ是鉴别器参数集合;
θ是神经网络的参数集合;
轨迹集合中的每个轨迹τj是其中是总共Tj个状态动作对中的第n状态,并且是第n动作;
每个模仿轨迹是其中是总共个模仿状态动作对中的第n模仿状态,并且是第n模仿动作;以及
zj是轨迹τj的嵌入。
10.根据前述权利要求中任一项所述的方法,其中,获得所述编码器包括:基于所述轨迹集合来训练变分自动编码器,其中,所述编码器形成所述变分自动编码器的一部分。
11.根据权利要求10所述的方法,其中,所述变分自动编码器还包括:状态解码器,用于对所述嵌入进行解码以生成模仿状态;以及动作解码器,用于对所述嵌入进行解码以生成模仿动作。
12.根据权利要求11所述的方法,其中,所述动作解码器是多层感知器,和/或其中所述状态解码器是自回归神经网络。
13.根据权利要求11或权利要求12所述的方法,其中,所述策略基于所述动作解码器。
14.根据权利要求13所述的方法,其中,所述策略πθ为:
其中:
x是来自轨迹的状态;
z是通过将编码器应用于轨迹而计算的嵌入;
μθ是神经网络的平均输出;
μα是动作解码器的输出的均值;以及
σθ是神经网络的输出的方差。
15.根据权利要求14所述的方法,其中,在已经确定动作解码器之后,动作解码器的权重被保持恒定。
16.根据任一前述权利要求所述的方法,其中,所述编码器是双向长短期记忆编码器。
17.一种用于强化学习的系统,所述系统包括:
训练的变分自动编码器神经网络的编码器,该编码器包括循环神经网络,以将轨迹的概率分布编码为定义表示概率分布的参数的嵌入矢量;其中,强化学习系统被配置为:
通过从编码器对目标轨迹编码的概率分布中进行采样,确定目标轨迹的目标嵌入矢量;以及
使用以目标嵌入矢量为条件的奖励值来训练强化学习神经网络。
18.根据权利要求17所述的系统,其中,所述强化学习神经网络包括策略生成器和鉴别器,其中,所述强化学习系统被配置为:
使用策略生成器选择要由与环境交互的代理执行的动作,以模仿状态动作轨迹;
使用鉴别器在模仿的状态动作轨迹和参考轨迹之间进行鉴别;以及
使用以目标嵌入矢量为条件的奖励值来更新策略生成器的参数。
19.根据权利要求17或权利要求18所述的系统,其中,所述解码器包括动作解码器和状态解码器,并且其中,所述状态解码器包括自回归神经网络,以学习所述解码器的状态表示。
20.一种系统,包括一个或多个计算机和一个或多个存储设备,所述一个或多个存储设备存储指令,当所述指令由一个或多个计算机执行时,使所述一个或多个计算机执行权利要求1-16中任一项的相应方法的操作。
21.一种或多种计算机存储介质,其存储指令,该指令在由一个或多个计算机执行时使所述一个或多个计算机执行权利要求1-16中任一项的相应方法的操作或实现权利要求中17-19任一项的系统。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762508972P | 2017-05-19 | 2017-05-19 | |
US62/508,972 | 2017-05-19 | ||
PCT/EP2018/063281 WO2018211140A1 (en) | 2017-05-19 | 2018-05-22 | Data efficient imitation of diverse behaviors |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110574046A true CN110574046A (zh) | 2019-12-13 |
Family
ID=62217993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880027559.XA Pending CN110574046A (zh) | 2017-05-19 | 2018-05-22 | 各种行为的数据有效模仿 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20200090042A1 (zh) |
EP (1) | EP3596661A1 (zh) |
CN (1) | CN110574046A (zh) |
WO (1) | WO2018211140A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112183391A (zh) * | 2020-09-30 | 2021-01-05 | 中国科学院计算技术研究所 | 一种第一视角视频行为预测系统及方法 |
CN113052321A (zh) * | 2019-12-26 | 2021-06-29 | 伟摩有限责任公司 | 从短期意图和长期结果生成轨迹标记 |
CN113467515A (zh) * | 2021-07-22 | 2021-10-01 | 南京大学 | 基于虚拟环境模仿重构和强化学习的无人机飞行控制方法 |
CN114189470A (zh) * | 2022-02-14 | 2022-03-15 | 军事科学院系统工程研究院网络信息研究所 | 一种基于模仿学习的智能路由决策保护方法和装置 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11763170B2 (en) | 2018-02-05 | 2023-09-19 | Sony Group Corporation | Method and system for predicting discrete sequences using deep context tree weighting |
EP3807823A1 (en) | 2018-06-12 | 2021-04-21 | Intergraph Corporation | Artificial intelligence applications for computer-aided dispatch systems |
US11443229B2 (en) * | 2018-08-31 | 2022-09-13 | Sony Group Corporation | Method and system for continual learning in an intelligent artificial agent |
US11373758B2 (en) * | 2018-09-10 | 2022-06-28 | International Business Machines Corporation | Cognitive assistant for aiding expert decision |
CN109579861B (zh) * | 2018-12-10 | 2020-05-19 | 华中科技大学 | 一种基于强化学习的路径导航方法及系统 |
WO2020152300A1 (en) * | 2019-01-23 | 2020-07-30 | Deepmind Technologies Limited | Controlling an agent to explore an environment using observation likelihoods |
US11074480B2 (en) * | 2019-01-31 | 2021-07-27 | StradVision, Inc. | Learning method and learning device for supporting reinforcement learning by using human driving data as training data to thereby perform personalized path planning |
EP3705367B1 (en) * | 2019-03-05 | 2022-07-27 | Bayerische Motoren Werke Aktiengesellschaft | Training a generator unit and a discriminator unit for collision-aware trajectory prediction |
EP3722908B1 (en) * | 2019-04-09 | 2022-11-30 | Bayerische Motoren Werke Aktiengesellschaft | Learning a scenario-based distribution of human driving behavior for realistic simulation model |
EP3948671A1 (en) * | 2019-05-23 | 2022-02-09 | DeepMind Technologies Limited | Jointly learning exploratory and non-exploratory action selection policies |
US11443137B2 (en) | 2019-07-31 | 2022-09-13 | Rohde & Schwarz Gmbh & Co. Kg | Method and apparatus for detecting signal features |
CN110991027A (zh) * | 2019-11-27 | 2020-04-10 | 华南理工大学 | 一种基于虚拟场景训练的机器人模仿学习方法 |
US11989952B2 (en) | 2019-12-10 | 2024-05-21 | Samsung Electronics Co., Ltd. | Systems and methods for trajectory prediction |
EP3872710A1 (en) * | 2020-02-27 | 2021-09-01 | Aptiv Technologies Limited | Method and system for determining information on an expected trajectory of an object |
US11836585B2 (en) * | 2020-03-02 | 2023-12-05 | Uatc, Llc | Systems and methods for training probabilistic object motion prediction models using non-differentiable prior knowledge |
CN111489802B (zh) * | 2020-03-31 | 2023-07-25 | 重庆金域医学检验所有限公司 | 报告单编码模型生成方法、系统、设备及存储介质 |
US11986958B2 (en) | 2020-05-21 | 2024-05-21 | Intrinsic Innovation Llc | Skill templates for robotic demonstration learning |
GB202009983D0 (en) * | 2020-06-30 | 2020-08-12 | Microsoft Technology Licensing Llc | Partially-observed sequential variational auto encoder |
US11909482B2 (en) * | 2020-08-18 | 2024-02-20 | Qualcomm Incorporated | Federated learning for client-specific neural network parameter generation for wireless communication |
CN114527737A (zh) * | 2020-11-06 | 2022-05-24 | 百度在线网络技术(北京)有限公司 | 用于自动驾驶的速度规划方法、装置、设备、介质和车辆 |
CN112329921B (zh) * | 2020-11-11 | 2023-11-14 | 浙江大学 | 基于深度表征学习和强化学习的利尿剂剂量推理设备 |
CN112434791A (zh) * | 2020-11-13 | 2021-03-02 | 北京圣涛平试验工程技术研究院有限责任公司 | 多智能体强对抗仿真方法、装置及电子设备 |
CN112667394B (zh) * | 2020-12-23 | 2022-09-30 | 中国电子科技集团公司第二十八研究所 | 一种计算机资源利用率优化方法 |
CN113379027A (zh) * | 2021-02-24 | 2021-09-10 | 中国海洋大学 | 一种生成对抗交互模仿学习方法、系统、存储介质及应用 |
CN113239629B (zh) * | 2021-06-03 | 2023-06-16 | 上海交通大学 | 一种轨迹空间行列式点过程的强化学习探索和利用的方法 |
US20230091004A1 (en) * | 2021-09-17 | 2023-03-23 | Cameron Goeffrey Watmough HAIGH | System and method for computer-assisted design of indcutor for voltaged-controlled oscillator |
CN114660947B (zh) * | 2022-05-19 | 2022-07-29 | 季华实验室 | 机器人步态自主学习方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106056213A (zh) * | 2015-04-06 | 2016-10-26 | 谷歌公司 | 使用目标和观察来选择强化学习动作 |
US20170140270A1 (en) * | 2015-11-12 | 2017-05-18 | Google Inc. | Asynchronous deep reinforcement learning |
-
2018
- 2018-05-22 CN CN201880027559.XA patent/CN110574046A/zh active Pending
- 2018-05-22 EP EP18726145.8A patent/EP3596661A1/en active Pending
- 2018-05-22 WO PCT/EP2018/063281 patent/WO2018211140A1/en unknown
-
2019
- 2019-11-19 US US16/688,934 patent/US20200090042A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106056213A (zh) * | 2015-04-06 | 2016-10-26 | 谷歌公司 | 使用目标和观察来选择强化学习动作 |
US20170140270A1 (en) * | 2015-11-12 | 2017-05-18 | Google Inc. | Asynchronous deep reinforcement learning |
Non-Patent Citations (1)
Title |
---|
HERKE VAN HOOF 等: "Stable Reinforcement Learning with Autoencoders for Tactile and Visual Data", 2016 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS), pages 1 - 7 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113052321A (zh) * | 2019-12-26 | 2021-06-29 | 伟摩有限责任公司 | 从短期意图和长期结果生成轨迹标记 |
US11900224B2 (en) | 2019-12-26 | 2024-02-13 | Waymo Llc | Generating trajectory labels from short-term intention and long-term result |
CN113052321B (zh) * | 2019-12-26 | 2024-05-07 | 伟摩有限责任公司 | 从短期意图和长期结果生成轨迹标记 |
CN112183391A (zh) * | 2020-09-30 | 2021-01-05 | 中国科学院计算技术研究所 | 一种第一视角视频行为预测系统及方法 |
CN113467515A (zh) * | 2021-07-22 | 2021-10-01 | 南京大学 | 基于虚拟环境模仿重构和强化学习的无人机飞行控制方法 |
CN113467515B (zh) * | 2021-07-22 | 2023-03-10 | 南京大学 | 基于虚拟环境模仿重构和强化学习的无人机飞行控制方法 |
CN114189470A (zh) * | 2022-02-14 | 2022-03-15 | 军事科学院系统工程研究院网络信息研究所 | 一种基于模仿学习的智能路由决策保护方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3596661A1 (en) | 2020-01-22 |
US20200090042A1 (en) | 2020-03-19 |
WO2018211140A1 (en) | 2018-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110574046A (zh) | 各种行为的数据有效模仿 | |
CN110088774B (zh) | 使用强化学习的环境导航 | |
US11868882B2 (en) | Training action selection neural networks using apprenticeship | |
US11651208B2 (en) | Training action selection neural networks using a differentiable credit function | |
CN110235148B (zh) | 训练动作选择神经网络 | |
CN110770759B (zh) | 神经网络系统 | |
CN108027897B (zh) | 利用深度强化学习的连续控制 | |
US20210271968A1 (en) | Generative neural network systems for generating instruction sequences to control an agent performing a task | |
CN112292693A (zh) | 强化学习系统训练返回函数的元梯度更新 | |
CN110546653B (zh) | 使用管理者和工作者神经网络的用于强化学习的动作选择 | |
EP3776364A1 (en) | Deep reinforcement learning with fast updating recurrent neural networks and slow updating recurrent neural networks | |
US20200104685A1 (en) | Learning motor primitives and training a machine learning system using a linear-feedback-stabilized policy | |
EP3593293B1 (en) | Imagination-based agent neural networks | |
CN110383298A (zh) | 用于连续控制任务的数据高效强化学习 | |
US10860895B2 (en) | Imagination-based agent neural networks | |
CN112840359B (zh) | 通过使用时间值传递在长时间尺度上控制代理 | |
JP7354460B2 (ja) | ブートストラップされた潜在性の予測を使用するエージェント制御のための学習環境表現 | |
CN115280322A (zh) | 使用学习的隐藏状态规划作用因素控制 | |
CN114521262A (zh) | 使用因果正确环境模型来控制智能体 | |
CN113330458A (zh) | 使用潜在计划控制代理 | |
US20230178076A1 (en) | Controlling interactive agents using multi-modal inputs | |
CN118043824A (zh) | 检索增强强化学习 | |
US20240185082A1 (en) | Imitation learning based on prediction of outcomes | |
EP4272131A1 (en) | Imitation learning based on prediction of outcomes | |
WO2023222772A1 (en) | Exploration by bootstepped prediction |
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 |