温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
一种
改进
策略
优化
算法
费正顺
浙江科技学院学报,第 卷第期,年月 ,:收稿日期:基金项目:浙江省重点研发计划项目();浙江省自然科学基金项目();浙江省教育厅科研项目();浙江科技学院研究生科研创新基金项目()通信作者:项新建(),男,浙江省永康人,教授,硕士,主要从事人工智能、机器人技术研究。:。一种改进的近端策略优化算法费正顺,王焰平,龚海波,项新建,郭峻豪(浙江科技学院 自动化与电气工程学院,杭州 )摘要:近端策略优化(,)是从一个已知的分布附近来采样估计另一个分布,通过用新策略在老策略的附近学习来实现优化的,其中老策略作为新策略的近似分布。【目的】针对 算法在强化学习中学习效率及收敛性不够好的问题,提出一种改进的 算法。【方法】首先提出一种新损失函数来更新 算法中的网络参数,采用泛化优势估计(,)对优势函数进行描述;然后采用类似异步优势演员 评论家(,)算法中的多线程策略来训练智能体;最后设计新的参数更新方式来实现对主副两种网络中的参数更新。【结果】本方法能够使智能体更快地完成学习训练,其训练过程中收敛性更好;由于多线程,其算法的训练速度会比常规的 算法至少快倍。【结论】改进的 算法其性能更好,这为后续强化学习算法的研究提供了新思路。关键词:强化学习;近端策略优化;泛化优势估计;多线程中图分类号:文献标志码:文章编号:(),(,):(),();,();,;,:;强化学习属于机器学习的一种类型,根据动物心理学的相关原理模仿人类和动物学习的试错机制,它是一种通过与环境相互作用来学习从状态到行为的映射关系,从而使累积预期收益最大化的方法。目前它已经在很多领域得到运用,如工业制造、机器人系统、机器人控制、自动驾驶等。近些年来,随着强化学习研究的不断深入,许多相关算法也涌现出来。其中比较有代表性的是深度学习网络算法(,),它将神经网络运用于强化学习,能够有效地避免因过多的行为状态对信息造成的计算机内存不足。算法主要是通过价值(或奖惩值)来选择行为。有研究者提出策略梯度(,)算法,即直接通过状态来输出动作或动作的概率,由于其遵循的是梯度法,会向着优化策略的方向进行更新,因此具有很好的收敛性,但缺点是在使用梯度法对目标函数进行求解时,容易收敛到局部最小值。在演员 评论家(,)算法中,是基于概率来选择行为,用于评判 的行为得分,然后 又会根据 的评分修改行为的概率。这样就可以解决策略梯度算法在回合更新时效率低的问题,但存在难收敛的问题。为此深度确定性梯度(,)算法被提出,但它只在连续动作区间上输出一个动作值。为了解决 算法难以收敛及加快其训练速度,异步优势演员 评论家(,)算法将 算法放到多线程中进行同步训练。而置信域策略优化(,)算法的出现解决了 算法在平衡模型的方差和偏差时存在波动的问题,能够确保策略模型在优化时单调提升。随后在 的算法框架基础上,深度思考()公司提出了近端策略优化(,)算法。算法的提出解决了之前强化学习算法表现出的不足,比如传统的策略梯度方法数据利用效率低和鲁棒性差,信任区域策略优化()算法相对复杂。其主要优势体现在:易于部署且迭代过程中其方差较小,使用方便,训练起来也比较稳健。算法是一种用来解决策略梯度不好确定学习率(或者训练步长)问题的策略。在优化学习过程中如果训练步长过大,学出来的策略会难以收敛,但如果训练步长太小,则完成训练耗费的时间又会过长。算法利用新旧策略的比例来限制新策略的更新范围,使得策略梯度对过大的训练步长不太敏感。对此 公司在人工智能研究()公司发表的 算法基础上提出了新的 算法,其中单线程的 算法与 公司的 算法在更新 网络参数,及 网络参数的方式上不同。在此基础上,公司又提出分布式 算法(,),采用多线程来加快智能体的训练效率。一般的 算法在学习效率和收敛性上表现得不够理想,为此本研究提出一种改进的 算法:首先将泛化优势估计(,)作为优势函数来估计优势;然后参考文献 在 网络结构中选取网络参数的损失函数,参考文献 在参数的更新过程中选取对相对熵(,)散度项的限制,以此来更新参数,再参考文献 在 网络结构中选取网络参数的损失函数;最后提出一种新的主副网络参数更新方式。为验证算法的效果,我们在 模块的经典控制环境及复杂的 环境中进行了仿真试验。强化学习介绍 强化学习模型强化学习是一个马尔科夫决策过程,此过程可用一个五元组 构成:,。其中:为环浙江科技学院学报第 卷境的状态集,状态是智能体对环境的感知;为智能体的动作集,是智能体在当前的强化学习任务中选择图强化学习的过程 的动作范围;为状态转移概率,指智能体采取某一个动作后从当前状态到下一个状态的概率;为奖励机制,指智能体在当前状态下采取某一个动作后,环境反馈给智能体的奖励;为衰减系数(或折扣因子),用于计算当前状态的累计回报。强化学习是智能体与环境相互作用的过程。首先,智能体观测自己的当前状态,然后根据观测结果做出决策并采取相应的行为。一方面,该行为与环境相互作用,环境会对智能体的行为进行奖励;另一方面,该行为使得智能体从当前状态进入下一个状态。如此循环往复,直至结束循环,强化学习的过程 如图所示。值函数在强化学习过程中,状态到行为的映射关系可称之为策略,指在各个状态下智能体所采取的行为或行为概率。值函数是强化学习算法中最基础的评价指标,这个指标反映算法的优劣,它是智能体在给定的状态和最优策略下采取某个动作或行为时的优劣程度。值函数 主要分两种:一种为状态值函数(),是从状态开始,按照某种策略行为产生的长期回报期望;另一种为状态动作值函数(,),是在状态和策略下,采取动作,按照某种策略行为产生的长期回报期望。改进的 算法构造 优势函数的选取优势函数指智能体在状态下,采取动作时,其相应动作下产生的平均优势,从数量关系来看,就是随机变量相对均值的偏差,是将状态行为值函数归一化到值函数的基线上。这样有助于提高智能体学习的效率,减小方差及避免方差过大带来的过拟合。本研究采取了 作为优势函数的估计方式,其作用是能够平衡偏差和误差给价值函数及回报带来的影响。优势函数的表达式如下:()()();()()()。()式()()中:为时序差分误差,是每一时刻的现实值与估计值之间的差距;为超参数,用于调节方差与偏差之间的平衡,当时,就是计算时序差分误差;当时,就变成了蒙特卡罗 目标值和价值估计之间的差。目标函数的选取本研究选取变量来控制约束项和目标项之间的权重关系,将 散度作为目标函数的惩罚项,其目标函数也称为 网络的损失函数,表达式如下:()()(),()。()式()中:()()为新老策略概率的比例;为策略未更新前的参数;(),()为 散度项,表示新老策略之间的差距,主要是限制新老策略的更新幅度。在式()中,令(),(),为了计算训练数据平均 散度的阈值,设定一个目标值 。本研究对 散度项加了一个限制条件,在每次更新 网络参数的过程中,限制 ,而对它的约束可以通过和 的关系调整来实现:)如果 .,相当于放松 约束限制;)如果 .,相当于增强 约束限制。更新后的值将会在下一轮优化中发挥作用。用来更新 网络参数的损失函数()()。()第期费正顺,等:一种改进的近端策略优化算法 主副两种网络结构的参数更新方式本研究根据 算法及在 算法中用多线程训练智能体 的方式,将单线程的 算法改成了多线程的 算法。算法与 算法的网络结构都是基于 及 结构,与 算法均有两套网络结构,即主副网络。其中副网络相当于主网络的参数,但主副网络的参数更新方式不同。在此基础上,本研究提出了一种新的主副网络参数更新方式。由 算法原理可知,其工作原理就是将 算法放到多线程中进行同步训练,其主副网络的参数更新方式是:)各个线程均采用一个 (核)参与训练;)各个线程将主网络的参数复制过来与环境交互;)交互之后各个线程均会计算出各自的梯度,并将其推送给主网络,用来更新主网络的参数;)参数更新后,主网络再将其推送回副网络(各个线程)。如此循环。而对于 算法,其主副网络参数更新方式是:)将各个线程推送到不同的环境中(环境的个数取决于电脑 核的个数),主网络会控制各个线程在各自的环境中去收集数据(数据是由智能体训练时产生的);)分别对 与 中的网络参数和求梯度;)把这些梯度传送到主网络中,主网络会对所有线程推送过来的梯度求平均后,更新主网络的参数;)将更新后的参数推送回各个线程。如此循环。而本研究的主副网络更新方式则是:)将各个线程推送到不同的环境中去,让主网络来控制各个线程,在各自的环境中去收集数据;)用 优化器优化各自的学习率和最小化损失函数(沿梯度下降的方向更新网络中的参数)后,将各自的经验(与 中的网络参数(,)和(,)全部推送到主网络中;)将不同的经验放到一起去进行更新;)各个线程会清空之前缓存的数据;)主网络再将更新好的参数推送给各个线程;)各个线程会更新策略,让智能体继续进行训练,从而重新开始收集数据。如此循环。其中改进的 算法主网络、副网络运行程序流程图分别如图及图所示。图中:为智能体训练时总的迭代次数。图改进的 算法主网络运行程序流程图 图改进的 算法副网络运行程序流程图 浙江科技学院学报第 卷试验及仿真 环境的搭建 环境是在强化学习中应用最广泛的试验环境,其中内置了上百种试验环境,如经典控制环境、算法环境、环境、文字游戏环境、视频游戏环境等。本研究分别在 模块经典控制环境及复杂的 环境中进行了仿真测试。其中,经典控制环境“”如图所示,钟摆从一个随机位置开始,通过训练使其摆动起来从而保持直立;环境“”如图所示,为一个简单的三维四足机器人,通过训练使其学会行走;“”如图所示,为一个单腿的智能体,通过训练使其向前跳跃。在这种环境场景下对本研究提出的改进的 算法进行了测试,同时与一般的 算法进行对比。图“”“”图“”“”图“”“”本研究利用 下深度学习框架 进行编程,利用多线程来把单线程变成了多线程和队列来存放单线程收集的数据。运行硬件环境为处理器 ()()(核),显卡 ()及 ()。算法训练及结果分析将改进的 算法及 算法在 试验环境中进行测试。其中经典控制环境中“”仿真试验为试验一;复杂的 环境中“”“”分别为试验二和试验三。其中训练过程中相同参数设置如下:的学习率为 ,的学习率为 ,为 ,为,为 ,值为 。试验一:环境为“”,其他参数的设置情况如下:最大迭代的片段次数为 ,每个片段最大训练次数为 ,动作限制在,之间,模型经过 次迭代训练,其迭代的片段次数及平均片段的奖励如图所示。图“”仿真结果 “”第期费正顺,等:一种改进的近端策略优化算法试验二:环境为 模拟器中的“”,其他参数的设置情况如下:最大迭代的片段次数为 ,每个片段最大训练次数为 ,动作限制在,之间,模型经过 次迭代训练,其迭代的片段次数及平均片段的奖励如图所示。图“”仿真结果 “”试验三:环境为 模拟器中的“”,其他参数的设置情况如下:最大迭代的片段次数为 ,每个片段最大训练次数为 ,动作限制在,之间,模型经过 次迭代训练,其迭代的片段次数及平均片段的奖励如图所示。图“”仿真结果 “”从图可知,随着训练的迭代次数增加,改进的 算法图形(黄色曲线)会比 算法图形(蓝色曲线)更快趋于稳定,也就是获得更多的奖励,从而使钟摆更快地学会如何通过摆动来保持直立,且稳定后其收敛性会更好。在复杂的 环境中这种优势会更加的明显。从图可知,随着训练迭代次数的增加,黄色曲线比蓝色曲线更先趋于稳定,且其每个片段平均奖励更多。可见,改进的 算法使四足机器人能更快地学会行走,获得的奖励也更多。从图可知:蓝色曲线在训练的过程中波表各个试验所消耗时间的对比 试验改进的 算法耗时 算法耗时一 二 三 动比较大,黄色曲线比蓝色曲线获得更多平均片段奖励,且其稳定性也更好。同理,单足机器人在改进的 算法中也能很快地学会向前跳跃,且在训练的过程中其收敛性比 算法更好。在试验中,改进的 算法与 算法训练智能体的过程所消耗时间的对比见表。浙江科技学院学报第 卷由表可知,改进的 算法在参数相同的情况下,训练智能体的速度至少是 算法的 倍,最多是 倍。结语强化学习是一类重要的机器学习方法。为提