使用定点设备和键盘动作的学习计算机控制的制作方法

摘要: 本说明书涉及一种控制特定计算机使用神经网络执行任务的系统。背景技术:1、神经网络是采用一层或多层非线性单元来预测接收到的输入的输出的机器学习模型。一些神经网络除...
使用定点设备和键盘动作的学习计算机控制的制作方法

本说明书涉及一种控制特定计算机使用神经网络执行任务的系统。

背景技术:

1、神经网络是采用一层或多层非线性单元来预测接收到的输入的输出的机器学习模型。一些神经网络除了输出层之外还包括一个或多个隐藏层。每个隐藏层的输出被用作网络中的下一层(即,下一个隐藏层或输出层)的输入。网络的每个层根据相应参数集的当前值从接收到的输入生成输出。

技术实现思路

1、本说明书描述了一种神经网络系统,该神经网络系统被实现为一个或多个位置中的一个或多个计算机上的计算机程序,该计算机程序控制特定计算机执行任务。

2、根据第一方面,提供了一种用于控制特定计算机执行任务的方法。该方法包括:接收包括视觉输入的控制输入,该视觉输入包括计算机显示器的至少表示特定计算机的当前状态的一个或多个屏幕帧;使用神经网络处理控制输入以生成用于控制特定计算机执行任务的一个或多个控制输出,其中一个或多个控制输出包括指定要执行以控制特定计算机的定点设备动作或键盘动作中的至少一个的动作类型输出;从一个或多个控制输出确定一个或多个动作;以及执行一个或多个动作以控制特定计算机。

3、在一些实施方式中,定点设备动作是与特定计算机相关联的定点设备的多个动作中的一个,该多个动作包括以下中的一个或多个:使用计算机鼠标提交的输入、通过触摸屏设备提交的输入、或通过触摸板设备提交的输入。

4、在一些实施方式中,键盘动作是键按压或文本发出中的一个。

5、在一些实施方式中,视觉输入中的屏幕帧是表示在特定计算机上执行任务的过程中的步骤的图像。

6、在一些实施方式中,控制输入还包括一个或多个语言输入、一个或多个先前控制或两者。

7、在一些实施方式中,一个或多个语言输入包括以下中的至少一个:i)任务指令输入或ii)包括一个或多个任务字段的任务字段输入。

8、在一些实施方式中,一个或多个语言输入包括文档对象模型(dom)元素输入,其包括一个或多个dom元素。

9、在一个实施方式中,任务指令输入包括文本指令输入或话音指令输入。

10、在一些实施方式中,一个或多个控制输出还包括以下中的至少一个:i)光标坐标输出、ii)键盘键索引输出或iii)任务字段索引输出。

11、在一些实施方式中,光标坐标输出包括表示特定计算机的显示器上的期望光标位置的x坐标和y坐标。

12、在一些实施方式中,任务是在特定计算机上执行的多个任务中的一个,多个任务包括点击画布、在屏幕上拖动项目、填充表单、编辑文本、突出显示文本、转发电子邮件、进行预约以及预订票。

13、在一些实施方式中,神经网络包括视觉处理子网络、一个或多个语言处理子网络、先前控制处理子网络、多模态变换器(transformer)子网络和输出子网络,并且其中使用神经网络处理控制输入以生成一个或多个控制输出包括:使用视觉处理子网络处理视觉输入以生成一个或多个视觉嵌入;使用语言处理子网络处理一个或多个语言输入中的每个语言输入以生成相应的语言嵌入;使用先前控制处理子网络处理一个或多个先前控制以生成先前控制嵌入;使用多模态变换器子网络将一个或多个视觉嵌入和一个或多个语言嵌入组合以生成变换嵌入;以及使用输出子网络处理变换嵌入和先前控制嵌入以生成一个或多个控制输出。

14、在一些实施方式中,视觉处理子网络包括图像编码器子网络和平坦化子网络,并且利用视觉处理子网络处理视觉输入以生成一个或多个视觉嵌入包括:利用图像编码器子网络处理视觉输入以生成一个或多个经编码的视觉特征向量,以及通过利用平坦化子网络使一个或多个经编码的视觉特征向量平坦化以生成一个或多个视觉嵌入。

15、在一些实施方式中,图像编码器子网络是具有四个resnet块的resnet。

16、在一些实施方式中,每个语言处理子网络包括词元化层和语言编码器子网络,并且使用语言处理子网络处理一个或多个语言输入中的语言输入以生成相应的语言嵌入包括:使用词元化层将相应的语言输入拆分为词元,并且针对词元中的每个词元生成对应的词元嵌入,以及通过使用语言编码器子网络来关注词元嵌入以生成对应的语言嵌入。

17、在一些实施方式中,语言编码器子网络是具有4个头的1层变换器。

18、在一些实施方式中,关注词元嵌入以生成对应的语言嵌入包括:处理词元嵌入以生成键向量和值向量,处理额外嵌入以生成查询向量,以及使用交叉注意力机制处理键向量、值向量和查询向量以生成对应的语言嵌入。

