用于选择动作的系统和方法技术方案

技术编号:39324779 阅读:24 留言:0更新日期:2023-11-12 16:03
公开了用于选择动作的系统和方法。该方法包括:接收表征与执行机器人任务的机器人智能体交互的真实世界环境的当前状态的观察,使用神经网络系统处理所述观察以生成策略输出,以及使用策略输出选择要由机器人智能体响应于所述观察而执行的动作。神经网络系统包括深度神经网络(DNN)的序列,所述DNN的序列包括模拟训练的DNN和第一机器人训练的DNN。模拟训练的DNN已经在机器人智能体的模拟版本与真实世界环境的模拟版本的交互上进行了训练,以执行机器人任务的模拟版本。第一机器人训练的DNN已经在机器人智能体与真实世界环境的交互上进行了训练,以执行机器人任务,以确定第一机器人训练的DNN的参数的训练值,同时保持模拟训练的DNN的参数的训练值固定。练的DNN的参数的训练值固定。练的DNN的参数的训练值固定。

【技术实现步骤摘要】
用于选择动作的系统和方法
[0001]本申请是申请日为2017年10月10日,申请号为201780074261.X,专利技术名称为“用于选择动作的神经网络的系统、方法和存储介质”的专利技术专利申请的分案申请。
[0002]相关申请的交叉引用
[0003]本申请要求2016年10月10日提交的美国临时申请序列号62/406,363的优先权。该在先申请的公开内容被认为是本申请的公开内容的一部分,并且通过引用结合在本申请的公开内容中。


[0004]本说明书涉及选择由强化学习智能体执行的动作。

技术介绍

[0005]强化学习智能体通过接收表征环境的当前状态的观察并且作为响应执行动作来与环境交互。
[0006]一些强化学习系统使用神经网络来选择由智能体响应于接收任何给定观察而执行的动作。
[0007]神经网络是机器学习模型,其使用一个或多个非线性单元层来预测接收的输入的输出。一些神经网络是深度神经网络,其除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出用作网络中下一层(即下一隐藏层或输出层)的输入。网络的每个层根据相应一组参数的当前值从接收的输入生成输出。

技术实现思路

