一种融合深度神经网络和强化学习方法的路径规划方法
未命名
07-22
阅读:92
评论:0
1.本发明新型涉及机器人路径规划技术领域,具体为一种融合深度神经网络和强化学习方法的路径规划方法。
背景技术:
2.目前机器人路径规划过程过于依赖环境信息,传统dqn算法的网络收敛速度较慢,路径规划的效果较差,无论是传统dqn还是qlearning算法,在计算价值函数的时候都采用了贪心策略,即每次都对的实际价值进行了过高的估计,最终会影响机器人的最后决策。同时由于传统dqn算法采用随机均匀的方式从经验池中抽取样本进行训练,导致算法可能会重复选取局部实验结果,样本利用率低,从而降低网络收敛速度,影响网络训练的效果。综合现实因素,在现实商场、车库或地铁站等复杂室内环境中,路径规划环境复杂多变,导致了很多问题:首先,之前的算法需要大量的训练时间,在训练过程中陷入局部最优解,导致决策选择的往往是次优解而并非是最优解;其次,当机器人与环境交互时,序列存储是相关的,导致算法的训练速度较慢,往往难以在较短的训练回合内在复杂多变的室内环境中难以获得最优搜索路径,再者在延迟奖赏的策略基础上,之前的方法在动作空间抖动的策略中不能做出合理决策。因此,研究融合深度强化学习算法原理并改进传统dqn算法运用在机器人路径规划领域,以解决算法探索能力差导致的网络收敛速度慢,训练效果差的问题并优化在复杂室内环境中的运用,就显得尤为重要。
技术实现要素:
3.针对上述情况,为弥补上述现有缺陷,本方案提供了一种融合深度神经网络和强化学习方法的路径规划方法。
4.本发明新型采取的技术方案如下:一种融合深度神经网络和强化学习方法的路径规划方法,方法至少包括一下方法:
5.步骤一:机器人在每个离散时间步内,通过传感器获取环境信息以建立相应的数学模型,由辅助摄像头和传感器构成动态视频监控,显示整个地图以及机器人自身在地图上的位置,之后截取视频监控屏幕的固定帧来表示每个时间步的状态,并输入神经网络。
6.步骤二:建立当前所处的模拟环境模型,其中神经网络结构为双网络结构,由估计网络和目标网络两部分组成,建立阶段性更新的目标网络,固定目标rt+qπ(st+1,π(st+1))的值,其中目标网络阶段性地从评估网络中获取参数以实现更新,当前状态作为预测网络的输入,通过预测网络来根据当前的状态估计动作空间中所有动作值,并协同目标网络的输出值用来计算损失,在返回到下一个时间步的状态后,选择重放计算值,存储在重放存储器中。
7.步骤三:在强化学习过程中,智能体做出动作与环境进行交互,在状态空间中为每个状态找到当前策略下未来的累积奖励,寻找长期的累积奖励后,根据奖励值更新网络参数和学习更优的行为策略。
8.步骤四:解耦目标q值动作的选择和目标q值的计算,来消除dqn的过估计的问题。
9.步骤五:使用深度神经网络表示智能体的各种组件这些网络的参数通过梯度下降来训练,最小化损失函数。
10.步骤六:通过迭代,所有未来的状态和预期奖励只能从当前状态预测。
11.步骤七:根据添加噪音引起的网络输出值变化选择动作,并通过循环神经网络记忆多步变化影响智能体的决策。
12.其中,在步骤一中:机器人在每个离散时间步t=0,1,2...n内,通过传感器获取环境信息以建立相应的数学模型,由辅助摄像头和传感器构成动态视频监控以显示整个地图以及机器人自身在地图上的位置,之后截取视频监控屏幕的固定帧来表示每个时间步的状态,并输入神经网络,机器人在每个时间步长的状态将用环境中的一帧图像来表示,其中状态决策可以以下公式表示:mdp=(s,a,psa,r),其中,s是状态空间,si是第i个时间步的状态,s={s1,s2,
…
,sn},a是动作空间,其中,a={a1,a2,
…
,an},psa是状态转移概率,表示动作执行后状态s过渡到另一状态s'过程中的概率分布a,r为奖励函数,r为行动a后将s转移到s’所获得的奖励,其中r=r(s,a),在确定当前状态后,机器人搜索的路径规划在于能够从地图上的起点自动找到目的地,并规划出最优路径。
13.在步骤二中:当主程序达到当前环境状态时,构造当前所处的模拟环境模型,建立神经网络结构(双网络结构——预测网络和目标网络,首先初始化目标网络的参数,使其与预测网络保持一致,当前状态s作为预测网络的输入,将输出一个q值,q值最大的索引作为当前的动作值a,环境接收到动作值a,返回到下一个时间步的状态s’后,创建[st,a,r,st+i]这样的形式进行存储,值的计算分成两个部分,一部分是状态转移产生的,一部分是执行动作产生的,这样能够更好的关注在某一状态下选择不同动作所带来的差异,其中,使用函数逼近器来估计动作值函数,函数为:
[0014][0015]
其中,s和a分别表示第t个时间步的状态和奖励,π表示当前策略,只有在q(s,a)已知的情况下,argmaxqa(s,a)才能找到每个状态下的最优策略。神经函数逼近器权值为,可以通过最小化损失函数li(θi)来训练,该函数在每次迭代中都会发生变化,li(θi)的表达式为:
[0016]
li(θi)=e
s,a~p(s,a)
[(y
i-q(s,a;θi))2]
[0017]
其中,为每次迭代的目标函数,p(s,a)称为行为分布,当损失函数li(θi)处于优化状态时,前一次迭代的参数θ
i-1
暂时固定,因此损失函数的梯度计算公式可以表示为:
[0018]
在步骤三中:智能体做出动作与环境进行交互时,在状态空间中为每个状态找到当前策略下未来的累积奖励,根据奖励值更新网络参数和学习更优的行为策略,但由于室内环境复杂多变,不定因素较高,同时对周围环境探索要求越高,通常在实际任务中,未来累计奖励折现难于表达,我们改进的奖励函数为:
[0019][0020]
其中,机器人到达目标点时获得奖励c1(c1》0),发生碰撞时获得奖励c2(c2《0),其他情况下,机器人获得的奖励为k*cosθ/d,其中k是超参数,为机器人做出动作前从机器人所在位置指向目标点位置的向量与机器人行动前后的方向向量的夹角,当θ∈[0,π/2),cosθ>0时,说明机器人做出了靠近目标点的行动,故得到正奖励;当θ=π/2,cosθ=0时,说明机器人既没有靠近目标点,也没有远离目标点,故得到0奖励;当θ∈(π/2,π],cosθ<0时,说明机器人做出了远离目标点的行动,故得到负奖励,d是机器人做出行动之前与目标点的距离,通过欧式距离公式计算得到公式如下:
[0021][0022]
发生碰撞的情况下,奖励值与距离成反比,因为机器人与目标点之间的距离越远,两者之间存在障碍等不确定因素的概率就越大,所以智能体径直靠近目标点并不一定总是最好的策略,在本文设计的路径规划实验中,机器人每到达一次目标点,则记作一次成功的路径规划,得1分,并继续寻找下一个随机生成的新目标点,当超时或发生碰撞时则游戏结束,如果直到游戏结束机器人都没有到达一个目标点,则记本局得分为0,否则根据该局游戏中机器人到达的目标点数量记录相应的分数。
[0023]
在步骤四中:通过解耦目标q值动作的选择和目标q值的计算,来消除dqn的过估计的问题,即目标q值最大动作的选择不再依赖目标网络,而是先通过评估网络获取s(t+1)状态下最大的q值对应的动作a,再从目标网络中获取s(t+1)状态下动作a对应的q值,来进行q函数的更新,其中经典算法中q值的更新方式为:
[0024]
q(s,a)=λ*q(s,a)+(1-λ)*e(s,a)
[0025]
e(s,a)是在q(s,a)上乘以一个概率,其计算方式如下列公式:
[0026]
e(s,a)=q(s,a)*p(s,a)
[0027]
p(s,a)计算公式为:其中,p(s,a)是指在状态s下选择动作a的概率,n为在状态s下已经选择过动作a的次数,由其计算方式可知在状态s下选择动作a的次数越多,即n越大,p(s,a)就越小,从而e(s,a)就越小,最后的q(s,a)总值就越小,而本发明的改进方法增加了一个辅助函数ma(s,a),用于存储前一次迭代时得到的对最大期望q值的估计,通过使用当前估计qb(s,a)和前一次的估计ma(s,a)更新qa(s,a),q值的更新规则为:
[0028][0029][0030]
其中,s
′
表示下一状态,n表示历更新状态动作对(s,a)的次数,rn表示获得的及时奖励值,aa(s,a),为学习率为了便于算法描述,对上式进行合并,
得到:
[0031]
新改进的q值选择方法,可以避免在迭代初期由单估计器造成智能体过估计的问题,从而提升智能,减少机器人在训练时进入重复状态的次数,使其能更好的探索新的状态,同时提高了网络收敛的速度并优化了路径规划的效果。
[0032]
在步骤五中:首先使用深度神经网络表示智能体的各种组件这些网络的参数通过梯度下降来训练,最小化损失函数,更新的梯度由式由对参数θ求导得到:
[0033][0034]
为防止梯度爆炸,需要将梯度裁剪至[-1,1]区间内,对于大于1的误差将其置为1,小于-1的将其置为-1。
[0035]
通过使用卷识神经网络来近似拟合给定状态s的动作值,在每个步骤中,智能体都会根据当前状态选择一个动作值,并将转换(st,at,rt+1,γt+1,st+1)添加到经验回放缓中区,该缓中区保存经验,采用随机梯度下降法对神经网络参数进行优化,最小化损失函数为:
[0036][0037]
其中t是从经验回放池中随机选取的时间步长,损失的梯度仅反向传播到策略网络的参数中(也用于选择动作),θ表示目标网络的参数。
[0038]
其次,运用基于优先级重放机制的经验重放,其核心是按照样本的优先级执行小批量抽样,重放存储器中的样本优先级主要基于dqn中的时间差误差,其表达式为:
[0039]
p=r+γmax q^(s
′
,a)-q(s,a).
[0040]
时间差误差越大,预测精度上升空间越大,这说明基于该样本的学习可以更好地提高模型效果,即优先级的值更大。只有在存在时间差误差的情况下才能计算出优先级,sumtree数据结构可以在每次采样后更新优先级p,在重放存储器中,sum'tree的叶节点用于存储重放存储器中所有样本的p值(优先级),节点对应的样本数据以单一矩阵形式存储,即:data=[s,a,r,sr+1]。在抽取样本数据的过程中,算法查找叶节点的样本索引,利用索引找到一一对应的样本数据,然后根据sumtree的优先级返回。在某一时间步长,从重放存储器中采样数据,从预测网络中获得当前时间步长的q值,然后利用目标网络获取下一个时间步的q值。以transitions=[s
t
,a
t
,r
t
,s
t+1
]的结构存储从池中每次探索获得的数据(如果池已满,它将替换过早的数据),在每个学习过程中,从pool中提取一批数据,按照公式:
[0041]
l(w)=e[(r+γmaxa′
q(s
′
,a
′
,w)-q(s,a,w))2]
[0042]
对网络进行更新。在每一时期初始,pool将创建一个新的临时堆栈,随着滑动窗口的推进,堆栈将被过渡数据填充,直到这一时期结束,pool将把整个堆栈作为一个单元放入其中,训练时,从缓冲区中随机选择一个集数据,然后随机选择集中的某个时刻,选择几个步骤进行学习。
[0043]
为了解决近似过程中由于贪心优先级函数导致的误差值频繁较高和过拟合问题,运用纯贪心抽样与均匀分布抽样混合的随机抽样方法。这可以保证在过渡优先级中采样的
概率是单调的。即使对于优先级最低的转换,也必须保证非零概率,抽样概率定义为:
[0044][0045]
其中,pi是第i个过渡的优先级,a用于调整优先级。
[0046]
在步骤六中:在智能体端,动作选择由策略元给出,根据当前状态和动作预测下一个状态和期望奖励,策略t定义每个状态的动作概率分布。在t时刻,状态为st,我们定义折扣回报函数:
[0047][0048]
为智能体计算未来奖励的折扣总和,其中,未来奖励的折扣由该时间之前的折扣乘积给出,即:
[0049][0050]
从给定状态开始执行策略π时,预期折扣受益为:
[0051]vπ
(s)=e
π
[g
t
∣s
t
=s],
[0052]
状态动作价值函数为:
[0053]qπ
(s,a)=e
π
[g
t
∣s
t
=s,a
t
=a]
[0054]
从状态动作价值函数中导出新策略,以1-∈的概率去价值最高的动作,智能体可以在适当时候发现并纠正当前估计,避免选择次优状态。
[0055]
通过迭代,所有未来的状态和预期奖励只能从当前状态预测。那么策略π可以定义为从状态到动作概率分布的映射,即π:s=p(a=a∣s),当存在策略时,衡量策略是否达到最优状态,衡量策略的关键是机器人获得的未来累积奖励g。
[0056]
在步骤七中:在网络空间注入噪音,引起网络输出变化,然后根据该变化选择动作,在未来多个时间步内造成复杂的改变,并通过循环神经网络记忆多步变化,使智能体(agent)做出的决策更具有战略性,首先智能体利用带探索性的噪音进行深度探索以弥补传统策略探索的低效性,先在该时间步内接收多张图片进行平行化处理,卷积处理函数为:其中,d为图片的深度,xd为输入的短阵,wd为卷核,b为偏置,c为卷积层输出的特征图伪激活函数,采用线性整流单元(rectified linear unit,relu)作为激活函数。
[0057]
噪音来自于噪音分布,通过方差驱动探索,这使得agent可以发现大量新状态,提供更加丰富的样本,为决策提供有效信息,噪音由两种组成,第一,独立的高斯音,权重和偏差的噪音是独立的,对于随机噪音矩阵ψw中的每一个元素ψ
iw
,都是从一个高斯分布中独立产生的,带有噪音的全连接层有p*q+q个噪音变量,第二,可分解的高斯噪音,可分解的高斯噪音减少了噪音变量的个数,生成有p个元素的噪音向量ψi,有q个元素的噪音向量心ψj,并进行如下分解:
[0058][0059]
其中ψ
iw
,表示两层全连接之间噪音权重矩阵的每个噪音值,ψ
jb
表示输出层偏置矩阵的每个噪音值,f是一个分解函数,网络每一次前向计算时,agent从噪音分布中采样噪音,通过分布的方差进行探索,在优化之中,agent根据当前固定的网络参数执行动作,保证aget可以根据当前噪音分布中采样的噪音做出决策。
[0060]
其次,使用改进的双层门限循环单元来记忆较长时间步的历史信息,使agent能够在延迟奖赏的情况下做出合理的决策,其中噪声线性层为:y=(b+wx)+(b
noisy
)
⊙b+(w
noisy
⊙w)x),其中,
⊙b和
⊙w随机变量,
⊙
表示元素乘积,然后可以使用该变换来代替标准线y=b+wx。随着时间的推移,网络可以学会忽略声流,但会在状态空间的不同部分以不同的速率这样做,从而允许以自退火的形式进行状态条件探索。
[0061]
采用上述结构本发明新型取得的有益效果如下:本方案一种融合深度神经网络和强化学习方法的路径规划方法,解决了q-eamming算法在应对复杂环境时出现的“维数火难”问题,提高机器人对环境的探索能力,在一定程度上降低了网络收敛于局部最优的风险,减少网络收敛的训练回合,相比于传统dqn算法,该算法不仅能够有效提高网络收敛的速度而且在路径规划的性能上也有一定提升;通过修改q值的计算方式减少重复状态出现的次数,提高了机器人的探索能力,并重新设计了奖励函数,使机器人的每一个动作都能得到即时的反馈,实验证明与传统路径规划算法,dqn算法和部分改进don算法相比,在网络收敛速度,平均奖励值和路径规划的性能上均有一定提升,可以证明该算法能够在室内复杂多变的环境中规划出更优的路径,改进了奖励函数,通过结合机器人的移动方向和当前时刻机器人与目标点的距离,使机器人在到达目标点和发生碰撞的情况之外也能够获得即时反馈,优化了机器人路径规划的性能。
附图说明
[0062]
附图用来提供对本发明新型的进一步理解,并且构成说明书的一部分,与本发明新型的实施例一起用于解释本发明新型,并不构成对本发明新型的限制。在附图中:
[0063]
图1为本发明新型提供的一种融合深度神经网络和强化学习方法的路径规划方法的步骤流程图;
[0064]
图2为本发明新型提供的一种融合深度神经网络和强化学习方法的路径规划方法的深度强化学习框架;
[0065]
图3为本发明新型提供的一种融合深度神经网络和强化学习方法的路径规划方法的运动状态示例;
[0066]
图4为本发明新型提供的一种融合深度神经网络和强化学习方法的路径规划方法的状态网络更新;
[0067]
图5为本发明新型提供的一种融合深度神经网络和强化学习方法的路径规划方法的网络空间注入噪音。
具体实施方式
[0068]
下面将结合本发明新型实施例中的附图,对本发明新型实施例中的技术方案进行
清楚、完整地描述,显然,所描述的实施例仅仅是本发明新型一部分实施例,而不是全部的实施例;基于本发明新型中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明新型保护的范围。
[0069]
如图1至图5所示,发明新型采取的技术方案如下:一种融合深度神经网络和强化学习方法的路径规划方法,方法至少包括一下步骤:
[0070]
步骤一:机器人在每个离散时间步内,通过传感器获取环境信息以建立相应的数学模型,由辅助摄像头和传感器构成动态视频监控,显示整个地图以及机器人自身在地图上的位置,之后截取视频监控屏幕的固定帧来表示每个时间步的状态,并输入神经网络。
[0071]
步骤二:建立当前所处的模拟环境模型,其中神经网络结构为双网络结构,由估计网络和目标网络两部分组成,建立阶段性更新的目标网络,固定目标rt+qπ(st+1,π(st+1))的值,其中目标网络阶段性地从评估网络中获取参数以实现更新,当前状态作为预测网络的输入,通过预测网络来根据当前的状态估计动作空间中所有动作值,并协同目标网络的输出值用来计算损失,在返回到下一个时间步的状态后,选择重放计算值,存储在重放存储器中。
[0072]
步骤三:在强化学习过程中,智能体做出动作与环境进行交互,在状态空间中为每个状态找到当前策略下未来的累积奖励,寻找长期的累积奖励后,根据奖励值更新网络参数和学习更优的行为策略。
[0073]
步骤四:解耦目标q值动作的选择和目标q值的计算,来消除dqn的过估计的问题。
[0074]
步骤五:使用深度神经网络表示智能体的各种组件这些网络的参数通过梯度下降来训练,最小化损失函数。
[0075]
步骤六:通过迭代,所有未来的状态和预期奖励只能从当前状态预测。
[0076]
步骤七:根据添加噪音引起的网络输出值变化选择动作,并通过循环神经网络记忆多步变化影响智能体的决策。
[0077]
其中,在步骤一中:机器人在每个离散时间步t=0,1,2...n内,通过传感器获取环境信息以建立相应的数学模型,由辅助摄像头和传感器构成动态视频监控以显示整个地图以及机器人自身在地图上的位置,之后截取视频监控屏幕的固定帧来表示每个时间步的状态,并输入神经网络,机器人在每个时间步长的状态将用环境中的一帧图像来表示,其中状态决策可以以下公式表示:mdp=(s,a,psa,r),其中,s是状态空间,si是第i个时间步的状态,s={s1,s2,
…
,sn},a是动作空间,其中,a={a1,a2,
…
,an},psa是状态转移概率,表示动作执行后状态s过渡到另一状态s'过程中的概率分布a,r为奖励函数,r为行动a后将s转移到s’所获得的奖励,其中r=r(s,a),在确定当前状态后,机器人搜索的路径规划在于能够从地图上的起点自动找到目的地,并规划出最优路径。
[0078]
在步骤二中:当主程序达到当前环境状态时,构造当前所处的模拟环境模型,建立神经网络结构(双网络结构——预测网络和目标网络,首先初始化目标网络的参数,使其与预测网络保持一致,当前状态s作为预测网络的输入,将输出一个q值,q值最大的索引作为当前的动作值a,环境接收到动作值a,返回到下一个时间步的状态s’后,创建[st,a,r,st+i]这样的形式进行存储,值的计算分成两个部分,一部分是状态转移产生的,一部分是执行动作产生的,这样能够更好的关注在某一状态下选择不同动作所带来的差异,其中,使用函数逼近器来估计动作值函数,函数为:
[0079][0080]
其中,s和a分别表示第t个时间步的状态和奖励,π表示当前策略,只有在q(s,a)已知的情况下,argmaxqa(s,a)才能找到每个状态下的最优策略。神经函数逼近器权值为,可以通过最小化损失函数li(θi)来训练,该函数在每次迭代中都会发生变化,li(θi)的表达式为:
[0081]
li(θi)=e
s,a~p(s,a)
[(y
i-q(s,a;θi))2]
[0082]
其中,为每次迭代的目标函数,p(s,a)称为行为分布,当损失函数li(θi)处于优化状态时,前一次迭代的参数θ
i-1
暂时固定,因此损失函数的梯度计算公式可以表示为:
[0083]
在步骤三中:智能体做出动作与环境进行交互时,在状态空间中为每个状态找到当前策略下未来的累积奖励,根据奖励值更新网络参数和学习更优的行为策略,但由于室内环境复杂多变,不定因素较高,同时对周围环境探索要求越高,通常在实际任务中,未来累计奖励折现难于表达,我们改进的奖励函数为:
[0084][0085]
其中,机器人到达目标点时获得奖励c1(c1》0),发生碰撞时获得奖励c2(c2《0),其他情况下,机器人获得的奖励为k*cosθ/d,其中k是超参数,为机器人做出动作前从机器人所在位置指向目标点位置的向量与机器人行动前后的方向向量的夹角,当θ∈[0,π/2),cosθ>0时,说明机器人做出了靠近目标点的行动,故得到正奖励;当θ=π/2,cosθ=0时,说明机器人既没有靠近目标点,也没有远离目标点,故得到0奖励;当θ∈(π/2,π],cosθ<0时,说明机器人做出了远离目标点的行动,故得到负奖励,d是机器人做出行动之前与目标点的距离,通过欧式距离公式计算得到公式如下:
[0086][0087]
发生碰撞的情况下,奖励值与距离成反比,因为机器人与目标点之间的距离越远,两者之间存在障碍等不确定因素的概率就越大,所以智能体径直靠近目标点并不一定总是最好的策略,在本文设计的路径规划实验中,机器人每到达一次目标点,则记作一次成功的路径规划,得1分,并继续寻找下一个随机生成的新目标点,当超时或发生碰撞时则游戏结束,如果直到游戏结束机器人都没有到达一个目标点,则记本局得分为0,否则根据该局游戏中机器人到达的目标点数量记录相应的分数。
[0088]
在步骤四中:通过解耦目标q值动作的选择和目标q值的计算,来消除dqn的过估计的问题,即目标q值最大动作的选择不再依赖目标网络,而是先通过评估网络获取s(t+1)状态下最大的q值对应的动作a,再从目标网络中获取s(t+1)状态下动作a对应的q值,来进行q函数的更新,其中经典算法中q值的更新方式为:
[0089]
q(s,a)=λ*q(s,a)+(1-λ)*e(s,a)
[0090]
e(s,a)是在q(s,a)上乘以一个概率,其计算方式如下列公式:
[0091]
e(s,a)=q(s,a)*p(s,a)
[0092]
p(s,a)计算公式为:其中,p(s,a)是指在状态s下选择动作a的概率,n为在状态s下已经选择过动作a的次数,由其计算方式可知在状态s下选择动作a的次数越多,即n越大,p(s,a)就越小,从而e(s,a)就越小,最后的q(s,a)总值就越小,而本发明的改进方法增加了一个辅助函数ma(s,a),用于存储前一次迭代时得到的对最大期望q值的估计,通过使用当前估计qb(s,a)和前一次的估计ma(s,a)更新qa(s,a),q值的更新规则为:
[0093][0094][0095]
其中,s
′
表示下一状态,n表示历更新状态动作对(s,a)的次数,rn表示获得的及时奖励值,aa(s,a),为学习率为了便于算法描述,对上式进行合并,得到:
[0096]
新改进的q值选择方法,可以避免在迭代初期由单估计器造成智能体过估计的问题,从而提升智能,减少机器人在训练时进入重复状态的次数,使其能更好的探索新的状态,同时提高了网络收敛的速度并优化了路径规划的效果。
[0097]
在步骤五中:首先使用深度神经网络表示智能体的各种组件这些网络的参数通过梯度下降来训练,最小化损失函数,更新的梯度由式由对参数θ求导得到:
[0098][0099]
为防止梯度爆炸,需要将梯度裁剪至[-1,1]区间内,对于大于1的误差将其置为1,小于-1的将其置为-1。
[0100]
通过使用卷识神经网络来近似拟合给定状态s的动作值,在每个步骤中,智能体都会根据当前状态选择一个动作值,并将转换(st,at,rt+1,γt+1,st+1)添加到经验回放缓中区,该缓中区保存经验,采用随机梯度下降法对神经网络参数进行优化,最小化损失函数为:
[0101][0102]
其中t是从经验回放池中随机选取的时间步长,损失的梯度仅反向传播到策略网络的参数中(也用于选择动作),θ表示目标网络的参数。
[0103]
其次,运用基于优先级重放机制的经验重放,其核心是按照样本的优先级执行小批量抽样,重放存储器中的样本优先级主要基于dqn中的时间差误差,其表达式为:
[0104]
p=r+γmax q^(s
′
,a)-q(s,a).
[0105]
时间差误差越大,预测精度上升空间越大,这说明基于该样本的学习可以更好地
提高模型效果,即优先级的值更大。只有在存在时间差误差的情况下才能计算出优先级,sumtree数据结构可以在每次采样后更新优先级p,在重放存储器中,sum'tree的叶节点用于存储重放存储器中所有样本的p值(优先级),节点对应的样本数据以单一矩阵形式存储,即:data=[s,a,r,sr+1]。在抽取样本数据的过程中,算法查找叶节点的样本索引,利用索引找到一一对应的样本数据,然后根据sumtree的优先级返回。在某一时间步长,从重放存储器中采样数据,从预测网络中获得当前时间步长的q值,然后利用目标网络获取下一个时间步的q值。以transitions=[s
t
,a
t
,r
t
,s
t+1
]的结构存储从池中每次探索获得的数据(如果池已满,它将替换过早的数据),在每个学习过程中,从pool中提取一批数据,按照公式:
[0106][0107]
对网络进行更新。在每一时期初始,pool将创建一个新的临时堆栈,随着滑动窗口的推进,堆栈将被过渡数据填充,直到这一时期结束,pool将把整个堆栈作为一个单元放入其中,训练时,从缓冲区中随机选择一个集数据,然后随机选择集中的某个时刻,选择几个步骤进行学习。
[0108]
为了解决近似过程中由于贪心优先级函数导致的误差值频繁较高和过拟合问题,运用纯贪心抽样与均匀分布抽样混合的随机抽样方法。这可以保证在过渡优先级中采样的概率是单调的。即使对于优先级最低的转换,也必须保证非零概率,抽样概率定义为:
[0109][0110]
其中,pi是第i个过渡的优先级,a用于调整优先级。
[0111]
在步骤六中:在智能体端,动作选择由策略元给出,根据当前状态和动作预测下一个状态和期望奖励,策略t定义每个状态的动作概率分布。在t时刻,状态为st,我们定义折扣回报函数:
[0112][0113]
为智能体计算未来奖励的折扣总和,其中,未来奖励的折扣由该时间之前的折扣乘积给出,即:
[0114][0115]
从给定状态开始执行策略π时,预期折扣受益为:
[0116]vπ
(s)=e
π
[g
t
∣s
t
=s],
[0117]
状态动作价值函数为:
[0118]qπ
(s,a)=e
π
[g
t
∣s
t
=s,a
t
=a]
[0119]
从状态动作价值函数中导出新策略,以1-∈的概率去价值最高的动作,智能体可以在适当时候发现并纠正当前估计,避免选择次优状态。
[0120]
通过迭代,所有未来的状态和预期奖励只能从当前状态预测。那么策略π可以定义为从状态到动作概率分布的映射,即π:s=p(a=a∣s),当存在策略时,衡量策略是否达到最
优状态,衡量策略的关键是机器人获得的未来累积奖励g。
[0121]
在步骤七中:在网络空间注入噪音,引起网络输出变化,然后根据该变化选择动作,在未来多个时间步内造成复杂的改变,并通过循环神经网络记忆多步变化,使智能体(agent)做出的决策更具有战略性,首先智能体利用带探索性的噪音进行深度探索以弥补传统策略探索的低效性,先在该时间步内接收多张图片进行平行化处理,卷积处理函数为:其中,d为图片的深度,xd为输入的短阵,wd为卷核,b为偏置,c为卷积层输出的特征图伪激活函数,采用线性整流单元(rectified linear unit,relu)作为激活函数。
[0122]
噪音来自于噪音分布,通过方差驱动探索,这使得agent可以发现大量新状态,提供更加丰富的样本,为决策提供有效信息,噪音由两种组成,第一,独立的高斯音,权重和偏差的噪音是独立的,对于随机噪音矩阵ψw中的每一个元素ψ
iw
,都是从一个高斯分布中独立产生的,带有噪音的全连接层有p*q+q个噪音变量,第二,可分解的高斯噪音,可分解的高斯噪音减少了噪音变量的个数,生成有p个元素的噪音向量ψi,有q个元素的噪音向量心ψj,并进行如下分解:
[0123][0124]
其中ψ
iw
,表示两层全连接之间噪音权重矩阵的每个噪音值,ψ
jb
表示输出层偏置矩阵的每个噪音值,f是一个分解函数,网络每一次前向计算时,agent从噪音分布中采样噪音,通过分布的方差进行探索,在优化之中,agent根据当前固定的网络参数执行动作,保证aget可以根据当前噪音分布中采样的噪音做出决策。
[0125]
其次,使用改进的双层门限循环单元来记忆较长时间步的历史信息,使agent能够在延迟奖赏的情况下做出合理的决策,其中噪声线性层为:y=(b+wx)+(b
noisy
)
⊙b+(w
noisy
⊙w)x),其中,
⊙b和
⊙w随机变量,
⊙
表示元素乘积,然后可以使用该变换来代替标准线y=b+wx。随着时间的推移,网络可以学会忽略声流,但会在状态空间的不同部分以不同的速率这样做,从而允许以自退火的形式进行状态条件探索。
[0126]
要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物料或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物料或者设备所固有的要素。
[0127]
尽管已经示出和描述了本发明新型的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明新型的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明新型的范围由所附权利要求及其等同物限定。
技术特征:
1.一种融合深度神经网络和强化学习方法的路径规划方法,方法至少包括一下步骤:步骤一:机器人在每个离散时间步内,通过传感器获取环境信息以建立相应的数学模型,由辅助摄像头和传感器构成动态视频监控,显示整个地图以及机器人自身在地图上的位置,之后截取视频监控屏幕的固定帧来表示每个时间步的状态,并输入神经网络。步骤二:建立当前所处的模拟环境模型,其中神经网络结构为双网络结构,由估计网络和目标网络两部分组成,建立阶段性更新的目标网络,固定目标rt+qπ(st+1,π(st+1))的值,其中目标网络阶段性地从评估网络中获取参数以实现更新,当前状态作为预测网络的输入,通过预测网络来根据当前的状态估计动作空间中所有动作值,并协同目标网络的输出值用来计算损失,在返回到下一个时间步的状态后,选择重放计算值,存储在重放存储器中。步骤三:在强化学习过程中,智能体做出动作与环境进行交互,在状态空间中为每个状态找到当前策略下未来的累积奖励,寻找长期的累积奖励后,根据奖励值更新网络参数和学习更优的行为策略。步骤四:解耦目标q值动作的选择和目标q值的计算,来消除dqn的过估计的问题。步骤五:使用深度神经网络表示智能体的各种组件这些网络的参数通过梯度下降来训练,最小化损失函数。步骤六:通过迭代,所有未来的状态和预期奖励只能从当前状态预测。步骤七:根据添加噪音引起的网络输出值变化选择动作,并通过循环神经网络记忆多步变化影响智能体的决策。2.根据权利要求1所述的一种融合深度神经网络和强化学习方法的路径规划方法,其特征在于:在步骤一中:机器人在每个离散时间步t=0,1,2...n内,通过传感器获取环境信息以建立相应的数学模型,由辅助摄像头和传感器构成动态视频监控以显示整个地图以及机器人自身在地图上的位置,之后截取视频监控屏幕的固定帧来表示每个时间步的状态,并输入神经网络,机器人在每个时间步长的状态将用环境中的一帧图像来表示,其中状态决策可以以下公式表示:mdp=(s,a,psa,r),其中,s是状态空间,si是第i个时间步的状态,s={s1,s2,
…
,sn},a是动作空间,其中,a={a1,a2,
…
,an},psa是状态转移概率,表示动作执行后状态s过渡到另一状态s'过程中的概率分布a,r为奖励函数,r为行动a后将s转移到s’所获得的奖励,其中r=r(s,a),在确定当前状态后,机器人搜索的路径规划在于能够从地图上的起点自动找到目的地,并规划出最优路径。在步骤二中:当主程序达到当前环境状态时,构造当前所处的模拟环境模型,建立神经网络结构(双网络结构——预测网络和目标网络,首先初始化目标网络的参数,使其与预测网络保持一致,当前状态s作为预测网络的输入,将输出一个q值,q值最大的索引作为当前的动作值a,环境接收到动作值a,返回到下一个时间步的状态s’后,创建[st,a,r,st+i]这样的形式进行存储,值的计算分成两个部分,一部分是状态转移产生的,一部分是执行动作产生的,这样能够更好的关注在某一状态下选择不同动作所带来的差异,其中,使用函数逼近器来估计动作值函数,函数为:
其中,s和a分别表示第t个时间步的状态和奖励,π表示当前策略,只有在q(s,a)已知的情况下,argmaxqa(s,a)才能找到每个状态下的最优策略。神经函数逼近器权值为,可以通过最小化损失函数l
i
(θ
i
)来训练,该函数在每次迭代中都会发生变化,l
i
(θ
i
)的表达式为:l
i
(θ
i
)=e
s,a~p(s,a)
[(y
i-q(s,a;θ
i
))2]其中,为每次迭代的目标函数,p(s,a)称为行为分布,当损失函数l
i
(θ
i
)处于优化状态时,前一次迭代的参数θ
i-1
暂时固定,因此损失函数的梯度计算公式可以表示为:在步骤三中:智能体做出动作与环境进行交互时,在状态空间中为每个状态找到当前策略下未来的累积奖励,根据奖励值更新网络参数和学习更优的行为策略,但由于室内环境复杂多变,不定因素较高,同时对周围环境探索要求越高,通常在实际任务中,未来累计奖励折现难于表达,我们改进的奖励函数为:其中,机器人到达目标点时获得奖励c1(c1>0),发生碰撞时获得奖励c2(c2<0),其他情况下,机器人获得的奖励为k*cosθ/d,其中k是超参数,为机器人做出动作前从机器人所在位置指向目标点位置的向量与机器人行动前后的方向向量的夹角,当θ∈[0,π/2),cosθ>0时,说明机器人做出了靠近目标点的行动,故得到正奖励;当θ=π/2,cosθ=0时,说明机器人既没有靠近目标点,也没有远离目标点,故得到0奖励;当θ∈(π/2,π],cosθ<0时,说明机器人做出了远离目标点的行动,故得到负奖励,d是机器人做出行动之前与目标点的距离,通过欧式距离公式计算得到公式如下:在步骤四中:通过解耦目标q值动作的选择和目标q值的计算,来消除dqn的过估计的问题,即目标q值最大动作的选择不再依赖目标网络,而是先通过评估网络获取s(t+1)状态下最大的q值对应的动作a,再从目标网络中获取s(t+1)状态下动作a对应的q值,来进行q函数的更新,其中经典算法中q值的更新方式为:q(s,a)=λ*q(s,a)+(1-λ)*e(s,a)e(s,a)是在q(s,a)上乘以一个概率,其计算方式如下列公式:e(s,a)=q(s,a)*p(s,a)p(s,a)计算公式为:其中,p(s,a)是指在状态s下选择动作a的概率,n为在状态s下已经选择过动作a的次数,由其计算方式可知在状态s下选择动作a的次数越多,即n越大,p(s,a)就越小,从而e(s,a)就越小,最后的q(s,a)总值就越小,而本发明的改进方法增加了一个辅助函数m
a
(s,a),用于存储前一次迭代时得到的对最大期望q值的估
计,通过使用当前估计qb(s,a)和前一次的估计m
a
(s,a)更新qa(s,a),q值的更新规则为:(s,a)更新qa(s,a),q值的更新规则为:其中,表示下一状态,n表示历更新状态动作对(s,a)的次数,rn表示获得的及时奖励值,a
a
(s,a),为学习率为了便于算法描述,对上式进行合并,得到:在步骤五中:首先使用深度神经网络表示智能体的各种组件这些网络的参数通过梯度下降来训练,最小化损失函数,更新的梯度由式由对参数θ求导得到:为防止梯度爆炸,需要将梯度裁剪至[-1,1]区间内,对于大于1的误差将其置为1,小于-1的将其置为-1。通过使用卷识神经网络来近似拟合给定状态s的动作值,在每个步骤中,智能体都会根据当前状态选择一个动作值,并将转换(st,at,rt+1,γt+1,st+1)添加到经验回放缓中区,该缓中区保存经验,采用随机梯度下降法对神经网络参数进行优化,最小化损失函数为:其中t是从经验回放池中随机选取的时间步长,损失的梯度仅反向传播到策略网络的参数中(也用于选择动作),θ表示目标网络的参数。其次,运用基于优先级重放机制的经验重放,其核心是按照样本的优先级执行小批量抽样,重放存储器中的样本优先级主要基于dqn中的时间差误差(td-error)(目标q值减去预测q值),其表达式为:p=r+γmaxq^(s
′
,a)-q(s,a).时间差误差越大,预测精度上升空间越大,这说明基于该样本的学习可以更好地提高模型效果,即优先级的值更大。只有在存在时间差误差的情况下才能计算出优先级,sumtree数据结构可以在每次采样后更新优先级p,在重放存储器中,sum'tree的叶节点用于存储重放存储器中所有样本的p值(优先级),节点对应的样本数据以单一矩阵形式存储,即:data=[s,a,r,sr+1]。在抽取样本数据的过程中,算法查找叶节点的样本索引,利用索引找到一一对应的样本数据,然后根据sumtree的优先级返回。在某一时间步长,从重放存储器中采样数据,从预测网络中获得当前时间步长的q值,然后利用目标网络获取下一个时间步的q值。以transitions=[s
t
,a
t
,r
t
,s
t+1
]的结构存储从池中每次探索获得的数据(如果池已满,它将替换过早的数据),在每个学习过程中,从pool中提取一批数据,按照公式:l(w)=e[(r+γmax
a
′
q(s
′
,a
′
,w)-q(s,a,w))2]为了解决近似过程中由于贪心优先级函数导致的误差值频繁较高和过拟合问题,运用纯贪心抽样与均匀分布抽样混合的随机抽样方法。这可以保证在过渡优先级中采样的概率是单调的。即使对于优先级最低的转换,也必须保证非零概率,抽样概率定义为:
其中,pi是第i个过渡的优先级,a用于调整优先级。在步骤六中:在智能体端,动作选择由策略元给出,根据当前状态和动作预测下一个状态和期望奖励,策略t定义每个状态的动作概率分布。在t时刻,状态为st,我们定义折扣回报函数:为智能体计算未来奖励的折扣总和,其中,未来奖励的折扣由该时间之前的折扣乘积给出,即:从给定状态开始执行策略π时,预期折扣受益为:v
π
(s)=e
π
[g
t
∣s
t
=s],状态动作价值函数为:q
π
(s,a)=e
π
[g
t
∣s
t
=s,a
t
=a]从状态动作价值函数中导出新策略,以1-∈的概率去价值最高的动作,智能体可以在适当时候发现并纠正当前估计,避免选择次优状态。通过迭代,所有未来的状态和预期奖励只能从当前状态预测。那么策略π可以定义为从状态到动作概率分布的映射,即π:s=p(a=a∣s),当存在策略时,衡量策略是否达到最优状态,衡量策略的关键是机器人获得的未来累积奖励g。在步骤七中:在网络空间注入噪音,引起网络输出变化,然后根据该变化选择动作,在未来多个时间步内造成复杂的改变,并通过循环神经网络记忆多步变化,使智能体(agent)做出的决策更具有战略性,首先智能体利用带探索性的噪音进行深度探索以弥补传统策略探索的低效性,先在该时间步内接收多张图片进行平行化处理,卷积处理函数为:其中,d为图片的深度,x
d
为输入的短阵,w
d
为卷核,b为偏置,c为卷积层输出的特征图伪激活函数,采用线性整流单元(rectified linear unit,relu)作为激活函数。噪音来自于噪音分布,通过方差驱动探索,这使得agent可以发现大量新状态,提供更加丰富的样本,为决策提供有效信息,噪音由两种组成,第一,独立的高斯音,权重和偏差的噪音是独立的,对于随机噪音矩阵ψ
w
中的每一个元素ψ
iw
,都是从一个高斯分布中独立产生的,带有噪音的全连接层有p*q+q个噪音变量,第二,可分解的高斯噪音,可分解的高斯噪音减少了噪音变量的个数,生成有p个元素的噪音向量ψ
i
,有q个元素的噪音向量心ψj,并进行如下分解:
其中ψ
iw
,表示两层全连接之间噪音权重矩阵的每个噪音值,ψ
jb
表示输出层偏置矩阵的每个噪音值,f是一个分解函数,网络每一次前向计算时,agent从噪音分布中采样噪音,通过分布的方差进行探索,在优化之中,agent根据当前固定的网络参数执行动作,保证aget可以根据当前噪音分布中采样的噪音做出决策。其次,使用改进的双层门限循环单元来记忆较长时间步的历史信息,使agent能够在延迟奖赏的情况下做出合理的决策,其中噪声线性层为:y=(b+wx)+(b
noisy
)
⊙
b
+(w
noisy
⊙
w
)x),其中,
⊙
b
和
⊙
w
随机变量,
⊙
表示元素乘积,然后可以使用该变换来代替标准线y=b+wx。随着时间的推移,网络可以学会忽略声流,但会在状态空间的不同部分以不同的速率这样做,从而允许以自退火的形式进行状态条件探索。
技术总结
本发明公开了一种融合深度神经网络和强化学习方法的路径规划方法,步骤一:机器人在每个离散时间步内,通过传感器获取环境信息以建立相应的数学模型;步骤二:建立当前所处的模拟环境模型;步骤三:根据奖励值更新网络参数和学习更优的行为策略;步骤四:解耦目标Q值动作的选择和目标Q值的计算;步骤五:使用深度神经网络表示智能体的各种组件这些网络的参数通过梯度下降来训练;步骤六:通过迭代;步骤七:根据添加噪音引起的网络输出值变化选择动作。本发明新型涉及机器人路径规划技术领域,具体为具体为一种融合深度神经网络和强化学习方法的路径规划方法。习方法的路径规划方法。习方法的路径规划方法。
技术研发人员:梁好 涂铮铮 杨建文 周硕芊 孙亚顺 高刘轩祺 王子昂 代林功
受保护的技术使用者:安徽大学
技术研发日:2023.04.18
技术公布日:2023/7/20
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
