一种基于迁移学习的无人机自主导航方法转让专利
申请号 : CN202011561758.4
文献号 : CN112783199B
文献日 : 2022-05-13
发明人 : 李宇萌 , 张晋通 , 杜文博 , 曹先彬
申请人 : 北京航空航天大学
摘要 :
权利要求 :
1.一种基于迁移学习的无人机自主导航方法,其特征在于,具体步骤如下:步骤一,依据无人机实际任务场景设计虚拟训练环境,从虚拟训练环境中实时采样得到原始图片S;
原始图片S中所包含的像素点的信息代表当前t时刻的环境信息st;
步骤二、将原始图片S转化为对应的深度图D,从深度图D中提取虚拟无人机与障碍物的距离信息dt;
步骤三、将环境信息st以及距离信息dt传递给确定性策略梯度神经网络,对确定性策略梯度神经网络进行训练;
确定性策略梯度神经网络包括卷积神经网络、动作网络μ、评价网络Q、目标评价网络Q′、目标动作网络μ′、计算奖励网络R和经验回放池;
对确定性策略梯度神经网络进行训练,具体流程如下:步骤301.初始化虚拟自主导航任务的起点与终点,对评价网络Q和动作网络μ进行网络Q μ
参数的初始化,分别记为θ和θ;再对目标评价网络Q′和目标动作网络μ′进行网络参数的初Q′ μ′ Q′ Q μ′ μ始化,分别记为θ 和θ ;初始时刻令θ =θ,θ =θ;清空经验回放池;
步骤302.卷积神经网络对环境信息st进行特征提取,得到表征当前状态空间的特征向量φt,并传递给动作网络μ以及经验回放池;同时计算奖励网络R利用距离信息dt得到奖励rt,并传递给经验回放池;
奖励rt的计算如下:
其中,δ是反映无人机到终点的趋向性参数,α和β是反映障碍物对无人机的威胁性参数,δ,α,β均为大于零的常数;ddist代表训练环境下当前虚拟无人机到终点位置的直线距离;第一项‑δddist中引入了与到目标位置距离相关的奖励项,虚拟无人机的位置与终点的距离越短,所获得的奖励越大;第二项 表示的是虚拟无人机与障碍物之间的关系,当两者越近时,获得的奖励就会越小,这促使虚拟无人机尽可能远离障碍物;
步骤303.动作网络μ利用特征向量φt产生新的动作at并传递给虚拟无人机,同时传递给经验回放池;
步骤304.虚拟无人机做出at的对应动作使虚拟环境发生改变,采集新的图片作为下一时刻的环境信息st+1,并传递给卷积神经网络;
步骤305、卷积神经网络对环境信息st+1进行特征提取,得到t+1时刻的特征向量φt+1,传递给经验回放池;
步骤306.将上述φt,at,rt,φt+1构成四元组<φt,at,rt,φt+1>存入经验回放池中,将环境信息st+1作为当前环境信息返回步骤302,直至经验回放池存储的四元组数大于等于采样数N;
步骤307.从经验回放池中随机选取第i组四元组<φi,ai,ri,φi+1>,i={1,2,...,N},利用目标评价网络Q′和目标动作网络μ′计算出该四元组对应的Q函数估计值yi:μ′ Q′
yi=ri+γQ′(φi+1,μ′(φi+1丨θ)丨θ)其中,γ为折扣率;
步骤308.利用每个四元组对应的Q函数估计值求梯度最小化损失函数,对评价网络Q进Q
行网络参数θ的更新;
损失函数L为:
对损失函数L求梯度有:
Q
将梯度 在评价网络Q内反向传播以实现网络参数θ的更新,更新公式如下:其中,η表示学习率;
步骤309.根据策略梯度公式求出策略梯度 并将此梯度在动作网络μ内反向传播μ
以实现网络参数θ的更新;
策略梯度公式为:
在求策略梯度时,评价网络Q和动作网络μ可以等价看作是Q函数与μ函数; 表示动μ
作a关于Q函数的梯度; 表示网络参数θ关于μ函数的梯度;
μ
网络参数θ的更新公式如下:步骤310.对目标评价网络Q′和目标动作网络μ′进行网络参数的更新;
更新公式分别为:
Q Q′ Q′
τθ+(1‑τ)θ →θ
μ μ′ μ′
τθ+(1‑τ)θ →θ
其中,τ表示滞后因数,是一个[0,1]范围内的常数;
步骤311.评价网络Q、动作网络μ、目标评价网络Q′和目标动作网络μ′的网络参数向负梯度方向调整,直至确定性策略梯度神经网络模型达到收敛;此时,判断虚拟训练环境下的虚拟无人机与潜在障碍物是否发生碰撞或者是否到达目标位置;如果是,确定性策略梯度Q μ Q′ μ′
神经网络训练完成:否则,返回步骤301,将更新后的θ、θ、θ 和θ 作为新的初始值继续循环以上步骤;
步骤四,将训练好的确定性策略梯度神经网络部署在无人机上,完成确定性策略梯度神经网络从虚拟环境到真实环境的迁移;
步骤五,将完成迁移的确定性策略梯度神经网络的无人机用于复杂环境下,实现自主导航。
2.如权利要求1所述的一种基于迁移学习的无人机自主导航方法,其特征在于,所述的虚拟训练环境包括虚拟的城市环境、森林环境和室内环境。
3.如权利要求1所述的一种基于迁移学习的无人机自主导航方法,其特征在于,动作网络μ产生的动作at为:
u
at=μ(φt丨θ)+Nt其中Nt是动作产生时的随机噪声。
4.如权利要求1所述的一种基于迁移学习的无人机自主导航方法,其特征在于,步骤四中所述的将训练好的确定性策略梯度神经网络部署在无人机上,完成确定性策略梯度神经网络从虚拟环境到真实环境的迁移,过程为:首先关闭确定性策略梯度神经网络中的动作网络μ,保持经验回放池开启;同时用人工控制的方式使无人机飞行若干段轨迹,在此过程中确定性策略梯度神经网络能够熟悉真实环境,并持续进行评价网络Q、动作网络μ、目标评价网络Q′和目标动作网络μ′的网络参数更新,直到确定性策略梯度神经网络的损失函数L小于某一阈值;该阈值的设定参考在虚拟环境中训练时确定性策略梯度神经网络最终稳定下来的损失函数值;
迁移完成后,开启确定性策略梯度神经网络中的动作网络μ,关闭经验回放池、评价网络Q、目标评价网络Q′和目标动作网络μ′。
说明书 :
一种基于迁移学习的无人机自主导航方法
技术领域
背景技术
其中最底层的技术,同时也是最为核心的技术。
在移动路径上检测到障碍物后,移向没有障碍物的方向。在确定当前环境安全后,重新使用
路径规划,规划一条新的路线。在面对复杂环境时,路径重规划的计算代价就会过大。与此
同时,该方法无法面对动态障碍物。以上便是传统方法在面对自主导航问题时所暴露出来
的缺点。
的是智能体在未知环境下,根据传感器所获得环境数据进行自身的定位,再计算重建出当
前的地图,最后利用地图进行路径规划。SLAM技术相比于前一种方法而言,稳定性和对未知
环境的适应性都有了很大的提升,但它也有自身的缺陷。首先是SLAM技术在面对复杂环境
时也会伴随着导航效果的下降,因为环境复杂意味着构建地图的难度也会很大。其次是该
方法对传感器以及其他元器件的要求很高,因为构建地图的精度很大程度上取决于元器件
所获得的数据质量。如果传感器等元件的精度和稳定性不够,那么SLAM技术的导航效果就
很差。而具有良好精度的传感器也常常伴随着极高的价格,这就给该技术的实际应用带来
了困难。
提升智能体解决某一问题的能力。但在解决导航问题的过程中,传统强化学习方法往往会
遇到维数灾难的问题,因为强化学习模型的原始输入很有可能是摄像机捕捉到的无人机周
围的RGB图像,又或者是在输出动作时需要包含水平角、俯仰角以及速度等高维连续信息。
在高维空间下应用传统强化学习的方法就是会面临巨大的计算压力。与此同时,如果直接
在真实环境下应用强化学习的方法,智能体需要自己学会如何从起点飞行到终点。这个过
程中,智能体是需要不断试错并学习的,因此无人机难免会和周围真实存在的障碍物发生
碰撞。而无人机是很脆弱的,并且小型无人机造价也不便宜,这就导致了真实环境下强化学
习的训练过程会给研究人员带来不小的经济负担。
发明内容
度。
网络参数的初始化,分别记为θ和θ;再对目标评价网络Q′和目标动作网络μ′进行网络参数
Q′ μ′ Q′ Q μ′ μ
的初始化,分别记为θ 和θ ;初始时刻令θ =θ,θ =θ;清空经验回放池。
奖励rt,并传递给经验回放池。
离。
yi:
行网络参数θ的更新。
传播以实现网络参数θ的更新。
示动作a关于Q函数的梯度; 表示网络参数θ关于μ函数的梯度;
下的虚拟无人机与潜在障碍物是否发生碰撞或者是否到达目标位置。如果是,确定性策略
Q μ Q′ μ′
梯度神经网络训练完成;否则,返回步骤301,将更新后的参数θ、θ、θ 和θ 作为新的初始
值继续循环上述步骤。
续进行评价网络Q、动作网络μ、目标评价网络Q′和目标动作网络μ′的网络参数更新,直到确
定性策略梯度神经网络的损失函数L小于某一阈值,完成迁移。
稠密的分布在虚拟训练环境中,更加充分地利用无人机在运动层面上的灵活性,动作更加
平滑。
了无人机自主飞行的安全性,减少不必要的损失。
提高了无人机自主飞行效率。
附图说明
具体实施方式
状态较为平稳的动作上。训练神经网络时,事先构建一个与真实环境较为相似的虚拟环境,
之后在这个虚拟环境中对神经网络进行训练。当达到一定标准后,将训练好的神经网络部
署到实体无人机的计算单元上。此时实体无人机已经有了一定的知识储备,再在这个基础
上令实体无人机在真实环境下进行训练,帮助无人机内置的神经网络完成从虚拟环境到真
实环境的迁移。至此搭载着训练好并且完成迁移的确定性策略梯度神经网络的无人机就可
以完成自主导航。
环境用来训练本发明中的算法主体——确定性策略梯度神经网络,并通过Airsim模块建立
确定性策略梯度神经网络与虚拟训练环境的交互。
环境与实际飞行场景越相似,最终从虚拟环境迁移到真实环境所获得的算法应用效果就越
好。例如当无人机被设定在城市内完成自主导航任务时,训练环境中就应该搭建高楼、路灯
和路牌等与城市相关的障碍物。
况或者是在训练环境下没有遇到的意外情况。
或相位差,来计算虚拟无人机与潜在障碍物的距离信息dt。
放池,评价网络Q,目标评价网络Q′和目标动作网络μ′的主要功能是在训练过程中帮助动作
网络μ提升性能,更新参数。
网络参数的初始化,分别记为θ和θ;再对目标评价网络Q′和目标动作网络μ′进行网络参数
Q′ μ′ Q′ Q μ′ μ
的初始化,分别记为θ 和θ ;初始时刻令θ =θ,θ =θ;清空经验回放池。
奖励rt,并传递给经验回放池。
离。
经网络;
行网络参数θ的更新。
传播以实现网络参数θ的更新。
示动作a关于Q函数的梯度; 表示网络参数θ关于μ函数的梯度;
作网络μ的网络参数,同时保留自身(1‑τ)比例的参数。
下的虚拟无人机与潜在障碍物是否发生碰撞或者是否到达目标位置。如果是,确定性策略
Q μ Q′ μ′
梯度神经网络训练完成;否则,返回步骤301,将当前的θ、θ、θ 和θ 作为新的初始值继续
循环以上步骤。
息进行自主导航的能力也在不断提升,直到网络参数趋于收敛,即训练完成。
进行评价网络Q、动作网络μ、目标评价网络Q′和目标动作网络μ′的网络参数更新,直到确定
性策略梯度神经网络的损失函数L小于某一阈值,完成迁移。
数值有所抬升。但随着网络参数更新过程的进行,损失函数值会逐渐减小。当小于预先设定
的阈值时,就可以认为网络模型在迁移到真实环境后也实现了模型的收敛,也就是说模型
熟悉了真实环境。
动作并指导无人机飞行。
的无人机能在复杂环境下完成自主导航的任务。
的特征向量φt,输出至动作网络μ。
特征提取的工作。这是因为卷积层在处理图像信息时具有平移不变性,即抓住图像主要特
征。这部分卷积神经网络的参数将和后续的动作网络μ一起依靠策略梯度进行更新。
11),卷积核移动的步长为4。在池化层1中,设置池化核大小为(3,3),步长为2。在卷积层2
中,卷积核为256个,每个卷积核大小为(5,5),步长为1。在卷积层3中,卷积核为384个,每个
卷积核大小为(3,3),步长为1。在池化层2中,设置池化核大小为(3,3),步长为2。在卷积层4
中,卷积核为384个,每个卷积核大小为(3,3),步长为1。在卷积层5中,卷积核为256个,每个
卷积核大小为(3,3),步长为1。在池化层3中,设置池化核大小为(3,3),步长为2。环境信息
向量st按顺序经过上述各卷积层和池化层处理后,最终经过扁平层处理得到了大小为9216
的一维向量,该向量就是特征向量φt。
于那些与训练环境有相同特征的环境也能较好地处理。无人机飞行的真实环境肯定会与虚
拟训练环境有所不同,但只要二者有共性,无人机上搭载的神经网络就能对当前真实环境
进行正确的认知。
标位置距离相关的奖励项,虚拟无人机的位置与终点的距离越短,所获得的奖励越大。第二
项 表示的是虚拟无人机与障碍物之间的关系。当两者越近时,获得的奖励就会越小,
这促使虚拟无人机尽可能远离障碍物。这样的奖励方式保证了无人机能够在朝着目标不断
移动的前提下注意规避可能发生碰撞的障碍物。同时,从以上计算奖励公式可以看出,这是
一种连续的奖励设置方式,可以保证奖励能够较为稠密的分布在环境上。这样做有助于提
高无人机飞行轨迹的平滑性,使得无人机不会在飞行途中有较为剧烈的速度或方向上的变
化,以达到安全和节能的效果。
家”框架构建的。在这里“演员”指的就是动作网络,由动作网络根据当前状态信息做出动
作。“评论家”指的就是评价网络,评价网络对于动作网络做出的动作有一个反馈,使得动作
网络不断更新以求得到评价网络更高的评定。上述的目标动作网络、目标评价网络、经验回
放池的引入是为了在更新动作网络和评价网络的网络参数时能更快更好地收敛,进而使得
最终训练好的模型会有比较出色的表现。
里本发明默认无论是在训练环境还是在真实环境下无人机都是一直朝前飞行。俯仰角ω的
范围为 速率v在本实施例中定为[0,10m/s],速率的范围可以根据无人机实际任
务场景进行调整,比如在室内环境下,速率最大值应该进一步降低。在室外较为空旷的环境
下,速率最大值可以在动力范围内尽可能增大。
数;全连接层2的参数设置为32个计算单元,激活函数设置为“ReLu”整流函数。因为输出的
动作at是一个三维向量,所以在输出层上设置3个计算单元,分别对应着动作at中的水平角
λ、俯仰角ω和速率v。在输出层上激活函数定为“SoftMax”函数。
行交互,使得智能体来到下一状态。本发明将使用随机采样的方式从经验回放池中选取任
一时刻i的四元组<φi,ai,ri,φi+1>,传递给后续的评价网络Q、目标评价网络Q'以及目标
动作网络μ',进行网络更新。
关性,而这种相关性是不利于后续网络更新参数的。但使用随机采样的方式可以打破训练
样本之间相关性。同时,随机采样出来的四元组之间状态和奖励的变化都十分剧烈,可能前
一组距离障碍物还很远,奖励很大,下一组就距离障碍物很近,奖励很小。这种急剧的变化
能更好地帮助算法部分理解到危险状态与安全状态的差异。于是搭载着训练好的神经网络
的无人机能在真实环境下朝着目标位置更加安全地飞行。
有关。本发明实施例中采用神经网络来非线性近似评价函数Q。
一致。在全连接层1上,设置为64个计算单元,激活函数采取”ReLu”整流函数。全连接层2设
置为32个计算单元,激活函数采取”ReLu”激活函数。而在输出层上,因为只需输出一个值,
所以设置1个计算单元即可,激活函数为”Sigmoid”函数。
络参数θ。网络参数θ更新公式如下:
在理论上也叫做策略梯度。之后再将N个四元组中的特征向量φi和动作ai代入策略梯度表
μ
达式中并进行求和平均,于是得到网络参数θ关于Q函数的梯度,记为 在有了具体的
梯度值以后,再以此梯度进行动作网络μ内的反向传播,从而完成网络参数的更新。动作网
络μ在不断的更新之后才能够更好地根据当前状态进行动作选取,迁移到真实环境下,训练
好的神经网络才能够指导无人机依据目前环境做出更合理的动作。
网络Q的网络参数θ将影响到动作网络μ参数的更新。另外本发明从概念的角度来看,只有
当评价网络Q有较好的性能表现时,它才能给出一个有价值的评定。于是评价网络Q也需要
进行更新,这样才能使得它的评价是有意义的。网络参数的更新需要构建损失函数并将从
损失函数上求得的梯度进行反向传播。对于动作网络μ来说,它的更新方式是直接求取策略
梯度并以此在网络内进行反向传播。
目标评价网络Q'和目标动作网络μ'。这两个网络可以分别看作是评价网络Q和动作网络μ的
副本。Q'与Q的网络结构是一致的,μ′与μ的网络结构也是一致的,网络的初始化参数也是相
同的。差异只是在于更新网络参数时,目标评价网络Q'和目标动作网络μ'相比较于目标网
络Q和动作网络μ有一定的滞后性,用数学表达式加以表示有以下结果:
步行动,为了不影响自主导航的实时性,重新构建一个类似的目标动作网络μ′是很有必要
的。
ai+1=μ′(φi+1|θ)。同时,依靠目标评价网络Q′计算出对应的Q函数值Q′(φi+1,ai+1|θ)。
值均方再平均就得到了损失函数L。对该损失函数求关于评价网络参数θ的梯度 并
Q
将该梯度在评价网络Q内反向传递即可完成评价网络参数θ的更新。
度值 也会越小。这就说明了随着训练的进行,评价网络参数θ的更新幅度也会减小直
到收敛。从这一角度看,上述损失函数的构建是合乎客观规律的。