[0008]本说明书描述了在一个或多个位置中的一个或多个计算机上实现为计算机程序的系统。
[0009]通常,一个创新方面可以体现在包括由一个或多个计算机实现的神经网络系统的系统中。神经网络系统被配置为接收表征机器人智能体与之交互以执行机器人任务的现实世界环境的当前状态的观察,并处理所述观察以生成限定由所述机器人智能体响应于所述观察而执行的动作的策略输出。神经网络系统包括深度神经网络(DNN)的序列。DNN的序列包括模拟训练的DNN,所述模拟训练的DNN已经在所述机器人智能体的模拟版本与所述现实世界环境的模拟版本的交互上被训练以执行机器人任务的模拟版本。所述模拟训练的DNN包括第一多个索引层,并且所述模拟训练的DNN被配置为接收所述观察并通过所述第一多个索引层中的每个层处理所述观察,以生成所述第一多个索引层中的每个层的相应层输出。DNN的序列还包括第一机器人训练的DNN。其可以已经在机器人智能体与现实世界环境的交互上被训练以执行机器人任务。所述第一机器人训练的DNN包括第二多个索引层。所述第一机器人训练的DNN被配置为接收所述观察并通过所述第二多个索引层中的每个层处理所述观察以生成所述策略输出,并且所述第二多个索引层中的层的一个或多个均被配置为接收下列作为输入:(i)由所述第一机器人训练的DNN的前一层生成的层输出,以及(ii)由
所述模拟训练的DNN的前一层生成的层输出,其中,前一层是其索引比所述层的索引小1的层。
[0010]可以实现本说明书中描述的主题的特定实施例,以实现以下优点中的一个或多个。深度强化学习算法太慢而无法实现现实世界机器人上的性能,但可以在模拟环境中进行演示。通过使用本说明书中描述的神经网络系统来弥合现实差距并将学习的策略从模拟转移到现实世界,可以使用比现有方法更少的计算资源更快速地有效确定机器人智能体的动作选择策略。也就是说,本说明书中描述的神经网络系统允许使用深度强化学习来实现现实机器人上的快速策略学习。
[0011]在一些实施方式中,借助于模拟训练的DNN被配置为具有足够的容量和深度以从头开始学习任务以及一个或多个机器人训练的DNN具有更小的容量,可以实现不同任务的最大转移和更快的学习。模拟训练的DNN和机器人训练的DNN的容量和结构不需要相同,因此允许解决不同的任务,包括不同的输入模态。另外,在训练之后,训练的神经网络系统在被用于选择动作时可以具有较小的计算足迹,即,使用较少的处理资源和较少的存储器,同时仍然有效地选择由机器人智能体执行的动作。此外,虽然现有方法不能适应变化的网络形态或新的输入模态,但是通过使用渐进网络,本说明书中描述的神经网络系统在转移到新任务时提供了添加新容量(包括新输入连接)的灵活性。这对于弥合现实差距也是有利的,以适应模拟和现实传感器之间的不同输入。
[0012]在一些实施方式中,第一机器人训练的DNN具有比模拟训练的DNN小的容量。可以计算神经网络的容量。其广泛地涉及神经网络的参数的数量,因此第一机器人训练的DNN可以具有比模拟训练的DNN数量少的参数,诸如权重。根据经验发现,这不会妨碍,而是可以激励学习,同时减少计算负荷。以类似的方式,第一机器人训练的DNN可以具有比模拟训练的DNN窄的架构,例如在对应层中具有更少节点。
[0013]在一些实施方式中,第一机器人训练的DNN和模拟训练的DNN的层可以均包括相应的循环神经网络(recurrent neural network)层。这有助于基于观察的历史生成策略输出。
[0014]策略输出可以限定离散或连续策略。例如,输出可以提供在表示要执行的动作的连续动作空间中的值,或者可以存在表示离散动作空间中的每个可能动作的动作概率的一个值。例如,前者可以采用DDPG DNN,后者可以采用A3C DNN(其缩写参见下文)。在后一种情况下,DNN的输出层可以包括柔性最大值(softmax)层以提供策略,并且通常包括相关值函数的线性输出。也可以采用其他框架

