CN109514553B - 一种机器人移动控制的方法、系统及设备 - Google Patents
一种机器人移动控制的方法、系统及设备 Download PDFInfo
- Publication number
- CN109514553B CN109514553B CN201811391335.5A CN201811391335A CN109514553B CN 109514553 B CN109514553 B CN 109514553B CN 201811391335 A CN201811391335 A CN 201811391335A CN 109514553 B CN109514553 B CN 109514553B
- Authority
- CN
- China
- Prior art keywords
- network model
- sample
- action
- calculating
- value
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000009471 action Effects 0.000 claims abstract description 112
- 238000011156 evaluation Methods 0.000 claims abstract description 85
- 238000004364 calculation method Methods 0.000 claims abstract description 27
- 230000000875 corresponding effect Effects 0.000 claims abstract description 12
- 230000007613 environmental effect Effects 0.000 claims abstract description 8
- 238000012546 transfer Methods 0.000 claims description 75
- 230000007704 transition Effects 0.000 claims description 34
- 238000012549 training Methods 0.000 claims description 30
- 238000005070 sampling Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 230000006399 behavior Effects 0.000 claims description 6
- 230000001276 controlling effect Effects 0.000 abstract description 14
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- 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/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Feedback Control In General (AREA)
Abstract
本申请公开了一种机器人移动控制的方法,包括:建立基于线性动态跳帧的深度双Q网络模型;接收输入的初始参数值及环境信息;利用评估网络模型在初始状态下执行初始策略计算动作集合中每个动作的Q值,并根据各Q值来确定对应动作的跳帧率;根据目标网络模型计算环境信息的目标值;根据目标值确定最优策略,并令机器人执行最优策略进行移动。本申请所提供的技术方案,根据网络输出动作Q值的大小来线性地决定每个动作的跳帧率,在不增加网络计算量的前提下,高效准确地计算出了每个动作需要重复执行的次数,提高了机器人移动的运算速度及场景识别准确度。本申请还提供了一种机器人移动控制的系统、设备及计算机可读存储介质,具有上述有益效果。
Description
技术领域
本申请涉及人工智能领域,特别涉及一种机器人移动控制的方法、系统、设备及计算机可读存储介质。
背景技术
人工智能(ArtificialIntelligence,AI)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括智能点餐机器人、语言识别、图像识别、自然语言处理和专家系统等。
近年来,机器人已经越来越多的应用于生产生活中,如排险、军事探测、医疗护理等;而机器人的定位与导航在实现上述功能中发挥着关键的作用,快速而又准确地识别机器人所处环境是机器人准确定位的前提。
现有技术中对于机器人移动控制的方法主要是基于深度学习算法进行实现,深度Q网络模型作为典型的深度学习算法,其中的一个重要参数是跳帧率,反映了Agent重复执行选定动作的次数。在深度Q网络及其改进算法中大多使用了静态的跳帧方法,即动作被重复执行固定的次数。Aravind等人则提出一种动态跳帧的深度Q网络算法(记为DF-DQN)。DF-DQN将网络输出层节点数量扩大一倍,跳帧率为4或者20。然而这样的设置会导致网络的计算量增长一倍,并且可能会导致不好的动作被执行多次,从而影响学习的效率,进而影响了机器人移动的运算速度及场景识别准确度。
因此,如何提高机器人移动的运算速度及场景识别准确度是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种机器人移动控制的方法、系统、设备及计算机可读存储介质,用于提高机器人移动的运算速度及场景识别准确度。
为解决上述技术问题,本申请提供一种机器人移动控制的方法,该方法包括:
建立基于线性动态跳帧的深度双Q网络模型;其中,所述深度双Q网络模型包括目标网络模型和评估网络模型;
接收输入的初始参数值及环境信息;其中,所述初始参数值包括初始策略、初始状态及动作集合;
利用所述评估网络模型根据所述初始状态及所述初始策略计算所述动作集合中每个动作的Q值,并根据各所述Q值来确定对应动作的跳帧率;
根据各所述跳帧率确定每个动作需要执行的次数,对所述评估网络模型进行训练,得到最优评估网络模型;
将所述最优评估网络模型的权重复制给所述目标网络模型,并根据所述目标网络模型计算所述环境信息的目标值;
根据所述目标值确定最优策略,并令机器人执行所述最优策略进行移动。
可选的,所述根据各所述跳帧率确定每个动作需要执行的次数,对所述评估网络模型进行训练,得到最优评估网络模型,包括:
行为策略根据当前状态下所述各动作的跳帧率确定Agent执行的动作和所述动作需要执行的次数;
所述Agent基于所述行为策略重复执行所述动作,得到转移样本et=(st,(at,kt),rt,st+1),并将所述转移样本存放至经验池Dt=(e1,e2,...,et)中;
根据公式p=|δ|+ε0+ε-·(k/kmax)定义各所述转移样本的优先级p;
从所述经验池中以优先级方式采样各所述转移样本,并根据各所述转移样本对所述评估网络模型进行训练,得到所述最优评估网络模型;
其中,Agent为策略网络,et为t时刻的转移样本,st为t时刻的状态,at为t时刻的动作,kt为t时刻的跳帧率,rt为t时刻的奖赏,st+1为t+1时刻的状态,Dt为经验池,δ为转移样本的TD误差,ε0为避免优先级为0的正值;ε-为控制(k/kmax)和TD误差具有相近的数量级的超参数,且ε-随时间步的增长而衰减,kmax为跳帧率的最大值。
可选的,从所述经验池中以优先级方式采样各所述转移样本,并根据各所述转移样本对所述评估网络模型进行训练,得到所述最优评估网络模型,包括:
根据公式j~P(j)=pj α/∑ipi α计算第j个转移样本被抽取的概率P(j),并根据各所述概率从所述经验池中抽取所述转移样本;
根据公式wj=(N·P(j))-β/maxiwi计算所述第j个转移样本的重要性采样权重wj;
根据公式δj=rj+γjQtarget(sj,arg maxaQ(sj,a))-Q(sj-1,aj-1)计算所述第j个转移样本的TD误差δj;
根据公式pj=|δj|+ε0+ε-·(kj/kmax)更新所述第j个转移样本的样本优先级pj;
根据公式Δ=Δ+wj·δj·▽θQ(sj-1,aj-1)计算梯度,并根据公式θ=θ+η·Δ更新所述评估网络模型的权重,然后返回执行根据公式j~P(j)=pj α/∑ipi α计算第j个转移样本被抽取的概率P(j),并根据各所述概率从所述经验池中抽取所述转移样本的步骤;
当上述各步骤重复执行预设次数后,将更新后的权重作为最优权重,并根据所述最优权重确定所述最优评估网络模型;
其中,pj为第j个转移样本的样本优先级,P(j)为第j个转移样本被抽取的概率,参数α决定优先级有多少被利用,且0≤α≤1,wj为第j个转移样本的重要性采样权重,N和β为超参数,N表示经验池的大小,β为一个常数且0≤β≤1,δj为第j个转移样本的TD误差,rj为第j个样本得到的下一步立即奖赏,γj为折扣率,Qtarget为使用双Q学习方法计算得到的目标值,Q(sj,a)为评估值,Δ为梯度,▽θ为求梯度运算符,η为学习率。
本申请还提供一种机器人移动控制的系统,该系统包括:
模型建立模块,用于建立基于线性动态跳帧的深度双Q网络模型;其中,所述深度双Q网络模型包括目标网络模型和评估网络模型;
接收模块,用于接收输入的初始参数值及环境信息;其中,所述初始参数值包括初始策略、初始状态及动作集合;
Q值计算模块,用于利用所述评估网络模型根据所述初始状态及所述初始策略计算所述动作集合中每个动作的Q值,并根据各所述Q值来确定对应动作的跳帧率;
训练模块,用于根据各所述跳帧率确定每个动作需要执行的次数,对所述评估网络模型进行训练,得到最优评估网络模型;
目标值计算模块,用于将所述最优评估网络模型的权重复制给所述目标网络模型,并根据所述目标网络模型计算所述环境信息的目标值;
确定模块,用于根据所述目标值确定最优策略,并令机器人执行所述最优策略进行移动。
可选的,所述训练模块包括:
确定子模块,用于行为策略根据当前状态下所述各动作的跳帧率确定Agent执行的动作和所述动作需要执行的次数;
执行子模块,用于所述Agent基于所述行为策略重复执行所述动作,得到转移样本et=(st,(at,kt),rt,st+1),并将所述转移样本存放至经验池Dt=(e1,e2,...,et)中;
优先级定义子模块,用于根据公式p=|δ|+ε0+ε-·(k/kmax)定义各所述转移样本的优先级p;
训练子模块,用于从所述经验池中以优先级方式采样各所述转移样本,并根据各所述转移样本对所述评估网络模型进行训练,得到所述最优评估网络模型;
其中,Agent为策略网络,et为t时刻的转移样本,st为t时刻的状态,at为t时刻的动作,kt为t时刻的跳帧率,rt为t时刻的奖赏,st+1为t+1时刻的状态,Dt为经验池,δ为转移样本的TD误差,ε0为避免优先级为0的正值;ε-为控制(k/kmax)和TD误差具有相近的数量级的超参数,且ε-随时间步的增长而衰减,kmax为跳帧率的最大值。
可选的,所述训练子模块包括:
第一计算单元,用于根据公式j~P(j)=pj α/∑ipi α计算第j个转移样本被抽取的概率P(j),并根据各所述概率从所述经验池中抽取所述转移样本;
第二计算单元,用于根据公式wj=(N·P(j))-β/maxiwi计算所述第j个转移样本的重要性采样权重wj;
第三计算单元,用于根据公式δj=rj+γjQtarget(sj,arg maxaQ(sj,a))-Q(sj-1,aj-1)计算所述第j个转移样本的TD误差δj;
第四计算单元,用于根据公式pj=|δj|+ε0+ε-·(kj/kmax)更新所述第j个转移样本的样本优先级pj;
第五计算单元,用于根据公式Δ=Δ+wj·δj·▽θQ(sj-1,aj-1)计算梯度,并根据公式θ=θ+η·Δ更新所述评估网络模型的权重,然后返回所述第一计算单元执行根据公式j~P(j)=pj α/∑ipi α计算第j个转移样本被抽取的概率P(j),并根据各所述概率从所述经验池中抽取所述转移样本的步骤;
确定单元,用于当上述各步骤重复执行预设次数后,将更新后的权重作为最优权重,并根据所述最优权重确定所述最优评估网络模型;
其中,pj为第j个转移样本的样本优先级,P(j)为第j个转移样本被抽取的概率,参数α决定优先级有多少被利用,且0≤α≤1,wj为第j个转移样本的重要性采样权重,N和β为超参数,N表示经验池的大小,β为一个常数且0≤β≤1,δj为第j个转移样本的TD误差,rj为第j个样本得到的下一步立即奖赏,γj为折扣率,Qtarget为使用双Q学习方法计算得到的目标值,Q(sj,a)为评估值,Δ为梯度,▽θ为求梯度运算符,η为学习率。
本申请还提供一种机器人移动控制设备,该机器人移动控制设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述机器人移动控制的方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述机器人移动控制的方法的步骤。
本申请所提供机器人移动控制的方法,包括:建立基于线性动态跳帧的深度双Q网络模型;其中,深度双Q网络模型包括目标网络模型和评估网络模型;接收输入的初始参数值及环境信息;其中,初始参数值包括初始策略、初始状态及动作集合;利用评估网络模型在初始状态下执行初始策略计算动作集合中每个动作的Q值,并根据各Q值来确定对应动作的跳帧率;根据各跳帧率确定每个动作需要执行的次数,对评估网络模型进行训练,得到最优评估网络模型;将最优评估网络模型的权重复制给目标网络模型,并根据目标网络模型计算环境信息的目标值;根据目标值确定最优策略,并令机器人执行最优策略进行移动。
本申请所提供的技术方案,通过预先建立基于线性动态跳帧的深度双Q网络模型,在接收输入的初始参数值及环境信息后,利用评估网络模型计算动作集合中每个动作的Q值,并根据各Q值来确定对应动作的跳帧率,避免了DF-DQN中将网络输出层中动作Q值数量增大一倍来确定跳帧率的做法,而是根据网络输出动作Q值的大小来线性地决定每个动作的跳帧率,在不增加网络计算量的前提下,高效准确地计算出了每个动作需要重复执行的次数,提高了学习的效率,进而提高了机器人移动的运算速度及场景识别准确度。本申请同时还提供了一种机器人移动控制的系统、设备及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种机器人移动控制的方法的流程图;
图2为本申请实施例所提供的一种LDF-IPER-DDQN的网络结构示意图;
图3为图1所提供的一种机器人移动控制的方法中S104的一种实际表现方式的流程图;
图4为图3中步骤S304的一种实际表现方式的流程图;
图5为本申请实施例所提供的一种机器人移动控制的系统的结构图;
图6为本申请实施例所提供的另一种机器人移动控制的系统的结构图;
图7为本申请实施例所提供的一种机器人移动控制设备的结构图。
具体实施方式
本申请的核心是提供一种机器人移动控制的方法、系统、设备及计算机可读存储介质,用于提高机器人移动的运算速度及场景识别准确度。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例所提供的一种机器人移动控制的方法的流程图。
其具体包括如下步骤:
S101:建立基于线性动态跳帧的深度双Q网络模型;
现有技术中对于机器人移动控制的方法主要是基于深度学习算法进行实现,深度Q网络中的一个重要参数是跳帧率,反映了Agent重复执行选定动作的次数,在深度Q网络及其改进算法中大多使用了静态的跳帧方法,即动作被重复执行固定的次数,Aravind等人则提出一种动态跳帧的深度Q网络算法(记为DF-DQN),DF-DQN将网络输出层节点数量扩大一倍,跳帧率为4或者20,然而这样的设置会导致网络的计算量增长一倍,并且可能会导致不好的动作被执行多次,从而影响学习的效率;
基于此,本申请建立了一种基于线性动态跳帧的深度双Q网络模型,该深度双Q网络模型的跳帧率由每个动作的Q值来决定,在不增加网络计算量的前提下,高效准确地计算出了每个动作需要重复执行的次数,并且每个动作的Q值大小表示在状态下该动作的好坏程度,跳帧率的值随网络输出Q值大小线性增长,这允许Agent根据当前状态和动作来动态地确定当前的动作被重复的次数,使得跳帧率成为一个可动态学习的参数,从而更有效地确定跳帧率的值,而不是仅仅设置为4或者20;
这里提到的深度双Q网络模型包括目标网络模型和评估网络模型,评估网络模型用来近似表示当前状态动作对的值函数,目标网络模型用来计算目标值函数;
优选的,在DDQN框架的基础上,本申请结合线性动态跳帧和改进的优先级经验重放算法,形成了LDF-IPER-DDQN框架,LDF-IPER-DDQN的网络结构示意图如图2所示,该网络由三个卷积层和两个全连接层构成;第一个卷积层为32个步幅为4的8×8的过滤器,第二个卷积层为64个步幅为2的4×4的过滤器,第三个卷积层为64个步幅为1的3×3的过滤器,最后隐藏层是由512个神经元组成的全连接线性层,输出层神经元数量和游戏合法动作数量相同,该网络的输入是获取到的环境信息,输出是该运行状态下每个动作的Q值和跳帧率。
S102:接收输入的初始参数值及环境信息;
这里提到的初始参数值包括初始策略、初始状态及动作集合。
S103:利用评估网络模型根据初始状态及初始策略计算动作集合中每个动作的Q值,并根据各Q值来确定对应动作的跳帧率;
在一个标准的强化学习设置中,Agent在多个离散的时间步中与环境进行交互。在每个时间步,Agent接收一个状态st,并根据策略π从可能的动作集合A中选取一个动作,策略π是从状态到动作的映射,作为反馈,Agent接收环境执行这个动作进入到的下一个状态,并得到一个标量的奖赏rt。这个过程一直持续到环境的终止状态,然后重新开始这个过程,回报Rt指的是从当前时间步开始一直到情节结束得到的累积折扣奖赏,定义为:
其中γ为折扣因子,γ∈(0,1],Agent的目标就是最大化每个状态的期望累积奖赏;
动作值函数表示在状态s根据策略π选择动作a,并一直遵循策略π到情节结束得到的期望回报,记为:
Qπ(s,a)=E[Rt|st=s,at=a,π]
类似的,策略π下状态s的值函数定义为:
Vπ(s)=E[Rt|st=s]
该式表示在策略π下,从状态s到终止状态得到的期望回报;
对于所有状态,如果一个策略π的期望回报大于或等于其他策略的期望回报,那么这个策略π就被称为最优策略π*,最优策略可能有多个,但是它们都具有相同的状态动作值函数Q*(s,a):
Q*(s,a)=maxπQπ(s,a)
在解决一些实际问题时,状态空间往往很大,通过迭代的方式求解最优策略的方法通常是不可取的,因此,在求解最优策略之前,首先需要对状态空间进行泛化,再使用一些函数逼近的方法(如神经网络,决策树等)来评估状态值函数和状态动作值函数;在强化学习算法中,通常使用神经网络等非线性函数逼近器来表示值函数,但是神经网络往往会导致算法的性能很不稳定,Q值函数经常不收敛,深度Q网络DQN在一定程度上解决了使用非线性函数逼近器带来的问题,不同于传统的Q学习算法,DQN使用了2种关键技术:评估网络和目标网络分离技术,经验重放技术;
然而,Q学习算法存在着高估Q值的问题,故本申请采用深度双Q网络模型进行计算,深度双Q网络DDQN能有效解决DQN算法存在高估Q值的问题,DDQN使用公式计算目标值,并根据各目标值,即Q值来确定对应动作的跳帧率;
S104:根据各跳帧率确定每个动作需要执行的次数,对评估网络模型进行训练,得到最优评估网络模型;
这里提到的对评估网络模型进行训练,得到最优评估网络模型,其具体可以为:
深度双Q网络模型在每次迭代i中优化以下损失函数序列:
其中,θ为评估网络模型的权重,θ-为目标网络模型的权重,Q(s,a|θ)为评估网络模型的输出,用来评估当前状态动作对的值函数。
S105:将最优评估网络模型的权重复制给目标网络模型,并根据目标网络模型计算环境信息的目标值;
S106:根据目标值确定最优策略,并令机器人执行最优策略进行移动。
基于上述技术方案,本申请所提供的一种机器人移动控制的方法通过预先建立基于线性动态跳帧的深度双Q网络模型,在接收输入的初始参数值及环境信息后,利用评估网络模型计算动作集合中每个动作的Q值,并根据各Q值来确定对应动作的跳帧率,避免了DF-DQN中将网络输出层中动作Q值数量增大一倍来确定跳帧率的做法,而是根据网络输出动作Q值的大小来线性地决定每个动作的跳帧率,在不增加网络计算量的前提下,高效准确地计算出了每个动作需要重复执行的次数,提高了学习的效率,进而提高了机器人移动的运算速度及场景识别准确度。
针对于上一实施例的步骤S104,其中所描述的根据各跳帧率确定每个动作需要执行的次数,对评估网络模型进行训练,得到最优评估网络模型,其具体也可以包括如图3所示的步骤,下面结合图3进行说明。
请参考图3,图3为图1所提供的一种机器人移动控制的方法中S104的一种实际表现方式的流程图。
其具体包括以下步骤:
S301:行为策略根据当前状态下各动作的跳帧率确定Agent执行的动作和动作需要执行的次数;
S302:Agent基于行为策略重复执行动作,得到转移样本et=(st,(at,kt),rt,st+1),并将转移样本存放至经验池Dt=(e1,e2,...,et)中;
其中,Agent为策略网络,et为t时刻的转移样本,st为t时刻的状态,at为t时刻的动作,kt为t时刻的跳帧率,rt为t时刻的奖赏,st+1为t+1时刻的状态,Dt为经验池。
S303:根据公式p=|δ|+ε0+ε-·(k/kmax)定义各转移样本的优先级p;
其中,δ为转移样本的TD误差,ε0为避免优先级为0的正值;ε-为控制(k/kmax)和TD误差具有相近的数量级的超参数,且ε-随时间步的增长而衰减,kmax为跳帧率的最大值。
S304:从经验池中以优先级方式采样各转移样本,并根据各转移样本对评估网络模型进行训练,得到最优评估网络模型。
本申请实施例基于优先级的经验重放技术考虑每个转移样本的TD误差,利用TD误差衡量这个样本转移的重要性,样本转移的TD误差越大,它成为重放样本的概率越大,同时还考虑了转移样本中每个动作的跳帧率,即将样本的TD误差和样本动作跳帧率k共同作为评价样本优先级的标准,在两个转移样本具有相近TD误差的情况下,希望具有较大跳帧率的转移样本更频繁地被重放。
针对于上一实施例的步骤S304,其中所描述的从经验池中以优先级方式采样各转移样本,并根据各转移样本对评估网络模型进行训练,得到最优评估网络模型,其具体也可以包括如图4所示的步骤,下面结合图3进行说明。
请参考图4,图4为图3中步骤S304的一种实际表现方式的流程图。
其具体包括以下步骤:
S401:根据公式j~P(j)=pj α/∑ipi α计算第j个转移样本被抽取的概率P(j),并根据各概率从经验池中抽取转移样本;
其中,pj为第j个转移样本的样本优先级,P(j)为第j个转移样本被抽取的概率,参数α决定优先级有多少被利用,且0≤α≤1。
S402:根据公式wj=(N·P(j))-β/maxiwi计算第j个转移样本的重要性采样权重wj;
其中,wj为第j个转移样本的重要性采样权重,N和β为超参数,N表示经验池的大小,β为一个常数且0≤β≤1。
S403:根据公式δj=rj+γjQtarget(sj,arg maxaQ(sj,a))-Q(sj-1,aj-1)计算第j个转移样本的TD误差δj;
其中,δj为第j个转移样本的TD误差,rj为第j个样本得到的下一步立即奖赏,γj为折扣率,Qtarget为使用双Q学习方法计算得到的目标值,Q(sj,a)为评估值。
S404:根据公式pj=|δj|+ε0+ε-·(kj/kmax)更新第j个转移样本的样本优先级pj;
S405:根据公式Δ=Δ+wj·δj·▽θQ(sj-1,aj-1)计算梯度,并根据公式θ=θ+η·Δ更新评估网络模型的权重,然后返回执行根据公式j~P(j)=pj α/∑ipi α计算第j个转移样本被抽取的概率P(j),并根据各概率从经验池中抽取转移样本的步骤;
其中,δj为第j个转移样本的TD误差,Δ为梯度,▽θ为求梯度运算符,η为学习率。
S406:当上述各步骤重复执行预设次数后,将更新后的权重作为最优权重,并根据最优权重确定最优评估网络模型。
重复执行步骤S401至S405,直至各步骤重复执行预设次数后,将更新后的权重作为最优权重,并根据最优权重确定最优评估网络模型。
请参考图5,图5为本申请实施例所提供的一种机器人移动控制的系统的结构图。
该系统可以包括:
模型建立模块100,用于建立基于线性动态跳帧的深度双Q网络模型;其中,深度双Q网络模型包括目标网络模型和评估网络模型;
接收模块200,用于接收输入的初始参数值及环境信息;其中,初始参数值包括初始策略、初始状态及动作集合;
Q值计算模块300,用于利用评估网络模型根据初始状态及初始策略计算动作集合中每个动作的Q值,并根据各Q值来确定对应动作的跳帧率;
训练模块400,用于根据各跳帧率确定每个动作需要执行的次数,对评估网络模型进行训练,得到最优评估网络模型;
目标值计算模块500,用于将最优评估网络模型的权重复制给目标网络模型,并根据目标网络模型计算环境信息的目标值;
确定模块600,用于根据目标值确定最优策略,并令机器人执行最优策略进行移动。
请参考图6,图6为本申请实施例所提供的另一种机器人移动控制的系统的结构图。
该训练模块400可以包括:
确定子模块,用于行为策略根据当前状态下各动作的跳帧率确定Agent执行的动作和动作需要执行的次数;
执行子模块,用于Agent基于行为策略重复执行动作,得到转移样本et=(st,(at,kt),rt,st+1),并将转移样本存放至经验池Dt=(e1,e2,...,et)中;
优先级定义子模块,用于根据公式p=|δ|+ε0+ε-·(k/kmax)定义各转移样本的优先级p;
训练子模块,用于从经验池中以优先级方式采样各转移样本,并根据各转移样本对评估网络模型进行训练,得到最优评估网络模型;
其中,Agent为策略网络,et为t时刻的转移样本,st为t时刻的状态,at为t时刻的动作,kt为t时刻的跳帧率,rt为t时刻的奖赏,st+1为t+1时刻的状态,Dt为经验池,δ为转移样本的TD误差,ε0为避免优先级为0的正值;ε-为控制(k/kmax)和TD误差具有相近的数量级的超参数,且ε-随时间步的增长而衰减,kmax为跳帧率的最大值。
优选的,该训练子模块可以包括:
第一计算单元,用于根据公式j~P(j)=pj α/∑ipi α计算第j个转移样本被抽取的概率P(j),并根据各概率从经验池中抽取转移样本;
第二计算单元,用于根据公式wj=(N·P(j))-β/maxiwi计算第j个转移样本的重要性采样权重wj;
第三计算单元,用于根据公式δj=rj+γjQtarget(sj,arg maxaQ(sj,a))-Q(sj-1,aj-1)计算第j个转移样本的TD误差δj;
第四计算单元,用于根据公式pj=|δj|+ε0+ε-·(kj/kmax)更新第j个转移样本的样本优先级pj;
第五计算单元,用于根据公式Δ=Δ+wj·δj·▽θQ(sj-1,aj-1)计算梯度,并根据公式θ=θ+η·Δ更新评估网络模型的权重,然后返回第一计算单元执行根据公式j~P(j)=pj α/∑ipi α计算第j个转移样本被抽取的概率P(j),并根据各概率从经验池中抽取转移样本的步骤;
确定单元,用于当上述各步骤重复执行预设次数后,将更新后的权重作为最优权重,并根据最优权重确定最优评估网络模型;
其中,pj为第j个转移样本的样本优先级,P(j)为第j个转移样本被抽取的概率,参数α决定优先级有多少被利用,且0≤α≤1,wj为第j个转移样本的重要性采样权重,N和β为超参数,N表示经验池的大小,β为一个常数且0≤β≤1,δj为第j个转移样本的TD误差,rj为第j个样本得到的下一步立即奖赏,γj为折扣率,Qtarget为使用双Q学习方法计算得到的目标值,Q(sj,a)为评估值,Δ为梯度,▽θ为求梯度运算符,η为学习率。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
请参考图7,图7为本申请实施例所提供的一种机器人移动控制设备的结构图。
该机器人移动控制设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)722(例如,一个或一个以上处理器)和存储器732,一个或一个以上存储应用程序742或数据744的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器732和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,中央处理器722可以设置为与存储介质730通信,在机器人移动控制设备700上执行存储介质730中的一系列指令操作。
机器人移动控制设备700还可以包括一个或一个以上电源727,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口758,和/或,一个或一个以上操作系统741,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述图1至图4所描述的机器人移动控制设备移动控制的方法中的步骤由机器人移动控制设备基于该图7所示的结构实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,模块和机器人的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、机器人和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的一种机器人移动控制的方法、系统、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (8)
1.一种机器人移动控制的方法,其特征在于,包括:
建立基于线性动态跳帧的深度双Q网络模型;其中,所述深度双Q网络模型包括目标网络模型和评估网络模型;
接收输入的初始参数值及环境信息;其中,所述初始参数值包括初始策略、初始状态及动作集合;
利用所述评估网络模型根据所述初始状态及所述初始策略计算所述动作集合中每个动作的Q值,并根据各所述Q值来确定对应动作的跳帧率;
根据各所述跳帧率确定每个动作需要执行的次数,对所述评估网络模型进行训练,得到最优评估网络模型;
将所述最优评估网络模型的权重复制给所述目标网络模型,并根据所述目标网络模型计算所述环境信息的目标值;
根据所述目标值确定最优策略,并令机器人执行所述最优策略进行移动。
2.根据权利要求1所述的方法,其特征在于,所述根据各所述跳帧率确定每个动作需要执行的次数,对所述评估网络模型进行训练,得到最优评估网络模型,包括:
行为策略根据当前状态下所述各动作的跳帧率确定Agent执行的动作和所述动作需要执行的次数;
所述Agent基于所述行为策略重复执行所述动作,得到转移样本et=(st,(at,kt),rt,st+1),并将所述转移样本存放至经验池Dt=(e1,e2,...,et)中;
根据公式p=|δ|+ε0+ε-·(k/kmax)定义各所述转移样本的优先级p;
从所述经验池中以优先级方式采样各所述转移样本,并根据各所述转移样本对所述评估网络模型进行训练,得到所述最优评估网络模型;
其中,Agent为策略网络,et为t时刻的转移样本,st为t时刻的状态,at为t时刻的动作,kt为t时刻的跳帧率,rt为t时刻的奖赏,st+1为t+1时刻的状态,Dt为经验池,δ为转移样本的TD误差,ε0为避免优先级为0的正值;ε-为控制(k/kmax)和TD误差具有相近的数量级的超参数,且ε-随时间步的增长而衰减,kmax为跳帧率的最大值。
3.根据权利要求2所述的方法,其特征在于,从所述经验池中以优先级方式采样各所述转移样本,并根据各所述转移样本对所述评估网络模型进行训练,得到所述最优评估网络模型,包括:
根据公式j~P(j)=pj α/∑ipi α计算第j个转移样本被抽取的概率P(j),并根据各所述概率从所述经验池中抽取所述转移样本;
根据公式wj=(N·P(j))-β/maxiwi计算所述第j个转移样本的重要性采样权重wj;
根据公式δj=rj+γjQtarget(sj,argmaxaQ(sj,aj))-Q(sj-1,aj-1)计算所述第j个转移样本的TD误差δj;
根据公式pj=|δj|+ε0+ε-·(kj/kmax)更新所述第j个转移样本的样本优先级pj;
根据公式计算梯度,并根据公式θ=θ+η·△更新所述评估网络模型的权重,然后返回执行根据公式j~P(j)=pj α/∑ipi α计算第j个转移样本被抽取的概率P(j),并根据各所述概率从所述经验池中抽取所述转移样本的步骤;
当上述各步骤重复执行预设次数后,将更新后的权重作为最优权重,并根据所述最优权重确定所述最优评估网络模型;
4.一种机器人移动控制的系统,其特征在于,包括:
模型建立模块,用于建立基于线性动态跳帧的深度双Q网络模型;其中,所述深度双Q网络模型包括目标网络模型和评估网络模型;
接收模块,用于接收输入的初始参数值及环境信息;其中,所述初始参数值包括初始策略、初始状态及动作集合;
Q值计算模块,用于利用所述评估网络模型根据所述初始状态及所述初始策略计算所述动作集合中每个动作的Q值,并根据各所述Q值来确定对应动作的跳帧率;
训练模块,用于根据各所述跳帧率确定每个动作需要执行的次数,对所述评估网络模型进行训练,得到最优评估网络模型;
目标值计算模块,用于将所述最优评估网络模型的权重复制给所述目标网络模型,并根据所述目标网络模型计算所述环境信息的目标值;
确定模块,用于根据所述目标值确定最优策略,并令机器人执行所述最优策略进行移动。
5.根据权利要求4所述的系统,其特征在于,所述训练模块包括:
确定子模块,用于行为策略根据当前状态下所述各动作的跳帧率确定Agent执行的动作和所述动作需要执行的次数;
执行子模块,用于所述Agent基于所述行为策略重复执行所述动作,得到转移样本et=(st,(at,kt),rt,st+1),并将所述转移样本存放至经验池Dt=(e1,e2,...,et)中;
优先级定义子模块,用于根据公式p=|δ|+ε0+ε-·(k/kmax)定义各所述转移样本的优先级p;
训练子模块,用于从所述经验池中以优先级方式采样各所述转移样本,并根据各所述转移样本对所述评估网络模型进行训练,得到所述最优评估网络模型;
其中,Agent为策略网络,et为t时刻的转移样本,st为t时刻的状态,at为t时刻的动作,kt为t时刻的跳帧率,rt为t时刻的奖赏,st+1为t+1时刻的状态,Dt为经验池,δ为转移样本的TD误差,ε0为避免优先级为0的正值;ε-为控制(k/kmax)和TD误差具有相近的数量级的超参数,且ε-随时间步的增长而衰减,kmax为跳帧率的最大值。
6.根据权利要求5所述的系统,其特征在于,所述训练子模块包括:
第一计算单元,用于根据公式j~P(j)=pj α/∑ipi α计算第j个转移样本被抽取的概率P(j),并根据各所述概率从所述经验池中抽取所述转移样本;
第二计算单元,用于根据公式wj=(N·P(j))-β/maxiwi计算所述第j个转移样本的重要性采样权重wj;
第三计算单元,用于根据公式δj=rj+γjQtarget(sj,argmaxaQ(sj,aj))-Q(sj-1,aj-1)计算所述第j个转移样本的TD误差δj;
第四计算单元,用于根据公式pj=|δj|+ε0+ε-·(kj/kmax)更新所述第j个转移样本的样本优先级pj;
第五计算单元,用于根据公式计算梯度,并根据公式θ=θ+η·△更新所述评估网络模型的权重,然后返回所述第一计算单元执行根据公式j~P(j)=pj α/∑ipi α计算第j个转移样本被抽取的概率P(j),并根据各所述概率从所述经验池中抽取所述转移样本的步骤;
确定单元,用于当上述各步骤重复执行预设次数后,将更新后的权重作为最优权重,并根据所述最优权重确定所述最优评估网络模型;
7.一种机器人移动控制设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至3任一项所述机器人移动控制的方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述机器人移动控制的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811391335.5A CN109514553B (zh) | 2018-11-21 | 2018-11-21 | 一种机器人移动控制的方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811391335.5A CN109514553B (zh) | 2018-11-21 | 2018-11-21 | 一种机器人移动控制的方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109514553A CN109514553A (zh) | 2019-03-26 |
CN109514553B true CN109514553B (zh) | 2021-09-21 |
Family
ID=65778066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811391335.5A Active CN109514553B (zh) | 2018-11-21 | 2018-11-21 | 一种机器人移动控制的方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109514553B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110302539B (zh) * | 2019-08-05 | 2022-12-23 | 苏州大学 | 一种游戏策略计算方法、装置、系统及可读存储介质 |
CN110926470B (zh) * | 2019-09-25 | 2021-06-25 | 吉林大学珠海学院 | 一种agv导航控制方法及系统 |
CN111331607B (zh) * | 2020-04-03 | 2021-04-23 | 山东大学 | 一种基于机械臂的自主抓取与码垛方法及系统 |
CN111369181B (zh) * | 2020-06-01 | 2020-09-29 | 北京全路通信信号研究设计院集团有限公司 | 一种列车自主调度深度强化学习方法和装置 |
CN113064422B (zh) * | 2021-03-09 | 2022-06-28 | 河海大学 | 基于双神经网络强化学习的自主水下航行器路径规划方法 |
CN114371729B (zh) * | 2021-12-22 | 2022-10-25 | 中国人民解放军军事科学院战略评估咨询中心 | 一种基于距离优先经验回放的无人机空战机动决策方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07111655A (ja) * | 1993-10-14 | 1995-04-25 | Olympus Optical Co Ltd | 動画像処理装置 |
JP2010028436A (ja) * | 2008-07-18 | 2010-02-04 | Toshiba Corp | 動画像復号装置、プログラムおよび復号処理簡略化方法 |
CN107292392A (zh) * | 2017-05-11 | 2017-10-24 | 苏州大学 | 基于深度带权双q学习的大范围监控方法及监控机器人 |
CN107553490A (zh) * | 2017-09-08 | 2018-01-09 | 深圳市唯特视科技有限公司 | 一种基于深度学习的单目视觉避障方法 |
CN108375379A (zh) * | 2018-02-01 | 2018-08-07 | 上海理工大学 | 基于变异的双重dqn的快速路径规划方法及移动机器人 |
-
2018
- 2018-11-21 CN CN201811391335.5A patent/CN109514553B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07111655A (ja) * | 1993-10-14 | 1995-04-25 | Olympus Optical Co Ltd | 動画像処理装置 |
JP2010028436A (ja) * | 2008-07-18 | 2010-02-04 | Toshiba Corp | 動画像復号装置、プログラムおよび復号処理簡略化方法 |
CN107292392A (zh) * | 2017-05-11 | 2017-10-24 | 苏州大学 | 基于深度带权双q学习的大范围监控方法及监控机器人 |
CN107553490A (zh) * | 2017-09-08 | 2018-01-09 | 深圳市唯特视科技有限公司 | 一种基于深度学习的单目视觉避障方法 |
CN108375379A (zh) * | 2018-02-01 | 2018-08-07 | 上海理工大学 | 基于变异的双重dqn的快速路径规划方法及移动机器人 |
Also Published As
Publication number | Publication date |
---|---|
CN109514553A (zh) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109514553B (zh) | 一种机器人移动控制的方法、系统及设备 | |
JP6890607B2 (ja) | 自動多閾値特徴フィルタリング方法及び装置 | |
WO2020082663A1 (zh) | 一种深度神经网络的结构搜索方法及装置 | |
CN111300390B (zh) | 基于蓄水池采样和双经验池的机械臂智能控制系统 | |
CN109711544A (zh) | 模型压缩的方法、装置、电子设备及计算机存储介质 | |
CN111191769B (zh) | 自适应的神经网络训练与推理装置 | |
CN110858973A (zh) | 小区网络流量预测方法及装置 | |
KR20190041819A (ko) | 컨볼루션 신경망의 컨볼루션 연산 장치 및 방법 | |
CN112990958B (zh) | 数据处理方法、装置、存储介质及计算机设备 | |
WO2022057468A1 (zh) | 一种深度学习模型推理加速的方法、系统、设备及介质 | |
CN115829024B (zh) | 一种模型训练方法、装置、设备及存储介质 | |
CN111178486A (zh) | 一种基于种群演化的超参数异步并行搜索方法 | |
CN118365099B (zh) | 一种多agv调度方法、装置、设备及存储介质 | |
US20240257943A1 (en) | Training method of brain activity state classification model, brain activity state classification method, device, and storage medium | |
CN118471456A (zh) | 一种急诊医疗资源的调度方法、系统、设备与存储介质 | |
CN110866403B (zh) | 基于卷积循环实体网络的端对端对话状态跟踪方法及系统 | |
CN111783473B (zh) | 医疗问答中最佳答案的识别方法、装置和计算机设备 | |
Chandramohan et al. | Sparse approximate dynamic programming for dialog management | |
CN113910221B (zh) | 一种机械臂自主运动规划方法、装置、设备及存储介质 | |
CN109726801A (zh) | 卷积神经网络的优化方法、装置、存储介质和系统 | |
CN107544248A (zh) | 一种移动机器人中的任务优化方法及设备 | |
CN110852361B (zh) | 基于改进深度神经网络的图像分类方法、装置与电子设备 | |
Zhan et al. | Relationship explainable multi-objective reinforcement learning with semantic explainability generation | |
CN112884129A (zh) | 一种基于示教数据的多步规则提取方法、设备及存储介质 | |
CN111460732B (zh) | 一种平面电机非线性模型的构建方法 |
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 |