CN108229678B - 网络训练方法、操作控制方法、装置、存储介质和设备 - Google Patents
网络训练方法、操作控制方法、装置、存储介质和设备 Download PDFInfo
- Publication number
- CN108229678B CN108229678B CN201711004078.0A CN201711004078A CN108229678B CN 108229678 B CN108229678 B CN 108229678B CN 201711004078 A CN201711004078 A CN 201711004078A CN 108229678 B CN108229678 B CN 108229678B
- Authority
- CN
- China
- Prior art keywords
- data
- training
- control
- network
- neural network
- 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.)
- Active
Links
Images
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/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/027—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Robotics (AREA)
- Mathematical Physics (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Fuzzy Systems (AREA)
- Manipulator (AREA)
- Feedback Control In General (AREA)
Abstract
本发明实施例提供一种网络训练方法、操作控制方法、装置、存储介质和电子设备。网络训练方法包括:从至少一个训练主机分别接收状态动作样本数据,状态动作样本数据至少包括操作状态数据以及相应的动作控制数据;使用状态动作样本数据,训练用于操作控制的目标神经网络;将经过训练的目标神经网络分别发送给至少一个训练主机,以使得所述至少一个训练主机根据目标神经网络生成新的状态动作样本数据。由此,可以分布式的训练方式,不断地通过各个训练主机获取到大量的用于智能操作控制的训练样本,提高了采集训练样本的效率。此外,还能够使得训练主机持续地通过经训练的目标神经网络来获取更多的训练样本,从而提高了采集到的训练样本的质量。
Description
技术领域
本发明实施例涉及人工智能技术,尤其涉及一种网络训练方法、操作控制方法、装置、存储介质和电子设备。
背景技术
在基于神经网络的各种智能控制技术(各种机器人的操纵控制)中,由于(机器人)需要应对很多不简单的、涉及多种操作参数和环境参数的操作环境,因此需要针对多种操作环境下采集大量的样本,再使用这些样本对神经网络进行训练,以获得实现预定功能的神经网络。
发明内容
本发明实施例的目的在于,提供一种网络训练技术和操作控制技术。
根据本发明实施例的第一方面,提供一种网络训练方法,包括:从至少一个训练主机分别接收状态动作样本数据,所述状态动作样本数据至少包括操作状态数据以及相应的动作控制数据;使用所述状态动作样本数据,训练用于操作控制的目标神经网络;将经过训练的目标神经网络分别发送给所述至少一个训练主机,以使得所述至少一个训练主机根据所述目标神经网络生成新的状态动作样本数据。
可选地,所述状态动作样本数据与用于操作控制的操作环境对应;所述从至少一个训练主机分别接收状态动作样本数据,还包括:从至少一个训练主机分别接收与所述状态动作样本数据对应的操作环境的数据。
可选地,在从至少一个训练主机分别接收状态动作样本数据之后,所述方法还包括:将接收到的状态动作样本数据以及对应的操作环境的数据存储到样本数据库中;在使用接收到的状态动作样本数据,训练目标神经网络之前,所述方法还包括:从所述样本数据库获取与预定的操作环境对应的状态动作样本数据。相应地,所述使用接收到的状态动作样本数据,训练目标神经网络包括:使用从所述样本数据库获取到的状态动作样本数据,训练所述目标神经网络。
可选地,在从至少一个训练主机分别接收状态动作样本数据之前,所述方法还包括:初始化所述目标神经网络,并且将初始化的目标神经网络发送给至少一个所述训练主机,以使得所述训练主机根据所述目标神经网络生成所述状态动作样本数据。
可选地,所述至少将经过训练的目标神经网络分别发送给至少一个所述训练主机包括:将经过训练的目标神经网络以及目标操作环境的数据分别发送给至少一个所述训练主机,发送给至少一个所述训练主机的所述目标操作环境的数据对应于至少一种操作环境。
可选地,所述目标神经网络包括控制策略网络和价值网络,包括所述控制策略网络用于生成机械臂抓取物体的抓取控制数据,所述价值网络用于对控制策略网络生成的抓取控制数据生成奖励估计数据。
可选地,所述动作控制数据为抓取控制数据,所述状态动作样本数据还包括控制结果数据和动作控制奖励数据。
可选地,所述操作环境的数据包括机械臂的物理参数数据、抓取物体的参数数据和抓取环境的数据。
根据本发明实施例的第二方面,提供一种网络训练方法,包括:通过本地的目标神经网络,获取操作状态数据的动作控制数据;向中央训练服务器发送包括所述操作状态数据和相应的动作控制数据的状态动作样本数据;从中央训练服务器接收经过训练的目标神经网络;将接收到的目标神经网络设置为本地的目标神经网络,以根据本地的目标神经网络采集新的状态动作样本数据。
可选地,在通过本地的目标神经网络,获取操作状态数据的动作控制数据之前,所述方法还包括:接收初始化的目标神经网络,并且将所述初始化的目标神经网络设置为本地的目标神经网络。
可选地,所述目标神经网络包括控制策略网络和价值网络,所述控制策略网络用于生成机械臂抓取物体的抓取控制数据,所述价值网络用于对控制策略网络生成的抓取控制数据生成奖励估计数据。
可选地,所述从中央训练服务器接收经过训练的目标神经网络包括:从中央训练服务器接收经过训练的目标神经网络以及目标操作环境的数据。相应地,所述将接收到的目标神经网络设置为本地的目标神经网络还包括:根据所述目标操作环境的数据设置用于产生所述操作状态数据的操作环境。
可选地,所述根据所述目标操作环境的数据设置用于产生所述操作状态数据的操作环境,包括:根据所述目标操作环境的数据,为机械臂抓取仿真平台设置所述操作环境。
可选地,在通过本地的目标神经网络,获取操作状态数据的动作控制数据之前,所述方法还包括:通过设置了目标操作环境的机械臂抓取仿真平台,获取所述操作状态数据。
可选地,所述通过本地的目标神经网络,获取操作状态数据的动作控制数据包括:通过所述控制策略网络,获取操作状态数据的抓取控制数据。相应地,在向中央训练服务器发送包括所述操作状态数据和相应的动作控制数据的状态动作样本数据之前,所述方法还包括:通过所述机械臂抓取仿真平台,获取所述操作状态数据和所述抓取控制数据的控制结果数据以及动作控制奖励数据。相应地,所述向中央训练服务器发送包括所述操作状态数据和相应的动作控制数据的状态动作样本数据包括:向中央训练服务器发送包括与当前的操作环境对应的状态动作样本数据,所述状态动作样本数据包括所述操作状态数据、所述抓取控制数据、所述控制结果数据以及动作控制奖励数据。
可选地,所述操作环境的数据包括机械臂的物理参数数据、抓取物体的参数数据和抓取环境的数据。
可选地,所述根据接收到的操作环境的数据,为机械臂抓取仿真平台设置所述操作环境,包括:根据所述目标操作环境的数据,设置所述机械臂抓取仿真平台的抓取环境、抓取物体、以及机械臂的物理参数的数据。
根据本发明实施例的第三方面,提供一种操作控制方法,包括:获取操作状态数据;通过如前所述任一网络训练方法训练得到的目标神经网络,获取所述操作状态数据的动作控制数据;根据所述动作控制数据,执行相应的控制操作。
可选地,所述操作状态数据包括拍摄有被控主体的操作场景图像。
可选地,在获取操作状态数据的动作控制数据之前,所述操作控制方法还包括:对所述操作场景图像进行边缘提取和边缘增强操作。
可选地,所述目标神经网络包括控制策略网络和价值网络,包括所述控制策略网络用于生成机械臂抓取物体的抓取控制数据,所述价值网络用于对控制策略网络生成的抓取控制数据生成奖励估计数据。
根据本发明实施例的第四方面,提供一种网络训练装置,包括:样本接收模块,用于从至少一个训练主机分别接收状态动作样本数据,所述状态动作样本数据至少包括操作状态数据以及相应的动作控制数据;网络训练模块,用于使用所述样本接收模块接收的状态动作样本数据,训练用于操作控制的目标神经网络;网络发送模块,用于将经过所述网络训练模块训练的目标神经网络分别发送给所述至少一个训练主机,以使得所述至少一个训练主机根据所述目标神经网络生成新的状态动作样本数据。
可选地,所述状态动作样本数据与用于操作控制的操作环境对应;所述样本接收模块还用于从至少一个训练主机分别接收与所述状态动作样本数据对应的操作环境的数据。
可选地,所述装置还包括:样本存储模块,用于在所述样本接收模块从至少一个训练主机分别接收状态动作样本数据之后,所述样本存储模块将接收到的状态动作样本数据以及对应的操作环境的数据存储到样本数据库中;样本拣选模块,用于在所述网络训练模块使用接收到的状态动作样本数据,训练目标神经网络之前,从所述样本数据库获取与预定的操作环境对应的状态动作样本数据。相应地,所述网络训练模块用于使用从所述样本数据库获取到的状态动作样本数据,训练所述目标神经网络。
可选地,所述装置还包括:网络初始化模块,用于在所述样本接收模块从至少一个训练主机分别接收状态动作样本数据之前,初始化所述目标神经网络,并且将初始化的目标神经网络发送给至少一个所述训练主机,以使得所述训练主机根据所述目标神经网络生成所述状态动作样本数据。
可选地,所述网络发送模块用于将经过训练的目标神经网络以及目标操作环境的数据分别发送给至少一个所述训练主机,发送给至少一个所述训练主机的所述目标操作环境的数据对应于至少一种操作环境。
可选地,所述目标神经网络包括控制策略网络和价值网络,包括所述控制策略网络用于生成机械臂抓取物体的抓取控制数据,所述价值网络用于对控制策略网络生成的抓取控制数据生成奖励估计数据。
可选地,所述动作控制数据为抓取控制数据,所述状态动作样本数据还包括控制结果数据和动作控制奖励数据。
可选地,所述操作环境的数据包括机械臂的物理参数数据、抓取物体的参数数据和抓取环境的数据。
根据本发明实施例的第五方面,提供一种网络训练装置,包括:动作控制数据获取模块,用于通过本地的目标神经网络,获取操作状态数据的动作控制数据;样本发送模块,用于向中央训练服务器发送包括所述操作状态数据和相应的动作控制数据的状态动作样本数据;网络接收模块,用于从中央训练服务器接收经过训练的目标神经网络;网络设置模块,用于将接收到的目标神经网络设置为本地的目标神经网络,以根据本地的目标神经网络采集新的状态动作样本数据。
可选地,所述装置还包括:网络初始化模块,用于在所述动作控制数据获取模块通过本地的目标神经网络,获取操作状态数据的动作控制数据之前,接收初始化的目标神经网络,并且将所述初始化的目标神经网络设置为本地的目标神经网络。
可选地,所述目标神经网络包括控制策略网络和价值网络,所述控制策略网络用于生成机械臂抓取物体的抓取控制数据,所述价值网络用于对控制策略网络生成的抓取控制数据生成奖励估计数据。
可选地,所述网络接收模块用于从中央训练服务器接收经过训练的目标神经网络以及目标操作环境的数据;所述装置还包括:操作环境设置模块,用于根据所述目标操作环境的数据设置用于产生所述操作状态数据的操作环境。
可选地,所述操作环境设置模块用于根据所述目标操作环境的数据,为机械臂抓取仿真平台设置所述操作环境。
可选地,所述装置还包括:操作状态数据获取模块,用于在所述动作控制数据获取模块通过本地的目标神经网络,获取操作状态数据的动作控制数据之前,通过设置了目标操作环境的机械臂抓取仿真平台,获取所述操作状态数据。
可选地,所述动作控制数据获取模块用于通过所述控制策略网络,获取操作状态数据的抓取控制数据。相应地,所述装置还包括:控制结果数据获取模块,用于在所述样本发送模块向中央训练服务器发送包括所述操作状态数据和相应的动作控制数据的状态动作样本数据之前,通过所述机械臂抓取仿真平台,获取所述操作状态数据和所述抓取控制数据的控制结果数据以及动作控制奖励数据。相应地,所述样本发送模块用于向中央训练服务器发送包括与当前的操作环境对应的状态动作样本数据,所述状态动作样本数据包括所述操作状态数据、所述抓取控制数据、所述控制结果数据以及动作控制奖励数据。
可选地,所述操作环境的数据包括机械臂的物理参数数据、抓取物体的参数数据和抓取环境的数据。
可选地,所述操作环境设置模块用于根据所述目标操作环境的数据,设置所述机械臂抓取仿真平台的抓取环境、抓取物体、以及机械臂的物理参数的数据。
根据本发明实施例的第六方面,提供一种操作控制装置,包括:操作状态数据获取模块,用于获取操作状态数据;动作控制数据获取模块,用于通过如前所述网络训练方法训练得到的目标神经网络,获取所述操作状态数据的动作控制数据;控制执行模块,用于根据所述动作控制数据,执行相应的控制操作。
可选地,所述操作状态数据包括拍摄有被控主体的操作场景图像。
可选地,所述操作控制装置还包括:预处理模块,用于在操作状态数据获取模块获取操作状态数据的动作控制数据之前,对所述操作场景图像进行边缘提取和边缘增强操作。
可选地,所述目标神经网络包括控制策略网络和价值网络,包括所述控制策略网络用于生成机械臂抓取物体的抓取控制数据,所述价值网络用于对控制策略网络生成的抓取控制数据生成奖励估计数据。
根据本发明实施例的第七方面,提供一种电子设备,包括:处理器、存储器、通信元件和通信总线,所述处理器、所述存储器和所述通信元件通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如前所述任一网络训练方法相应的操作。
根据本发明实施例的第八方面,提供一种电子设备,包括:处理器、存储器、通信元件和通信总线,所述处理器、所述存储器和所述通信元件通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如前所述任一网络训练方法相应的操作。
根据本发明实施例的第九方面,提供一种电子设备,包括:处理器、存储器、通信元件和通信总线,所述处理器、所述存储器和所述通信元件通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如前所述任一操作控制方法相应的操作。
根据本发明实施例的第十方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述程序指令被处理器执行时实现如前所述网络训练方法的步骤。
根据本发明实施例的第十一方面,一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述程序指令被处理器执行时实现如前所述网络训练方法的步骤。
根据本发明实施例的第十二方面,一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述程序指令被处理器执行时实现如前所述操作控制方法的步骤。
根据本发明实施例的第十三方面,一种计算机程序,其包括有计算机程序指令,其中,所述程序指令被处理器执行时实现如前所述网络训练方法的步骤。
根据本发明实施例的第十四方面,一种计算机程序,其包括有计算机程序指令,其中,所述程序指令被处理器执行时实现如前所述网络训练方法的步骤。
根据本发明实施例的第十五方面,一种计算机程序,其包括有计算机程序指令,其中,所述程序指令被处理器执行时实现如前所述操作控制方法的步骤。
根据本发明实施例提供的网络训练技术,通过从至少一个训练主机收集状态动作样本数据,并且使用这些状态动作样本数据来训练目标神经网络;再将训练得到的目标神经网络发送给各个训练主机,以用于更多状态动作样本数据的采集。由此,可以分布式的训练方式,不断地通过各个训练主机获取到大量的用于智能操作控制的训练样本,提高了采集训练样本的效率。此外,还能够使得训练主机持续地通过经训练的目标神经网络来获取更多的训练样本,从而提高了采集到的训练样本的质量。
根据本发明实施例提供的操作控制技术,可通过前述网络训练方法训练得到的目标神经网络,获取操作状态数据的动作控制数据,并且执行相应的控制操作,从而准确地实现智能控制。
附图说明
图1是示出本发明的示例性实施例的分布式的神经网络训练系统的示意图;
图2是示出根据本发明实施例一的网络训练方法的流程图;
图3是示出根据本发明实施例二的网络训练方法的流程图;
图4是示出根据本发明实施例三的网络训练方法的流程图;
图5是示出根据本发明实施例四的网络训练方法的流程图;
图6是示出根据本发明实施例五的网络训练方法的流程图;
图7是示出根据本发明实施例六的网络训练方法的流程图;
图8是示出根据本发明实施例七的操作控制方法的流程图;
图9是示出根据本发明实施例八的第一网络训练装置的逻辑框图;
图10是示出根据本发明实施例九的第一网络训练装置的逻辑框图;
图11是示出根据本发明实施例十的第二网络训练装置的逻辑框图;
图12是示出根据本发明实施例十一的第二网络训练装置的逻辑框图;
图13是示出根据本发明实施例十二的第二网络训练装置的逻辑框图;
图14是示出根据本发明实施例十三的操作控制装置的逻辑框图;
图15是示出根据本发明实施例十六的第一电子设备的结构示意图;
图16是示出根据本发明实施例十七的第二电子设备的结构示意图;
图17是示出根据本发明实施例十八的第三电子设备的结构示意图。
具体实施方式
在本申请中,“多个”指两个或两个以上,“至少一个”指一个、两个或两个以上。对于本申请中提及的任一部件、数据或结构,在没有明确限定一个的情况下,可理解为一个或多个。
下面将结合附图详细描述本发明实施例的示例性实施例。
实施例一
本发明的示例性实施例提出一种采用分布式架构的神经网络训练方法和系统。
图1是示出本发明的示例性实施例的分布式的神经网络训练系统的示意图。
如图1所示,该神经网络训练系统100包括中央训练服务器110和至少一个训练主机120。中央训练服务器110实际用于对用于生成动作控制数据的目标神经网络进行训练。这些训练主机120用于通过中央训练服务器110提供的目标神经网络,采集新的状态动作样本数据。
具体地,中央训练服务器110可将当前状态(初始化的或者经过训练的)目标神经网络GN发送给各个训练主机120。各个训练主机120将接收到的目标神经网络GN设置为本地的目标神经网络LN,根据通过本地的目标神经网络LN,根据对新的用于操作控制的操作状态数据进行检测,获得相应的动作控制数据;再根据操作状态数据和动作控制数据生成新的状态动作样本数据,并且将各自生成的状态动作样本数据发送给中央训练服务器110。这里,操作状态数据可以是例如用于扫地机器人进行操作控制的场景图像或者包括扫地机器人的位置、角度以及周围障碍物的位置、高度等的状态数据。可通过将操作状态数据前向传输给目标神经网络LN,获得与该操作状态数据相应的操作控制数据,例如扫地机器人的运动方向和速度的运动控制数据、用于机械臂抓取控制的机械臂运动控制数据或机械臂抓取力度控制数据等。
此后,中央训练服务器110可使用从各个训练主机120接收的状态动作样本数据继续对目标神经网络GN进行训练,然后再将经过训练的目标神经网络GN发送给各个训练主机120,以继续生成新的状态动作样本数据。通过这种以分布式架构,迭代地从多个训练主机120获取作为训练样本的状态动作样本数据,并使用这些状态动作样本数据对目标神经网络进行训练,能够高效地采集质量持续提高的大量训练样本,从而训练获得准确度高的目标神经网络。
图2是示出根据本发明实施例一的网络训练方法的流程图。可例如,在前述中央训练服务器110中执行实施例一的方法。
参照图2,在步骤S210,从至少一个训练主机分别接收状态动作样本数据,所述状态动作样本数据至少包括操作状态数据以及相应的动作控制数据。
如前所述,这里欲训练的是用于生成动作控制数据的目标神经网络,相应地,从训练主机接收的状态动作样本数据至少包括操作状态数据以及相应的动作控制数据,这些状态动作样本数据可用于训练该目标神经网络。
具体地,该操作状态数据指示要控制的目标物体的状态,例如,机器人与操作对象之间当前的距离和角度、烹饪食材当前的温度以及烹饪强度等;该动作控制数据指示针对前述操作状态数据的动作控制数据,例如,机器人的行进速度和行进方向的数据、烹饪食材的温度控制和强度控制数据等。
在步骤S220,使用接收到的状态动作样本数据,训练用于操作控制的目标神经网络。
这里,以从各个训练主机接收到的状态动作样本数据作为训练样本,来训练目标神经网络。
可将这些状态动作样本数据均作为正样本,或者对这些状态动作样本数据分别进行标注,来对目标神经网络进行训练。网络训练的过程包括将训练样本前向传输给目标神经网络的过程和将训练误差或损失值反向传输给目标神经网络的过程,以例如更新目标神经网络的网络权重。
此后,在步骤S230,将经过训练的目标神经网络分别发送给所述至少一个训练主机,以使得所述至少一个训练主机根据所述目标神经网络生成新的状态动作样本数据。
在对目标神经网络进行训练后,将经过训练的目标神经网络发送给各个训练主机,以使训练主机采集新的状态动作样本数据。
通过重复执行步骤S210~S230,中央训练服务器能够持续地从与其通信的各个训练主机收集大量的训练样本,以用于目标神经网络的训练。
根据本发明实施例一的网络训练方法,通过从至少一个训练主机收集状态动作样本数据,并且使用这些状态动作样本数据来训练目标神经网络;再将训练得到的目标神经网络发送给各个训练主机,以用于更多状态动作样本数据的采集。由此,可以分布式的训练方式,不断地通过各个训练主机获取到大量的用于智能操作控制的训练样本,提高了采集训练样本的效率。此外,还能够使得训练主机持续地通过经训练的目标神经网络来获取更多的训练样本,从而提高了采集到的训练样本的质量。
实施例二
图3是示出根据本发明实施例二的网络训练方法的流程图。可例如,在前述中央训练服务器110中执行实施例一的方法。
参照图3,在步骤S310,初始化目标神经网络,并且将初始化的目标神经网络发送给至少一个所述训练主机,以使得所述训练主机根据所述目标神经网络生成所述状态动作样本数据。
可随机地初始化目标神经网络的网络参数,也可以根据目标神经网路预期实现的功能,使用训练好的实现相关或类似功能的神经网络的网络参数来初始化目标神经网络。此后,将初始化的目标神经网络发送给至少一个所述训练主机,以使这些训练主机通过使用初始化的目标神经网络来采集新的状态动作样本数据。各个训练主机在使用初始化的目标神经网络采集到新的状态动作样本数据后,将这些新的状态动作样本数据发送给中央训练服务器。
在步骤S320,从至少一个训练主机分别接收状态动作样本数据,所述状态动作样本数据与用于操作控制的操作环境对应。
这里,各个训练主机可被配置为针对同一操作环境,来采集状态动作样本数据;或者,部分训练主机被配置为针对第一操作环境采集状态动作样本数据,而另一部分训练主机被配置为针对第二操作环境采集状态动作样本数据,再一部分训练主机被配置为针对第三操作环境采集状态动作样本数据,等等。这里所说的操作环境为用于智能操作控制的环境、目标物体的信息、被控主体的参数信息等。例如,用于扫地机器人清洁的房间大小、房间类型、朝向等;再例如,用于智能拍摄控制的拍摄场景类型、光照信息、运动信息等。
由此,从各个训练主机接收到的这些状态动作样本数据可对应于至少一个(即一个或多个)操作环境,从而可收集到针对不同操作环境的状态动作样本数据作为继续训练的训练样本。
根据本发明的一种可选实施方式,可设置样本数据库来管理和维护训练样本,从而从样本数据库挑选训练样本来执行目标神经网络的训练。相应地,在步骤S320后,执行步骤S330和S340。
在步骤S330,将接收到的状态动作样本数据以及对应的操作环境的数据存储到样本数据库中。从而,这些被存储的状态动作样本数据可根据要训练的操作环境或者其他训练需要被重复使用。
此后,在从各个训练主机接收到状态动作样本数据并进行存储后,或者,如果确定阶段性地进行训练,则在一个训练阶段结束后,可从样本数据库获取本阶段采集到的部分或全部状态动作样本数据,使用这些动作样本数据来执行目标神经网络的训练,由此执行步骤S340~S360。
在步骤S340,从所述样本数据库获取与预定的操作环境对应的状态动作样本数据。
在该步骤,可根据训练任务的需求,从样本数据库获取与意图训练的操作环境对应的状态动作样本数据,以针对意图训练的操作环境训练目标神经网络。
在步骤S350,使用从所述样本数据库获取到的状态动作样本数据,训练所述目标神经网络。
该步骤的处理与前述步骤S220的处理类似,在此不予赘述。
在步骤S360,将经过训练的目标神经网络以及目标操作环境的数据分别发送给至少一个所述训练主机,发送给至少一个所述训练主机的目标操作环境的数据对应于至少一种操作环境。
具体地,在完成步骤S350对目标神经网络的训练后,可根据训练策略或训练任务的需要,为各个训练主机确定操作环境,即目标操作环境,并且将经过训练的目标神经网络以及操作环境的数据分别发送给各个训练主机,以通过所述训练主机,针对确定的目标操作环境(当前的操作环境或者新的操作环境)来获取新的状态动作样本数据。
类似地,对于需要采集大量的状态动作样本数据的复杂操作环境,可为全部训练主机配置相同的目标操作环境,从而全部训练主机针对配置的相同操作环境来采集状态动作样本数据;对于相对容易训练、无需太多训练样本的简单操作环境,可以为训练主机配置不同的目标操作环境。
由此,通过将更新训练的目标神经网络和用于训练的操作环境的数据发送给各个训练主机,使得各个训练主机通过该更新训练的目标神经网络,根据该操作环境的数据设置其操作环境,来采集新的对应于至少一个操作环境的状态动作样本数据。
可将步骤S310~S350作为初始的训练阶段,并且将S360至S320~S350或者步骤S320~S360作为迭代执行的训练阶段。在每个训练阶段,可通过将当前状态的目标神经网络与操作环境的数据一同发给各个训练主机的方式,指示各个训练主机针对相应的操作环境来采集状态动作样本数据。在此,在每个训练阶段,根据训练的需要,可指示各个训练主机针对同一操作环境来采集状态动作样本数据(可称为阶段同策略训练),也可指示各个训练主机针对不同的操作环境来采集状态动作样本数据(可称为阶段异策略训练)。
根据本发明实施例二的网络训练方法,除了能够不断地通过各个训练主机获取到大量的用于智能操作控制的训练样本,提高了采集训练样本的效率并提高采集到的训练样本的质量以外,还通过将当前状态的目标神经网络与操作环境的数据一同发给各个训练主机的方式,能够通过各个训练主机针对相应的操作环境来采集一种或多种操作环境的状态动作样本数据,使得高效采集到多样化的训练样本,有利于通过这些训练样本训练得到准确性高的目标神经网络。
实施例三
根据本发明实施例三的目标神经网络具体用于生成机械臂抓取物体的策略控制数据,可采用任何适用的具有卷积层和全连接层的神经网络来设计该目标神经网络。
针对控制机械手臂实现物体抓取的任务,在现有的实现方法中,大多采用诸如融合视觉感知器、力传感器、触觉传感器和红外测距传感器等多种传感器进行物体抓取定位。
在采用多传感器融合的物体抓取定位技术中,红外测距传感器和激光传感器可用于物体定位,力传感器、触觉传感器以及视觉传感器用于判断是否抓到物体,从这些传感器所获得的数据存在大量的冗余信息。然而,无效信息的舍弃和关键信息的有效提取非常耗时;同时,存储这些数据需要大量的存储资源,成本损耗大;此外,通过这种物体抓取定位技术执行机械臂抓取控制,仅能够用于抓取形状规则的物体,而对于形状不规则的物体的抓取,红外测距传感器、激光传感器等均无法对待抓取物体实现精确定位,从而影响最终的物体抓取效果。
根据本发明的一种可选实施方式,将目标神经网络设计为基于强化学习的架构,其包括用于生成机械臂抓取物体的抓取控制数据的控制策略网络和用于对控制策略网络生成的抓取控制数据生成奖励估计数据的价值网络,从而可通过强化学习的环境奖励数据对目标神经网络的训练进行监督。
以下参照图4描述根据本发明实施例三的用于机械臂抓取物体控制的目标网络训练方法。
图4是示出根据本发明实施例三的网络训练方法的流程图。可例如,在前述中央训练服务器110中执行实施例一的方法。
参照图4,在步骤S410,从至少一个训练主机分别接收状态动作样本数据。
这里,状态动作样本数据中的动作控制数据为抓取控制数据,所述状态动作样本数据还包括用于强化学习的控制结果数据和动作控制奖励数据。
通常,状态动作为作为训练样本的状态动作时间序列,表征一系列状态和动作的因果关系。将任一时刻t的状态动作样本数据表征为data(t),data(t)=[s(t),a(t),s(t+1),r(t+1)],其中,s(t)为当前的操作状态数据,a(t)为抓取控制数据,s(t+1)为根据由a(t)+s(t)产生的下一时刻t+1的操作状态数据,r(t+1)为通过a(t)对s(t+1)进行转换为s(t+1)的状态转换而赋予的奖励(与动作控制奖励数据相应)。
针对机械臂抓取物体的任务,操作状态数据和控制结果数据分别为在t时刻和下一时刻t+1捕捉到的含有机械臂和被抓取的目标物体的图像,抓取控制数据为用于施加在机械手臂各个关节的力的大小和方向的数据,动作控制奖励数据为环境给予的奖励值,其可为正或负的评价值。
在步骤S420,使用接收到的状态动作样本数据,训练包括控制策略网络和价值网络的目标神经网络。
具体地,通过前述状态动作样本数据data(t)的序列,可分别对控制策略网络和价值网络进行训练。例如,将状态动作样本数据data(t)分别前向传输给控制策略网络和价值网络,分别得到抓取控制数据a(t)的检测数据a’(t)和动作控制奖励数据的检测数据r’(t+1)。此后,通过获取到的这些检测数据以及状态动作样本数据data(t)来分别计算该两个网络的检测误差,再将这些检测误差反向传输给策略网络和价值网络,以分别更新控制策略网络和价值网络的网络参数。
以下分别为控制策略网络和价值网络的权重更新表达式的示例:
其中,θ′为控制策略网络的网络参数,θ′v为价值网络的网络参数,dθ为控制策略网络的网络参数的变化量,dθv为价值网络的网络参数的变化量。π(ai|si;θ′)为控制策略网络函数,其中,ai是第i个即操作状态数据si的动作控制数据。V(si;θ′v)为价值网络函数。R为状态动作样本数据中实际的动作控制奖励数据。
在步骤S430,将经过训练的目标神经网络以及目标操作环境的数据分别发送给至少一个训练主机,以通过这些训练主机,针对目标操作环境采集新的状态动作样本数据。
这里,针对机械臂抓取物体的任务,所述操作环境的数据可包括机械臂的物理参数数据、抓取物体的参数数据和抓取环境的数据等。
例如,以包括一个关节的两节机械臂为例,机械臂的物理参数包括,但不限于,机械臂的前臂长度、机械臂的后臂长度以及关节的转动角度等。再例如,待抓取物体的参数包括:待抓取物体的类型(工件,日用物品,食物等)、位置、大小、姿态(物体头部朝向)的数据等。再例如,抓取环境的数据可,包括光照角度、强度、工作台类型和布局的数据等。其中,工作台类型可以为食物处理平台、车床加工平台、物流分类平台等。
如前所述,可为全部训练主机配置相同的机械臂抓取操作环境,从而全部训练主机针对配置的同一机械臂抓取操作环境来采集状态动作样本数据;也可以将训练主机分组,为每个分组配置各自的机械臂抓取操作环境。
由此,通过将更新训练的目标神经网络和相同或不同的机械臂抓取操作环境的数据发送给各个训练主机,使得各个训练主机通过该更新训练的目标神经网络,根据该操作环境的数据设置其机械臂抓取操作环境,来采集新的对应于至少一个机械臂抓取操作环境的状态动作样本数据。
同理,可将步骤S410~S430作为可迭代执行的训练阶段。在每个训练阶段,中央训练服务器指示各个训练主机针对相应的操作环境来采集状态动作样本数据。在此,根据训练的需要,可指示各个训练主机针对同一操作环境来采集状态动作样本数据(可称为阶段同策略训练),也可指示各个训练主机针对不同的操作环境来采集状态动作样本数据(可称为阶段异策略训练)。
根据本发明实施例三的网络训练方法,可通过从至少一个训练主机收集用于机械臂抓取控制的状态动作样本数据,并且使用这些状态动作样本数据来训练用于机械臂抓取物体的策略控制数据的目标神经网络;再将训练得到的目标神经网络以及操作环境的数据发送给各个训练主机,以用于更多状态动作样本数据的采集。由此,可以分布式的训练方式,不断地通过各个训练主机获取到大量的用于机械臂抓取控制的训练样本,提高了采集训练样本的效率。此外,还能够使得训练主机持续地通过经训练的目标神经网络来获取更多的训练样本,从而提高了采集到的训练样本的质量。在此基础上,通过将当前状态的目标神经网络与包括机械臂的物理参数数据、抓取物体的参数数据和抓取环境的数据的操作环境的数据一同发给各个训练主机的方式,能够通过各个训练主机针对相应的操作环境来采集一种或多种操作环境的状态动作样本数据,使得高效采集到多样化的训练样本,有利于通过这些训练样本训练得到准确性高的目标神经网络。
实施例四
图5是示出根据本发明实施例四的网络训练方法的流程图。可例如,在前述训练主机120中执行实施例四的方法。
参照图5,在步骤S510,通过本地的目标神经网络,获取操作状态数据的动作控制数据。
针对智能操作控制来说,需要相对于涉及被控主体的某个状态做出决策,生成动作控制的数据。例如,涉及扫地机器人智能控制的任务,需要了解扫地机器人的位置、朝向、运动速度和方向以及其前方障碍物的信息,这些信息在本发明实施例中被称为操作状态数据。此外,针对当前的操作状态数据,通过目标神经网络,为例如扫地机器人的被控主体生成相应的动作控制数据,例如,方向控制数据、速度控制数据、清洁操作控制数据等。
在该步骤,通过设置在本地的目标神经网络,为特定的或随机的操作状态数据生成相应的动作控制数据。
在步骤S520,向中央训练服务器发送包括所述操作状态数据和相应的动作控制数据的状态动作样本数据。
中央训练服务器在接收到状态动作样本数据后,可使用这些状态动作样本数据来进一步地训练目标神经网络(步骤S220)。
此后,为了获取更多的状态动作样本数据,中央训练服务器将经过训练的目标神经网络分别发送给各个训练主机,以使得训练主机根据该目标神经网络获取新的状态动作样本数据(步骤S230)。
相应地,在步骤S530,从中央训练服务器接收经过训练的目标神经网络。
在步骤S540,将接收到的目标神经网络设置为本地的目标神经网络,从而根据本地的目标神经网络采集新的状态动作样本数据。
根据本发明实施例四的网络训练方法,可通过中央训练服务器提供的目标神经网络,在本地生成状态动作样本数据,并将生成的状态动作样本数据发送给中央训练服务器,并且从中央训练服务器接收经过训练的目标神经网络,以基于该经过训练的目标神经网络,进一步采集更多的状态动作样本数据,从而可以分布式的训练方式,提高采集训练样本的效率和质量。
实施例五
图6是示出根据本发明实施例五的网络训练方法的流程图。可例如,在前述训练主机120中执行实施例四的方法。
参照图6,在步骤S610,接收初始化的目标神经网络,并且将所述初始化的目标神经网络设置为本地的目标神经网络。
与前述步骤S310相应地,训练主机120将初始化的目标神经网络设置为本地的目标神经网络。
在步骤S620,通过本地的目标神经网络,获取操作状态数据的动作控制数据。
在步骤S630,向中央训练服务器发送包括所述操作状态数据和相应的动作控制数据的状态动作样本数据。
步骤S620和S630的处理分别与前述步骤S510和S520的处理类似,在此不予赘述。
此后,在步骤S640,从中央训练服务器接收经过训练的目标神经网络以及目标操作环境的数据。
如前所述,目标操作环境的数据为用于智能操作控制的环境、目标物体的信息、被控主体的参数信息等。
在步骤S650,将接收到的目标神经网络设置为本地的目标神经网络,根据接收到的目标操作环境的数据设置用于产生所述操作状态数据的操作环境。
由此,根据本发明实施例五的网络训练方法,通过接收当前状态(初始化的或者经过训练的)的目标神经网络以及目标操作环境的数据,并且将接收到的目标神经网络设置为本地的目标神经网络,根据接收到的目标操作环境的数据设置用于采集更多状态动作样本数据的操作环境,能够根据中央训练服务器指定的目标操作环境来采集更多的状态动作样本数据,使得能够高效地采集到多样化的训练样本,以提供给中央训练服务器用于训练。
实施例六
图7是示出根据本发明实施例六的网络训练方法的流程图。可例如,在前述训练主机120中执行实施例四的方法。
根据本发明实施例六的目标神经网络用于生成机械臂抓取物体的策略控制数据。
如前所述,根据本发明的一种可选实施方式,所述目标神经网络包括控制策略网络和价值网络,所述控制策略网络用于生成机械臂抓取物体的抓取控制数据,所述价值网络用于对控制策略网络生成的抓取控制数据生成奖励估计数据。
此外,为训练主机120配置机械臂抓取仿真平台,该机械臂抓取仿真平台可模拟机械臂抓取的操作状态数据s(t)、由各个操作状态数据s(t)和相应的抓取控制数据a(t)得到的控制结果s(t+1),并且对由各个操作状态数据和相应的抓取控制数据得到相应的控制结果生成动作控制奖励数据r(t+1)。
仿真平台是基于一套算法或者规则的数据生成器,用于模拟三维真实世界。在真实世界中,采集海量数据的成本非常高,而仿真平台具有降低数据采集成本的优势。
具体地,机械臂抓取仿真平台分别对机械臂和待抓取物体建立三维模型,并且通过三维绘图软件根据操作环境绘制出机械臂和待抓取物体的模拟图像。在该平台中还设置绘制处理逻辑,以判断在某个抓取点是否能够抓取到待抓取物体以及结果位置,根据绘制处理来绘制抓取过程的场景图像,并且对抓取控制数据生成动作控制奖励数据。
此外,在该平台中还设置虚拟的拍摄设备,捕捉各种时刻/状态的机械臂和待抓取物体的图像,以模拟真实世界中的机械臂抓取物体的场景。
可通过市场上已有的提供前述功能的仿真平台产品实现本发明实施例六的训练方法。
以下将参照图7详细描述通过使用机械臂抓取仿真平台来实现网络训练方法的处理。参照图7,在步骤S710,根据目标操作环境的数据,为机械臂抓取仿真平台设置操作环境。
如前所述,在步骤S640,训练主机可从中央训练服务器接收经过训练的目标神经网络以及目标操作环境的数据。相应地,根据实施例六,执行步骤S710。
如前所述,针对机械臂抓取物体的任务,所述操作环境的数据可包括机械臂的物理参数数据、抓取物体的参数数据和抓取环境的数据等。因此,可选地,在该步骤,设置机械臂抓取仿真平台的抓取环境、抓取物体、以及机械臂的物理参数的数据等。
这里,可根据训练的需要来设置预定或随机的抓取环境(如工作台类型、布局等)、抓取物体(类型、尺寸、重量等)以及机械臂的物理参数(如前所述),以模拟机械臂抓取操作环境。
在步骤S720,从设置了目标操作环境的机械臂抓取仿真平台获取所述操作状态数据。
在该步骤,可指示机械臂抓取仿真平台随机地生成任一状态的操作状态数据(即模拟图像)以随机地采集操作状态数据,或者指定状态的操作状态数据(即模拟图像),以采集指定状态的操作状态数据。这里的状态是指,机械臂和被抓取物体之间的水平和垂直方向上的距离、机械臂的角度、被抓取物体的角度等。
在步骤S730,通过控制策略网络获取操作状态数据的抓取控制数据。
在步骤S740,通过设置了目标操作环境的机械臂抓取仿真平台,获取所述操作状态数据和抓取控制数据的控制结果数据以及动作控制奖励数据。
也就是说,在针对该操作状态数据获取到抓取控制数据之后,通过机械臂抓取仿真平台来模拟在某个操作状态下施加了抓取控制数据的控制结果,并且对该抓取控制生成动作控制奖励数据。从而,通过机械臂抓取仿真平台,针对目标操作环境来生成操作状态数据和抓取控制数据的控制结果数据以及动作控制奖励数据。
此后,在步骤S750,向中央训练服务器发送状态动作样本数据,状态动作样本数据包括所述操作状态数据、相应的抓取控制数据、控制结果数据以及动作控制奖励数据。
以后,还可重复性地执行步骤S710~S750的处理,以阶段性地进行状态动作样本数据的采集。
根据本发明实施例六的网络训练方法,可通过使用机械臂抓取仿真平台结合目标神经网络的使用,不断采集包括操作状态数据、相应的抓取控制数据、控制结果数据以及动作控制奖励数据的状态动作样本数据,以用于训练机械臂抓取物体控制的目标神经网络,从而能够自动、高效地采集高质量的状态动作样本数据,以训练目标神经网络。
实施例七
图8是示出根据本发明实施例七的操作控制方法的流程图。
参照图8,在步骤S810,获取操作状态数据。
这里,该操作状态数据与前述操作状态数据类似,可以是例如用于扫地机器人进行操作控制的场景图像或者包括扫地机器人的位置、角度以及周围障碍物的位置、高度等的状态数据。
在步骤S820,通过如前训练的目标神经网络,获取操作状态数据的动作控制数据。
例如,通过该目标神经网络,可获取扫地机器人的方向控制数据、速度控制数据、清洁操作控制数据等。
在步骤830,根据所述动作控制数据,执行相应的控制操作。
例如,可根据扫地机器人的方向控制数据、速度控制数据,控制扫地机器人以指定的速度,向指定的方向行进。
可选地,操作状态数据包括拍摄有被控主体的操作场景图像。例如,拍摄有扫地机器人的房间的图像、拍摄有机械臂和被抓取物体的场景图像等。
可选地,在执行步骤S820之前,该操作控制方法还包括:对所述目标神经网络进行边缘提取和边缘增强操作,以突出用作操作状态数据的操作场景图像的物体边缘和轮廓。此外,可选地,在前述处理过程中,还可对被控主体(如被抓取物体)的区域保留颜色和纹理信息,以更形象地反映被控主体的物理特性。
由此,通过前述预处理,能够根据目标神经网络从操作场景图像获取到更准确的动作控制数据。
实施例八
图9是示出根据本发明实施例八的第一网络训练装置的逻辑框图。
参照图9,实施例八的第一网络训练装置包括:样本接收模块910、网络训练模块920和网络发送模块930。
样本接收模块910用于从至少一个训练主机分别接收状态动作样本数据,所述状态动作样本数据至少包括操作状态数据以及相应的动作控制数据。
网络训练模块920用于使用样本接收模块910接收的状态动作样本数据,训练用于操作控制的目标神经网络。
网络发送模块930用于将经过网络训练模块920训练的目标神经网络分别发送给所述至少一个训练主机,以使得所述至少一个训练主机根据所述目标神经网络生成新的状态动作样本数据。
本实施例的第一网络训练装置用于实现前述方法实施例一中相应的网络训练方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例九
图10是示出根据本发明实施例九的第一网络训练装置的逻辑框图。
参照图10,实施例九的第一网络训练装置除包括前述样本接收模块910、网络训练模块920和网络发送模块930以外,还包括第一网络初始化模块940。
第一网络初始化模块940用于在样本接收模块910从至少一个训练主机分别接收状态动作样本数据之前,初始化所述目标神经网络,并且将初始化的目标神经网络发送给至少一个所述训练主机,以使得所述训练主机根据所述目标神经网络生成所述状态动作样本数据。
可选地,所述状态动作样本数据与用于操作控制的操作环境对应。相应地,样本接收模块910还用于从至少一个训练主机分别接收与所述状态动作样本数据对应的操作环境的数据。
可选地,所述第一网络训练装置还包括样本存储模块950和样本拣选模块960。
其中,样本存储模块950用于在样本接收模块910从至少一个训练主机分别接收状态动作样本数据之后,将接收到的状态动作样本数据以及对应的操作环境的数据存储到样本数据库中。
样本拣选模块960用于在网络训练模块920使用接收到的状态动作样本数据,训练目标神经网络之前,从所述样本数据库获取与预定的操作环境对应的状态动作样本数据。
相应地,网络训练模块920用于使用从所述样本数据库获取到的状态动作样本数据,训练所述目标神经网络。
此外,可选地,网络发送模块930用于将经过训练的目标神经网络以及目标操作环境的数据分别发送给至少一个所述训练主机,发送给至少一个所述训练主机的所述目标操作环境的数据对应于至少一种操作环境。
根据本发明的一种可选实施方式,所述目标神经网络包括控制策略网络和价值网络,包括所述控制策略网络用于生成机械臂抓取物体的抓取控制数据,所述价值网络用于对控制策略网络生成的抓取控制数据生成奖励估计数据。
可选地,所述动作控制数据为抓取控制数据,所述状态动作样本数据还包括控制结果数据和动作控制奖励数据。
可选地,所述操作环境的数据包括机械臂的物理参数数据、抓取物体的参数数据和抓取环境的数据。
本实施例的第一网络训练装置用于实现前述方法实施例一~实施例三中相应的任一网络训练方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例十
图11是示出根据本发明实施例十的第二网络训练装置的逻辑框图。
参照图11,实施例十的第二网络训练装置包括第一动作控制数据获取模块1110、样本发送模块1120、网络接收模块1130和网络设置模块1140。
第一动作控制数据获取模块1110,用于通过本地的目标神经网络,获取操作状态数据的动作控制数据。
样本发送模块1120用于向中央训练服务器发送包括所述操作状态数据和相应的动作控制数据的状态动作样本数据。
网络接收模块1130用于从中央训练服务器接收经过训练的目标神经网络。
网络设置模块1140用于将接收到的目标神经网络设置为本地的目标神经网络,以根据本地的目标神经网络采集新的状态动作样本数据。
本实施例的第二网络训练装置用于实现前述方法实施例四中相应的网络训练方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例十一
图12是示出根据本发明实施例十一的第二网络训练装置的逻辑框图。
参照图12,实施例十一的第二网络训练装置除了包括前述第一动作控制数据获取模块1110、样本发送模块1120、网络接收模块1130和网络设置模块1140以外,还包括第二网络初始化模块1150。
第二网络初始化模块1150用于在第一动作控制数据获取模块1110通过本地的目标神经网络,获取操作状态数据的动作控制数据之前,接收初始化的目标神经网络,并且将所述初始化的目标神经网络设置为本地的目标神经网络。
可选地,网络接收模块1130用于从中央训练服务器接收经过训练的目标神经网络以及目标操作环境的数据。
此外,可选地,该第二网络训练装置还包括:操作环境设置模块1160,用于根据所述目标操作环境的数据设置用于产生所述操作状态数据的操作环境。
本实施例的第二网络训练装置用于实现前述方法实施例四~六中相应的网络训练方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例十二
图13是示出根据本发明实施例十二的第二网络训练装置的逻辑框图。
参照图13,实施例十二的第二网络训练装置除了包括前述第一动作控制数据获取模块1110、样本发送模块1120、网络接收模块1130、网络设置模块1140和操作环境设置模块1160以外,还包括第一操作状态数据获取模块1170。可选地,实施例十一的第二网络训练装置还包括前述第二网络初始化模块1150。
其中,操作环境设置模块1160用于根据所述目标操作环境的数据,为机械臂抓取仿真平台设置所述操作环境。
此外,可选地,第一操作状态数据获取模块1170,用于在第一动作控制数据获取模块1110通过本地的目标神经网络,获取操作状态数据的动作控制数据之前,通过设置了目标操作环境的机械臂抓取仿真平台,获取所述操作状态数据。
可选地,第一动作控制数据获取模块1110用于通过所述控制策略网络,获取操作状态数据的抓取控制数据。
此外,可选地,该第二网络训练装置还包括:控制结果数据获取模块1180,用于在样本发送模块1120向中央训练服务器发送包括所述操作状态数据和相应的动作控制数据的状态动作样本数据之前,通过所述机械臂抓取仿真平台,获取所述操作状态数据和所述抓取控制数据的控制结果数据以及动作控制奖励数据。
可选地,样本发送模块1120用于向中央训练服务器发送包括与当前的操作环境对应的状态动作样本数据,所述状态动作样本数据包括所述操作状态数据、所述抓取控制数据、所述控制结果数据以及动作控制奖励数据。
可选地,所述操作环境的数据包括机械臂的物理参数数据、抓取物体的参数数据和抓取环境的数据。
可选地,操作环境设置模块1160用于根据所述目标操作环境的数据,设置所述机械臂抓取仿真平台的抓取环境、抓取物体、以及机械臂的物理参数的数据。
本实施例的第二网络训练装置用于实现前述方法实施例四~六中相应的网络训练方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例十三
图14是示出根据本发明实施例十三的操作控制装置的逻辑框图。
参照图14,根据本发明实施例十三的操作控制装置,包括:第二操作状态数据获取模块1410、第二动作控制数据获取模块1420和控制执行模块1430。
第二操作状态数据获取模块1410用于获取操作状态数据。
第二动作控制数据获取模块1420用于通过前述实施例一~实施例三中描述的任一方法训练得到的目标神经网络,获取所述操作状态数据的动作控制数据。
控制执行模块1430用于根据所述动作控制数据,执行相应的控制操作。
可选地,所述操作状态数据包括拍摄有被控主体的操作场景图像。
可选地,所述操作控制装置还包括:预处理模块1440,用于在第二操作状态数据获取模块1410获取操作状态数据的动作控制数据之前,对所述操作场景图像进行边缘提取和边缘增强操作。
可选地,所述目标神经网络包括控制策略网络和价值网络,包括所述控制策略网络用于生成机械臂抓取物体的抓取控制数据,所述价值网络用于对控制策略网络生成的抓取控制数据生成奖励估计数据。
本实施例的操作控制装置用于实现前述方法实施例七相应的操作控制方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例十四
本发明实施例十四提供一种第一计算机可读存储介质,其上存储有计算机程序指令,其中,所述程序指令被处理器执行时实现前述实施例一~实施例三所述的网络训练方法的步骤,并具有相应的实施例的有益效果,在此不再赘述。
本发明实施例十四还提供一种第二计算机可读存储介质,其上存储有计算机程序指令,其中,所述程序指令被处理器执行时实现前述实施例四~实施例六所述的网络训练方法的步骤,并具有相应的实施例的有益效果,在此不再赘述。
本发明实施例十四还提供一种第三计算机可读存储介质,其上存储有计算机程序指令,其中,所述程序指令被处理器执行时实现前述操作控制方法的步骤,并且具有相应的实施例七的有益效果,在此不再赘述。
实施例十五
本发明实施例十五提供一种第一计算机程序,其包括有计算机程序指令,其中,所述程序指令被处理器执行时实现前述实施例一~实施例三所述的网络训练方法的步骤,并具有相应的实施例的有益效果,在此不再赘述。
本发明实施例十五还提供一种第二计算机程序,其包括有计算机程序指令,其中,所述程序指令被处理器执行时实现前述实施例四~实施例六所述的网络训练方法的步骤,并具有相应的实施例的有益效果,在此不再赘述。
本发明实施例十五还提供一种第三计算机程序,其包括有计算机程序指令,其中,所述程序指令被处理器执行时实现前述操作控制方法的步骤,并且具有相应的实施例七的有益效果,在此不再赘述。
实施例十六
图15是示出根据本发明实施例十六的第一电子设备的结构示意图。
本发明实施例还提供了一种第一电子设备,例如可以是移动终端、个人计算机(PC)、平板电脑、服务器等。下面参考图15,其示出了适于用来实现本发明实施例的终端设备或服务器的第一电子设备1500的结构示意图。
如图15所示,第一电子设备1500包括一个或多个第一处理器、第一通信元件等,所述一个或多个第一处理器例如:一个或多个第一中央处理单元(CPU)1501,和/或一个或多个第一图像处理器(GPU)1513等,第一处理器可以根据存储在第一只读存储器(ROM)1502中的可执行指令或者从第一存储部分1508加载到第一随机访问存储器(RAM)1503中的可执行指令而执行各种适当的动作和处理。第一通信元件包括第一通信组件1512和第一通信接口1509。其中,第一通信组件1512可包括但不限于网卡,所述网卡可包括但不限于IB(Infiniband)网卡,第一通信接口1509包括诸如LAN卡、调制解调器等的网络接口卡的通信接口,第一通信接口1509经由诸如因特网的网络执行通信处理。
第一处理器可与第一只读存储器1502和/或第一随机访问存储器1503中通信以执行可执行指令,通过第一总线1504与第一通信组件1512相连、并经第一通信组件1512与其他目标设备通信,从而完成本发明实施例提供的任一项方法对应的操作,例如,从至少一个训练主机分别接收状态动作样本数据,所述状态动作样本数据至少包括操作状态数据以及相应的动作控制数据;使用所述状态动作样本数据,训练用于操作控制的目标神经网络;将经过训练的目标神经网络分别发送给所述至少一个训练主机,以使得所述至少一个训练主机根据所述目标神经网络生成新的状态动作样本数据。
此外,在第一RAM 1503中,还可存储有装置操作所需的各种程序和数据。第一CPU1501、第一ROM 1502以及第一RAM 1503通过第一总线1504彼此相连。在有第一RAM 1503的情况下,第一ROM 1502为可选模块。第一RAM 1503存储可执行指令,或在运行时向第一ROM1502中写入可执行指令,可执行指令使第一处理器1501执行上述通信方法对应的操作。第一输入/输出(I/O)接口1505也连接至第一总线1504。第一通信组件1512可以集成设置,也可以设置为具有多个子模块(例如多个IB网卡),并在总线链接上。
以下部件连接至第一I/O接口1505:包括键盘、鼠标等的第一输入部分1506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的第一输出部分1507;包括硬盘等的第一存储部分1508;以及包括诸如LAN卡、调制解调器等的网络接口卡的第一通信接口1509。第一驱动器1510也根据需要连接至第一I/O接口1505。第一可拆卸介质1511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在第一驱动器1510上,以便于从其上读出的计算机程序根据需要被安装入第一存储部分1508。
需要说明的是,如图15所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图15的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如GPU和CPU可分离设置或者可将GPU集成在CPU上,第一通信组件1512可分离设置,也可集成设置在CPU或GPU上,等等。这些可替换的实施方式均落入本发明的保护范围。
特别地,根据本发明实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本发明实施例提供的方法步骤对应的指令,例如,用于从至少一个训练主机分别接收状态动作样本数据的可执行代码,所述状态动作样本数据至少包括操作状态数据以及相应的动作控制数据;用于使用所述状态动作样本数据,训练用于操作控制的目标神经网络的可执行代码;用于将经过训练的目标神经网络分别发送给所述至少一个训练主机,以使得所述至少一个训练主机根据所述目标神经网络生成新的状态动作样本数据的可执行代码。在这样的实施例中,该计算机程序可以通过通信元件从网络上被下载和安装,和/或从第一可拆卸介质1511被安装。在该计算机程序被第一中央处理单元(CPU)1501执行时,执行本发明实施例的方法中限定的上述功能。
本发明实施例十六提供的第一电子设备,通过从至少一个训练主机收集状态动作样本数据,并且使用这些状态动作样本数据来训练目标神经网络;再将训练得到的目标神经网络发送给各个训练主机,以用于更多状态动作样本数据的采集。由此,可以分布式的训练方式,不断地通过各个训练主机获取到大量的用于智能操作控制的训练样本,提高了采集训练样本的效率。此外,还能够使得训练主机持续地通过经训练的目标神经网络来获取更多的训练样本,从而提高了采集到的训练样本的质量。
实施例十七
图16是示出根据本发明实施例十七的第二电子设备的结构示意图。
本发明实施例还提供了一种第二电子设备,例如可以是移动终端、个人计算机(PC)、平板电脑、服务器等。下面参考图16,其示出了适于用来实现本发明实施例的终端设备或服务器的第二电子设备1600的结构示意图。
如图16所示,第二电子设备1600包括一个或多个第二处理器、第二通信元件等,所述一个或多个第二处理器例如:一个或多个第二中央处理单元(CPU)1601,和/或一个或多个第二图像处理器(GPU)1613等,第二处理器可以根据存储在第二只读存储器(ROM)1602中的可执行指令或者从第二存储部分1608加载到第二随机访问存储器(RAM)1603中的可执行指令而执行各种适当的动作和处理。第二通信元件包括第二通信组件1612和第二通信接口1609。其中,第二通信组件1612可包括但不限于网卡,所述网卡可包括但不限于IB(Infiniband)网卡,第二通信接口1609包括诸如LAN卡、调制解调器等的网络接口卡的通信接口,第二通信接口1609经由诸如因特网的网络执行通信处理。
第二处理器可与第二只读存储器1602和/或第二随机访问存储器1603中通信以执行可执行指令,通过第二总线1604与第二通信组件1612相连、并经第二通信组件1612与其他目标设备通信,从而完成本发明实施例提供的任一项方法对应的操作,例如,通过本地的目标神经网络,获取操作状态数据的动作控制数据;向中央训练服务器发送包括所述操作状态数据和相应的动作控制数据的状态动作样本数据;从中央训练服务器接收经过训练的目标神经网络;将接收到的目标神经网络设置为本地的目标神经网络,以根据本地的目标神经网络采集新的状态动作样本数据。
此外,在第二RAM 1603中,还可存储有装置操作所需的各种程序和数据。第二CPU1601、第二ROM 1602以及第二RAM 1603通过第二总线1604彼此相连。在有第二RAM 1603的情况下,第二ROM 1602为可选模块。第二RAM 1603存储可执行指令,或在运行时向第二ROM1602中写入可执行指令,可执行指令使第二处理器1601执行上述通信方法对应的操作。第二输入/输出(I/O)接口1605也连接至第二总线1604。第二通信组件1612可以集成设置,也可以设置为具有多个子模块(例如多个IB网卡),并在总线链接上。
以下部件连接至第二I/O接口1605:包括键盘、鼠标等的第二输入部分1606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的第二输出部分1607;包括硬盘等的第二存储部分1608;以及包括诸如LAN卡、调制解调器等的网络接口卡的第二通信接口1609。第二驱动器1610也根据需要连接至第二I/O接口1605。第二可拆卸介质1611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在第二驱动器1610上,以便于从其上读出的计算机程序根据需要被安装入第二存储部分1608。
需要说明的是,如图16所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图16的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如GPU和CPU可分离设置或者可将GPU集成在CPU上,第二通信组件1612可分离设置,也可集成设置在CPU或GPU上,等等。这些可替换的实施方式均落入本发明的保护范围。
特别地,根据本发明实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本发明实施例提供的方法步骤对应的指令,例如,用于通过本地的目标神经网络,获取操作状态数据的动作控制数据的可执行代码;用于向中央训练服务器发送包括所述操作状态数据和相应的动作控制数据的状态动作样本数据的可执行代码;用于从中央训练服务器接收经过训练的目标神经网络的可执行代码;用于将接收到的目标神经网络设置为本地的目标神经网络,以根据本地的目标神经网络采集新的状态动作样本数据的可执行代码。在这样的实施例中,该计算机程序可以通过通信元件从网络上被下载和安装,和/或从第二可拆卸介质1611被安装。在该计算机程序被第二中央处理单元(CPU)1601执行时,执行本发明实施例的方法中限定的上述功能。
本发明实施例十七提供的第二电子设备,可通过中央训练服务器提供的目标神经网络,在本地生成状态动作样本数据,并将生成的状态动作样本数据发送给中央训练服务器,并且从中央训练服务器接收经过训练的目标神经网络,以基于该经过训练的目标神经网络,进一步采集更多的状态动作样本数据,从而可以分布式的训练方式,提高采集训练样本的效率和质量。
实施例十八
图17是示出根据本发明实施例十八的第三电子设备的结构示意图。
本发明实施例还提供了一种第三电子设备,例如可以是移动终端、个人计算机(PC)、平板电脑、服务器等。下面参考图17,其示出了适于用来实现本发明实施例的终端设备或服务器的第三电子设备1700的结构示意图。
如图17所示,第三电子设备1700包括一个或多个第三处理器、第三通信元件等,所述一个或多个第三处理器例如:一个或多个第三中央处理单元(CPU)1701,和/或一个或多个第三图像处理器(GPU)1713等,第三处理器可以根据存储在第三只读存储器(ROM)1702中的可执行指令或者从第三存储部分1708加载到第三随机访问存储器(RAM)1703中的可执行指令而执行各种适当的动作和处理。第三通信元件包括第三通信组件1712和第三通信接口1709。其中,第三通信组件1712可包括但不限于网卡,所述网卡可包括但不限于IB(Infiniband)网卡,第三通信接口1709包括诸如LAN卡、调制解调器等的网络接口卡的通信接口,第三通信接口1709经由诸如因特网的网络执行通信处理。
第三处理器可与第三只读存储器1702和/或第三随机访问存储器1703中通信以执行可执行指令,通过第三总线1704与第三通信组件1712相连、并经第三通信组件1712与其他目标设备通信,从而完成本发明实施例提供的任一项方法对应的操作,例如,获取操作状态数据;通过前述实施例一~实施例三中所述任一网络训练方法训练得到的目标神经网络,获取所述操作状态数据的动作控制数据;根据所述动作控制数据,执行相应的控制操作。
此外,在第三RAM 1703中,还可存储有装置操作所需的各种程序和数据。第三CPU1701、第三ROM 1702以及第三RAM 1703通过第三总线1704彼此相连。在有第三RAM 1703的情况下,第三ROM 1702为可选模块。第三RAM 1703存储可执行指令,或在运行时向第三ROM1702中写入可执行指令,可执行指令使第三处理器1701执行上述通信方法对应的操作。第三输入/输出(I/O)接口1705也连接至第三总线1704。第三通信组件1712可以集成设置,也可以设置为具有多个子模块(例如多个IB网卡),并在总线链接上。
以下部件连接至第三I/O接口1705:包括键盘、鼠标等的第三输入部分1706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的第三输出部分1707;包括硬盘等的第三存储部分1708;以及包括诸如LAN卡、调制解调器等的网络接口卡的第三通信接口1709。第三驱动器1710也根据需要连接至第三I/O接口1705。第三可拆卸介质1711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在第三驱动器1710上,以便于从其上读出的计算机程序根据需要被安装入第三存储部分1708。
需要说明的是,如图17所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图17的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如GPU和CPU可分离设置或者可将GPU集成在CPU上,第三通信组件1712可分离设置,也可集成设置在CPU或GPU上,等等。这些可替换的实施方式均落入本发明的保护范围。
特别地,根据本发明实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本发明实施例提供的方法步骤对应的指令,例如,用于获取操作状态数据的可执行代码;用于通过前述实施例一~实施例三中所述任一网络训练方法训练得到的目标神经网络,获取所述操作状态数据的动作控制数据的可执行代码;根据所述动作控制数据,执行相应的控制操作的可执行代码。在这样的实施例中,该计算机程序可以通过通信元件从网络上被下载和安装,和/或从第三可拆卸介质1711被安装。在该计算机程序被第三中央处理单元(CPU)1701执行时,执行本发明实施例的方法中限定的上述功能。
本发明实施例十八提供的第三电子设备,可通过前述实施例一~实施例三中所述任一网络训练方法训练得到的目标神经网络,获取操作状态数据的动作控制数据,并且执行相应的控制操作,从而准确地实现智能控制。
需要指出,根据实施的需要,可将本申请中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。
可能以许多方式来实现本发明的方法和装置、设备。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明实施例的方法和装置、设备。用于方法的步骤的上述顺序仅是为了进行说明,本发明实施例的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明实施例的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明实施例的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
Claims (40)
1.一种网络训练方法,包括:
从多个训练主机分别接收状态动作样本数据,所述状态动作样本数据至少包括操作状态数据以及相应的动作控制数据并且与操作控制的操作环境对应;其中,从所述多个训练主机接收的状态动作样本数据至少与两种操作环境对应;
将接收到的状态动作样本数据以及对应的操作环境的数据存储到样本数据库中;
从所述样本数据库获取与预定的操作环境对应的状态动作样本数据;
使用从所述样本数据库获取到的所述状态动作样本数据,训练用于操作控制的目标神经网络;
将经过训练的目标神经网络以及目标操作环境的数据分别发送给所述多个训练主机,以使得所述多个训练主机根据所述目标神经网络生成对应于相应的目标操作环境的新的状态动作样本数据,发送给多个所述训练主机的所述目标操作环境的数据对应于至少两种操作环境。
2.根据权利要求1所述的方法,其中,在从多个训练主机分别接收状态动作样本数据之前,所述方法还包括:
初始化所述目标神经网络,并且将初始化的目标神经网络发送给多个所述训练主机,以使得所述训练主机根据所述目标神经网络生成所述状态动作样本数据。
3.根据权利要求1所述的方法,其中,所述目标神经网络包括控制策略网络和价值网络,包括所述控制策略网络用于生成机械臂抓取物体的抓取控制数据,所述价值网络用于对控制策略网络生成的抓取控制数据生成奖励估计数据。
4.根据权利要求3所述的方法,其中,所述动作控制数据为抓取控制数据,所述状态动作样本数据还包括控制结果数据和动作控制奖励数据。
5.根据权利要求2~4中任一项所述的方法,其中,所述操作环境的数据包括机械臂的物理参数数据、抓取物体的参数数据和抓取环境的数据。
6.一种网络训练方法,包括:
通过本地的目标神经网络,获取操作状态数据的动作控制数据;
向中央训练服务器发送包括所述操作状态数据和相应的动作控制数据的状态动作样本数据,所述状态动作样本数据与操作控制的操作环境对应并且对应的操作环境与至少一个其他训练主机的操作环境不同;
从中央训练服务器接收经过训练的目标神经网络和目标操作环境的数据;
根据所述目标操作环境的数据设置用于产生新的操作状态数据的操作环境;
将接收到的目标神经网络设置为本地的目标神经网络,以根据本地的目标神经网络采集对应于所述目标操作环境的新的状态动作样本数据。
7.根据权利要求6所述的方法,其中,在通过本地的目标神经网络,获取操作状态数据的动作控制数据之前,所述方法还包括:
接收初始化的目标神经网络,并且将所述初始化的目标神经网络设置为本地的目标神经网络。
8.根据权利要求6所述的方法,其中,所述目标神经网络包括控制策略网络和价值网络,所述控制策略网络用于生成机械臂抓取物体的抓取控制数据,所述价值网络用于对控制策略网络生成的抓取控制数据生成奖励估计数据。
9.根据权利要求8所述的方法,其中,所述根据所述目标操作环境的数据设置用于产生所述操作状态数据的操作环境,包括:
根据所述目标操作环境的数据,为机械臂抓取仿真平台设置所述操作环境。
10.根据权利要求9所述的方法,其中,在通过本地的目标神经网络,获取操作状态数据的动作控制数据之前,所述方法还包括:
通过设置了目标操作环境的机械臂抓取仿真平台,获取所述操作状态数据。
11.根据权利要求10所述的方法,其中,所述通过本地的目标神经网络,获取操作状态数据的动作控制数据包括:
通过所述控制策略网络,获取操作状态数据的抓取控制数据;
在向中央训练服务器发送包括所述操作状态数据和相应的动作控制数据的状态动作样本数据之前,所述方法还包括:
通过所述机械臂抓取仿真平台,获取所述操作状态数据和所述抓取控制数据的控制结果数据以及动作控制奖励数据,
所述向中央训练服务器发送包括所述操作状态数据和相应的动作控制数据的状态动作样本数据包括:
向中央训练服务器发送包括与当前的操作环境对应的状态动作样本数据,所述状态动作样本数据包括所述操作状态数据、所述抓取控制数据、所述控制结果数据以及动作控制奖励数据。
12.根据权利要求9~11中任一项所述的方法,其中,所述操作环境的数据包括机械臂的物理参数数据、抓取物体的参数数据和抓取环境的数据。
13.根据权利要求12所述的方法,其中,所述根据所述目标操作环境的数据,为机械臂抓取仿真平台设置所述操作环境,包括:
根据所述目标操作环境的数据,设置所述机械臂抓取仿真平台的抓取环境、抓取物体、以及机械臂的物理参数的数据。
14.一种操作控制方法,包括:
获取操作状态数据;
通过如权利要求1~5中任一项所述方法训练得到的目标神经网络,获取所述操作状态数据的动作控制数据;
根据所述动作控制数据,执行相应的控制操作。
15.根据权利要求14所述的方法,其中,所述操作状态数据包括拍摄有被控主体的操作场景图像。
16.根据权利要求15所述的方法,其中,在获取操作状态数据的动作控制数据之前,所述操作控制方法还包括:
对所述操作场景图像进行边缘提取和边缘增强操作。
17.根据权利要求14~16中任一项所述的方法,其中,所述目标神经网络包括控制策略网络和价值网络,包括所述控制策略网络用于生成机械臂抓取物体的抓取控制数据,所述价值网络用于对控制策略网络生成的抓取控制数据生成奖励估计数据。
18.一种网络训练装置,包括:
样本接收模块,用于从多个训练主机分别接收状态动作样本数据,所述状态动作样本数据至少包括操作状态数据以及相应的动作控制数据并且与操作控制的操作环境对应;其中,从所述多个训练主机接收的状态动作样本数据至少与两种操作环境对应;
样本存储模块,用于将接收到的状态动作样本数据以及对应的操作环境的数据存储到样本数据库中;
样本拣选模块,用于从所述样本数据库获取与预定的操作环境对应的状态动作样本数据;
网络训练模块,用于使用所述样本拣选模块从所述样本数据库获取到的状态动作样本数据,训练用于操作控制的目标神经网络;
网络发送模块,用于将经过所述网络训练模块训练的目标神经网络以及目标操作环境的数据分别发送给所述多个训练主机,以使得所述多个训练主机根据所述目标神经网络生成对应于相应的目标操作环境的新的状态动作样本数据,发送给多个所述训练主机的所述目标操作环境的数据对应于至少两种操作环境。
19.根据权利要求18所述的装置,其中,所述装置还包括:
网络初始化模块,用于在所述样本接收模块从多个训练主机分别接收状态动作样本数据之前,初始化所述目标神经网络,并且将初始化的目标神经网络发送给多个所述训练主机,以使得所述训练主机根据所述目标神经网络生成所述状态动作样本数据。
20.根据权利要求18所述的装置,其中,所述目标神经网络包括控制策略网络和价值网络,包括所述控制策略网络用于生成机械臂抓取物体的抓取控制数据,所述价值网络用于对控制策略网络生成的抓取控制数据生成奖励估计数据。
21.根据权利要求20所述的装置,其中,所述动作控制数据为抓取控制数据,所述状态动作样本数据还包括控制结果数据和动作控制奖励数据。
22.根据权利要求19~21中任一项所述的装置,其中,所述操作环境的数据包括机械臂的物理参数数据、抓取物体的参数数据和抓取环境的数据。
23.一种网络训练装置,包括:
动作控制数据获取模块,用于通过本地的目标神经网络,获取操作状态数据的动作控制数据;
样本发送模块,用于向中央训练服务器发送包括所述操作状态数据和相应的动作控制数据的状态动作样本数据,所述状态动作样本数据与操作控制的操作环境对应并且对应的操作环境与至少一个其他训练主机的操作环境不同;
网络接收模块,用于从中央训练服务器接收经过训练的目标神经网络和目标操作环境的数据;
操作环境设置模块,用于根据所述目标操作环境的数据设置用于产生新的操作状态数据的操作环境;
网络设置模块,用于将接收到的目标神经网络设置为本地的目标神经网络,以根据本地的目标神经网络采集对应于所述目标操作环境的新的状态动作样本数据。
24.根据权利要求23所述的装置,其中,所述装置还包括:
网络初始化模块,用于在所述动作控制数据获取模块通过本地的目标神经网络,获取操作状态数据的动作控制数据之前,接收初始化的目标神经网络,并且将所述初始化的目标神经网络设置为本地的目标神经网络。
25.根据权利要求23所述的装置,其中,所述目标神经网络包括控制策略网络和价值网络,所述控制策略网络用于生成机械臂抓取物体的抓取控制数据,所述价值网络用于对控制策略网络生成的抓取控制数据生成奖励估计数据。
26.根据权利要求25所述的装置,其中,所述操作环境设置模块用于根据所述目标操作环境的数据,为机械臂抓取仿真平台设置所述操作环境。
27.根据权利要求26所述的装置,其中,所述装置还包括:
操作状态数据获取模块,用于在所述动作控制数据获取模块通过本地的目标神经网络,获取操作状态数据的动作控制数据之前,通过设置了目标操作环境的机械臂抓取仿真平台,获取所述操作状态数据。
28.根据权利要求27所述的装置,其中,所述动作控制数据获取模块用于通过所述控制策略网络,获取操作状态数据的抓取控制数据;
所述装置还包括:
控制结果数据获取模块,用于在所述样本发送模块向中央训练服务器发送包括所述操作状态数据和相应的动作控制数据的状态动作样本数据之前,通过所述机械臂抓取仿真平台,获取所述操作状态数据和所述抓取控制数据的控制结果数据以及动作控制奖励数据,
所述样本发送模块用于向中央训练服务器发送包括与当前的操作环境对应的状态动作样本数据,所述状态动作样本数据包括所述操作状态数据、所述抓取控制数据、所述控制结果数据以及动作控制奖励数据。
29.根据权利要求26~28中任一项所述的装置,其中,所述操作环境的数据包括机械臂的物理参数数据、抓取物体的参数数据和抓取环境的数据。
30.根据权利要求29所述的装置,其中,所述操作环境设置模块用于根据所述目标操作环境的数据,设置所述机械臂抓取仿真平台的抓取环境、抓取物体、以及机械臂的物理参数的数据。
31.一种操作控制装置,包括:
操作状态数据获取模块,用于获取操作状态数据;
动作控制数据获取模块,用于通过如权利要求1~5中任一项所述方法训练得到的目标神经网络,获取所述操作状态数据的动作控制数据;
控制执行模块,用于根据所述动作控制数据,执行相应的控制操作。
32.根据权利要求31所述的装置,其中,所述操作状态数据包括拍摄有被控主体的操作场景图像。
33.根据权利要求32所述的装置,其中,所述操作控制装置还包括:
预处理模块,用于在操作状态数据获取模块获取操作状态数据的动作控制数据之前,对所述操作场景图像进行边缘提取和边缘增强操作。
34.根据权利要求31~33中任一项所述的装置,其中,所述目标神经网络包括控制策略网络和价值网络,包括所述控制策略网络用于生成机械臂抓取物体的抓取控制数据,所述价值网络用于对控制策略网络生成的抓取控制数据生成奖励估计数据。
35.一种电子设备,包括:处理器、存储器、通信元件和通信总线,所述处理器、所述存储器和所述通信元件通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1~5中任一项所述的网络训练方法相应的操作。
36.一种电子设备,包括:处理器、存储器、通信元件和通信总线,所述处理器、所述存储器和所述通信元件通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求6~13中任一项所述的网络训练方法相应的操作。
37.一种电子设备,包括:处理器、存储器、通信元件和通信总线,所述处理器、所述存储器和所述通信元件通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求14~17中任一项所述的操作控制方法相应的操作。
38.一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述程序指令被处理器执行时实现权利要求1~5中任一项所述的网络训练方法的步骤。
39.一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述程序指令被处理器执行时实现权利要求6~13中任一项所述的网络训练方法的步骤。
40.一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述程序指令被处理器执行时实现权利要求14~17中任一项所述的操作控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711004078.0A CN108229678B (zh) | 2017-10-24 | 2017-10-24 | 网络训练方法、操作控制方法、装置、存储介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711004078.0A CN108229678B (zh) | 2017-10-24 | 2017-10-24 | 网络训练方法、操作控制方法、装置、存储介质和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108229678A CN108229678A (zh) | 2018-06-29 |
CN108229678B true CN108229678B (zh) | 2021-04-06 |
Family
ID=62654597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711004078.0A Active CN108229678B (zh) | 2017-10-24 | 2017-10-24 | 网络训练方法、操作控制方法、装置、存储介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108229678B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909871B (zh) * | 2018-09-14 | 2021-03-19 | 中科寒武纪科技股份有限公司 | 状态信息获取装置和方法 |
CN109658413B (zh) * | 2018-12-12 | 2022-08-09 | 达闼机器人股份有限公司 | 一种机器人目标物体抓取位置检测的方法 |
CN109760050A (zh) * | 2019-01-12 | 2019-05-17 | 鲁班嫡系机器人(深圳)有限公司 | 机器人行为训练方法、装置、系统、存储介质及设备 |
CN111832714B (zh) * | 2019-04-19 | 2023-11-17 | 上海寒武纪信息科技有限公司 | 运算方法及装置 |
CN113211441B (zh) * | 2020-11-30 | 2022-09-09 | 湖南太观科技有限公司 | 神经网络训练和机器人控制方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104376389A (zh) * | 2014-12-10 | 2015-02-25 | 国电南京自动化股份有限公司 | 基于负载均衡的主从式微电网功率负荷预测系统及其方法 |
CN107209872A (zh) * | 2015-02-06 | 2017-09-26 | 谷歌公司 | 强化学习系统的分布式训练 |
CN107263449A (zh) * | 2017-07-05 | 2017-10-20 | 中国科学院自动化研究所 | 基于虚拟现实的机器人远程示教系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003288212A (ja) * | 2002-03-27 | 2003-10-10 | Fujitsu Ltd | 実習支援プログラム、アプリケーション導入支援プログラムおよび実習支援方法 |
US9679258B2 (en) * | 2013-10-08 | 2017-06-13 | Google Inc. | Methods and apparatus for reinforcement learning |
US9669300B2 (en) * | 2013-12-27 | 2017-06-06 | Ballcraft, Llc | Motion detection for existing portable devices |
CN106737673B (zh) * | 2016-12-23 | 2019-06-18 | 浙江大学 | 一种基于深度学习的端到端的机械臂控制的方法 |
-
2017
- 2017-10-24 CN CN201711004078.0A patent/CN108229678B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104376389A (zh) * | 2014-12-10 | 2015-02-25 | 国电南京自动化股份有限公司 | 基于负载均衡的主从式微电网功率负荷预测系统及其方法 |
CN107209872A (zh) * | 2015-02-06 | 2017-09-26 | 谷歌公司 | 强化学习系统的分布式训练 |
CN107263449A (zh) * | 2017-07-05 | 2017-10-20 | 中国科学院自动化研究所 | 基于虚拟现实的机器人远程示教系统 |
Non-Patent Citations (1)
Title |
---|
深度学习在控制领域的研究现状与展望;段艳杰等;《自动化学报》;20160531;第42卷(第5期);第643-654页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108229678A (zh) | 2018-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108229678B (zh) | 网络训练方法、操作控制方法、装置、存储介质和设备 | |
Mu et al. | Maniskill: Generalizable manipulation skill benchmark with large-scale demonstrations | |
CN110769985B (zh) | 使用循环神经网络的机器人末端执行器的视点不变的视觉伺服 | |
US20240131695A1 (en) | Deep reinforcement learning for robotic manipulation | |
US20200361082A1 (en) | Machine learning methods and apparatus for robotic manipulation and that utilize multi-task domain adaptation | |
CN110000785B (zh) | 农业场景无标定机器人运动视觉协同伺服控制方法与设备 | |
Mandikal et al. | Dexvip: Learning dexterous grasping with human hand pose priors from video | |
US11717959B2 (en) | Machine learning methods and apparatus for semantic robotic grasping | |
CN114080583B (zh) | 视觉教导和重复移动操纵系统 | |
CN108284436B (zh) | 具有模仿学习机制的远程机械双臂系统及方法 | |
CN113677485A (zh) | 使用基于元模仿学习和元强化学习的元学习的用于新任务的机器人控制策略的高效自适应 | |
CN111085997A (zh) | 基于点云获取和处理的抓取训练方法及系统 | |
JP7458741B2 (ja) | ロボット制御装置及びその制御方法及びプログラム | |
CN111482967B (zh) | 一种基于ros平台的智能检测与抓取方法 | |
CN113646138A (zh) | 用于利用真实性能数据和模拟性能数据训练物体拾取机器人的基于混合机器学习的系统和方法 | |
Liu et al. | Frame mining: a free lunch for learning robotic manipulation from 3d point clouds | |
CN116600945A (zh) | 用于抓取生成的像素级预测 | |
CN114310870A (zh) | 智能体的控制方法、装置、电子设备及存储介质 | |
JP2021091022A (ja) | ロボット制御装置、学習済みモデル、ロボット制御方法およびプログラム | |
Lv et al. | Sam-rl: Sensing-aware model-based reinforcement learning via differentiable physics-based simulation and rendering | |
WO2022192132A1 (en) | Controlling multiple simulated robots with a single robot controller | |
Tsai et al. | Data-driven visual picking control of a 6-DoF manipulator using end-to-end imitation learning | |
Gomes et al. | Deep Reinforcement learning applied to a robotic pick-and-place application | |
CN111360819A (zh) | 机器人的控制方法及装置、计算机设备、存储介质 | |
Jin et al. | DiffGen: Robot Demonstration Generation via Differentiable Physics Simulation, Differentiable Rendering, and Vision-Language Model |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |