一种基于迁移学习的无人机自主导航方法转让专利

申请号 : CN202011561758.4

文献号 : CN112783199B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李宇萌张晋通杜文博曹先彬

申请人 : 北京航空航天大学

摘要 :

本发明公开了一种基于迁移学习的无人机自主导航方法,属于飞行器技术领域。首先依据实际任务场景设计虚拟训练环境,并采样得到原始图片S;原始图片S中所包含的像素点的信息为t时刻的环境信息st;将原始图片S转化为对应的深度图D,并从中提取虚拟无人机与障碍物的距离信息dt。然后将环境信息st和距离信息dt传递给确定性策略梯度神经网络,对确定性策略梯度神经网络进行训练。将训练好的确定性策略梯度神经网络部署在无人机上,完成确定性策略梯度神经网络从虚拟环境到真实环境的迁移。最后将完成迁移的确定性策略梯度神经网络的无人机用于复杂环境下,实现自主导航。本发明保证了无人机自主飞行的安全性、平滑性以及飞行效率。

权利要求 :

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′和目标动作网络μ′。

说明书 :

一种基于迁移学习的无人机自主导航方法

技术领域

[0001] 本发明属于飞行器技术领域,具体是一种基于迁移学习的无人机自主导航方法。

背景技术

[0002] 目前随着物流、交通、救援以及侦察等领域的需求不断增大,与无人机相关的技术也越来越多地受到了来自学术界工业界的关注。在各种各样的无人机技术中,自主导航是
其中最底层的技术,同时也是最为核心的技术。
[0003] 实现无人机自主导航最常见的是将感知避障与路径规划相结合的方法,该方法的基本思想非常朴素,就是首先根据一个粗略的地图进行路径规划,然后沿着路径进行移动,
在移动路径上检测到障碍物后,移向没有障碍物的方向。在确定当前环境安全后,重新使用
路径规划,规划一条新的路线。在面对复杂环境时,路径重规划的计算代价就会过大。与此
同时,该方法无法面对动态障碍物。以上便是传统方法在面对自主导航问题时所暴露出来
的缺点。
[0004] 另外一种常见的无人机自主导航的方法是:即时定位与地图重建(SLAM)技术,这一方法不仅在学术界有着亮眼的表现,在工业界也是吸引着大量研究者的目光。该方法指
的是智能体在未知环境下,根据传感器所获得环境数据进行自身的定位,再计算重建出当
前的地图,最后利用地图进行路径规划。SLAM技术相比于前一种方法而言,稳定性和对未知
环境的适应性都有了很大的提升,但它也有自身的缺陷。首先是SLAM技术在面对复杂环境
时也会伴随着导航效果的下降,因为环境复杂意味着构建地图的难度也会很大。其次是该
方法对传感器以及其他元器件的要求很高,因为构建地图的精度很大程度上取决于元器件
所获得的数据质量。如果传感器等元件的精度和稳定性不够,那么SLAM技术的导航效果就
很差。而具有良好精度的传感器也常常伴随着极高的价格,这就给该技术的实际应用带来
了困难。
[0005] 最近随着人工智能领域的日益火爆,强化学习作为该领域的一个分支,也受到了大量的关注。传统强化学习的方法可以使得智能体在与环境不断交互,不断试错的过程中
提升智能体解决某一问题的能力。但在解决导航问题的过程中,传统强化学习方法往往会
遇到维数灾难的问题,因为强化学习模型的原始输入很有可能是摄像机捕捉到的无人机周
围的RGB图像,又或者是在输出动作时需要包含水平角、俯仰角以及速度等高维连续信息。
在高维空间下应用传统强化学习的方法就是会面临巨大的计算压力。与此同时,如果直接
在真实环境下应用强化学习的方法,智能体需要自己学会如何从起点飞行到终点。这个过
程中,智能体是需要不断试错并学习的,因此无人机难免会和周围真实存在的障碍物发生
碰撞。而无人机是很脆弱的,并且小型无人机造价也不便宜,这就导致了真实环境下强化学
习的训练过程会给研究人员带来不小的经济负担。

发明内容

