一种模型训练、运动指令预测方法、装置及系统转让专利

申请号 : CN202310658867.5

文献号 : CN116383667B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 蔡亚谚何宇星许晋诚

申请人 : 帕西尼感知科技(张家港)有限公司

摘要 :

本申请实施例属于人工智能技术领域,涉及一种模型训练方法,包括获取附加条件约束的预设通用模型;获取与条件约束对应的条件训练样本;以条件训练样本作为模型输入;基于预设通用模型的输出反向调整条件约束的参数;重复执行获取与条件约束对应的条件训练样本;以条件训练样本作为模型输入以及基于预设通用模型的输出反向调整条件约束的参数的步骤,直到满足预设终止条件。本申请还提供一种模型训练装置及系统等。本申请采用的技术方案可以减少模型训练成本,提高模型学习效率。

权利要求 :

1.一种模型训练方法,其特征在于,所述方法包括下述步骤:获取附加条件约束的预设通用模型;所述预设通用模型为基于通用观测数据和对应的通用动作指令构建的通用训练样本训练后的模型;

获取与所述条件约束对应的条件训练样本;所述条件训练样本包括观测数据和对应的动作指令;

以所述条件训练样本作为模型输入,包括:以所述观测数据作为所述预设通用模型的输入;以所述观测数据或观测特征数据,以及对应的约束条件作为所述条件约束的输入;所述观测特征数据是所述预设通用模型对所述观测数据提取特征后的中间层数据;其中,所述条件约束为附加给所述预设通用模型的机器人动作约束;所述约束条件为对应所述条件约束的条件数据;

基于所述预设通用模型的输出反向调整所述条件约束的参数;

重复执行所述获取与所述条件约束对应的训练样本;所述以所述条件训练样本作为模型输入以及所述基于所述预设通用模型的输出反向调整所述条件约束的参数的步骤,直到满足预设终止条件。

2.根据权利要求1所述的模型训练方法,其特征在于,所述基于所述预设通用模型的输出反向调整所述条件约束的参数包括下述步骤:求取所述预设通用模型的输出与所述观测数据对应的所述动作指令之间的差异;

基于所述差异,调整所述条件约束的参数。

3.根据权利要求1或2所述的模型训练方法,其特征在于,所述附加条件约束的预设通用模型为:所述条件约束的每个输出层加入所述预设通用模型对应的隐藏层;或所述条件约束的最后输出加入所述预设通用模型的最后输出。

4.根据权利要求1或2所述的模型训练方法,其特征在于,所述获取附加条件约束的预设通用模型之前,还包括:获取所述预设通用模型;

获取所述条件约束;

将所述条件约束的每个输出层加入所述预设通用模型对应的隐藏层;或将所述条件约束的最后输出加入所述预设通用模型的最后输出。

5.根据权利要求1或2所述的模型训练方法,其特征在于,所述获取附加条件约束的预设通用模型之前,还包括:获取所述通用训练样本;

以所述通用训练样本对初始通用模型进行训练,以得到所述预设通用模型。

6.根据权利要求5所述的模型训练方法,其特征在于,所述获取与所述条件约束对应的条件训练样本之前,还包括下述步骤:获取操作者的动作数据;所述动作数据为通过主端传感器采集的操作者基于从端传感器采集的观测数据主观执行目标动作过程中的数据;

将所述动作数据转换为机器人可执行的动作指令,以指示从端机器人模仿目标动作;

重复上述步骤,直到完成目标任务;

将所述观测数据和对应的所述动作指令进行保存,以形成所述条件训练样本。

7.一种运动指令预测方法,其特征在于,所述方法包括下述步骤:获取预训练的附加条件约束的预设通用模型;所述预训练的附加条件约束的预设通用模型为基于权利要求1至6中任一项所述的模型训练方法训练后的模型;

获取观测数据和约束条件;

以所述观测数据作为所述预设通用模型的输入,并以所述观测数据或观测特征数据,以及对应的约束条件作为所述条件约束的输入,得到所述预设通用模型输出的运动指令;

所述观测特征数据是所述预设通用模型对所述观测数据提取特征后的中间层数据。

8.一种模型训练装置,其特征在于,所述装置包括:

第一模型获取模块,用于获取附加条件约束的预设通用模型;所述预设通用模型为基于通用观测数据和对应的通用动作指令构建的通用训练样本训练后的模型;

条件样本获取模块,用于获取与所述条件约束对应的条件训练样本;所述条件训练样本包括观测数据和对应的动作指令;

样本数据输入模块,用于以所述条件训练样本作为模型输入,包括:以所述观测数据作为所述预设通用模型的输入;以所述观测数据或观测特征数据,以及对应的约束条件作为所述条件约束的输入;所述观测特征数据是所述预设通用模型对所述观测数据提取特征后的中间层数据;其中,所述条件约束为附加给所述预设通用模型的机器人动作约束;所述约束条件为对应所述条件约束的条件数据;

约束参数调整模块,用于基于所述预设通用模型的输出反向调整所述条件约束的参数;

