浙江科技学院学报

一般的PPO算法在学习效率和收敛性上表现得不够理想,为此本研究提出一种改进的PPO算法:首先将泛化优势估计(generalizeddominanceestimation,GAE)作为优势函数来估计优势;然后参考文献[13]在actor网络结构中选取网络参数θ的损失函数,参考文献[14]在参数θ的更新过程中选取对相对熵(Kullback-Leibler,KL)散度项的限制,以此来更新参数θ,再参考文献[14]在critic网络结构中选取网络参数Φ的损失函数;最后提出一种新的主副网络参数更新方式。为验证算法的效果,我们在OpenAIgym模块的经典控制环境及复杂的mujoco环境中进行了仿真试验。

图1强化学习的过程Fig.1Processofreinforcementlearning

在强化学习过程中,状态到行为的映射关系可称之为策略[17],指在各个状态下智能体所采取的行为或行为概率。值函数是强化学习算法中最基础的评价指标,这个指标反映算法的优劣,它是智能体在给定的状态和最优策略下采取某个动作或行为时的优劣程度。值函数[18]主要分两种:一种为状态值函数Vπ(s),是从状态s开始,按照某种策略行为产生的长期回报期望;另一种为状态动作值函数Qπ(s,a),是在状态s和策略π下,采取动作a,按照某种策略行为产生的长期回报期望。

优势函数指智能体在状态s下,采取动作a时,其相应动作下产生的平均优势,从数量关系来看,就是随机变量相对均值的偏差,是将状态行为值函数归一化到值函数的基线上。这样有助于提高智能体学习的效率,减小方差及避免方差过大带来的过拟合。本研究采取了GAE作为优势函数的估计方式,其作用是能够平衡偏差和误差给价值函数及回报带来的影响。优势函数的表达式如下:

式(1)~(2)中:δt为时序差分误差,是每一时刻的现实值与估计值之间的差距;λ为超参数,用于调节方差与偏差之间的平衡,当λ=0时,就是计算时序差分误差;当λ=0时,就变成了蒙特卡罗[19]目标值和价值估计之间的差。

本研究选取变量β来控制约束项和目标项之间的权重关系,将KL散度作为目标函数的惩罚项,其目标函数也称为actor网络的损失函数,表达式如下:

式(3)中:(πθ(at|st))/(πθold(at|st))为新老策略概率的比例;θold为策略未更新前的参数;yKL(πθold(·|st),πθ(·|st))为KL散度项,表示新老策略之间的差距,主要是限制新老策略的更新幅度。

用来更新critic网络参数Φ的损失函数

本研究根据A3C算法及在DPPO算法中用多线程训练智能体[14]的方式,将单线程的PPO算法改成了多线程的PPO算法。DPPO算法与PPO算法的网络结构都是基于actor及critic结构,与A3C算法均有两套网络结构,即主副网络。其中副网络相当于主网络的参数,但主副网络的参数更新方式不同。在此基础上,本研究提出了一种新的主副网络参数更新方式。

由A3C算法原理可知,其工作原理就是将AC算法放到多线程中进行同步训练,其主副网络的参数更新方式是:1)各个线程均采用一个CPU(核)参与训练;2)各个线程将主网络的参数复制过来与环境交互;3)交互之后各个线程均会计算出各自的梯度,并将其推送给主网络,用来更新主网络的参数;4)参数更新后,主网络再将其推送回副网络(各个线程)。如此循环。

而对于DPPO算法,其主副网络参数更新方式是:1)将各个线程推送到不同的环境中(环境的个数取决于电脑CPU核的个数),主网络会控制各个线程在各自的环境中去收集数据(数据是由智能体训练时产生的);2)分别对actor与critic中的网络参数θ和Φ求梯度;3)把这些梯度传送到主网络中,主网络会对所有线程推送过来的梯度求平均后,更新主网络的参数;4)将更新后的参数推送回各个线程。如此循环。

图2改进的PPO算法主网络运行程序流程图Fig.2FlowchartofprimarynetworkrunningprogramofimprovedPPOalgorithm

图3改进的PPO算法副网络运行程序流程图Fig.3FlowchartofsecondarynetworkrunningprogramofimprovedPPOalgorithm

图4“Pendulum-v0”Fig.4“Pendulum-v0”

图5“Ant-v3”Fig.5“Ant-v3”

图6“Hopper-v3”Fig.6“Hopper-v3”

本研究利用Python下深度学习框架tensorflow进行编程,利用多线程来把单线程变成了多线程和队列来存放单线程收集的数据。运行硬件环境为处理器Intel(R)Core(TM)i5-1035G1CPU(8核),显卡AMDRadeon(TM)630及Intel(R)UHDGraphics。

将改进的PPO算法及PPO算法在gym试验环境中进行测试。其中经典控制环境中“Pendulum-v0”仿真试验为试验一;复杂的mujoco环境中“Ant-v3”“Hopper-v3”分别为试验二和试验三。其中训练过程中相同参数设置如下:actor的学习率为0.0001,critic的学习率为0.0002,λ为0.98,γ为0.9,β为0.5,yKLtarget值为0.01。

图7“Pendulum-v0”仿真结果Fig.7“Pendulum-v0”simulationresult

图8“Ant-v3”仿真结果Fig.8“Ant-v3”simulationresult

图9“Hopper-v3”仿真结果Fig.9“Hopper-v3”simulationresult

