训练代理的行为的制作方法

文档序号:27979073发布日期:2021-12-15 02:00阅读:122来源:国知局
训练代理的行为的制作方法
训练代理的行为


背景技术:

1.代理是根据行为策略在其环境中进行行为的物理或数字实体。代理示例的非详尽列表包括:机器人真空吸尘器、制造工厂的机器人装配线上的机械臂、视频游戏中的化身、数字助理(聊天机器人)。
2.通常,行为策略由诸如代理的制造方或供应方的人类操作者限定。行为策略通常通过使用由专家程序员创建的软件来实现。但是,以这种方式实现行为策略可能很困难,并且因此很难部署代理并且获取良好的工作效果。
3.下面所描述的实施例不限于解决训练代理的行为的已知方法的任何或所有缺点的实现。


技术实现要素:

4.下面给出了本公开的简化概述,以便为读者提供基本理解。本概述不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护的主题的范围。其唯一目的是以简化形式呈现本文中公开的概念的选择,作为稍后呈现的更详细描述的前序。
5.描述了一种用于在物理或数字环境中训练代理的行为的装置。该装置包括存储至少一个奖励令牌在环境中的位置的存储器。该位置已经由用户指定。至少一个处理器根据行为策略在环境中执行代理。处理器被配置为观察变量的值,包括对代理的观察、代理的动作和从奖励令牌产生的任何奖励。处理器被配置为根据经观察的值、使用强化学习来更新行为策略。
6.很多伴随特征将更容易领会,因为通过参考结合附图所考虑的以下详细描述,这些特征变得更好理解。
附图说明
7.根据附图阅读以下详细描述,将能够更好地理解本描述,在附图中:
8.图1是环境中的代理的示意图;
9.图2是客厅中的机器人吸尘器的示意图,并且示出了客厅中用户定位的奖励令牌;
10.图3是制造工厂中的机械臂的示意图,并且示出了用户定位的奖励令牌;
11.图4a是聊天机器人和决策树的示意图;
12.图4b是具有用户定位的奖励令牌的平台游戏中的化身(avatar)的示意图;
13.图5是强化学习循环的示意图;
14.图6是由代理执行的用于训练代理的行为的方法的流程图;
15.图7是由代理执行的用于训练聚合技能的技能的方法的流程图;
16.图8示出了在其中实现代理的实施例的示例性的基于计算的设备。
17.在附图中使用相同的附图标记来表示相同的部件。
具体实施方式
18.下面结合附图提供的详细描述旨在作为对本示例的描述,并且不旨在表示构造或利用本示例的唯一形式。该描述阐述了该示例的功能以及用于构造和操作该示例的操作序列。然而,相同或等效的功能和序列可以通过不同的示例来实现。
19.如上所述,代理具有通常由诸如代理的制造方或供应方等人类操作者所限定的行为策略。例如,行为策略是软件,包括手工制定的规则,该规则指定代理在其环境中如何进行行为。创建用于控制代理的软件编码手工规则是一项耗时并且复杂的任务,该任务由熟练的程序员进行。
20.针对代理的行为策略可以由制造方实现并且在制造期间安装到代理中。在这种情况下,必须针对通用环境来创建行为策略,因为在制造时不知道代理将被部署在哪个特定环境中。在其中代理是机器人真空吸尘器的情况下,行为策略是针对普通家庭房间来创建的。然而,当机器人真空吸尘器部署在诸如读者家的客厅的特定家庭房间时,行为策略很可能是次优的。因此,机器人真空吸尘器会撞到家具,并且可能损坏家中的软家具或其他项。为了针对相关的特定家庭定制行为策略,机器人真空吸尘器必须在其被部署时,即在制造之后被训练。但是,对于非专业人员很难训练代理。
21.本技术使用强化学习以使代理能够被训练以根据行为策略在特定环境中进行行为。行为策略是代理在环境中的如何进行行为的限定,并且它被限定为将观察变量的值作为变元并且计算动作变量的值的函数。观察是代理具有关于当前时间处的信息的环境的部分。本技术使用任何众所周知的强化算法以根据值元组来更新行为策略,其中值元组是针对当前时间的观察变量的值、针对由代理在当前时间处所采取的动作的动作变量的值、以及适用的任何奖励令牌的值。注意,观察省略了(多个)奖励令牌,因为代理无法直接观察奖励令牌,而只能从奖励令牌的效果中学习。奖励令牌是虚拟的并且可以由用户在环境中定位的视觉元素。奖励令牌是正面或负面奖励令牌。即使代理在其观察中没有“看到”奖励令牌,代理的行为也会被训练。代理学习将奖励与观察和所采取的行动而不是奖励令牌相关联,因为奖励令牌仅对最终用户而不是代理可见/可观察。
22.通过使用强化学习,可以以高效并且有效的方式在环境中训练代理的行为。但是,通常需要机器学习专家才能使用强化学习以训练针对代理的特定行为。通常,在不知道“幕后”发生了什么的情况下,构造用于强化学习中的良好奖励函数是非常困难的。相比之下,本技术使最终用户能够简单地将一个或多个奖励令牌放置在代理的环境中以对其进行训练。最终用户不需要知道强化学习如何工作的细节。
23.图1是环境中的代理100的示意图。在该示例中,代理是家庭中的机器人真空吸尘器102、或制造工厂中的机械臂104、或视频游戏中的化身106。最终用户110将一个或多个奖励令牌放置108在代理100的环境中。然后,代理在其环境中使用强化学习112被训练,并且这产生被训练以在特定环境中进行行为的已训练代理114。通过将奖励令牌放置在环境中,用户能够影响训练的结果,因此产生的已训练代理114按照用户的期望进行行为。这是在用户110不必理解强化学习112或编写任何软件的情况下实现的。
24.备选地或附加地,代理的功能至少部分由一个或多个硬件逻辑组件执行。例如而非限制,可选地使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑器件(cpld)、图形处
理单元(gpu)。
25.在一些示例中,代理的功能至少部分由云中的计算设施来执行。
26.在图2的示例中,代理是家庭客厅中的机器人真空吸尘器200,其中存在各种物体206以及椅子208。房间中的人204是在房间中放置了三个奖励令牌的用户。奖励令牌是由操作增强现实计算设备(未示出)的用户放置在房间中位置处的虚拟令牌。用户已经放置了奖励令牌,因此它们与一件家具的距离大约是机器人真空吸尘器200的宽度的一半。以这种方式,机器人真空吸尘器被训练以避免撞到家具,但同时尽可能靠近家具进行清洁(因为当它移动到具有令牌的位置时会获取奖励)。
27.在图3的示例中,代理是制造工厂中的机械臂300。传送带306传送盒子302、304以由机械臂300使用钳子310来拾取。盒子302、304在传送带上的各种不同位置,并且机械臂必须使用相机308来检测盒子以拾取它们。机械臂必须被训练以拾取盒子302、304而不损坏盒子302、304。为了促进训练,由用户在环境中放置奖励令牌312。奖励令牌和盒子的间距与机械臂的钳子的宽度相似。以这种方式,机械臂学习拾取盒子而不损坏它们,因为当钳子与盒子适当间隔时它会获取奖励。
28.在图4的示例中,代理是办公室的桌子404上的聊天机器人400。在桌子404上是用于说明聊天机器人400的相对大小的键402集。聊天机器人具有众所周知的多个技能并且必须决定在特定情况下激活哪个技能。示例技能的非详尽列表是:打开灯、关闭烤箱、预订餐厅、制作日历条目。
29.图4中示出了决策树406,并且决策树406是在云中实现聊天机器人400的软件内的决策树的示意性表示。决策树的叶子表示聊天机器人的技能,并且树的内部分裂节点表示决策点。聊天机器人的软件根据聊天机器人的当前情况来搜索决策树,以找到表示在该情况下要执行哪个技能的叶节点。在该示例中,代理的环境由决策树表示,并且用户使用图形用户界面在决策树中放置一个或多个令牌408、410。在这种情况下,奖励令牌是图形元素。奖励令牌使代理能够被训练以在特定情况下使用特定技能。以这种方式,用户无需详细了解强化学习就可以训练聊天机器人。
30.在图4b的示例中,代理是2d平台游戏中的化身(在该示例中为电视角色)。用户在环境中放置了菱形,环境在这种情况下是2d平台游戏。化身的目标是通过在环境中移动来到达图4b所示的黑色门口。用户已经定位蓝色菱形以促进化身学习跳过间隙(图4b的上部)并且在朝向黑色门口的方向上移动(图4b的下部)。
31.图5是强化学习循环的示意图。图5示出了具有强化学习组件502的代理500。为清楚起见,代理500具有使用图5中的符号π来表示的行为策略。代理是机器人真空吸尘器102、或机械臂104、或化身106或聊天机器人400或任何其他代理。
32.当代理500在其环境506中执行时,它执行动作504。当代理500首次部署在环境506中时,行为策略被初始化为随机的,或者被初始化为手动配置的设置。由代理500根据其对环境506的当前观察从初始化行为策略来计算要执行什么动作504。动作504发生在环境506中并且可以改变环境或观察。代理现在具有三个值的集,包括:关于动作504、观察508和作为动作504的结果而在环境中已经遇到的任何奖励令牌的信息。代理使用三个值的集作为强化学习组件502的输入。强化学习组件502根据三个观察值的集来使用更新算法更新行为策略。行为策略被更新,以便更有可能生成将来会生成奖励的动作。图5所示的循环连续地
重复,或者至少直到行为策略几乎没有变化,诸如当经观察的变量的值在指定的常数范围内时。
33.通过使用关于用户定位的奖励令牌的信息作为更新行为策略的过程的部分,可以高效并且有效地训练代理以将那些奖励令牌考虑在内。即使代理在其观察中没有“看到”奖励令牌,也可以实现这一点。代理学习将其动作504与来自由用户放置的奖励令牌的奖励相关联。以这种方式,用户能够训练代理的行为,而无需了解强化学习任何工作或无需编写任何软件。
34.由于强化学习的性质,一旦已经关于行为对代理进行了训练,每次代理执行行为时代理如何进行行为通常会有轻微的变化。这些小的变化在很多方面都是有益的。这些变化会导致代理的行为的稳健性,因为如果环境随时间发生变化,则代理将能够更好地应对这些变化(而无需重新被训练),而不是陷入困境或失败。这些变化也保持了人类用户的兴趣,诸如其中代理是视频游戏中的化身。
35.图6是由代理执行的方法的流程图。代理接收600指定一个或多个奖励令牌在其环境中的位置的用户输入。奖励令牌是虚拟的并且指定代理的环境中的位置。代理602根据其行为策略来执行并且代理观察604其观察、其采取的动作和从用户定位的(多个)奖励令牌产生的任何奖励。代理使用强化学习和观察来更新606行为策略。代理决定是否停止学习,并且如果停止,则它将使用行为策略来继续控制自己。可选地,它从环境中移除令牌610。
36.如果代理决定继续训练,则图6的过程从操作602重复。
37.在一些情况下,用户想要关于复杂行为来训练代理,该复杂行为是两个或更多个技能的集合。图7是在代理处训练聚合技能的方法的示例,聚合技能是由两个或更多个技能组成的复杂行为。
38.用户考虑复杂的行为并且将其分解为两个或更多个技能。用户指定技能700中的一个技能并且将一个或多个奖励令牌放置到环境中以便关于指定的技能来训练代理。图7示出了由代理执行的方法。对于指定的技能700,代理接收702用户放置的奖励令牌的一个或多个位置。它使用图6的过程来训练704自己以执行技能。
39.然后代理在决策点706处检查用户是否已经指定更多技能。如果是,则移动到下一指定的技能并且重复操作700、702和704。如果所有指定的技能都已经被训练,则在决策点706处,代理继续进行操作708。在操作708处,代理现在将要训练以进行指定的聚合技能708。它接收710针对聚合技能的一个或多个用户放置的奖励令牌位置。在操作704处,它使用图6的过程来训练。一旦训练完成,代理现在能够进行复杂行为。以这种方式,非专业人员能够训练代理以执行复杂行为,而非专业人员无需了解机器学习或如何编写计算机软件。
40.代理使用用户放置的奖励令牌位置,使得代理以非常规方式操作,由非专业人员对复杂行为进行培训。
41.通过使用用户放置的奖励令牌位置,通过使其能够被训练以便以简单并且有效的方式进行行为,可以改进底层计算设备的功能。人类没有必要知道“幕后”发生了什么。
42.备选方法是事后给出反馈。在事后给出反馈的情况下,代理在其环境中被执行,并且人类观察代理的行为。人类稍后会向代理提供有关其行为的反馈。事后使用反馈效果不佳。事后反馈允许代理在某些示例中造成损坏,诸如机器人真空吸尘器与家具发生碰撞。事后反馈非常耗时,因为它需要人类观察代理的长期行为轨迹,诸如观看机器人真空吸尘器
清洁的时间,以便随后批评行为错误的情况。
43.另一种备选方法是给出基于偏好的反馈。基于偏好的反馈涉及代理执行两次任务,并且然后人类给出关于两个实例中哪个更好的反馈。这种方法效果不佳。基于偏好的反馈涉及人类花费大量时间观察大量代理动作。
44.图8示出了示例性的基于计算的设备804的各种组件,设备804被实现为任何形式的计算和/或电子设备并且在一些示例中在设备804中实现代理的实施例。
45.基于计算的设备804包括一个或多个处理器800,处理器800是微处理器、控制器或任何其他合适类型的处理器,处理器800用于处理计算机可执行指令,以控制设备的操作以便根据行为策略822在环境中执行代理并且使用强化学习组件820来训练代理的一个或多个行为。在一些示例中,例如在使用片上系统架构的情况下,处理器800包括一个或多个固定功能块(也称为加速器),该固定功能块实现以硬件(而不是软件或固件)执行代理和/或训练代理的方法的部分。在基于计算的设备处提供包括操作系统816或任何其他合适的平台软件的平台软件以使应用软件818能够在设备上执行。数据存储库824保存观察变量的值、动作变量以及用户放置的奖励令牌的位置。
46.计算机可执行指令使用由基于计算的设备804可访问的任何计算机可读介质来提供。计算机可读介质包括例如计算机存储介质,诸如存储器814和通信介质。诸如存储器814的计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块等信息的任何方法或技术实现的易失性和非易失性的可移动和不可移动介质。计算机存储介质包括但不限于随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom)、电子可擦除可编程只读存储器(eeprom)、闪存或其他存储技术、光盘只读存储器(cd

rom)、数字通用磁盘(dvd)或其他光存储、盒式磁带、磁带、磁盘存储或其他磁存储设备、或者用于存储由计算设备访问的信息的任何其他非传输介质。相比之下,通信介质在调制数据信号(诸如,载波或其他传输机制)中具化计算机可读指令、数据结构、程序模块等。如本文中所限定的,计算机存储介质不包括通信介质。因此,计算机存储介质不应当解释为传播信号本身。尽管计算机存储介质(存储器814)在基于计算的设备804内示出,但是应当理解,在一些示例中,存储是分布式的或位于远程的并且经由网络或其他通信链路来访问(例如,使用通信接口812)。
47.基于计算的设备804还包括输出接口810,输出接口810被布置为将显示信息输出到显示设备832,该显示设备832可以与基于计算的设备804分离或集成。输出接口810还向装置控制系统834发送指令,诸如其中代理是机械臂的机械臂、或其中代理是机器人真空吸尘器的电机。显示信息可以提供图形用户界面。输入接口802被布置为接收和处理来自一个或多个设备的输入,诸如用户输入设备(例如,鼠标830、键盘828、游戏控制器826、捕获设备836、相机、麦克风或其他传感器)。在一些示例中,用户输入设备检测语音输入、用户手势或其他用户动作,并且提供自然用户界面(nui)。该用户输入可以被用以在环境中定位奖励令牌。在实施例中,如果显示设备832是触敏显示设备,则显示设备832也用作用户输入设备。
48.备选地或除了本文所述的其他示例,示例包括以下各项的任何组合:
49.条款a.一种用于在物理或数字环境中训练代理的行为的装置,装置包括:
50.存储器,存储至少一个奖励令牌在所述环境中的位置,位置已经由用户指定;
51.至少一个处理器,被配置为根据行为策略在环境中执行代理;
52.处理器被配置为观察变量的值,包括对代理的观察、代理的动作和从奖励令牌产生的任何奖励;以及
53.处理器被配置为根据经观察的值、使用强化学习来更新行为策略。
54.条款b.根据条款a的装置,其中处理器被配置为根据经更新的行为策略来控制代理。
55.条款c.根据条款a或条款b的装置,其中由奖励令牌产生的奖励是由奖励令牌相对于环境的位置产生的。
56.条款d.根据条款a或条款b或条款c的装置,其中装置包括用户界面,用户界面被配置为接收指定至少一个奖励令牌的位置的用户输入。
57.条款e.根据条款d的装置,其中环境是在用户界面处以图形方式表示的数字环境,并且其中至少一个奖励令牌是由用户放置在数字环境的图形表示中的图形元素。
58.条款f.根据条款d的装置,其中用户界面是增强现实用户界面。
59.条款g.根据任何前述条款的装置,其中环境是物理环境,并且其中至少一个奖励令牌是由用户使用增强现实用户界面放置在物理环境中的虚拟元素。
60.条款h.根据任何前述条款的装置,其中代理是聊天机器人,并且其中环境是表示聊天机器人的可能动作的树结构,并且其中奖励令牌被放置在树的分裂节点处。
61.条款i.根据任何前述条款的装置,其中所存储的位置由用户关于要由代理学习的第一技能来指定,并且其中存储器存储第二位置,第二位置是要由代理学习的第二技能的第二奖励令牌的位置。
62.条款j.根据任何前述条款的装置,其中行为包括多个技能,并且其中装置包括存储器,该存储器针对技能中的每个技能而存储至少一个奖励令牌在环境中的位置。
63.条款k.根据任何前述条款的装置,其中代理是以下中的任何一项:机器人真空吸尘器、制造机械臂、聊天机器人、视频游戏中的化身。
64.条款l.一种在物理或数字环境中训练代理的行为的方法,方法包括:
65.接收至少一个奖励令牌在环境中的位置,位置已经由用户指定;
66.根据行为策略在环境中执行代理;
67.观察变量的值,包括:对代理的观察、代理的动作和由奖励令牌产生的任何奖励;以及
68.根据经观察的值使用强化学习来更新行为策略。
69.条款m.根据条款l的方法,其中行为包括:多个技能,并且其中装置存储器,该存储器包括针对技能中的每个技能而存储至少一个奖励令牌在环境中的所述位置。
70.条款n.根据条款m的方法,包括:针对技能中的每个技能执行接收、执行、观察和更新,并且使用技能的至少一个奖励令牌。
71.条款o.根据条款n的方法,包括:在行为策略针对技能中的每个技能被更新后,使用行为策略来控制代理。
72.条款p.根据条款l至o中任何的方法,在随时间观察变量的值时被重复。
73.条款q.根据条款l至p中任何的方法被重复直到变量的值在指定常数范围内。
74.条款r.根据条款l至q中任何的方法,其中环境是物理环境并且其中至少一个奖励令牌是由用户使用增强现实用户界面放置在物理环境中的虚拟元素。
75.条款s.根据条款l至r中任何的方法,其中代理是聊天机器人并且其中环境是表示聊天机器人的可能动作的树结构并且其中奖励令牌被放置在树的分裂节点处。
76.条款t.一种用于在物理或数字环境中训练代理的行为的装置,行为包括多个技能,装置包括:
77.存储器,针对每个技能存储至少一个奖励令牌在所述环境中的位置,位置已经由用户指定;
78.至少一个处理器,被配置为根据行为策略在环境中执行代理;
79.处理器被配置为观察变量的值,包括对代理的观察、代理的动作和从奖励令牌产生的任何奖励;以及
80.处理器被配置为根据经观察的值使用强化学习来更新行为策略。
81.术语“计算机”或“基于计算的设备”在本文中用于指代具有处理能力以使得其执行指令的任何设备。本领域技术人员将意识到,这种处理能力被并入很多不同设备中,因此术语“计算机”和“基于计算的设备”分别包括个人计算机(pc)、服务器、移动电话(包括智能手机)、平板计算机、机顶盒、媒体播放器、游戏机、个人数字助理、可穿戴计算机和很多其他设备。
82.在一些示例中,本文中描述的方法通过在有形存储介质上的机器可读形式的软件来执行,该有形存储介质例如是包括计算机程序代码装置的计算机程序的形式,当该程序在计算机上运行时,该计算机程序代码装置适于执行本文中描述的一个或多个方法的所有操作,并且其中该计算机程序可以具化在计算机可读介质上。该软件适合在并行处理器或串行处理器上执行,使得方法操作可以以任何合适的顺序或同时执行。
83.这承认,软件是有价值的可单独交易的商品。它旨在包含在“简易的”或标准硬件上运行或控制“简易的”或标准硬件以执行期望的功能的软件。它还旨在涵盖“描述”或限定硬件配置的软件,诸如hdl(硬件描述语言)软件,该硬件用于设计硅芯片或用于配置通用可编程芯片以执行期望的功能。
84.本领域技术人员将认识到,用于存储程序指令的存储设备可选地跨网络分布。例如,远程计算机能够存储被描述为软件的过程的示例。本地或终端计算机能够访问远程计算机并且下载软件的部分或全部以运行该程序。备选地,本地计算机可以根据需要下载该软件的分片,或者在本地终端处执行一些软件指令,并且在远程计算机(或计算机网络)处执行一些软件指令。本领域技术人员还将认识到,通过利用本领域技术人员已知的常规技术,软件指令的全部或部分可以由诸如数字信号处理器(dsp)、可编程的逻辑阵列等专用电路执行。
85.可以扩展或改变本文中给出的任何范围或装置值而不会失去所寻求的效果,这对于技术人员来说是很清楚的。
86.尽管已经以结构特征和/或方法动作特定的语言描述了主题,但是应当理解,所附权利要求中所限定的主题不必然限于上述特定特征或动作。相反,上述特定特征和动作被公开作为实现权利要求的示例形式。
87.应当理解,上述益处和优点可以涉及一个实施例或可以涉及若干实施例。实施例不限于解决任何或所有所述问题的实施例或具有任何或所有所述益处和优点的实施例。还应当理解,对“一个”项的引用是指这些项中的一个或多个项。
88.本文中所描述的方法的操作可以以任何合适的顺序进行,或者在适当的情况下同时进行。另外,可以从任何方法中删除单独的块而不脱离本文中描述的主题的范围。上面描述的任何示例的方面可以与描述的任何其他示例的方面组合以形成另外的示例而不会失去所寻求的效果。
89.术语“包括”在本文中用于表示包括所标识的方法块或元素,但是这样的块或元素不包括排他性列表,并且方法或装置可以包含附加的块或元素。
90.术语“子集”在本文中用于指适当的子集,使得集的子集不包括该集的所有元素(即,该子集中缺少该集的至少一个元素)。
91.应当理解,以上描述仅作为示例给出并且本领域技术人员可以进行各种修改。以上说明书、示例和数据提供了示例性实施例的结构和使用的完整描述。尽管以上已经以一定程度的特殊性或者参考一个或多个个体实施例描述了各种实施例,但是本领域技术人员可以在不脱离本说明书的范围的情况下对所公开的实施例做出多种改变。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1