[0006] 考虑到现有技术中无人机自主导航的精准性和智能程度较低的缺点,本发明提供了一种基于迁移学习的无人机自主导航方法,来提高无人机自主导航的精准性和智能程
度。
[0007] 所述基于迁移学习的无人机自主导航方法,具体步骤如下:
[0008] 步骤一、依据无人机实际任务场景设计虚拟训练环境,从虚拟训练环境中实时采样得到原始图片S;
[0009] 所述的虚拟训练环境包括虚拟的城市环境、森林环境和室内环境等。
[0010] 原始图片S中所包含的像素点的信息代表当前t时刻的环境信息st。
[0011] 步骤二、将原始图片S转化为对应的深度图D,从深度图D中提取虚拟无人机与障碍物的距离信息dt。
[0012] 步骤三、将环境信息st以及距离信息dt传递给确定性策略梯度神经网络,对确定性策略梯度神经网络进行训练;
[0013] 确定性策略梯度神经网络包括卷积神经网络、动作网络μ、评价网络Q、目标评价网络Q′、目标动作网络μ′、计算奖励网络R和经验回放池。
[0014] 确定性策略梯度神经网络训练的具体流程如下:
[0015] 步骤301.初始化虚拟自主导航任务的起点与终点,对评价网络Q和动作网络μ进行Q μ
网络参数的初始化,分别记为θ和θ;再对目标评价网络Q′和目标动作网络μ′进行网络参数
Q′ μ′ Q′ Q μ′ μ
的初始化,分别记为θ 和θ ;初始时刻令θ =θ,θ =θ;清空经验回放池。
[0016] 步骤302.卷积神经网络对环境信息st进行特征提取,得到表征当前状态空间的特征向量φt,并传递给动作网络μ以及经验回放池;同时计算奖励网络R利用距离信息dt得到
奖励rt,并传递给经验回放池。
[0017] 奖励rt的计算如下:
[0018]
[0019] 其中,δ是反映无人机到终点的趋向性参数,α和β是反映障碍物对无人机的威胁性参数,δ,α,β均为大于零的常数;ddist代表训练环境下当前虚拟无人机到终点位置的直线距
离。
[0020] 步骤303.动作网络μ利用特征向量φt产生新的动作at并传递给虚拟无人机,同时传递给经验回放池;
[0021] at=μ(φt|θu)+Nt;
[0022] 其中Nt是动作产生时的随机噪声。
[0023] 步骤304.虚拟无人机做出at的对应动作使虚拟环境发生改变,采集新的图片作为下一时刻的环境信息st+1,并传递给卷积神经网络;
[0024] 步骤305、卷积神经网络对环境信息st+1进行特征提取,得到t+1时刻的特征向量φt+1,传递给经验回放池;
[0025] 步骤306.将上述<φt,at,rt,φt+1>构成四元组存入经验回放池中,将环境信息st+1作为当前环境信息返回步骤302,直至经验回放池存储的四元组数大于等于采样数N。
[0026] 步骤307.从经验回放池中随机选取第i组四元组<φi,ai,ri,φi+1>(i={1,2,...,N}),利用目标评价网络Q′和目标动作网络μ′计算出该四元组对应的Q函数估计值
yi:
[0027] yi=ri+γQ′(φi+1,μ′(φi+1|θμ′)|θQ′)
[0028] 其中,γ为折扣率。
[0029] 步骤308.利用每个四元组的Q函数估计值求梯度最小化损失函数,对评价网络Q进Q
行网络参数θ的更新。
[0030] 损失函数L为:
[0031] 对损失函数L求梯度有:
[0032]Q
[0033] 将梯度 在评价网络Q内反向传播以实现网络参数θ的更新,更新公式如下:
[0034]
[0035] 其中,η表示学习率。
[0036] 步骤309.根据策略梯度公式求出策略梯度 并将此梯度在动作网络μ内反向μ
传播以实现网络参数θ的更新。
[0037] 策略梯度公式为:
[0038] 在求策略梯度时,评价网络Q和动作网络μ可以等价看作是Q函数与μ函数。 表μ
示动作a关于Q函数的梯度; 表示网络参数θ关于μ函数的梯度;
[0039] 网络参数θμ的更新公式如下:
[0040]
[0041] 步骤310.对目标评价网络Q′和目标动作网络μ′进行网络参数的更新;
[0042] 更新公式分别为:
[0043] τθQ+(1‑τ)θQ′→θQ′
[0044] τθμ+(1‑τ)θμ′→θμ′
[0045] 其中,τ表示滞后因数,是一个[0,1]范围内的常数。
[0046] 步骤311.评价网络Q、动作网络μ、目标评价网络Q′和目标动作网络μ′的网络参数向负梯度方向调整,直至确定性策略梯度神经网络模型达到收敛。此时,判断虚拟训练环境
下的虚拟无人机与潜在障碍物是否发生碰撞或者是否到达目标位置。如果是,确定性策略
Q μ Q′ μ′
梯度神经网络训练完成;否则,返回步骤301,将更新后的参数θ、θ、θ 和θ 作为新的初始
值继续循环上述步骤。
[0047] 步骤四,将训练好的确定性策略梯度神经网络部署在无人机上,完成确定性策略梯度神经网络从虚拟环境到真实环境的迁移;
[0048] 具体迁移过程为:
[0049] 首先,关闭确定性策略梯度神经网络中的动作网络μ,保持经验回放池开启;同时用人工控制的方式飞行若干段轨迹,使确定性策略梯度神经网络能够熟悉真实环境,并持
续进行评价网络Q、动作网络μ、目标评价网络Q′和目标动作网络μ′的网络参数更新,直到确
定性策略梯度神经网络的损失函数L小于某一阈值,完成迁移。
[0050] 该阈值的设定参考在虚拟环境中训练时网络模型最终稳定下来的损失函数值。
[0051] 迁移完成后,开启确定性策略梯度神经网络中的动作网络μ,关闭经验回放池、评价网络Q、目标评价网络Q′和目标动作网络μ′。
[0052] 步骤五,将完成迁移的确定性策略梯度神经网络的无人机用于复杂环境下,实现自主导航。
[0053] 本发明的优点及其有益效果在于:
[0054] (1)本发明一种基于迁移学习的无人机自主导航方法,确定性策略梯度神经网络中的计算奖励网络使得无人机在连续飞行过程中保持与障碍物的距离尽可能远,并使奖励
稠密的分布在虚拟训练环境中,更加充分地利用无人机在运动层面上的灵活性,动作更加
平滑。
[0055] (2)本发明一种基于迁移学习的无人机自主导航方法,在训练用的虚拟环境中提高了环境复杂度,在实际飞行过程中可以使得无人机有更强的应付复杂环境的能力,保证
了无人机自主飞行的安全性,减少不必要的损失。
[0056] (3)本发明一种基于迁移学习的无人机自主导航方法,将迁移学习与深度强化学习相结合,训练得到的确定性策略梯度神经网络能够快速识别复杂多变环境中的障碍物,
提高了无人机自主飞行效率。