模型训练重复模块,用于重复执行所述获取与所述条件约束对应的训练样本;所述以所述条件训练样本作为模型输入以及所述基于所述预设通用模型的输出反向调整所述条件约束的参数的步骤,直到满足预设终止条件。

9.一种运动指令预测装置,其特征在于,所述装置包括:

第二模型获取模块,用于获取预训练的附加条件约束的预设通用模型;所述预训练的附加条件约束的预设通用模型为经权利要求1至6中任一项所述的模型训练方法训练后的模型;

观测数据获取模块,用于获取观测数据和约束条件;

运动指令预测模块,用于以所述观测数据作为所述预设通用模型的输入,并以所述观测数据或观测特征数据,以及对应的约束条件作为所述条件约束的输入,得到所述预设通用模型输出的运动指令;所述观测特征数据是所述预设通用模型对所述观测数据提取特征后的中间层数据。

10.一种基于遥操作的模型训练系统,其特征在于,所述系统包括:主端交互器、从端机器人、从端传感器和控制器;所述从端传感器与所述从端机器人存在预设标定关系;

所述控制器至少分别与所述主端交互器和所述从端机器人通信连接;

所述从端传感器,用于采集所述从端机器人的观测数据;

所述主端交互器,用于采集操作者执行目标动作的动作数据,并将所述动作数据发送给所述控制器;其中,操作者基于所述观测数据主观执行目标动作;

所述控制器,用于将所述动作数据转换为机器人可执行的动作指令,以指示所述从端机器人模仿目标动作;重复上述步骤,直到完成目标任务;将所述观测数据和对应的所述动作指令进行保存,以形成条件训练样本;以及实现权利要求1至6中任一项所述的模型训练方法的步骤。

说明书 :

一种模型训练、运动指令预测方法、装置及系统

技术领域

[0001] 本申请涉及人工智能技术领域,尤其涉及一种模型训练、运动指令预测方法、装置及系统。

背景技术

[0002] 为了使机器人能够模仿人的操作动作,操作员可以利用遥操作或是其他示教的方式实现正确的操作动作,并记录机器人上实时的观测状态和动作变化。之后透过机器学习的方式让机器人学到状态和动作的映射,以达到模仿人自动操作的能力。在自动操作的过程中,有时候可能会需要对机器人的操作进行约束、控制或指示,使机器人可以操作指定物体,保持某个操作姿态,或以不同速度或力的方式执行操作任务等。
[0003] 现有技术需要在训练过程中额外对模型加入已知的约束、控制或指示条件等,从而在之后部署过程中,机器人才能以这些条件做出相应的动作。但是,这种方法有以下不足的地方:
[0004] 1、无法解耦操作目标和条件目标。在操作目标和条件目标没有解耦的情况下会增加观测空间的范围,所以需要更大量的训练数据进行学习。
[0005] 2、对于同一种操作任务但是有新的约束时,需要重新调整模型架构和重新训练模型,从而导致大量增加训练成本和难度。

发明内容

