【《无人驾驶控制深度强化学习算法仿真实验分析案例》6900字(论文)】_第1页
【《无人驾驶控制深度强化学习算法仿真实验分析案例》6900字(论文)】_第2页
【《无人驾驶控制深度强化学习算法仿真实验分析案例》6900字(论文)】_第3页
【《无人驾驶控制深度强化学习算法仿真实验分析案例》6900字(论文)】_第4页
【《无人驾驶控制深度强化学习算法仿真实验分析案例》6900字(论文)】_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

无人驾驶控制深度强化学习算法仿真实验分析案例目录TOC\o"1-3"\h\u20502无人驾驶控制深度强化学习算法仿真实验分析案例 1301781.1演员评论家策略梯度算法研究 121461.2基于PPO算法的虚拟车辆控制系统设计 2311471.2.1PPO算法介绍 2200051.2.2动作策略函数设计 2122001.2.3网络框架设计 398521.3基于DDPG算法的虚拟车辆控制系统设计 318751.3.1DDPG算法介绍 437191.3.2网络结构设计 6201471.3.3损失函数的设计 8215101.4训练结果分析 9237991.4.1实验配置 9307461.4.2实验结果分析 10170851.5DDPG改进算法 1353461.5.1经验回放池的改进 14137571.5.2状态特征数据聚类分析处理 14176611.5.3改进结果比较 15演员评论家策略梯度算法研究在深度强化学习算法中演员-评论家算法框架得到了充分应用,该框架将值函数估计算法和策略搜索算法集成在一起,是解决实际问题时首先考虑的框架。众所周知的“阿尔法go”便运用了演员评论家算法框架。下面介绍一下演员-评论家策略梯度法的原理。演员-评论家策略梯度算法结合了值函数近似求解,具体分为两个部分。演员(Actor)和评论家(Critic)。演员负责更新策略,而评论家负责更新动作值函数ADDINNE.Ref.{44C92489-58CB-45F2-B5A6-0659A3C4AA70}[31]。在算法原理上,演员负责计算下式策略梯度定理中的评价函数,评论家负责更新式中关于该策略的动作值函数如公式REF_Ref73378475\h(41)所示:(STYLEREF1\s4SEQ公式\*ARABIC\s11)其中,演员负责更新策略,并根据评论家的动作值函数更新参数。同时评论家负责更新动作值,并根据函数近似法更新参数。如REF_Ref73320327\h图51为演员-评论家算法架构的示意图,从图中可得出该算法结合了策略梯度和值函数近似两种方法:演员基于概率选择动作,同时评论家基于演员选择的动作评价该动作,然后演员根据评论家的评分修改后续选择动作的概率。在演员选择动作后,其余步骤与通用的强化学习框架类似,环境执行智能体选择的动作并输出反馈信号(奖励和状态)给智能体。图STYLEREF1\s4SEQ图\*ARABIC\s11演员-评论家算法架构的示意图简而言之就是智能体先在环境中找到起始状态s。然后按照演员的策略选择动作,之后在环境中执行动作得到奖励和下一个状态。然后根据公式算处评论家的更新参数,该参数将作为演员的指示信号来指导演员该如何修正输出的动作概率。最后,进入与之相对应的下一时间步来执行更新操作。接下来,本文将重点介绍并使用基于演员-评论家算法框架的两种目前主注的PPO算法和DDPG算法。基于PPO算法的虚拟车辆控制系统设计PPO算法介绍PPO是目前主流的深度强化学习算法,OpenAI把PPO作为目前的baseline算法,换句话说,OpenAI在做尝试的时候首选的是PPO算法。由此我们可以感受到PPO可能是目前适用性最广的一种算法。动作策略函数设计为了解决在路径规划过程中无人车输出动作的连续性问题,本文在PPO算法的基础上,同时根据PPO动作策略函数和运用正态分布函数将策略函数重新定义如公式REF_Ref73378742\h(42)所示:(STYLEREF1\s4SEQ公式\*ARABIC\s12)式中:和分布代表带有参数向量策略分布的方差和期望。基于上述动作策略函数可知,无人车的线速度v和横摆角速度会从正态分布中采样。相比离散采样,在正态分布中采样能使输出动作数值连续,所以能解决输出动作连续性问题。而后通过更新参数能够改变正态分布的期望和方差。从而改变动作的采样概率,让好的动作采样概率更高,坏的动作采样概率更低,进而得到更优策略。同时无人车的线速度和角速度应该有上限值,如果不对正态分布期望进行限制,大多采样动作会超出其上限值,会导致许多采样动作将对模型的更新起不到作用,从而使模型收敛速度慢。所以要使用Tanh激励函数对正态分布期望进行限制。因为Tanh激活函数方程取值范围为(-1,1),将其乘以期望因子可限制策略分布的期望,将策略分布期望定义如公式REF_Ref73378787\h(43):(STYLEREF1\s4SEQ公式\*ARABIC\s13)其中,期望因子取值为无人车线速度和横摆角速度的上限值。网络框架设计本文根据上述定义设计了决策模型的网络框架,其中包括一个输入层、演员网络和评论家网络。输入层是状态空间序列,将分别输入进演员网络和评论家网络的隐藏层中。值得注意的是演员网络和评论家网络的隐藏层都是全连接层,并且第一层都有256个节点,设置激励函数为Relu(),同时第二层都有128个节点,设置激励函数为Tanh。其中,演员网络将选择策略分布的期望和方差,从而构造无人车线速度v的正态分布以及无人车横摆角速度的正态分布。同时决策动作将会根据其分布函数采样。评论家网络将估计评价函数,该评价函数可算出优势函数,进而得到奖励函数的值,并参与演员网络策略分布的参数更新。基于DDPG算法的虚拟车辆控制系统设计DDPG算法介绍因为DQN算法只能作用于离散动作的强化学习任务,为了使深度强化学习算法能够应用到连续动作空间中,TPLillicrap等人提出了深度确定性策略梯度算法(DeepDeterministicPolicyGradientAlgorithms,DDPG)。他们将深度神经网络与DPG算法进行融合,并使用演员-评论家算法作为该算法的基本框架。使用DDPG算法的优势如下:(1)深度神经网络作为函数近似:采用了卷积神经网络作为策略函数与动作值函数的近似,然后使用随机梯度下降算法训练上述两个神经网络模型中的参数。其利用了非线性近似策略函数的准确性、高效性和可收敛性使得深度强化学习能够处理确定性策略问题。(2)引入了经验回放机制:演员和环境交互时产生的状态转化样本数据具备时序关联性。学习了DQN算法的经验回放机制,去除了样本间的相关性和依赖性,并且减少了函数近似后进行值函数估计所产生的偏差,从而解决了数据间相关性及其非静态分布问题,使得算法更容易收敛。(3)使用了双网络架构:策略函数和价值函数均使用了双重神经网络模型架构(目标网络和在线网络),从而使得算法的学习过程更加稳定,同时收敛更快。实验证明只使用单神经网络算法的强化学习算法,动作值(Q值)学习过程可能会出现不稳定。因为价值网络的参数在频繁梯度更新的同时又作用于计算策略网络的梯度。根据上述问题,DDPG算法分别为策略网络和价值网络各自创建两个神经网络,其中一个为在线网络(Onlinenetwork)另一个为目标网络(Targetnetwork)。(STYLEREF1\s4SEQ公式\*ARABIC\s14)(STYLEREF1\s4SEQ公式\*ARABIC\s15)如公式REF_Ref73378864\h(44)和公式REF_Ref73378865\h(45)所示,DDPG算法使用了四个网络模型,其更新关系是在结束一次小批量(Min-batch)样本数据的训练后,通过梯度上升或梯度下降更新在线网络的参数,然后再通过软更新(Softupdate)算法更新目标网络的参数ADDINNE.Ref.{436A2BEC-0065-4079-A89D-957E9FA71412}[32]。值得注意的是,DQN算法中网络的更新采用硬更新(Hardupdate)方式,即每隔固定时间步数更新一次目标网络。而DDPG算法的网络更新采用软更新方式,即每一时间步都会更新目标网络,只不过更新的幅度较小。采用软更新方式的优点是目标网络参数变化小,同时在训练过程中计算在线网络的梯度较为稳定,并且训练容易收敛。随之而来的代价就是网络学习过程中每次迭代的参数变化很小,学习过程很漫长。下图所示为DDPG算法的伪代码:初始化:随机初始化评论家网络和演员网络的权重参数、初始化目标网络和,其中网络的权重参数为、初始化经验回放池R重复经验轨迹(episode)随机初始化过程N进行动作探索获得初始状态值重复t到T(step):(1)根据当前带有噪声的策略计算当前时间步的动作(2)执行动作并记录奖励和新的状态(3)存储转换经验在经验池R中(4)从经验池R中随机采样小批量的N个转换经验样本设(5)最小化损失函数更新评论家网络(6)使用梯度策略算法更新演员网络(7)更新目标网络DDPG算法整体的控制与更新流程如REF_Ref73320389\h图STYLEREF1\s42所示:图STYLEREF1\s4SEQ图\*ARABIC\s12DDPG算法整体的控制与更新流程图从图中可以得出:DDPG算法框架满足强化学习的马尔可夫决策过程。虚线框中包含了做为智能体的演员和评论家。并且演员和评论家均包含在线策略和目标策略两个网络模型。其中演员负责策略网络,评论家负责价值网络。通过演员与环境交互过程,把交互所产生的样本存储在经验池中,然后在下一时间步经验池把小批量样本数据传递给演员和评论家进行计算。网络结构设计DDPG算法的核心就是要训练四个网络,Actor网络,Critic网络,Target-Actor网络,Target-Critic网络。其中Actor网络包含2个隐藏层,并分别含有300个和600个单元。Critic网络有3个隐藏层,并分别含有300个、600个和600个隐藏层。Actor网络是策略的优化,输入的是传感器的29维感知信息,输出的是无人车需要执行的动作。Critic网络作为Q函数的近似值,用动作值和观察到的状态作为输入和输出这些动作值的得分,用以评价该状态下动作值的好坏ADDINNE.Ref.{14175565-BD31-4136-B0E6-08CFE7FDF126}[33]。为了进一步提高模型训练的稳定性,本文采用经验重放机制来解决数据间相关性问题。我们知道单个网络同时用于参数的更新和Q值的计算可能会造成网络的不稳定,所以采用双网络结构分别计算数据更新和值函数。对于Target-Actor网络和Target-Critic网络,则采用软目标更新(softtargetupdate)的方法。(1)Actor网络的设计Actor网络用来产生驾驶策略,经过添加感知噪声后,使得虚拟环境下的无人车预测下一步的行为。运用神经网络搭建DDPG算法框架中的Actor网络,该网络结构具体设计过程如下:①输入层的设计Actor网络的输入层是由TORCS平台的汽车传感器提供的29个环境状态值,这些环境状态值详情见于表4.3。②隐藏层设计隐藏层被设计为2层,分别含有300和150个神经元。由于Relu函数在非负区间的梯度为常数,所以在进行梯度更新时并不存在梯度消失的问题,而且没有复杂度指数运算,在进行计算时比较简单,效率也较高。所以该层激活函数都采用Relu函数。③输出层的设计Actor网络的输出包含方向盘(Steering),油门(Accel)与刹车(Brake)三个控制动作,所以输出层连接了三个神经元,这三个神经元分别使用三个激励函数:Sigmoid、Relu和Tanh激励函数,之后输出3个连续的动作。(2)Critic网络的设计Critic网络也是一个神经网络,用来评价驾驶策略的优劣。这个网络接受汽车状态和动作,然后输出汽车状态-动作值函数的估计值。输出层利用Relu激励函数来合并动作集和状态集。①输入层设计Critic网络的输入层共分为两部分,第一部分与Actor网络输入层相同,为车载传感器信息,共计29个输入量。所以第一部分输入层为29个神经元。第二部分为上述Actor网络根据车载传感器信息输出的车辆控制器信息,共计3个输入量,所以第二部分输入层为3个神经元。②隐藏层的设计隐藏层被设计为5层,输入状态向量的隐藏层被设计为2层,输入动作向量的隐藏层被设计为1层,两者输出层相加后再经过2层隐藏层到最后的输出层。同Actor网络隐藏层一样均采用Relu激励函数。③输出层设计Critic网络的输出为状态—动作值函数,输出量为1,所以神经元个数为1。损失函数的设计DDPG算法从外层来看由演员和评论家两部分构成,因此设计函数时,首先就需要求解两个损失函数ADDINNE.Ref.{2E4D1A9C-709D-4364-9AF3-D849656CF5B5}[34]。演员网络的策略网络的参数化为,基于确定性理论,由状态s得到动作a。然后利用链式法则完成演员网络的迭代更新,J为期望奖励,其对演员参数的策略梯度如公式REF_Ref73378923\h(46)所示:(STYLEREF1\s4SEQ公式\*ARABIC\s16)评论家网络根据策略的期望奖励值如公式REF_Ref73378950\h(47)所示:(STYLEREF1\s4SEQ公式\*ARABIC\s17)是确定性的策略,为减少内部期望的影响,可将其记作公式REF_Ref73378987\h(48):(STYLEREF1\s4SEQ公式\*ARABIC\s18)然后将上式记为公式REF_Ref73379026\h(49):(STYLEREF1\s4SEQ公式\*ARABIC\s19)DDPG是基于Q-learning的贪心策略,其中的随机策略表示为公式REF_Ref73379113\h(410):(STYLEREF1\s4SEQ公式\*ARABIC\s110)所以评论家网络的损失函数如公式REF_Ref73379140\h(411)所示:(STYLEREF1\s4SEQ公式\*ARABIC\s111)其中是评论家的参数化,是目标评论家的参数化。训练结果分析实验配置在本实验中,训练和测试赛道如所示。本实验选用RoadTracks-Wheel1地图作为训练地图如REF_Ref73374059\h图STYLEREF1\s43所示,此地图线路长度为4328.54米,道路宽度为14米,道路上坑洼点20个。本实验在此地图上进行了3000回合,每回合500步的训练。图STYLEREF1\s4SEQ图\*ARABIC\s13RoadTracks-Wheel1赛道图测试地图分别为DirtTracks-Dirt1和RoadTracks-CGTrack3,赛道图如REF_Ref811\h图STYLEREF1\s44(a)(b)所示。(b)图STYLEREF1\s4SEQ图\*ARABIC\s14(a)DirtTracks-Dirt1赛道图和(b)RoadTracks-CGTrack3赛道图另外,在进行深度强化学习算法的训练过程中,非常重要的一点就是如何判断当前状态为终止状态ADDINNE.Ref.{00462BCC-3607-419E-A1A8-C3A8FC2FCD3E}[35]。所以在训练过程中,本实验设定当遇到以下状态时,就判定无人驾驶过程一回合结束:(1)在任何情况下车辆碰到道路边缘。(2)车辆开始向相反方向行驶。(3)行驶到规定的最大步数。(4)车辆按照指定路线跑完一圈。实验结果分析强化学习属于机器学习中的无监督学习算法,评判算法的性能指标不同于其他监督学习算法,在强化学习中,通常应用随训练时间变化的奖励值来评判算的优劣。奖励值的收敛速度表现了算法是否能快速的寻找到固定策略,而奖励值的大小表现了算法收敛到的是否为最优策略。(a)(b)图STYLEREF1\s4SEQ图\*ARABIC\s15(a)PPO算法的训练结果,(b)DDPG算法的训练结果图STYLEREF1\s4-SEQ图\*ARABIC\s16DDPG可视化结果展示图图STYLEREF1\s4SEQ图\*ARABIC\s17PPO算法可视化结果展示图图STYLEREF1\s4SEQ图\*ARABIC\s18不同赛道图PPO和DDPG算法的平均奖励值图STYLEREF1\s4-SEQ图\*ARABIC\s19PPO算法和DDPG算法的训练时间对比图PPO算法的训练结果如REF_Ref73374872\h图STYLEREF1\s45(a),DDPG算法的训练结果REF_Ref73374872\h图STYLEREF1\s45(b)所示。DDPG算法可以获得更高的平均奖励值和最高的奖励值,说明在训练过程中,DDPG算法可以学习到更优策略。同时也可以看出,DDPG算法收敛速度更快,这说明其学习效率更高。可视化结果如REF_Ref9860\h图STYLEREF1\s4-6和REF_Ref73322308\h图STYLEREF1\s47,实验表明两种算法均可完成训练任务,但从中也可以看出通过DDPG算法训练模型控制的小车在弯道处容易发生碰撞。这表明DDPG算法的泛性能力不如PPO算法。如REF_Ref73375615\h图STYLEREF1\s48所示,从图中可以看到,两种算法所获得的奖励值均低于训练时所采用的地图。同时可以发现在测试赛道上PPO算法的平均奖励较DDPG算法的平均奖励高,这也说明DDPG算法的泛性能力不如PPO算法。在3000次试验的训练过程中,我们对每次试验结束时的训练时间进行了记录,PPO算法和DDPG算法的训练时间对比图,如REF_Ref4090\h图STYLEREF1\s4-9所示。从图中可以看出,DDPG算法单次训练所花费的时间比PPO算法长。综上所述,我们可以发现,虽然DDPG算法在相同迭代次数下训练的学习效率比PPO算法高,但是其单次训练所花费的时间比PPO算法长。而DDPG算法在非训练赛道上的失误率较高,也就是说DDPG算法的泛化能力不如PPO算法。因为,评价一个深度强化学习算法优劣的核心指标是其学习效率和奖励值,所以我们结合PPO算法的优点,对DDPG算法的泛化能力不足和单次训练所花时间较长这两个缺点进行改进。DDPG改进算法由于DDPG算法会对所有的经验数据进行处理,其计算成本会随着试验的进行不断提高,在真实的自动驾驶学习任务场景中,这种成本是无法接受的。所以改进的一个方面是对经验回放池的大小进行限制,另一个方面是提高对经验数据的处理速度,本文采用的方法是对状态特征数据进行聚类分析处理。经验回放池的改进经验池回放技术能够解决序列数据中存在的相关性问题,Agent的学习单元在每次试验结束后,都从经验池中读取样本数据进行训练学习,并更新控制网络模型的权值。于是本文对经验池回放的大小进行了限制,从而达到仅保存一些较优的历史序列的状态。本实验的经验池大小设置为。虽然此经验池可以存储全部经验数据,在3000回合每回合500步的实验设置中。但如果对所有的经验都保留下来的话就会拖慢训练速度。所以考虑可以对经验池部分进行了增减设计,这是为了在经验存储达到的目标值时,经验池就会删除掉实验最开始存放的数据,这样就给新的交互数据提供存储空间。该方法使经验池中的数据成为了流动数据,在训练后期能够丢弃部分训练前期失败经验数据,通过更新经验池使得在模型训练采样时的成功经验比失败经验的比例增大,进而提高了训练速度。本实验认为在通常情况下,状态对越少的试验,控制次数也就越少,无人车行驶的距离也就会更短,对我们的学习越没有意义,因此优先剔除它。状态特征数据聚类分析处理本次实验过程中,进一步分析经验池回放的状态特征数据之后,发现有些数据具有很强的冗余性。例如在实验开始的时,很多次都只能行驶非常短的距离。这是由于智能体一直没有较好的数据可以让其从中学习。有时实验好多回合都是行驶一样的距离,犯同样的错误许多次都不能纠正。总而言之,智能体在探索环境的过程中,可能会产生许多没有实际意义的经验数据。过多冗余数据和没有实际意义的数据会给根据经验池数据的学习带来很多阻碍。所以本文尝试对经验池中样本数据的处理方式进行进一步改进。在尽量保持样本数据独立同分布的前提下,通过使用聚类再采样的技术,从而使用更少的经验池数据,以此实现自动驾驶策略模型的高效率训练。本文对此做了进一步地改进,在经验池数据库的原有基础上搭建一个聚类分析的处理模块。我们可以通过此模块先对经验池中的数据进行分类,再按各类别的分布情况,分情况采样样本数据用于网络的训练。当Agent的学习单元从经验池中采样新的样本数据进行训练的时候,首先会根据每次试验数据中状态序列值进行归类分析。根据状态和动作的值,计算其与分类模型中每一类别的欧几里得距离大小,并将其分配到距离最小的一个类别中。处理完经验池数据库中所有试验序列后,再根据每次试验中同类别下的数据量的大小,按照预设的比例参数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论