强化学习是一类重要的机器学习方法。为提升强化学习的算法效率,我们提出了一种改进的近端策略优化(PPO)算法:在更新网络参数θ的损失函数中的散度项上加了限制,优损失函数;采取泛化优势估计作为优势函数的估计方式,平衡了偏差和误差给价值函数及回报带来的影响;采用多线程的方式,加快了训练的效率;在主副网络的参数更新方式上做了调整改进。改进的PPO算法与PPO算法均在gym环境中进行了仿真对比测试,结果表明改进的PPO算法会使智能体更快地学到经验,获得更多的奖励,且训练过程中收敛性更好。

THE END
1.算法训练平台猜你喜欢:算法训练平台将模型部署成数据集,同时管理,将模型管理和开发的算法提供模型管理,用户部署上线流程。前提条件已在ModelArts中创建可用的数据集,并已将用于训练的数据上传至OBS目录。已在OBS创建至少1个空的文件夹,用于存储训练输出的内容。由于训练作业运行需消耗资源,确保帐户未欠费。确保您使用的OBS目录与Modelhttps://www.huaweicloud.com/zhishi/edits-17561326.html
2.算法训练营(17.3GB)百度网盘资源下载第01课丨01数据结构与算法总览.docx- 14KB 第20课丨3字符串匹配算法.docx- 14KB 第20课丨2高级字符串算法.mp4- 1.0GB 第01课丨01数据结构与算法总览.mp4- 542.8MB 第20课丨3字符串匹配算法.mp4- 515.2MB 文件大小:16.1GB 算法训练营.极客时间 https://www.iizhi.cn/resource/detail/0f7f7c53304b45f78b806a986c3c4957
3.极客时间训练营算法训练营将通过录播、直播的形式进行教学,课时共 10 周,总时长约 40+ 小时;同时我们会通过直播答疑、助教答疑、随堂自测、阶段考试、不定期分享等帮你巩固学习。 Q:课程学完后能到什么水平? 课程以帮助顺利通过大厂算法面试为目标。 Q:直播是否有回看? 直播的录播视频会上传到学习平台方便大家回看,但为了更好https://u.geekbang.org/subject/algorithm3rd
4.AI入门指南(二):算法训练模型大模型是什么?人工智能(AI)已经成为现代科技的热门话题,但对于刚接触这个领域的人来说,其中的一些基本概念可能会感到困惑。本文将带你了解AI的几个关键概念:算法、模型、训练和大模型,并通过生活中的例子和实际应用来深入浅出地解释这些概念。 二、算法是什么? 概念 https://blog.csdn.net/weixin_41076816/article/details/141178706
5.训练神经网络的五大算法互联网下图是Levenberg-Marquardt算法训练过程的流程图。第一步计算损失值、梯度和近似海森矩阵。然后衰减参数和衰减系数。 由于Levenberg-Marquardt算法主要针对平方和误差类的损失函数。因此,在训练这类误差的神经网络模型时速度非常快。但是这个算法也有一些缺点。首先,它不适用于其它类型的损失函数。而且,它也不兼容正则项。最https://www.iteye.com/news/31902
6.程序员进阶之算法练习(十一)有感而发而在这个集体中生活,几年下来所累积的收获,绝不仅仅是和道友们在算法训练上的相互交流、扶持。(更何况大家都是靠自学,一起训练的意义主要还是为了制造竞争的氛围) 更多的是在三观上的互相影响,价值取向上的彼此升华。 和这样一群有趣的人在一起,也并不会觉得万般皆下品,唯有ACM最高。相反,作为一群平日里更喜https://www.jianshu.com/p/ee39c9c9158b
7.最新训练神经网络的五大算法腾讯云开发者社区神经网络模型的每一类学习过程通常被归纳为一种训练算法。训练的算法有很多,它们的特点和性能各不相同。 问题的抽象 人们把神经网络的学习过程转化为求损失函数f的最小值问题。一般来说,损失函数包括误差项和正则项两部分。误差项衡量神经网络模型在训练数据集上的拟合程度,而正则项则是控制模型的复杂程度,防止出现过https://cloud.tencent.com/developer/article/1090593
8.算法竞赛入门经典.训练指南.pdf大小:14.74 MB 字数:约小于1千字 发布时间:2018-11-21发布于陕西 浏览人气:782 下载次数:仅上传者可见 收藏次数:0 需要金币:*** 金币(10金币=人民币1元) 算法竞赛入门经典.训练指南.pdf 关闭预览 想预览更多内容,点击免费在线预览全文 免费在线预览全文 https://max.book118.com/html/2018/1119/6212152215001231.shtm
9.深度学习高手笔记卷1:基础算法第二篇主要介绍深度学习在自然语言处理方向的重要突破,主要介绍几个基础序列模型,如LSTM、注意力机制、Transformer等(第4章),以及近年来以BERT为代表的10余个预训练语言模型(第5章)。第三篇(第6章)将介绍模型优化的经典策略,分为两个方向,一个方向是Dropout及其衍生算法,另一个方向是以批归一化、层归一化为代表https://www.epubit.com/bookDetails?id=UB7d8623610d375
10.算法训练营(进阶篇)《算法训练营(进阶篇)》是2021年4月电子工业出版社出版的图书,作者是陈小玉。作品简介 本书以海量图解的形式,详细讲解常用的数据结构与算法,并结合竞赛实例引导读者进行刷题实战。通过对本书的学习,读者可掌握22种高级数据结构、7种动态规划算法、5种动态规划优化技巧,以及5种网络流算法,并熟练应用各种算法解决https://baike.baidu.com/item/%E7%AE%97%E6%B3%95%E8%AE%AD%E7%BB%83%E8%90%A5%EF%BC%88%E8%BF%9B%E9%98%B6%E7%AF%87%EF%BC%89/58546416