[0006] 本申请实施例的目的在于提出一种模型训练、运动指令预测方法、装置及系统,以减少模型训练成本,提高模型训练的效率。
[0007] 第一方面,本申请实施例提供一种模型训练方法,采用了如下所述的技术方案:
[0008] 一种模型训练方法,所述方法包括下述步骤:
[0009] 获取附加条件约束的预设通用模型;所述预设通用模型为基于通用观测数据和对应的通用动作指令构建的通用训练样本训练后的模型;
[0010] 获取与所述条件约束对应的条件训练样本;所述条件训练样本包括观测数据和对应的动作指令;
[0011] 以所述条件训练样本作为模型输入,包括:以所述观测数据作为所述预设通用模型的输入;以所述观测数据或观测特征数据,以及对应的约束条件作为所述条件约束的输入;所述观测特征数据是所述预设通用模型对所述观测数据提取特征后的中间层数据;其中,所述条件约束为附加给所述预设通用模型的机器人动作约束;所述约束条件为对应所述条件约束的条件数据;
[0012] 基于所述预设通用模型的输出反向调整所述条件约束的参数;
[0013] 重复执行所述获取与所述条件约束对应的训练样本;所述以所述条件训练样本作为模型输入以及所述基于所述预设通用模型的输出反向调整所述条件约束的参数的步骤,直到满足预设终止条件。
[0014] 进一步的,所述基于所述预设通用模型的输出反向调整所述条件约束的参数包括下述步骤:
[0015] 求取所述预设通用模型的所述输出与所述观测数据对应的所述动作指令之间的差异;
[0016] 基于所述差异,调整所述条件约束的参数。
[0017] 进一步的,所述附加条件约束的预设通用模型为:
[0018] 所述条件约束的每个输出层加入所述预设通用模型对应的隐藏层;或[0019] 所述条件约束的最后输出加入所述预设通用模型的最后输出。
[0020] 进一步的,所述获取附加条件约束的预设通用模型之前,还包括:
[0021] 获取所述通用训练样本;
[0022] 以所述通用训练样本对初始通用模型进行训练,以得到所述预设通用模型。
[0023] 进一步的,所述获取附加条件约束的预设通用模型之前,还包括:
[0024] 获取所述预设通用模型;
[0025] 获取所述条件约束;
[0026] 将所述条件约束的每个输出层加入所述预设通用模型对应的隐藏层;或将所述条件约束的最后输出加入所述预设通用模型的最后输出。
[0027] 进一步的,所述获取与所述条件约束对应的条件训练样本之前,还包括下述步骤:
[0028] 获取操作者的动作数据;所述动作数据为通过主端传感器采集的操作者基于从端传感器采集的观测数据主观执行目标动作过程中的数据;
[0029] 将所述动作数据转换为机器人可执行的动作指令,以指示从端机器人模仿目标动作;
[0030] 重复上述步骤,直到完成目标任务;
[0031] 将所述观测数据和对应的所述动作指令进行保存,以形成所述条件训练样本。
[0032] 第二方面,本申请实施例提供一种运动指令预测方法,采用了如下所述的技术方案:
[0033] 一种运动指令预测方法,所述方法包括下述步骤:
[0034] 获取预训练的附加条件约束的预设通用模型;所述预训练的附加条件约束的预设通用模型为基于上面任一项所述的模型训练方法训练后的模型;
[0035] 获取观测数据和约束条件;
[0036] 以所述观测数据作为所述预设通用模型的输入,并以所述观测数据或观测特征数据,以及对应的约束条件作为所述条件约束的输入,得到所述预设通用模型输出的运动指令;所述观测特征数据是所述预设通用模型对所述观测数据提取特征后的中间层数据。
[0037] 第三方面,本申请实施例提供一种模型训练装置,所述装置包括:
[0038] 第一模型获取模块,用于获取附加条件约束的预设通用模型;所述预设通用模型为基于通用观测数据和对应的通用动作指令构建的通用训练样本训练后的模型;
[0039] 条件样本获取模块,用于获取与所述条件约束对应的条件训练样本;所述条件训练样本包括观测数据和对应的动作指令;
[0040] 样本数据输入模块,用于以所述条件训练样本作为模型输入,包括:以所述观测数据作为所述预设通用模型的输入;以所述观测数据或观测特征数据,以及对应的约束条件作为所述条件约束的输入;所述观测特征数据是所述预设通用模型对所述观测数据提取特征后的中间层数据;其中,所述条件约束为附加给所述预设通用模型的机器人动作约束;所述约束条件为对应所述条件约束的条件数据;
[0041] 约束参数调整模块,用于基于所述预设通用模型的输出反向调整所述条件约束的参数;
[0042] 模型训练重复模块,用于重复执行所述获取与所述条件约束对应的训练样本;所述以所述条件训练样本作为模型输入以及所述基于所述预设通用模型的输出反向调整所述条件约束的参数的步骤,直到满足预设终止条件。
[0043] 第四方面,本申请实施例提供一种运动指令预测装置,所述装置包括:
[0044] 第二模型获取模块,用于获取预训练的附加条件约束的预设通用模型;所述预训练的附加条件约束的预设通用模型为经上面任一项所述的模型训练方法训练后的模型;
[0045] 第二数据获取模块,用于获取观测数据和约束条件;
[0046] 运动指令预测模块,用于以所述观测数据作为所述预设通用模型的输入,并以所述观测数据或观测特征数据,以及对应的约束条件作为所述条件约束的输入,得到所述预设通用模型输出的运动指令;所述观测特征数据是所述预设通用模型对所述观测数据提取特征后的中间层数据。
[0047] 第五方面,本申请实施例提供一种基于遥操作的模型训练系统,所述系统包括:主端交互器、从端机器人、从端传感器和控制器;所述从端传感器与所述从端机器人存在预设标定关系;
[0048] 所述控制器至少分别与所述主端交互器和所述从端机器人通信连接;
[0049] 所述从端传感器,用于采集所述从端机器人的观测数据;
[0050] 所述主端交互器,用于采集操作者执行目标动作的动作数据,并将所述动作数据发送给所述控制器;其中,操作者基于所述观测数据主观执行目标动作;
[0051] 所述控制器,用于将所述动作数据转换为机器人可执行的动作指令,以指示所述从端机器人模仿目标动作;重复上述步骤,直到完成目标任务;将所述观测数据和对应的所述动作指令进行保存,以形成条件训练样本;以及实现上面任一项所述的模型训练方法的步骤。
[0052] 第六方面,本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上面任一项所述的模型训练和/或运动指令预测方法的步骤。
[0053] 第七方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上面任一项所述的模型训练和/或运动指令预测方法的步骤。
[0054] 与现有技术相比,本申请实施例主要有以下有益效果:
[0055] 本申请实施例通过在模型训练过程中加入条件约束训练,对于出现的新增条件任务,可以在不改变已训练的预设通用模型网络框架下,另外加一个条件约束,不需要重新训练预设通用模型网络框架,因此可以大幅减少训练成本,提高模型训练的效率。
[0056] 另外,通过在不改变已训练的预设通用模型网络框架中增加条件约束,使其能够灵活接受新的约束条件,从而能更灵活地控制机器人完成目标任务。