19、在一些实施方式中,使用多模态变换器子网络生成变换嵌入包括:处理一个或多个视觉嵌入以生成视觉查询向量、视觉键向量和视觉值向量,处理一个或多个语言嵌入以生成语言查询向量、语言键向量和语言值向量,处理一个或多个附加嵌入以生成额外查询向量、额外键向量和额外值向量,使用自注意力机制来处理视觉查询向量、视觉键向量、视觉值向量、语言查询向量、语言键向量、语言值向量、额外查询向量、额外键向量、额外值向量以生成变换嵌入。

20、在一些实施方式中,输出子网络包括一个或多个长短期记忆(lstm)层。

21、在一些实施方式中,输出子网络还包括注意力策略子网络,注意力策略子网络被配置为处理一个或多个lstm层的输出以生成任务字段索引输出。

22、在一些实施方式中,注意力策略子网络被配置为使用两个lstm层的对应输出作为查询向量,处理由任务字段语言处理子网络生成的对应任务字段嵌入以生成键向量和值向量,并且使用交叉注意力机制来处理查询向量、键向量和值向量以生成任务字段索引输出。

23、在一些实施方式中,还包括:使用i)模仿学习来共同训练神经网络以模仿人类演示的一个或多个行为,以及ii)强化学习。

24、在一些实施方式中,该方法还包括使用模仿学习来训练神经网络以模仿如视觉输入中所示的人类演示的行为,以及使用强化学习来训练神经网络。

25、在一些实施方式中,在神经网络的训练期间,视觉输入展示人类将如何在特定计算机上执行任务。

26、在一些实施方式中,使用输出子网络处理变换嵌入和先前控制嵌入以生成一个或多个控制输出包括:使用输出子网络处理变换嵌入和先前控制嵌入的连结以生成一个或多个控制输出。

27、在一些实施方式中,神经网络是已经使用模仿学习并且可选地使用强化学习来训练的。

28、在一些实施方式中,动作类型输出指定针对执行任务的过程的一部分从另一操作者采取对特定计算机的控制的动作。

29、在一些实施方式中,特定计算机从人类用户接收一个或多个输入以控制特定计算机执行任务的第一部分,并且在从用户接收到命令时,神经网络控制特定计算机,由此神经网络生成一个或多个动作以控制特定计算机执行任务的在第一部分之后的第二部分。

30、根据第二方面,提供了一种系统,该系统包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由一个或多个计算机执行时可操作以使一个或多个计算机执行根据第一方面的方法的操作。

31、根据第三方面,提供了编码有指令的一个或多个计算机存储介质,所述指令在由一个或多个计算机执行时使一个或多个计算机执行根据第一方面的方法的操作。

32、根据第三方面,提供了一种系统,所述系统包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机执行时,使所述一个或多个计算机实现神经网络,该神经网络被配置为处理控制输入以生成用于控制特定计算机执行任务的一个或多个控制输出,控制输入包括(i)视觉输入,其包括计算机显示器的至少表示特定计算机的当前状态的一个或多个屏幕帧,(ii)一个或多个语言输入,以及(iii)一个或多个先前控制,神经网络包括:视觉处理子网络,其被配置为处理视觉输入以生成一个或多个视觉嵌入;一个或多个语言处理子网络,每个语言处理子网络被配置为处理一个或多个语言输入中的语言输入以生成相应的语言嵌入;先前控制处理子网络,其用于处理一个或多个先前控制以生成先前控制嵌入;多模态变换器子网络,其被配置为将一个或多个视觉嵌入和一个或多个语言嵌入组合以生成变换嵌入;以及输出子网络,其被配置为处理变换嵌入和先前控制嵌入以生成一个或多个控制输出。

33、应当理解,各方面能够以任何方便的形式来实现。例如,各方面和实施方式可以由适当的计算机程序实现,该计算机程序可以被承载在适当的载体介质上,该载体介质可以是有形载体介质(例如,盘)或无形载体介质(例如,通信信号)。各方面还可以使用可以采取运行计算机程序的可编程计算机的形式的合适装置来实现。

34、本说明书中描述的主题的特定实施例能够被实现,以便实现以下优点中的一个或多个。与需要访问文档对象模型(dom)元素并输出基于dom元素的动作的现有系统不同,所描述的神经网络系统通常接收人类用户可用的输入并生成对人类直观的输出(例如,指定基于鼠标/触摸屏和键盘的动作的输出)。由所描述的神经网络系统输出的动作可从与计算机的人类交互的日志直接观察到,因为它们是键盘和定点设备动作,因此允许容易地收集大量数据。另外,由于训练数据中不需要包括特权信息,因此极大地简化了收集与具有在由所描述的神经网络系统处理和生成的训练数据相同空间中的输入和输出的大型训练数据集。因此,能够通过使用大量数据的模仿学习(以及可选地,强化学习)来有效地训练所描述的系统,以实现最先进的性能。此外,所描述的系统能够被用于执行需要利用基于dom元素的动作不能实现的定点设备/键盘动作(例如,点击或拖动动作)的任务。

35、在附图和下面的描述中阐述了本说明书的主题的一个或多个实施例的细节。根据说明书、附图和权利要求,主题的其他特征、方面和优点将变得显而易见。