附图说明

[0057] 图1是本发明基于迁移学习的无人机自主导航方法的整体流程图;
[0058] 图2是本发明中对确定性策略梯度神经网络进行训练的原理图;
[0059] 图3是本发明对确定性策略梯度神经网络进行训练的流程图;
[0060] 图4是本发明确定性策略梯度神经网络中卷积神经网络结构图;
[0061] 图5是本发明确定性策略梯度神经网络中动作网络结构图;
[0062] 图6是本发明确定性策略梯度神经网络中评价网络结构图。

具体实施方式

[0063] 为了便于本领域普通技术人员理解和实施本发明,下面结合附图对本发明作进一步的详细和深入描述。
[0064] 本发明提出了一种基于迁移学习的无人机自主导航方法,该方法利用了深度强化学习中的确定性策略梯度神经网络,从原始输入的RGB图像映射到一个相对于当前无人机
状态较为平稳的动作上。训练神经网络时,事先构建一个与真实环境较为相似的虚拟环境,
之后在这个虚拟环境中对神经网络进行训练。当达到一定标准后,将训练好的神经网络部
署到实体无人机的计算单元上。此时实体无人机已经有了一定的知识储备,再在这个基础
上令实体无人机在真实环境下进行训练,帮助无人机内置的神经网络完成从虚拟环境到真
实环境的迁移。至此搭载着训练好并且完成迁移的确定性策略梯度神经网络的无人机就可
以完成自主导航。
[0065] 一种基于迁移学习的无人机自主导航方法,如图1所示,具体步骤如下:
[0066] 步骤一,依据无人机实际任务场景设计虚拟训练环境,从虚拟训练环境中实时采样得到原始图片S;
[0067] 原始图片S中所包含的像素点的信息代表当前t时刻的环境信息st。
[0068] 根据自身研发要求来设计训练环境,训练环境的设计要求尽可能与实际场景接近,并且要达到较高的训练难度。在构建训练环境时,本发明所用到的是虚幻4引擎。该训练
环境用来训练本发明中的算法主体——确定性策略梯度神经网络,并通过Airsim模块建立
确定性策略梯度神经网络与虚拟训练环境的交互。
[0069] 目前无人机主要被应用于以下环境内:如城市、森林和室内等。为使无人机在任务场景内有尽可能好的表现,需要针对性地构建与任务场景相似的训练环境。这是因为训练
环境与实际飞行场景越相似,最终从虚拟环境迁移到真实环境所获得的算法应用效果就越
好。例如当无人机被设定在城市内完成自主导航任务时,训练环境中就应该搭建高楼、路灯
和路牌等与城市相关的障碍物。
[0070] 除了训练环境与真实任务场景要尽可能相似以外,还要保障训练环境本身足够复杂。当训练难度达到较高的水准时,无人机在真实飞行途中才能更好地处理多障碍物的情
况或者是在训练环境下没有遇到的意外情况。
[0071] Airsim模块从虚拟训练环境中采样得到原始图片S,原始图片S为227×227的RGB图像,其中所包含的像素点的信息代表当前t时刻的环境信息st。st为(227,227,3)的向量。
[0072] 步骤二、将原始图片S转化为对应的深度图D,Airsim模块从深度图D中提取虚拟无人机与潜在障碍物的距离信息dt。
[0073] 除了采集到的RGB图像以外,Airsim模块还会提供深度图和分割图。为方便计算距离,选用的是深度图D。之后Airsim模块根据虚拟训练环境中模拟的光线发射和反射时间差
或相位差,来计算虚拟无人机与潜在障碍物的距离信息dt。
[0074] 深度图D的尺寸仍然为227×227。
[0075] 步骤三、Airsim模块将环境信息st以及距离信息dt传递给确定性策略梯度神经网络,对确定性策略梯度神经网络进行训练;
[0076] 确定性策略梯度神经网络,如图2所示,包括卷积神经网络、动作网络μ、评价网络Q、目标评价网络Q′、目标动作网络μ′、计算奖励网络R和经验回放池。在训练过程中,经验回
放池,评价网络Q,目标评价网络Q′和目标动作网络μ′的主要功能是在训练过程中帮助动作
网络μ提升性能,更新参数。
[0077] 确定性策略梯度神经网络进行训练,如图3所示,具体流程如下:
[0078] 步骤301.初始化虚拟自主导航任务的起点与终点,对评价网络Q和动作网络μ进行Q μ
网络参数的初始化,分别记为θ和θ;再对目标评价网络Q′和目标动作网络μ′进行网络参数
Q′ μ′ Q′ Q μ′ μ
的初始化,分别记为θ 和θ ;初始时刻令θ =θ,θ =θ;清空经验回放池。
[0079] 步骤302.卷积神经网络对环境信息st进行特征提取,得到表征当前状态空间的特征向量φt,并传递给动作网络μ以及经验回放池;同时计算奖励网络R利用距离信息dt得到
奖励rt,并传递给经验回放池。
[0080]
[0081] 其中,δ是反映无人机到终点的趋向性参数,α和β是反映障碍物对无人机的威胁性参数,δ,α,β均为大于零的常数;ddist代表训练环境下当前虚拟无人机到终点位置的直线距
离。
[0082] 当虚拟无人机与障碍物的距离越近,获得的奖励越小,以此促使虚拟无人机远离障碍物。
[0083] 步骤303.动作网络μ利用特征向量φt产生新的动作at并传递给虚拟无人机,同时传递给经验回放池;
[0084] at=μ(φt|θu)+Nt;
[0085] 其中Nt是动作产生时的随机噪声。
[0086] 步骤304.虚拟训练环境下的虚拟无人机做出at的对应动作使虚拟环境发生改变,这时Airsim模块采集新的图片作为下一时刻的环境信息st+1,并传递给确定性策略梯度神
经网络;
[0087] 步骤305、卷积神经网络对环境信息st+1进行特征提取得到t+1时刻的特征向量φt+1,传递给经验回放池;
[0088] 步骤306.将上述<φt,at,rt,φt+1>构成四元组存入经验回放池中,将环境信息st+1作为当前环境信息返回步骤302,直至经验回放池存储的四元组数大于等于采样数N。
[0089] 步骤307.从经验回放池中随机选取第i组四元组<φi,ai,ri,φi+1>(i={1,2,...,N}),利用目标评价网络Q′和目标动作网络μ′计算出Q函数估计值yi:
[0090] yi=ri+γQ′(φi+1,μ′(φi+1|θμ′)|θQ′)
[0091] 其中,γ为折扣率。
[0092] 步骤308.利用每个四元组的Q函数估计值求梯度最小化损失函数,对评价网络Q进Q
行网络参数θ的更新。
[0093] 损失函数L为:
[0094] 对损失函数L求梯度有:
[0095]Q
[0096] 将梯度 在评价网络Q内反向传播以实现网络参数θ的更新。更新公式如下:
[0097]
[0098] 其中,η表示学习率。
[0099] 步骤309.根据策略梯度公式求出策略梯度 并将此梯度在动作网络μ内反向μ
传播以实现网络参数θ的更新。
[0100] 策略梯度公式为:
[0101] 在求策略梯度时,评价网络Q和动作网络μ可以等价看作是Q函数与μ函数。 表μ
示动作a关于Q函数的梯度; 表示网络参数θ关于μ函数的梯度;
[0102] 网络参数θμ的更新公式如下:
[0103]
[0104] 步骤310.对目标评价网络Q′和目标动作网络μ′进行网络参数的更新;
[0105] 目标评价网络Q′和目标动作网络μ′的网络参数更新机制是与前面求梯度方式不同的,它是一种延迟更新,每次更新τ比例的真实网络参数,真实网络参数指评价网络Q和动
作网络μ的网络参数,同时保留自身(1‑τ)比例的参数。
[0106] 更新公式分别为:
[0107] τθQ+(1‑τ)θQ′→θQ′
[0108] τθμ+(1‑τ)θμ′→θμ′
[0109] 其中,τ表示滞后因数,是一个[0,1]范围内的常数。
[0110] 步骤311.评价网络Q、动作网络μ、目标评价网络Q′和目标动作网络μ′的网络参数向负梯度方向调整,直至确定性策略梯度神经网络模型达到收敛。此时,判断虚拟训练环境
下的虚拟无人机与潜在障碍物是否发生碰撞或者是否到达目标位置。如果是,确定性策略
Q μ Q′ μ′
梯度神经网络训练完成;否则,返回步骤301,将当前的θ、θ、θ 和θ 作为新的初始值继续
循环以上步骤。
[0111] 在训练过程中,随着回合数的不断增加,确定性策略梯度神经网络部分与虚拟训练环境一直进行着交互,确定性策略梯度神经网络内部的参数也在不断更新,根据环境信
息进行自主导航的能力也在不断提升,直到网络参数趋于收敛,即训练完成。
[0112] 步骤四,将训练好的确定性策略梯度神经网络部署在无人机上,完成确定性策略梯度神经网络从虚拟环境到真实环境的迁移;
[0113] 具体迁移过程为:
[0114] 首先关闭确定性策略梯度神经网络中的动作网络μ,保持经验回放池开启;同时用人工控制的方式飞行若干段轨迹,使确定性策略梯度神经网络能够熟悉真实环境,并持续
进行评价网络Q、动作网络μ、目标评价网络Q′和目标动作网络μ′的网络参数更新,直到确定
性策略梯度神经网络的损失函数L小于某一阈值,完成迁移。
[0115] 该阈值的设定可以参考在虚拟环境中训练时网络模型最终稳定下来的损失函数值。网络模型刚接触到真实环境的数据时,损失函数值会相较于模型在虚拟环境训练时的
数值有所抬升。但随着网络参数更新过程的进行,损失函数值会逐渐减小。当小于预先设定
的阈值时,就可以认为网络模型在迁移到真实环境后也实现了模型的收敛,也就是说模型
熟悉了真实环境。
[0116] 迁移完成后,确定性策略梯度神经网络中的动作网络μ保持开启,关闭经验回放池、评价网络Q、目标评价网络Q′和目标动作网络μ′,依靠动作网络μ根据当前环境信息选取
动作并指导无人机飞行。
[0117] 步骤五,将完成迁移的确定性策略梯度神经网络的无人机用于复杂环境下,实现自主导航。
[0118] 此时无人机上的确定性策略梯度神经网络模块已经接受了虚拟训练环境下的高强度训练,同时也完成了向真实环境的迁移。于是搭载着该确定性策略梯度神经网络模块
的无人机能在复杂环境下完成自主导航的任务。
[0119] 实施例
[0120] 在本发明的实施例中,对于任一时刻无人机所采集图像的环境信息st,首先输入卷积神经网络,卷积神经网络对环境信息进行多层计算,提取出当前环境中状态空间信息
的特征向量φt,输出至动作网络μ。
[0121] 在卷积神经网络这一部分,输入是环境信息向量st,输出是表征当前环境中状态空间信息的特征向量φt。卷积神经网络在对图像信息进行多层计算时,实际上就是在进行
特征提取的工作。这是因为卷积层在处理图像信息时具有平移不变性,即抓住图像主要特
征。这部分卷积神经网络的参数将和后续的动作网络μ一起依靠策略梯度进行更新。
[0122] 卷积神经网络的结构,如图4所示,输入部分是当前t时刻维度为(227,227,3)的环境信息向量st。在本实施例中,在卷积层1中,设置卷积核为96个,每个卷积核大小为(11,
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。
[0123] 可以看出,输出与输入相比,维度大幅缩减,只保留了主要的维度,这正是用卷积神经网络进行特征提取的目的所在。训练好的神经网络不仅能应对训练过程中的环境,对
于那些与训练环境有相同特征的环境也能较好地处理。无人机飞行的真实环境肯定会与虚
拟训练环境有所不同,但只要二者有共性,无人机上搭载的神经网络就能对当前真实环境
进行正确的认知。
[0124] 计算奖励网络R对于距离信息计算奖励,公式如下:
[0125]
[0126] 在实际的自主导航任务中,起点、终点以及无人机当前位置都是已知信息,未知的是任务中所处环境信息。因此,在计算奖励公式中的第一项‑δddist中本发明引入了与到目
标位置距离相关的奖励项,虚拟无人机的位置与终点的距离越短,所获得的奖励越大。第二
项 表示的是虚拟无人机与障碍物之间的关系。当两者越近时,获得的奖励就会越小,
这促使虚拟无人机尽可能远离障碍物。这样的奖励方式保证了无人机能够在朝着目标不断
移动的前提下注意规避可能发生碰撞的障碍物。同时,从以上计算奖励公式可以看出,这是
一种连续的奖励设置方式,可以保证奖励能够较为稠密的分布在环境上。这样做有助于提
高无人机飞行轨迹的平滑性,使得无人机不会在飞行途中有较为剧烈的速度或方向上的变
化,以达到安全和节能的效果。
[0127] 后续的动作网络,目标动作网络,评价网络,目标评价网络和经验回放池是确定性策略梯度神经网络的主体部分。该神经网络的主体框架是基于强化学习中的“演员—评论
家”框架构建的。在这里“演员”指的就是动作网络,由动作网络根据当前状态信息做出动
作。“评论家”指的就是评价网络,评价网络对于动作网络做出的动作有一个反馈,使得动作
网络不断更新以求得到评价网络更高的评定。上述的目标动作网络、目标评价网络、经验回
放池的引入是为了在更新动作网络和评价网络的网络参数时能更快更好地收敛,进而使得
最终训练好的模型会有比较出色的表现。
[0128] 具体来说,动作网络μ在产生动作at时只与表征当前时刻状态空间的特征向量φt有关,有下式成立:
[0129] at=μ(φt|θu)+Nt;
[0130] 动作网络μ对特征向量φt进行计算,输出了一个三维向量at=(λ,ω,v),λ、ω、v分别表示球坐标下虚拟无人机的水平角、俯仰角和速率。其中,水平角λ的范围为[0,π],在这
里本发明默认无论是在训练环境还是在真实环境下无人机都是一直朝前飞行。俯仰角ω的
范围为 速率v在本实施例中定为[0,10m/s],速率的范围可以根据无人机实际任
务场景进行调整,比如在室内环境下,速率最大值应该进一步降低。在室外较为空旷的环境
下,速率最大值可以在动力范围内尽可能增大。
[0131] 如图5所示,为动作网络结构图:动作网络μ依次由两个全连接层和一个输出层构成。在本实施例中,全连接层1的参数设置为64个计算单元,激活函数设置为“ReLu”整流函
数;全连接层2的参数设置为32个计算单元,激活函数设置为“ReLu”整流函数。因为输出的
动作at是一个三维向量,所以在输出层上设置3个计算单元,分别对应着动作at中的水平角
λ、俯仰角ω和速率v。在输出层上激活函数定为“SoftMax”函数。
[0132] 经验回放池中存储的四元组<φt,at,rt,φt+1>反映了强化学习的基本思想,即智能体在当前状态下选择动作,采取动作后智能体获得相应的奖励并且环境也与智能体进
行交互,使得智能体来到下一状态。本发明将使用随机采样的方式从经验回放池中选取任
一时刻i的四元组<φi,ai,ri,φi+1>,传递给后续的评价网络Q、目标评价网络Q'以及目标
动作网络μ',进行网络更新。
[0133] 所述四元组均为虚拟无人机在训练环境内一边飞行一边采集计算得到的,并且飞行轨迹往往都很平滑,并考虑惯性,所以存储在经验回放池的相邻四元组之间有很强的相
关性,而这种相关性是不利于后续网络更新参数的。但使用随机采样的方式可以打破训练
样本之间相关性。同时,随机采样出来的四元组之间状态和奖励的变化都十分剧烈,可能前
一组距离障碍物还很远,奖励很大,下一组就距离障碍物很近,奖励很小。这种急剧的变化
能更好地帮助算法部分理解到危险状态与安全状态的差异。于是搭载着训练好的神经网络
的无人机能在真实环境下朝着目标位置更加安全地飞行。
[0134] 评价网络Q的作用在于评定动作网络μ所产生的动作的好坏。这个评价的标准就是强化学习中的Q函数,即Q(φ,a)。该函数的大小与表征状态的特征向量φ有关,也与动作a
有关。本发明实施例中采用神经网络来非线性近似评价函数Q。
[0135] 如图6所示,评价网络Q的网络结构:评价网络Q以特征向量φt和动作at为输入,并以最终的评价值Q(φt,at)为输出。评价网络Q的结构图与动作网络μ的结构图在整体上基本
一致。在全连接层1上,设置为64个计算单元,激活函数采取”ReLu”整流函数。全连接层2设
置为32个计算单元,激活函数采取”ReLu”激活函数。而在输出层上,因为只需输出一个值,
所以设置1个计算单元即可,激活函数为”Sigmoid”函数。
[0136] 评价网络Q除了要评定动作的好坏,还要给动作网络μ反馈,即更新动作网络μ的网μ μ
络参数θ。网络参数θ更新公式如下:
[0137]
[0138] 在更新动作网络μ的网络参数θμ时,依靠链式法则从Q函数出发求出网络参数θμ关于Q函数的梯度,即按照 这个公式导出相应的梯度表达式。该梯度
在理论上也叫做策略梯度。之后再将N个四元组中的特征向量φi和动作ai代入策略梯度表
μ
达式中并进行求和平均,于是得到网络参数θ关于Q函数的梯度,记为 在有了具体的
梯度值以后,再以此梯度进行动作网络μ内的反向传播,从而完成网络参数的更新。动作网
络μ在不断的更新之后才能够更好地根据当前状态进行动作选取,迁移到真实环境下,训练
好的神经网络才能够指导无人机依据目前环境做出更合理的动作。
[0139] 从动作网络μ更新自身网络参数θμ的过程来看,评价网络Q也参与其中。因此,评价Q
网络Q的网络参数θ将影响到动作网络μ参数的更新。另外本发明从概念的角度来看,只有
当评价网络Q有较好的性能表现时,它才能给出一个有价值的评定。于是评价网络Q也需要
进行更新,这样才能使得它的评价是有意义的。网络参数的更新需要构建损失函数并将从
损失函数上求得的梯度进行反向传播。对于动作网络μ来说,它的更新方式是直接求取策略
梯度并以此在网络内进行反向传播。
[0140] 而对于更新评价网络Q的网络参数θQ而言,本发明就需要引入其他的神经网络来构建损失函数并求解梯度,再以梯度作为标准进行网络内的反向传播。为此本发明引入了
目标评价网络Q'和目标动作网络μ'。这两个网络可以分别看作是评价网络Q和动作网络μ的
副本。Q'与Q的网络结构是一致的,μ′与μ的网络结构也是一致的,网络的初始化参数也是相
同的。差异只是在于更新网络参数时,目标评价网络Q'和目标动作网络μ'相比较于目标网
络Q和动作网络μ有一定的滞后性,用数学表达式加以表示有以下结果:
[0141] τθQ+(1‑τ)θQ′→θQ′
[0142] τθμ+(1‑τ)θμ′→θμ′
[0143] 其中,τ表示滞后因数,是一个[0,1]范围内的常数。
[0144] 设置参数更新上的不同步一共有两个原因。一是从优化理论上出发,参数的不同步可以帮助网络更快收敛。二是考虑到动作网络μ还需要实时产生动作at指导无人机下一
步行动,为了不影响自主导航的实时性,重新构建一个类似的目标动作网络μ′是很有必要
的。
[0145] 在更新评价网络Q时,本发明依然需要从经验回放池中采样出N个四元组。评价网络Q函数估计值yt从理论上可以由下式计算得到:
[0146] yt=rt+γQ(st+1,at+1)
[0147] 其中,γ是折扣率,取值为[0,1]之间。
[0148] 针对第i组四元组<φi,ai,ri,φi+1>,可以利用目标动作网络μ′加以计算,得到μ′ Q′
ai+1=μ′(φi+1|θ)。同时,依靠目标评价网络Q′计算出对应的Q函数值Q′(φi+1,ai+1|θ)。
[0149] 于是结合以上这两项,可以求出第i组四元组的Q函数估计值yi,如下式所示:
[0150] yi=ri+γQ′(φi+1,μ′(φi+1|θμ′)|θQ′)
[0151] 于是可以构建损失函数,形式如下:
[0152]
[0153] 计算出每一组Q函数估计值与由评价网络Q计算出的实际Q函数值的差值,并将差Q
值均方再平均就得到了损失函数L。对该损失函数求关于评价网络参数θ的梯度 并
Q
将该梯度在评价网络Q内反向传递即可完成评价网络参数θ的更新。
[0154]
[0155] 上式是将第i组四元组中的特征向量φi和动作ai代入并对损失函数L原式求梯度得到的。
[0156] 当网络参数不断更新趋于收敛时,损失函数中的差值也会越来越小,所求得的梯Q
度值 也会越小。这就说明了随着训练的进行,评价网络参数θ的更新幅度也会减小直
到收敛。从这一角度看,上述损失函数的构建是合乎客观规律的。