附图说明

[0057] 为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0058] 图1是本申请可以应用于其中的示例性系统架构图;
[0059] 图2是本申请提供的基于遥操作的模型训练系统的一个实施例的架构图;
[0060] 图3是本申请提供的附加条件约束的预设通用模型的一个实施例的结构示意图;
[0061] 图4是本申请提供的附加条件约束的预设通用模型的另一个实施例的结构示意图;
[0062] 图5是本申请的模型训练方法的一个实施例的流程示意图;
[0063] 图6是本申请的运动指令预测方法的一个实施例的流程示意图;
[0064] 图7是本申请的模型训练装置的一个实施例的结构示意图;
[0065] 图8是本申请的计算机设备的一个实施例的结构示意图。

具体实施方式

[0066] 除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
[0067] 在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0068] 为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0069] 如图1所示,图1是本申请可以应用于其中的示例性系统架构图。
[0070] 如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105,以及传感器(有关传感器的描述可以参见后面实施例中基于遥操作的训练系统中的从端传感器的描述)。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0071] 用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
[0072] 终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器( Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3 )、MP4( Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4 )播放器、膝上型便携计算机和台式计算机等等。
[0073] 服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
[0074] 需要说明的是,本申请实施例所提供的模型训练方法和运动指令预测方法一般由服务器/终端设备执行,相应地,模型训练装置和运动指令预测装置一般设置于服务器/终端设备中。
[0075] 应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0076] 如图2所示,图2是本申请提供的基于遥操作的模型训练系统的一个实施例的架构图。在另一个实施例中,本申请实施还提供一种基于遥操作的训练系统,该系统包括:主端交互器110、从端机器人120、从端传感器130和控制器150。
[0077] 主端交互器110
[0078] 主端交互器110,用于采集操作者执行目标动作的动作数据,并将动作数据发送给控制器150;其中,操作者基于观测数据主观执行目标动作。
[0079] 主端交互器110可以但不限于是:主端传感器、设置主端传感器的执行器主体、触控屏、录音器(比如:动作数据也可以是操作者生成的口头指令)等等。
[0080] 具体地,主端传感器可以为可采集动作数据的任何传感器,比如:IMU、图像传感器、位置编码器、生化传感器(比如:肌电传感器)。其中,IMU是惯性测量单元,可以用于测量操作者运动过程中关节的角速度和加速度等相关的动作数据;图像传感器可以采集操作者执行目标动作中的连续帧图像,以图像或经过预处理后的图像作为上述动作数据。
[0081] 在一个实施例中,上述主端传感器可以直接固定在操作者的预设关键部位。
[0082] 在另一个实施例中,也可以将主端传感器预先设置于执行器主体,比如:主端机器人、可穿戴装置(比如:外骨骼或数据手套),基于操作者主观操作控制执行器主体运动,从而通过设置于执行器主体的主端传感器采集操作者的动作数据。
[0083] 在一个实施例中,主端传感器与操作者或者执行器本体存在预设的标定关系,这样可以基于主端传感器采集的动作数据直接或者间接反应操作者的动作。
[0084] 示例性的,以手臂骨骼为例,多个连杆等构成执行器本体,执行器本体对应手臂关节位置可以设置IMU从端传感器,将手臂骨骼穿戴在操作者手臂上,从而可以通过IMU采集操作者的手臂关节运动过程中的动作数据。
[0085] 需要说明的是,本申请实施例所述的操作者并不限于人类,也可以根据需要为其他生命体,为方便理解,本申请实施例主要以操作者为人类为例进行说明。
[0086] 从端机器人120
[0087] 具体地,从端机器人可以为人形机器人;以串联或者并联方式连接的机械臂(比如:Delta机械手、四轴机械手或六轴机械手);无人驾驶设备;或者手术/护理/家务/服务机器人等等可模仿操作者操作的自动化设备。以从端机器人为机械臂为例,通常机械臂末端还设置末端执行器(比如:夹爪)。
[0088] 从端传感器130
[0089] 从端传感器130,用于采集从端机器人120的观测数据。
[0090] 通过观测数据可以反应从端机器人的工作状况,比如:机器人周边的环境或者机器人目标任务的完成情况等等。
[0091] 具体地,从端传感器可以但不限于是:图像传感器、力/力矩传感器(比如:二维或多维压力传感、触觉传感器)、机器人的关节位置编码器(比如:可以基于编码器得到关节运动量,进而可以求取机器人的姿态)和/或电流或电压计(比如:可以基于电流大小得到某个关节的运动速度相关的信息),以及其他任何可采集观测数据的传感器。
[0092] 在一个实施例中,从端传感器130与机器人120存在预设标定关系,这样通过从端传感器采集的观测数据可以与机器人相互映射。比如:图像传感器和机械臂之间可以预先通过眼手标定的方式进行标定;机械臂的关节位置编码器需要与关节的输出法兰同轴固定;力/力矩从端传感器需要通过弹性梁固定于关节预设位置等等。
[0093] 控制器150
[0094] 本申请实施例所述的控制器150可以是指基于遥操作的训练系统的控制器,也可以是指演示器、主端交互器或从端传感器等的控制器,为方便理解,本申请实施例统称为控制器。上述各个控制器可以集成为一个独立的控制器,也可以分别集成在各自的遥操作模块、演示器、主端交互器或从端传感器等等中,本申请不做限定。
[0095] 本申请实施例中的控制器可以但不限于是:计算机终端(Personal Computer,PC);工业控制计算机终端(Industrial Personal Computer, IPC);移动终端;服务器;包括终端和服务器的系统,并通过终端和服务器的交互实现;可编程逻辑控制器(Programmable Logic Controller,PLC);现场可编程门阵列(Field‑Programmable Gate Array,FPGA);数字信号处理器(Digital SignalProcesser,DSP)或微控制单元(Microcontroller unit,MCU)。控制器根据预先固定的程序,结合外部的主端交互器、从端传感器等采集的数据等生成程序指令。
[0096] 示例性的,可以应用于如图8所示的计算机设备中,该计算机设备可以是终端,也可以是服务器。其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络),以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音响、智能手表等,但并不局限于此。终端以及服务器可以通过有线或者无线通信方式进行直接或间接地连接,本申请在此不做限定。
[0097] 在一个实施例中,上述从端传感器可以直接向操作者展示观测数据。
[0098] 继续如图2所示,在另一个实施例中,该模型训练系统还可以包括:演示器140。
[0099] 演示器140,用于将观测数据或经可演示化处理后的观测数据向操作者进行演示,通过演示器的演示帮助操作者更好地了解从端机器人的工作状况。
[0100] 具体地,演示器140可以直接与从端传感器130通信连接(如图1所示);除此之外,演示器140也可以通过控制器150与从端传感器通信连接(图未示意出)。
[0101] 比如:从端传感器采集的观测数据需要通过控制器进行可演示化处理后,向操作者演示(比如:将观测数据转换为虚拟可视化数据后发送给VR演示);或者,当控制器为服务器时,需要将观测数据发送给服务器,再通过服务器发送给演示器,以实现远程观测数据传输。
[0102] 具体地,上述演示器可以但不限于是:显示屏、AR/VR类似虚拟显示设备、施力组件、声音播放器。比如:可以将从端力从端传感器采集的某物体的施力数据等等转换为相对应的作用力施加给操作者;或者通过声音向操作者演示机器人周边环境(比如:在哪个方位存在障碍物、距离目标的距离等等。
[0103] 控制器150至少与主端交互器110和从端机器人120通信连接。
[0104] 需要指出的是,本申请实施例所述的通信连接可以指通过有线或者无线等的方式通信连接。其中,无线连接方式可以但不限于3G/4G/5G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB( ultra wideband )连接、以及其他现在已知或将来开发的无线连接方式。
[0105] 本申请通过上述各个器件的配合,操作者可以基于从端传感器采集的观测数据主观执行相应的目标动作,进而通过主端交互器采集操作者对应的动作数据;控制器基于动作数据,生成与该观测数据对应的动作指令,以指示从端机器人模仿操作者动作,并通过位于从端的从端传感器采集变化后的新的观测数据,重复上述步骤,直到完成目标任务;将所述观测数据和对应的所述动作指令进行保存,以形成下面实施例所述的条件训练样本/通用训练样本;除此之外,控制器还可以实现下面实施例中所述的模型训练方法和/或运动指令预测方法等的方法步骤。有关控制器的具体限定可以参见下面的实施例。
[0106] 需要说明的是,本申请实施例所提供的模型训练方法可以由图1所示系统的服务器/终端设备执行;和/或图2所示系统的控制器执行,相应地,用于模型训练的装置可以设置于图1所示系统的服务器/终端设备;和/或图2所示系统的控制器中。
[0107] 如图5所示,图5是本申请的模型训练方法的一个实施例的流程示意图。
[0108] 本申请实施例提供一种模型训练方法,可以包括以下方法步骤:
[0109] 步骤S210获取附加条件约束的预设通用模型;其中,预设通用模型为基于通用观测数据和对应的通用动作指令构建的通用训练样本训练后的模型。
[0110] 在一个实施例中,控制器按照预设地址从存储器或者服务器获取附加条件约束的预设通用模型。
[0111] 具体地,上述条件约束可以但不限于是:指定抓取物体、抓取动作(双指或多指抓取)、目标物体和手的相对抓取姿态、抓取方式(precision or power grasp)或者调整抓取速度和执行抓取时间等等。
[0112] 需要说明的是,上述条件约束可以是一个神经网络模型(如图3或图4所示),也可以是某些函数、矩阵或参数的表达式等等,都属于本申请保护的范围。
[0113] 示例性的,在一个抓取任务中,在没有附加条件约束的情况下,预设通用模型可以透过视觉,触觉等和历史观测数据观测到目标物体,生成机械臂的动作指令,以抓取目标物体。但是在抓取时,有时会需要对机器人动作给与一些约束、控制或指示等,以确保机器人在抓取物体后能顺利执行接下来的操作任务或改变目标动作。通过为预设的通用模型附加条件约束,我们可以在不重新训练预设通用模型的情况下,以少量训练数据赋予机器人更灵活的操作能力。
[0114] 具体地,预设通用模型为基于通用观测数据和对应的通用动作指令构建的通用训练样本训练后的模型。
[0115] 在一个实施例中,步骤S210之前,可以包括如下方法步骤:
[0116] 步骤S250获取通用训练样本。
[0117] 通常对初始通用模型进行训练时的通用训练样本数量相对于与条件约束对应的条件训练样本数量更多,且主要针对不添加附加约束条件时的基础动作或者包括了多种约束条件下的动作等得到的通用训练样本。
[0118] 有关通用训练样本的生成方法可以基于本实施例步骤S270至步骤S300所述的基于遥操作系统的条件训练样本生成方法的步骤生成,或者其他现在已有或将来开发的方法生成。
[0119] 步骤S260以通用训练样本对初始通用模型进行训练,以得到预设通用模型。
[0120] 具体地,可以通过各种现在已有或者将来开发的训练方法对模型进行训练,比如:通过监督学习或是强化学习。
[0121] 示例性的,控制器按照预设地址从存储器或者服务器获取观测数据和对应的动作指令构成的训练样本;依序将一组观测数据输入预设通用模型,并以对应的动作指令作为标注,不断对模型进行迭代训练。
[0122] 具体地,上述附加条件约束的预设通用模型可以根据需要采用各种形式添加约束条件。
[0123] 如图3所示,在一个实施例中,附加条件约束的预设通用模型可以为条件约束的每个输出层加入预设通用模型对应的隐藏层的结构模型。
[0124] 本申请实施例通过将条件约束的每个输出层加入所述预设通用模型对应的隐藏层,能够在不改变预设通用模型的参数情况下改变预设通用模型每层输出的数据分布,从而在某些情况下,可以更精准的训练和控制条件约束每层输出网络的输出结果。
[0125] 如图4所示,在一个实施例中附加条件约束的预设通用模型可以为将条件约束的最后输出加入预设通用模型的最后输出的结构模型。
[0126] 本申请实施例通过将条件约束的最后输出加入预设通用模型的最后输出中,比较容易实现在预设通用模型代码基础上加入条件约束代码。
[0127] 在一个实施例中,步骤S210之前,可以通过人工调整的方法得到上述附加条件约束的预设通用模型。比如:通过人工写代码方式确定如何从通用模型里隐藏层的输出提取数据特征或是如何把条件模型隐藏层的输出加入到通用模型隐藏层的输入。
[0128] 在另一个实施例中,步骤S210之前,还可以包括如下方法步骤,该方法步骤可以由图1所示系统的服务器/终端设备执行;和/或图2所示系统的控制器执行;
[0129] 获取预设通用模型;
[0130] 获取条件约束;
[0131] 将条件约束的每个输出层加入预设通用模型对应的隐藏层,从而得到如图3所示的附加条件约束的预设通用模型;或者,
[0132] 将条件约束的最后输出加入预设通用模型的最后输出,从而得到如图4所示的附加条件约束的预设通用模型。
[0133] 本申请实施例通过采用上述方法步骤,相对人工方法将预设通用模型与条件约束进行结合,节省了人工成本,提高了效率。
[0134] 需要说明的是,本申请实施例所述的预设通用模型和条件约束模型可以包含任意能够以神经元组成的网络。比如:Feed‑Forward Networks, RNN, LSTM,Transformer, GNN, GAN, AE,卷积神经网络(CNN),常见的CNN 模型可以包括但不限于:LeNet,AlexNet,ZFNet,VGG,GoogLeNet,Residual Net,DenseNet,R‑CNN,SPP‑NET,Fast‑RCNN,Faster‑RCNN,FCN,Mask‑RCNN, YOLO,SSD, GCN以及其它现在已知或将来开发的网络模型结构。
[0135] 步骤S220获取与条件约束对应的条件训练样本;条件训练样本包括观测数据和对应的动作指令。
[0136] 基于上面实施例所述,条件训练样本为在添加约束条件下所对应的对应的训练样本,比如,添加目标物体和手的相对抓取姿态约束条件下得到的训练样本。
[0137] 在一个实施例中,控制器按照预设地址从存储器或者服务器存储的多个观测数据和对应的动作指令构成的训练样本集中获取其中一组观测数据和对应的动作指令训练样本。
[0138] 在一个实施例中,步骤S220之前,可以包括如下方法步骤:
[0139] 步骤S270获取操作者的动作数据;动作数据为通过主端传感器采集的操作者基于从端传感器采集的观测数据主观执行目标动作过程中的数据。
[0140] 步骤S280将动作数据转换为机器人可执行的动作指令,以指示从端机器人模仿目标动作。
[0141] 步骤S290重复上述步骤,直到完成目标任务。
[0142] 步骤S300将观测数据和对应的动作指令进行保存,以形成训练样本。
[0143] 示例性的,以上面实施例所述的基于遥操作的训练系统为例,在满足目标物体和手的某个预设相对抓取姿态的约束条件下,操作者基于从端传感器采集并发送的观测数据主观执行目标动作,主端传感器采集动作数据并发送给控制器,控制器获取操作者的动作数据;将动作数据转换为机器人可执行的动作指令,重复上述步骤,直到完成目标任务(比如:从端机器人按照预设抓取姿态完成目标物的抓取),并将每组观测数据和对应的动作指令进行保存,从而形成训练样本。
[0144] 本申请实施例通过基于遥操作的系统生成训练样本,使得训练过程可以透过自身的观察数据模仿出类似操作者的反应动作,从而使得采用基于此训练后的模型的机器人可以更好的模仿人的操作动作。
[0145] 步骤S230将数据输入模型,包括:以观测数据作为预设通用模型的输入;以观测数据或观测特征数据,以及对应的约束条件作为条件约束的输入;观测特征数据是预设通用模型对观测数据提取特征后的中间层数据。
[0146] 在一个实施例中,控制器按照预设存储地址从存储器或者服务器获取由观测数据和对应的运动指令构成的训练样本;将观测数据作为预设通用模型的输入;并且将观测数据以及对应的条件约束作为约束条件模型的输入;或将观测特征数据以及对应的条件约束作为约束条件模型的输入,由于观测特征数据是预设通用模型对观测数据提取特征后的中间层数据,通用模型已经学会了如何从观察数据提取特征,所以条件模型不需要再重复学如何做观察数据的特征提取。这样可以进一步减少训练时间。
[0147] 步骤S240 基于预设通用模型的输出反向调整条件约束的参数。
[0148] 在一个实施例中,步骤S230具体可以包括如下方法步骤:
[0149] 步骤S231求取预设通用模型输出结果和观测数据对应的所述动作指令之间的差异。
[0150] 步骤S232基于差异,调整条件约束的参数。
[0151] 步骤S250重复步骤S220至步骤S240的方法步骤,直到满足预设终止条件。
[0152] 具体地,在训练过程中,我们可以固定这个预设通用模型的参数,用监督学习等方式训练条件约束即可。训练的时候,观测数据会输入到预设通用模型和条件约束,条件数据会被输入到条件约束里。基于预设通用模型输出结果和观测数据对应的动作指令之间的差异,调整条件约束的参数,并重复上述步骤,直到满足终止条件(比如:差异小于预设阈值)从而以反向传播和迭代的方式调整条件预设的参数。
[0153] 本申请实施例通过在模型训练过程中加入条件约束训练,对于出现的新增条件任务,可以在不改变已训练的预设通用模型网络框架下,另外加一个条件约束,不需要重新训练预设通用模型网络框架,因此可以大幅减少训练成本,提高模型训练的效率。
[0154] 另外,通过在不改变已训练的预设通用模型网络框架中增加条件约束,使其能够灵活接受新的约束条件,从而能更灵活地控制机器人完成目标任务。
[0155] 基于上面实施例所述的模型训练方法,本申请实施例还提供一种运动指令预测方法。
[0156] 需要说明的是,本申请实施例所提供的运动指令预测方法可以由图1所示系统的服务器/终端设备执行;和/或图2所示系统的控制器执行,相应地,用于模型训练的装置可以设置于图1所示系统的服务器/终端设备;和/或图2所示系统的控制器中。
[0157] 如图6所示,图6是本申请的运动指令预测方法的一个实施例的流程示意图。本申请实施例提供一种运动指令预测方法,可以包括以下步骤:
[0158] 步骤S410获取预训练的附加条件约束的预设通用模型;预训练的附加条件约束的预设通用模型为基于上面实施例所述的模型训练方法训练后的模型。
[0159] 步骤S420获取观测数据和约束条件。
[0160] 有关观测数据和约束条件的相关描述参见上面的实施例,在此不再重复赘述。
[0161] 步骤S430以观测数据作为预设通用模型的输入,并以观测数据或观测特征数据,以及对应的约束条件作为条件约束的输入,得到预设通用模型输出的运动指令;观测特征数据是预设通用模型对观测数据提取特征后的中间层数据。
[0162] 在本申请实施例中,可以将观测数据作为预设通用模型的输入;并且,将观测数据以及对应的约束条件作为条件约束的输入,或者也可以将观测特征数据以及对应的约束条件作为条件约束的输入,最终得到预设通用模型输出的运动指令。
[0163] 本申请实施例通过在模型训练过程中加入条件约束训练,对于出现的新增条件任务,可以在不改变已训练的预设通用模型网络框架下,另外加一个条件约束,不需要重新训练预设通用模型网络框架,因此可以大幅减少训练成本,提高模型训练的效率;另外,通过在不改变已训练的预设通用模型网络框架中增加条件约束,使其能够灵活接受新的约束条件,从而能更灵活地控制机器人完成目标任务。
[0164] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read‑Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
[0165] 应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0166] 进一步参考图7,作为对上述图5所示方法的实现,本申请提供了一种模型训练装置的一个实施例,该装置实施例与图5所示的方法实施例相对应,该装置具体可以应用于本申请实施例所述的控制器/终端/服务器中。
[0167] 如图7所示,本实施例的模型训练装置400包括:
[0168] 第一模型获取模块410,用于获取附加条件约束的预设通用模型;预设通用模型为基于通用观测数据和对应的通用动作指令构建的通用训练样本训练后的模型;
[0169] 条件样本获取模块420,用于获取与条件约束对应的条件训练样本;条件训练样本包括观测数据和对应的动作指令;
[0170] 样本数据输入模块430,用于以条件训练样本作为模型输入,包括:以观测数据作为预设通用模型的输入;以观测数据或观测特征数据,以及对应的约束条件作为条件约束的输入;观测特征数据是预设通用模型对观测数据提取特征后的中间层数据;其中,所述条件约束为附加给所述预设通用模型的机器人动作约束;所述约束条件为对应所述条件约束的条件数据;
[0171] 约束参数调整模块440,用于基于预设通用模型的输出反向调整条件约束的参数;
[0172] 模型训练重复模块450,用于重复执行获取与条件约束对应的训练样本;以条件训练样本作为模型输入以及基于预设通用模型的输出反向调整条件约束的参数的步骤,直到满足预设终止条件。
[0173] 进一步的,在一个实施例中,约束参数调整模块440包括:
[0174] 差异求取子模块,用于求取预设通用模型的输出与观测数据对应的动作指令之间的差异;
[0175] 参数调整子模块,用于基于差异,调整条件约束的参数。
[0176] 进一步的,在一个实施例中,模型训练装置400还包括:
[0177] 通用获取子模块,用于获取通用训练样本;
[0178] 初始训练子模块,用于以通用训练样本对初始通用模型进行训练,以得到预设通用模型。
[0179] 进一步的,模型训练装置400还包括:
[0180] 预设获取子模块,用于获取预设通用模型;
[0181] 条件获取子模块,用于获取约束条件;
[0182] 条件添加子模块,用于将条件约束的每个输出层加入预设通用模型对应的隐藏层;或将条件约束的最后输出加入预设通用模型的最后输出。
[0183] 进一步的,模型训练装置400还包括:
[0184] 动作获取子模块,用于获取操作者的动作数据;动作数据为通过主端传感器采集的操作者基于从端传感器采集的观测数据主观执行目标动作过程中的数据;
[0185] 数据转换子模块,用于将动作数据转换为机器人可执行的动作指令,以指示从端机器人模仿目标动作;
[0186] 步骤重复子模块,用于重复上述步骤,直到完成目标任务;
[0187] 样本保存子模块,用于将观测数据和对应的动作指令进行保存,以形成条件训练样本。
[0188] 本申请提供还提供一种运动指令预测装置,该装置实施例与上面实施例所示的运动指令预测方法实施例相对应,该装置具体可以应用于本申请实施例的控制器/终端/服务器中。
[0189] 本实施例的运动指令预测装置包括:
[0190] 第二模型获取模块,用于获取预训练的附加条件约束的预设通用模型;预训练的附加条件约束的预设通用模型为经上面任一项的模型训练方法训练后的模型;
[0191] 第二数据获取模块,用于获取观测数据和约束条件;
[0192] 运动指令预测模块,用于以观测数据作为预设通用模型的输入,并以观测数据或观测特征数据,以及对应的约束条件作为条件约束的输入,得到预设通用模型输出的运动指令;观测特征数据是预设通用模型对观测数据提取特征后的中间层数据。
[0193] 具体请参阅图8,为解决上述技术问题,本申请实施例还提供计算机设备。
[0194] 所述计算机设备6包括通过系统总线相互通信连接存储器61、处理器62、网络接口63。需要指出的是,图中仅示出了具有组件61‑63的计算机设备6,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器 (Digital Signal Processor,DSP)、嵌入式设备等。
[0195] 所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
[0196] 所述存储器61至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器61可以是所述计算机设备6的内部存储单元,例如该计算机设备6的硬盘或内存。在另一些实施例中,所述存储器61也可以是所述计算机设备6的外部存储设备,例如该计算机设备6上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。当然,所述存储器61还可以既包括所述计算机设备6的内部存储单元也包括其外部存储设备。本实施例中,所述存储器61通常用于存储安装于所述计算机设备6的操作系统和各类应用软件,例如模型训练方法的程序代码等。此外,所述存储器61还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0197] 所述处理器62在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器62通常用于控制所述计算机设备6的总体操作。本实施例中,所述处理器62用于运行所述存储器61中存储的程序代码或者处理数据,例如运行所述模型训练方法和/或运动指令预测方法的程序代码。
[0198] 所述网络接口63可包括无线网络接口或有线网络接口,该网络接口63通常用于在所述计算机设备6与其他电子设备之间建立通信连接。
[0199] 本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有模型训练程序,所述模型训练程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的模型训练方法和/或运动指令预测方法的步骤。
[0200] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
[0201] 显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。