例如,策略可以隐含在来自Deep Q网络(DQN)的输出中,例如作为值和优势函数输出。因此,可选地,动作子系统可以基于策略输出选择要由机器人智能体执行的动作。这可以使机器人智能体执行所选择的动作。如果机器人智能体具有要控制的多个自由度,则可以存在多个策略输出。
[0015]该系统可以包括第二机器人训练的DNN,其以与先前描述的方式类似的方式横向联接到第一机器人训练的DNN和模拟训练的DNN。该第二机器人训练的DNN可以接收也表征环境的当前状态的不同数据(对于观察),连同或可能代替观察。可以训练第二机器人训练的DNN以对第一机器人训练的DNN执行不同的任务,或者其可以被训练以执行相同的任务,在这种情况下,第二机器人训练的DNN可以限定要执行的动作。进一步的DNN可以以类似的方式链接。
[0016]训练系统的方法可以包括确定DNN的序列中的一个或多个DNN的参数的训练值。因此,如果已经训练了模拟训练的DNN,则可以在现实世界环境中训练机器人训练的DNN,从而使它们能够使用通过模拟训练的DNN学习的特征。可以固定训练模拟的DNN的参数的训练值以避免忘记基于模拟的训练。可以使用现实世界环境的模拟版本来训练模拟训练的DNN。
[0017]机器人训练的DNN的训练可以涉及:接收下列作为输入:(i)由第一机器人训练的DNN的输出层之前的层生成的层输出,以及(ii)由模拟训练的DNN的输出层之前的层生成的层输出;将第一组参数应用于由第一机器人训练的DNN的输出层之前的层生成的层输出;并且将第二组参数应用于由模拟训练的DNN的输出层之前的层生成的层输出。该方法可以还包括将第二组参数的值初始化以匹配模拟训练的DNN的输出层的参数的训练值,并且可选地将第一组参数的值初始化为零。例如,该方法可以将到来自先前DNN列的最后层的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种计算机实现的方法,包括:接收执行机器人任务的机器人智能体的表征正在与其交互的真实世界环境的当前状态的观察;使用神经网络系统处理所述观察以生成策略输出,其中,所述神经网络系统包括深度神经网络(DNN)的序列,其中,所述DNN的序列包括:模拟训练的DNN,其已经在机器人智能体的模拟版本为了执行机器人任务的模拟版本与真实世界环境的模拟版本的交互上进行了训练,其中:所述模拟训练的DNN包括第一多个索引层,以及由一个或多个计算机实现的模拟训练的DNN被配置为接收所述观察并通过第一多个索引层中的每个层处理所述观察,以生成第一多个索引层中的每个层的各自的层输出;以及第一机器人训练的DNN,其已经在机器人智能体为了执行机器人任务与真实世界环境的交互上进行了训练,以在保持模拟训练的DNN的参数的训练值固定的同时确定第一机器人训练的DNN的参数的训练值,其中第一机器人训练的DNN包括第二多个索引层,由一个或多个计算机实现的第一机器人训练的DNN被配置为接收所述观察并通过第二多个索引层中的每个层处理所述观察,以生成策略输出,并且由一个或多个计算机实现的第二多个索引层中的一个或多个层的每个层被配置为接收下列作为输入:(i)由第一机器人训练的DNN的前一层生成的层输出,以及(ii)由模拟训练的DNN的前一层生成的层输出,其中,前一层是其索引比该层的索引小一的层;以及使用策略输出选择要由机器人智能体响应于所述观察而执行的动作。2.根据权利要求1所述的方法,其中,第一机器人训练的DNN具有比模拟训练的DNN更小的容量。3.根据权利要求1所述的方法,其中,对于第二多个索引层中的一个或多个层的每个层,第一多个索引层中具有相同索引的对应层是与第二多个索引层中的层类型相同但维度更大的神经网络层。4.根据权利要求1所述的方法,其中,第一多个索引层和第二多个索引层中的每一个包括各自的循环神经网络层。5.根据权利要求4所述的方法,其中,由一个或多个计算机实现的第二多个索引层中的循环神经网络层被配置为接收下列作为输入:(i)第一多个索引层中的循环神经网络层的前一层的层输出,(ii)第一多个索引层中的循环神经网络层的内部状态,以及(iii)第二多个索引层中的循环神经网络层的前一层的层输出。6.根据权利要求1所述的方法,其中,由一个或多个计算机实现的第二多个索引层中的一个或多个层的每个层被配置为接收下列作为输入:(i)由第一机器人训练的DNN的前一层生成的层输出,以及(ii)由一个或多个计算机实现的模拟训练的DNN的前一层生成的层输出,每个层还被配置为:将各自的第一组参数应用于由第一机器人训练的DNN的前一层生成的层输出;以及将各自的第二组参数应用于由模拟训练的DNN的前一层生成的层输出。7.根据权利要求1所述的方法,其中,所述策略输出定义了机器人智能体的多个自由度
中的每个自由度的各自的位置变化。8.根据权利要求7所述的方法,其中,所述多个自由度包括机器人智能体的一个或多个关节和机器人智能体的一个或多个致动器。9.根据权利要求1所述的方法,其中,所述DNN的序列还包括:第二机器人训练的DNN,其中:第二机器人训练的DNN包括第三多个索引层,并且由一个或多个计算机实现的第三多个索引层中的一个或多个层的每个层被配置为接收下列作为输入:(i)由第一机器人训练的DNN的前一层生成的层输出,(ii)由模拟训练的DNN的前一层生成的层输出,以及(iii)由第二机器人训练的DNN的前一层生成的层输出。10.根据权利要求9所述的方法,其中:由一个或多个计算机实现的第二机器人训练的DNN被配置为接收表征结合所述观察的当前状态的不同数据;以及由一个或多个计算机实现的第二机器人训练的DNN被配置为通过第三多个索引层处理所述不同数据以生成第二策略输出,第二策略输出定义了机器人智能体执行第二不同的机器人任务要执行的动作。11.根据权利要求10所述的方法,其中,所述观察是视觉数据,所述不同数据是本体感受数据。12.一个或多个存储指令的非暂时性计算机可读介质,当由一个或多个计算机执行时,所述指令使得一个或多个计算机执行操作,包括:接收执行机器人任务的机器人智能体进行的表征正在与其交互的真实世界环境的当前状态的观察;使用神经网络系统处理所述观察以生成策略输出,其中,所述神经网络系统包括深度神经网络(DNN)的序列,其中,所述DNN的序列包括:模拟训练的DNN,其已经在机器人智能体的模拟版本为了执行机器人任务的模拟版本与真实世界环境的模拟版本的交互上进行了训练,其中:所述模拟训练的DNN包括第一多个索引层,以及由一个或多个计算机实现的模拟训练的DNN被配置为接收所述观察并通过第一多个索引层中的每个层处理所述观察,以生成第一多个索引层中的每个层的各自的层输出;以及第一机器人训练的DNN,其已经在机器人智能体为了执行机器人任务与真实世界环境的交互上进行了训练,以在保持模拟训练的DNN的参数的训练值固定的同时确定第一机器人训练的DNN的参数的训练值,其中第一机器人训练的DNN包括第二多个索引层,由一个或多个计算机实现的第一机器人训练的DNN被配置为接收所述观察并通过第二多个索引层中的每个层处理所述观察,以生成策略输出,并且由一个或多个计算机实现的第二多个索引层中的一个或多个层的每个层被配置为接收下列作为输入:(i)由第一机器人训练的DNN的前一层生成的层输出,以及(ii)由模拟训练的DNN的前一层生成的层输出,其中,前一层是其索引比该层的索引小一的层;以及使用策略输出选择要由机器人智能体响应于所述观察而执行的动作。
13.一种系统,包括:一个或多个计算机;以及一个或多个存储指令的非暂时性计算机可读介质,当被一个或多个计算机执行时,所述指令使得一个或多个计算机执行操作,包括:接收执行机器人任务的机器人智能体进行的表征正在与其交互的真实世界环境的当前状态的观察;使用神经网络系统处理所述观察以生成策略输出,其中,所述神经网络系统包括深度神经网络(DNN)的序列,其中,所述DNN的序列包括:模拟训练的DNN,其已经在机器人智能体的模拟版本为了执行机器人任务的模拟版本与真实世界环境的模拟版本的交互上进行了训练,其中:所述模拟训练的DNN包括第一多个索引层,以及由一个或多个计算机实现的模拟训练的DNN被配置为接收所述观察并通过第一多个索引层中的每个层处理所述观察,以生成第一多个索引层中的每个层的各自的层输出;以及第一机器人训练的DNN,其已经在机器人智能体为了执行机器人任务与真实世界环境的交互上进行了训练,以在保持模拟训练的DNN的参数的训练值固定的同时确定第一机器人训练的DNN的参数的训练值,其中第一机器人训练的DNN包括第二多个索引层,由一个或多个计算机实现的第一机器人训练的DNN被配置为接收所述观察并通过第二多个索引层中的每个层处理所述观察,以生成策略输出,并且由一个或多个计算机实现的第二多个索引层中的一个或多个层的每个层被配置为接收下列作为输入:(i)由第一机器人训练的DNN的前一层生成的层输出,以及(ii)由模拟训练的DNN的前一层生成的层输出,其中,前一层是其索引比该层的索引小一的层;以及使用策略输出选择要由机器人智能体响应于所述观察而执行的动作。14.一个或多个存储指令的非暂时性计算机可读介质,当由一个或多个计算机执行时,所述指令使得一个或多个计算机执行用于训练神经网络系统的操作,所述神经网络系统包括深度神经网络(DNN)的序列,以确定所述DNN的序列中的一个或多个DNN的参数的训练值,其中,由一个或多个计算机实现的神经网络系统被配置为接收执行机器人任务的机器人智能体进行的表征正在与其交互的真实世界环境的当前状态的观察,并处理所述观察以生成策略输出,该策略输出定义了要由机器人智能体响应于所述观察而执行的动作,其中,所述DNN的序列包括:模拟训练的DNN,其中,由一个或多个计算机实现的模拟训练的DNN包括第一多个索引层,并且被配置为接收所述观察并通过第一多个索引层中的每个层处理所述观察,以生成第一多个索引层中的每个层的各自的层输出;以及第一机器人训练的DNN,其已经在机器人智能体为了执行机器人任务与真实世界环境的交互上进行了训练,以在保持模拟训练的DNN的参数的训练值固定的同时确定第一机器人训练的DNN的参数的训练值,其中第一机器人训练的DNN包括第二多个索引层,由一个或多个计算机实现的第一机器人训练的DNN被配置为接收所述观察并通过第二
多个索引层中的每个层处理所述观察,以生成策略输出,并且由一个或多个计算机实现的第二多个索引层中的一个或多个层的每个层被配置为接收下列作为输入:(i)由第一机器人训练的DNN的前一层生成的层输出,以及(ii)由模拟训练的DNN的前一层生成的层输出,其中,前一层是其索引比该层的索引小一的层,其中,所述操作包括:在机器人智能体为了执行机器人任务与真实世界环境的交互上训练第一机器人训练的DNN,以保持模拟训练的DNN的参数的训练值固定的同时确定第一机器人训练的DNN的参数的训练值。15.根据权利要求14所述的一个或多个非暂时性计算机可读介质,其中,由一个或多个计算机实现的第一机器人训练的DNN的输出层被配置为:接收下列作为输入:(i)由第一机器人训练的DNN的输出层的前一层生成的层输出,以及(ii)由模拟训练的DNN的输出层的前一层生成的层输出;将第一组参数应用于由第一机器人训练的DNN的输出层的前一层生成的层输出;以及将第二组参数应用于由模拟训练的DNN的输出层的前一层生成的层输出,并且其中,所述操作还包括:初始化第二组参数的值,以匹配模拟训练的DNN的输出层的参数的训练值。16.根据权利要求15所述的一个或多个非暂时性计算机可读介质,其中,所述操作还包括:将第一组参数的值初始化为零。17.根据权利要求15所述的一个或多个非暂时性计算机可读介质,其中,所述操作还包括:将除了第一机器人训练的DNN的输出层之外的第一机器人训练的DNN的层的参数值初始化为随机值。18.根据权利要求14所述的一个或多个非暂时性计算机可读介质,其中,所述操作还包括:在机器人智能体的模拟版本为了执行机器人任务的模拟版本与真实世界环境的模拟版本的交互上训练模拟训练的DNN,以确定模拟训练的DNN的参数的训练值。19.根据权利要求18所述的一个或多个非暂时性计算机可读介质,其中,训练模拟训练的DNN包括使用第一强化学习技术在机器人智能体的模拟版本的交互上训练模拟训练的DNN。20.根据权利要求19所述的一个或多个非暂时性计算机可读介质,其中,训练第一机器人训练的DNN包括使用第二强化学习技术在机器人智能体的交互上训练第一机器人训练的DNN。21.一种系统,包括:一个或多个计算机;以及一个或多个存储指令的非暂时性计算机可读介质,当由一个或多个计算机执行时,所述指令使得一个或多个计算机执行用于训练神经网络系统的操作,所述神经网络系统包括深度神经网络(DNN)的序列,以确定所述DNN的序列中的一个或多个DNN的参数的训练值,其中,由一个或多个计算机实现的神经网络系统被配置为接收执行机器人任务的机器人智能
体进行的表征正在与其交互的真实世界环境的当前状态的观察,并处理所述观察以生成策略输出,该策略输出定义了要由机器人智能体响应于所述观察而执行的动作,其中,所述DNN的序列包括:模拟训练的DNN,其中,由一个或多个计算机实现的模拟训练的DNN包括第一多个索引层,并且被配置为接收所述观察并通过第一多个索引层中的每个层处理所述观察,以生成第一多个索引层中的每个层的各自的层输出;以及第一机器人训练的DNN,其已经在机器人智能体为了执行机器人任务与真实世界环境的交互上进行了训练,以在保持模拟训练的DNN的参数的训练值固定的同时确定第一机器人训练的DNN的参数的训练值,其中第一机器人训练的DNN包括第二多个索引层,由一个或多个计算机实现的第一机器人训练的DNN被配置为接收所述观察并通过第二多个索引层中的每个层处理所述观察,以生成策略输出,...

【专利技术属性】
技术研发人员:R
申请(专利权)人:渊慧科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1