发明内容
有鉴于此,本发明的目的在于提供一种足式机器人的强化学习方法、装置和电子设备,以缓解现有的足式机器人的强化学习方法稳定性差、准确性低的技术问题。
第一方面,本发明提供了一种足式机器人的强化学习方法,包括:
在足式机器人运动控制的仿真环境中,获取控制策略网络与所述仿真环境交互生成的训练数据集,其中,所述训练数据集包括:仿真环境中足式机器人的当前状态、足式机器人当前的动作、足式机器人下一时刻的状态、奖励值和布尔值,所述布尔值用于表示是否达到重置条件;
在所述训练数据集中获取第一训练样本,并通过所述第一训练样本对风险评估网络进行监督训练,得到风险评估模型;
在所述训练数据集中获取第二训练样本,并将所述第二训练样本中的当前状态和动作输入至风险评估模型,输出得到风险程度,其中,所述风险程度用于表征所述足式机器人在所述当前状态下执行所述动作的风险程度评估值;
基于所述第二训练样本和所述风险程度对值网络和所述控制策略网络进行训练,得到第一控制策略模型,并基于所述第一控制策略模型更新所述训练数据集,以通过更新的所述训练数据集对所述控制策略网络进行训练,直至对所述控制策略网络的训练次数达到第一预设阈值为止,进而得到目标控制策略模型。
进一步的,基于所述第一控制策略模型更新所述训练数据集,以通过更新的所述训练数据集对所述控制策略网络进行训练,直至对所述控制策略网络的训练次数达到第一预设阈值为止,进而得到目标控制策略模型,包括:
通过所述第一控制策略模型与所述仿真环境交互生成第一新数据集,并将所述第一新数据集作为所述训练数据集,返回执行在所述训练数据集中获取第二训练样本的过程,直至对所述控制策略网络的训练次数达到第二预设阈值为止,进而得到第二控制策略模型;
通过所述第二控制策略模型与所述仿真环境交互生成第二新数据集,并将所述第二新数据集作为所述训练数据集,返回执行在所述训练数据集中获取第一训练样本的过程,直至对所述控制策略网络的训练次数达到所述第一预设阈值为止,进而得到目标控制策略模型。
进一步的,所述第一训练样本包括:所述当前状态、所述动作和所述布尔值;通过所述第一训练样本对风险评估网络进行监督训练,包括:
根据损失函数
和所述第一训练样本对所述风险评估网络进行监督训练,直至对所述风险评估网络的训练次数达到第三预设阈值,得到所述风险评估模型;
其中,α=0.25,γ=2,d表示布尔值,d=1表示所述足式机器人存在安全问题,d=0表示所述足式机器人不存在安全问题,δ表示所述风险评估网络输出的风险程度。
进一步的,所述第二训练样本包括:所述当前状态、所述动作、所述下一时刻的状态、所述奖励值和所述布尔值;基于所述第二训练样本和所述风险程度对值网络和所述控制策略网络进行训练,包括:
将所述第二训练样本输入至所述值网络,输出得到优化目标,其中,所述优化目标用于表示在所述当前状态下执行所述动作的累计折扣奖赏的期望;
基于所述风险程度对所述优化目标进行修正,得到修正后的优化目标;
基于所述修正后的优化目标、所述第二训练样本和所述风险程度对所述控制策略网络进行训练,得到所述第一控制策略模型。
进一步的,基于所述风险程度对所述优化目标进行修正,包括:
根据优化目标修正算式Q′=Q-βδ对所述优化目标进行修正,得到所述修正后的优化目标,其中,Q′表示所述修正后的优化目标,Q表示所述优化目标,δ表示所述风险程度,β=10。
进一步的,在得到所述目标控制策略模型之后,所述方法还包括:
将所述目标控制策略模型部署至物理世界中的足式机器人上,以使所述目标控制策略模型控制所述足式机器人执行指定任务。
进一步的,所述风险评估网络包括:预设数量个神经网络和与所述预设数量个神经网络连接的均值计算层,每个所述神经网络包括:输入层、1个全连接层和输出层。
进一步的,所述当前状态包括:姿态角、关节位置、上一时刻的动作、与所述姿态角对应的三个历史姿态角、与所述关节位置对应的三个历史关节位置、与上一时刻的动作对应的三个历史动作。
第二方面,本发明实施例还提供了一种足式机器人的强化学习装置,包括:
获取单元,用于在足式机器人运动控制的仿真环境中,获取控制策略网络与所述仿真环境交互生成的训练数据集,其中,所述训练数据集包括:仿真环境中足式机器人的当前状态、足式机器人当前的动作、足式机器人下一时刻的状态、奖励值和布尔值,所述布尔值用于表示是否达到重置条件;
第一训练单元,用于在所述训练数据集中获取第一训练样本,并通过所述第一训练样本对风险评估网络进行监督训练,得到风险评估模型;
风险程度计算单元,用于在所述训练数据集中获取第二训练样本,并将所述第二训练样本中的当前状态和动作输入至风险评估模型,输出得到风险程度,其中,所述风险程度用于表征所述足式机器人在所述当前状态下执行所述动作的风险程度评估值;
第二训练单元,用于基于所述第二训练样本和所述风险程度对值网络和所述控制策略网络进行训练,得到第一控制策略模型,并基于所述第一控制策略模型更新所述训练数据集,以通过更新的所述训练数据集对所述控制策略网络进行训练,直至对所述控制策略网络的训练次数达到第一预设阈值为止,进而得到目标控制策略模型。
第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的方法的步骤。
第四方面,本发明实施例提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述第一方面任一项所述的方法的步骤。
在本发明实施例中,提供了一种足式机器人的强化学习方法,包括:在足式机器人运动控制的仿真环境中,获取控制策略网络与仿真环境交互生成的训练数据集;然后,在训练数据集中获取第一训练样本,并通过第一训练样本对风险评估网络进行监督训练,得到风险评估模型;进而,在训练数据集中获取第二训练样本,并将第二训练样本中的当前状态和动作输入至风险评估模型,输出得到风险程度;最后,基于第二训练样本和风险程度对值网络和控制策略网络进行训练,得到第一控制策略模型,并基于第一控制策略模型更新训练数据集,以通过更新的训练数据集对控制策略模型进行训练,直至对控制策略网络的训练次数达到第一预设阈值为止,进而得到目标控制策略模型。通过上述描述可知,本发明的强化学习方法中,是通过风险评估模型输出的足式机器人在当前状态下执行动作的危险程度指导控制策略模型进行训练的,也就是说,本发明中的风险评估模型能够具体给出足式机器人在当前状态下执行某个动作的风险程度,这样基于风险程度训练得到的控制策略模型更加科学可靠和稳定鲁棒,后续该控制策略模型输出的控制策略更加准确,从而可更加稳定地控制足式机器人完成各种给定的任务,缓解了现有的足式机器人的强化学习方法可靠性差,稳定性差,鲁棒性不高的技术问题。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
首先,参照图1来描述用于实现本发明实施例的电子设备100,该电子设备可以用于运行本发明各实施例的足式机器人的强化学习方法及装置。
本申请实施例中,电子设备100可以是服务器,例如,网络服务器、数据库服务器等,也可以是终端设备,例如,智能手机、平板电脑、个人数字助理(Personal DigitalAssistant,PAD)、移动上网设备((Mobile Internet Device,MID)等。
此外,在结构上,本申请实施例提供的电子设备100可以包括一个或多个处理器110和一个或多个存储器120。这些组件通过总线系统和/或其它形式的连接机构(未示出)直接或间接地互连,以实现数据的传输或交互,例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。足式机器人的强化学习装置包括一个或多个可以软件或固件(Firmware)的形式存储在存储器120中或固化在电子设备100的操作系统(OperatingSystem,OS)中的软件模块。处理器110用于执行存储器120中存储的可执行模块,例如,足式机器人的强化学习装置所包括的软件功能模块及计算机程序等,以实现足式机器人的强化学习方法。处理器110可以在接收到执行指令后,执行计算机程序。
其中,处理器110可以是一种集成电路芯片,具有信号处理能力,处理器110也可以是通用处理器,例如,可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、分立门或晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。此外,通用处理器可以是微处理器或者任何常规处理器等。
存储器120可以是,但不限于,随机存取存储器((Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、可擦可编程序只读存储器(Erasable Programmable Read-Only Memory,EPROM),以及电可擦编程只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)。存储器120用于存储程序,处理器110在接收到执行指令后,执行该程序。
应当理解,图1所示的结构仅为示意,本申请实施例提供的电子设备100还可以具有比图1更少或更多的组件,或是具有与图1所示不同的配置。
实施例2:
根据本发明实施例,提供了一种足式机器人的强化学习方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本发明实施例的一种足式机器人的强化学习方法的流程图,如图2所示,该方法包括如下步骤:
步骤S102,在足式机器人运动控制的仿真环境中,获取控制策略网络与仿真环境交互生成的训练数据集,其中,训练数据集包括:仿真环境中足式机器人的当前状态、足式机器人当前的动作、足式机器人下一时刻的状态、奖励值和布尔值,布尔值用于表示是否达到重置条件;
在本发明实施例中,上述足式机器人可以为四足机器人,也可以为其它类型的足式机器人,本发明实施例对上述足式机器人不进行具体限制。
上述控制策略网络为部署在足式机器人上的控制策略网络,也可以为独立于足式机器人的控制策略网络,但是能够对足式机器人进行控制的网络。
上述控制策略网络与仿真环境交互是指:控制策略网络从仿真环境中获取足式机器人的当前状态(表示为st),然后控制策略网络根据当前状态输出足式机器人当前的动作(表示为at),并将当前的动作输送至足式机器人,进而足式机器人执行当前的动作,得到下一时刻的状态(表示为st+1),并根据设定的奖励函数(可以为速度和姿态角的函数,具体可以为执行当前的动作的过程中速度越大,奖励值越大,姿态角越小,奖励值越大)得到奖励值(表示为rt),以通过奖励值指导控制策略网络进行更新,同时得到布尔值(表示为dt)。
上述布尔值的大小只能为0或1中的一个,当足式机器人执行当前的动作后,出现了安全问题(即达到了重置条件),那么此时的布尔值为1;当足式机器人执行当前的动作后,未出现安全问题(即未达到重置条件),那么此时的布尔值为0。上述安全问题是指足式机器人在运动过程中摔倒或者偏离等非正常状态。
如此,控制策略网络与仿真环境进行多次交互,便得到多组训练数据集。
需要说明的是,当控制策略网络与仿真环境交互的过程中,若出现布尔值为1的情况后,则进行重置,即足式机器人重新和仿真环境进行交互。
当上述训练数据集的数据量达到一定值后(例如,100000),执行下述步骤S104。
另外,上述当前状态包括:姿态角、关节位置、上一时刻的动作、与姿态角对应的三个历史姿态角、与关节位置对应的三个历史关节位置、与上一时刻的动作对应的三个历史动作。上述姿态角具体可以包括:偏向角、俯仰角和横滚角,上述关节位置具体是指关节角度,可以包括:大腿和小腿之间的关节角度、大腿和臀部之间的关节角度以及机身和臀部之间的关节角度,上述上一时刻的动作具体是指上一时刻的控制策略网络输出的关节位置(即上一时刻的控制策略网络输出的关节角度,包括:大腿和小腿之间的关节角度、大腿和臀部之间的关节角度以及机身和臀部之间的关节角度)。与姿态角对应的三个历史姿态角是指若当前的姿态角表示为pt,与其对应的三个历史姿态角即为pt-1,pt-2,pt-3,三个历史关节位置和三个历史动作与三个历史姿态角的表示类似,这里不再一一解释说明。
步骤S104,在训练数据集中获取第一训练样本,并通过第一训练样本对风险评估网络进行监督训练,得到风险评估模型;
上述第一训练样本可以为在训练数据集中分批次取的第一预设数据量的数据。每当在训练数据集中取一次第一训练样本,就通过取得的第一训练样本对风险评估网络进行监督训练一次,如此对风险评估网络训练预设数量次(可以为120次,本发明实施例对该数值不进行具体限定),便得到了风险评估模型。下文再对该过程进行详细描述,在此不再赘述。
步骤S106,在训练数据集中获取第二训练样本,并将第二训练样本中的当前状态和动作输入至风险评估模型,输出得到风险程度,其中,风险程度用于表示足式机器人在当前状态下执行动作的风险程度评估值;
上述第二训练样本也是在训练数据集中分批次取的第二预设数据量的数据。与上述步骤S104不同的是,该过程中只在训练数据集中取一次第二预设数据量的数据,待训练数据集更新后再进行第二预设数据量的数据的提取。
步骤S108,基于第二训练样本和风险程度对值网络和控制策略网络进行训练,得到第一控制策略模型,并基于第一控制策略模型更新训练数据集,以通过更新的训练数据集对控制策略网络进行训练,直至对控制策略网络的训练次数达到第一预设阈值为止,进而得到目标控制策略模型。
上述第一控制策略模型为对控制策略网络训练一次后得到的模型,然后在基于第一控制策略模型更新训练数据集,以通过更新的训练数据集再对控制策略网络进行训练。下文中再对该过程进行详细描述,在此不再赘述。
在本发明实施例中,提供了一种足式机器人的强化学习方法,包括:在足式机器人运动控制的仿真环境中,获取控制策略网络与仿真环境交互生成的训练数据集;然后,在训练数据集中获取第一训练样本,并通过第一训练样本对风险评估网络进行监督训练,得到风险评估模型;进而,在训练数据集中获取第二训练样本,并将第二训练样本中的当前状态和动作输入至风险评估模型,输出得到风险程度;最后,基于第二训练样本和风险程度对值网络和控制策略网络进行训练,得到第一控制策略模型,并基于第一控制策略模型更新训练数据集,以通过更新的训练数据集对控制策略模型进行训练,直至对控制策略网络的训练次数达到第一预设阈值为止,进而得到目标控制策略模型。通过上述描述可知,本发明的强化学习方法中,是通过风险评估模型输出的足式机器人在当前状态下执行动作的危险程度指导控制策略模型进行训练的,也就是说,本发明中的风险评估模型能够具体给出足式机器人在当前状态下执行某个动作的风险程度,这样基于风险程度训练得到的控制策略模型更加科学可靠和稳定鲁棒,后续该控制策略模型输出的控制策略更加准确,从而可更加稳定地控制足式机器人完成各种给定的任务,缓解了现有的足式机器人的强化学习方法可靠性差,稳定性差,鲁棒性不高的技术问题。
上述内容对本发明的足式机器人的强化学习方法进行了简要介绍,下面对其中涉及到的具体内容进行详细描述。
在本发明的一个可选实施例中,参考图3,上述步骤S108,基于第一控制策略模型更新训练数据集,以通过更新的训练数据集对控制策略网络进行训练,直至对控制策略网络的训练次数达到第一预设阈值为止,进而得到目标控制策略模型,具体包括如下步骤:
步骤S301,通过第一控制策略模型与仿真环境交互生成第一新数据集,并将第一新数据集作为训练数据集,返回执行在训练数据集中获取第二训练样本的过程,直至对控制策略网络的训练次数达到第二预设阈值为止,进而得到第二控制策略模型;
上述步骤S108只对控制策略网络完成一次训练,然后基于训练完成后得到的第一控制策略模型与仿真环境交互生成第一新数据集,并将第一新数据集作为训练数据集,返回执行在训练数据集中获取第二训练样本的过程,直至对控制策略网络的训练次数得到第二预设阈值为止,得到第二控制策略模型。
上述第二预设阈值可以为100000,本发明实施例对上述第二预设阈值不进行具体限定。
步骤S302,通过第二控制策略模型与仿真环境交互生成第二新数据集,并将第二新数据集作为训练数据集,返回执行在训练数据集中获取第一训练样本的过程,直至对控制策略网络的训练次数达到第一预设阈值为止,进而得到目标控制策略模型。
在得到第二控制策略模型后,继续通过第二控制策略模型与仿真环境交互生成第二新数据集,并将第二新数据集作为训练数据集,返回执行在训练数据集中获取第一训练样本的过程,再对风险评估网络和控制策略网络进行训练,直至对控制策略网络的训练次数达到第一预设阈值为止,得到目标控制策略模型。
上述第一预设阈值可以为10000000,本发明实施例对上述第二预设阈值不进行具体限定。
通过上述步骤S301和上述步骤S302的内容可知,本发明在对风险评估网络进行监督训练时,是当控制策略网络与仿真环境交互100000次后,再对风险评估网络进行一次完整的监督训练,而在对控制策略网络进行训练时,是当控制策略网络与仿真环境交互1次后,就对控制策略网络进行一次训练。之所以这样设计训练方案是因为风险评估网络的结构简单,训练过程也相对简单,所以无需每次交互都进行训练也能满足精度的要求,也就是本发明的训练过程不但能够达到模型精度的要求,也能减少训练时间成本。
在本发明的一个可选实施例中,第一训练样本包括:当前状态、动作和布尔值;步骤S104,通过第一训练样本对风险评估网络进行监督训练,具体包括:根据损失函数
和第一训练样本对风险评估网络进行监督训练,直至对风险评估网络的训练次数达到第三预设阈值,得到风险评估模型;其中,α=0.25,γ=2,d表示布尔值,d=1表示足式机器人存在安全问题,d=0表示足式机器人不存在安全问题,δ表示风险评估网络输出的风险程度。
上述安全问题是指足式机器人在运动过程中摔倒或者偏离等非正常状态。
上述第三预设阈值可以为120次,上述过程具体可以为每当在训练数据集中获取一次第一训练样本后,就对风险评估网络监督训练一次,如此,在训练数据集中分批次获取120次等量(例如,256个)的第一训练样本,进而完成对风险评估网络的120次训练。
在对风险评估网络进行监督训练时,优化器可以使用adam,学习率可以为0.001,当然,本发明实施例对上述优化器和学习率不进行具体限制。
另外,上述风险评估网络包括:预设数量个神经网络和与预设数量个神经网络连接的均值计算层,每个神经网络包括:输入层、1个全连接层和输出层。在实际应用的过程中,上述预设数量个可以为3个,此时,当当前状态和动作输入至风险评估网络后,三个神经网络分别输出一个标量至均值计算层,然后均值计算层再对三个标量进行均值计算,最终输出得到足式机器人在当前状态下执行动作的风险程度,本发明实施例对上述预设数量个的数目不进行具体限制,还可以为其它数值。
上述全连接层可以为32个节点的全连接层,激活函数可以使用swish函数。
在本发明的一个可选实施例中,第二训练样本包括:当前状态、动作、下一时刻的状态、奖励值和布尔值;参考图4,步骤S108,基于第二训练样本和风险程度对值网络和控制策略网络进行训练,具体包括如下步骤:
步骤S401,将第二训练样本输入至值网络,输出得到优化目标,其中,优化目标用于表示在当前状态下执行动作的累计折扣奖赏的期望;
上述值网络为全连接网络,有两个隐藏层,其结构具体可以为一个输入层,两个全连接层和一个输出层,上述两个全连接层中的每层有256个节点,激活函数可以使用relu函数。
具体可以是将当前状态和动作输入至值网络,进而值网络输出得到优化目标。
步骤S402,基于风险程度对优化目标进行修正,得到修正后的优化目标;
具体的,根据优化目标修正算式Q′=Q-βδ对优化目标进行修正,得到修正后的优化目标,其中,Q′表示修正后的优化目标,Q表示优化目标,δ表示风险程度,β=10。
上述优化目标修正算式表示在对控制策略网络进行训练时,不仅考虑了奖励越大越好,而且还考虑了风险越小越好,可见,这样训练得到的控制策略模型才会更加科学准确和稳定鲁棒。
步骤S403,基于修正后的优化目标、第二训练样本和风险程度对控制策略网络进行训练,得到第一控制策略模型。
在对控制策略网络进行训练时,优化器可以使用adam,学习率可以为3×10-4。
上述控制策略网络为全连接网络,有两个隐藏层,其结构具体可以为一个输入层,两个全连接层和一个输出层,上述两个全连接层中的每层有256个节点,激活函数可以使用relu函数。
在本发明的一个可选实施例中,在得到目标控制策略模型之后,该方法还包括:将目标控制策略模型部署至物理世界中的足式机器人上,以使目标控制策略模型控制足式机器人执行指定任务。
本发明采用了风险评估模型来评估足式机器人在当前状态下执行动作的危险程度,并在此基础上训练得到了目标控制策略模型,使得训练得到的目标控制策略模型更加科学可靠和稳定鲁棒,其输出的控制策略更加准确,这样的控制策略能够使足式机器人采取更加安全可靠的行为,远离危险状态,从而更好的完成奔跑行为。
下面以图5为例对本发明的控制策略模型的训练过程再进行整体说明:
控制策略网络和仿真环境交互(具体交互过程参考步骤S102中的描述),生成训练数据集(包括有(st,at,st+1,rt,dt)),每交互一次,产生一个数据,并将产生的数据保存至缓冲器,当二者交互达到100000次后,缓存器中得到了100000个数据的训练数据集,达到100000次的交互后,从缓存器中获取包含256个数据(也可以为其它数值)的第一训练样本(st,at,dt),然后采用第一训练样本对风险评估网络监督训练一次,完成后,再从缓存器中获取包含256个数据的第一训练样本,然后再采用新获取到的第一训练样本对风险评估网络监督训练一次,如此,训练达到120次后,一次完整的风险评估网络的监督训练过程完成,然后,再从缓存器中获取包含256个数据的第二训练样本((st,at,st+1,rt,dt)),然后将第二训练样本中的(st,at)输入至完成一次训练的风险评估网络中,输出得到风险程度,进而基于风险程度和第二训练样本对值网络和控制策略网络进行训练,如此完成对控制策略网络的一次训练。
完成上述一次训练后,控制策略网络再与仿真环境交互一次,更新训练数据集,更新完成后,再从缓存器中获取新的第二训练样本,将新的第二训练样本中的(st,at)输入至完成一次训练的风险评估网络中,输出得到风险程度,进而基于风险程度和新的第二训练样本对值网络和控制策略网络进行训练,如此完成对控制策略网络的又一次训练。
按照上述过程对控制策略网络训练100000次,完成100000次的训练后,在从缓存器中获取第一训练样本,再对风险评估网络监督训练,训练120次,完成对风险评估网络的第二次完整的训练,然后再从缓存器中获取第二训练样本,将其中的(st,at)输入至完成二次训练的风险评估网络中,输出得到风险程度,进而基于风险程度和新的第二训练样本对值网络和控制策略网络进行训练,完成了对控制策略网络的第100001次训练。
继续对控制策略网络训练训练达到200000次后,再对风险评估网络进行第三次完整的训练,如此循环,直至完成对控制策略网络的10000000次训练后,得到目标控制策略模型。
本发明通过建立风险评估模型,评估足式机器人在当前状态下,执行动作的风险程度,使得控制策略网络和值网络更新时,不仅要考虑奖励越大越好,而且还要考虑风险越小越好。这样训练得到的目标控制策略模型具有更好的稳定性和鲁棒性,从而控制足式机器人在安全范围内奔跑,而不会摔倒。
实施例3:
本发明实施例还提供了一种足式机器人的强化学习装置,该足式机器人的强化学习装置主要用于执行本发明实施例上述内容所提供的足式机器人的强化学习方法,以下对本发明实施例提供的足式机器人的强化学习装置做具体介绍。
图6是根据本发明实施例的一种足式机器人的强化学习装置的示意图,如图6所示,该足式机器人的强化学习装置主要包括:获取单元10、第一训练单元20、风险程度计算单元30和第二训练单元40,其中:
获取单元,用于在足式机器人运动控制的仿真环境中,获取控制策略网络与仿真环境交互生成的训练数据集,其中,训练数据集包括:仿真环境中足式机器人的当前状态、足式机器人当前的动作、足式机器人下一时刻的状态、奖励值和布尔值,布尔值用于表示是否达到重置条件;
第一训练单元,用于在训练数据集中获取第一训练样本,并通过第一训练样本对风险评估网络进行监督训练,得到风险评估模型;
风险程度计算单元,用于在训练数据集中获取第二训练样本,并将第二训练样本中的当前状态和动作输入至风险评估模型,输出得到风险程度,其中,风险程度用于表征足式机器人在当前状态下执行动作的风险程度评估值;
第二训练单元,用于基于第二训练样本和风险程度对值网络和控制策略网络进行训练,得到第一控制策略模型,并基于第一控制策略模型更新训练数据集,以通过更新的训练数据集对控制策略网络进行训练,直至对控制策略网络的训练次数达到第一预设阈值为止,进而得到目标控制策略模型。
在本发明实施例中,提供了一种足式机器人的强化学习装置,包括:在足式机器人运动控制的仿真环境中,获取控制策略网络与仿真环境交互生成的训练数据集;然后,在训练数据集中获取第一训练样本,并通过第一训练样本对风险评估网络进行监督训练,得到风险评估模型;进而,在训练数据集中获取第二训练样本,并将第二训练样本中的当前状态和动作输入至风险评估模型,输出得到风险程度;最后,基于第二训练样本和风险程度对值网络和控制策略网络进行训练,得到第一控制策略模型,并基于第一控制策略模型更新训练数据集,以通过更新的训练数据集对控制策略模型进行训练,直至对控制策略网络的训练次数达到第一预设阈值为止,进而得到目标控制策略模型。通过上述描述可知,本发明的强化学习装置中,是通过风险评估模型输出的足式机器人在当前状态下执行动作的危险程度指导控制策略模型进行训练的,也就是说,本发明中的风险评估模型能够具体给出足式机器人在当前状态下执行某个动作的风险程度,这样基于风险程度训练得到的控制策略模型更加科学可靠和稳定鲁棒,后续该控制策略模型输出的控制策略更加准确,从而可更加稳定地控制足式机器人完成各种给定的任务,缓解了现有的足式机器人的强化学习方法可靠性差,稳定性差,鲁棒性不高的技术问题。
可选地,第二训练单元还用于:通过第一控制策略模型与仿真环境交互生成第一新数据集,并将第一新数据集作为训练数据集,返回执行在训练数据集中获取第二训练样本的过程,直至对控制策略网络的训练次数达到第二预设阈值为止,进而得到第二控制策略模型;通过第二控制策略模型与仿真环境交互生成第二新数据集,并将第二新数据集作为训练数据集,返回执行在训练数据集中获取第一训练样本的过程,直至对控制策略网络的训练次数达到第一预设阈值为止,进而得到目标控制策略模型。
可选地,第一训练样本包括:当前状态、动作和布尔值;第一训练单元还用于:根据损失函数
和第一训练样本对风险评估网络进行监督训练,直至对风险评估网络的训练次数达到第三预设阈值,得到风险评估模型;其中,α=0.25,γ=2,d表示布尔值,d=1表示足式机器人存在安全问题,d=0表示足式机器人不存在安全问题,δ表示风险评估网络输出的风险程度。
可选地,第二训练样本包括:当前状态、动作、下一时刻的状态、奖励值和布尔值;第二训练单元还用于:将第二训练样本输入至值网络,输出得到优化目标,其中,优化目标用于表示在当前状态下执行动作的累计折扣奖赏的期望;基于风险程度对优化目标进行修正,得到修正后的优化目标;基于修正后的优化目标、第二训练样本和风险程度对控制策略网络进行训练,得到第一控制策略模型。
可选地,第二训练单元还用于:根据优化目标修正算式Q′=Q-βδ对优化目标进行修正,得到修正后的优化目标,其中,Q′表示修正后的优化目标,Q表示优化目标,δ表示风险程度,β=10。
可选地,该装置还用于:将目标控制策略模型部署至物理世界中的足式机器人上,以使目标控制策略模型控制足式机器人执行指定任务。
可选地,风险评估网络包括:预设数量个神经网络和与预设数量个神经网络连接的均值计算层,每个神经网络包括:输入层、1个全连接层和输出层。
可选地,当前状态包括:姿态角、关节位置、上一时刻的动作、与姿态角对应的三个历史姿态角、与关节位置对应的三个历史关节位置、与上一时刻的动作对应的三个历史动作。
本发明实施例所提供的足式机器人的强化学习装置,其实现原理及产生的技术效果和前述实施例2中的方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
在另一个实施例中,还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述权实施例2中任意实施例的方法的步骤。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。