下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录摘 要(1)前 言(3)第1章 绪 论(4)第1.1节 研究背景(4)第1.2节 主要工作(4)第1.3节 本文结构(5)第2章 基于策略梯度的强化学习方法(6)第2.1节 强化学习(6)第2.1.1节 强化学习原理(6)第2.1.2节 马尔科夫决策过程(7)第2.2节 基于策略梯度的强化学习方法(8)第2.3节 本章小结(9)第3章 几种常见的基于策略梯度的强化学习方法(10)第3.1节 信赖域策略优化的强化学习方法(11)第3.2节 深度确定性策略梯度的强化学习方法(11)第3.3节 异步优势行动者-评论家强化学习方法(12)第3.4节 本章小结(12)第4章 几种策略梯度方法性能比
2、较(14)第4.1节 DDPG(14)第4.2节 A3C(15)第4.3节 TRPO(16)第4.4节 本章小结(17)第5章 总 结(18)参考文献(19)致 谢(20)摘 要 强化学习目前已经成为计算机领域中研究热点之一,很多计算机研究者也投身于该领域中寻求最优的强化学习算法来解决现实生活中的问题。目前有许多有关于寻求最优的强化学习的方法,有基于模型的动态规划法,也有无模型的强化学习方法。而基于策略梯度的强化学习方法也是学者们深入了解学习的方法之一。本文主要是在理解策略搜索方法的基础上学习策略梯度方法,之后研究了解几种基于策略梯度的强化学习方法,这里举例了TRPO、DDPG和A3
3、C这三种策略梯度的方法,研究分析这三种方法,通过实验来对他们的性能进行比较。 关键词: 强化学习;策略搜索;策略梯度;TRPO;DDPG;A3CAbstractReinforcement learning has become a hot topic in the field of computer,many computer researchers have also devoted themselves to finding the best reinforcement learning algorithm in this field to solve real life problems
4、. At present, there are many methods for seeking optimal reinforcement learning. There are model-based dynamic programming methods and model-free reinforcement learning methods. The policy gradient reinforcement learning method is also one of the methods for scholars to deeply understand learning. T
5、his article is mainly in understanding the search method on the basis of learning policy gradient method, then study to understand several reinforcement learning method based on policy gradient, here, for example the TRPO, DDPG and A3C these three gradient method, we will analyze these three methods
6、 by comparing their performance.Keywords: Reinforcement learning;Policy search;Policy gradient;TRPO;DDPG;A3C20前 言在机器学习的领域中,根据反馈的不同,学习技术可以分为监督学习、非监督学习和强化学习这三大类。其中强化学习作为一种以环境反馈作为输入的、特殊的、适应环境的机械学习方法,被认为是设计智能Agent的核心技术之一。近年来,随着高性能计算、大数据和深度学习技术的发展,强化学习算法也得到了广泛的关注和快速发展,成为目前机器学习领域的研究热点之一1。所谓的强化学习是从环境状态学习到动
7、作的映射,它的目的是通过环境行动获得的累积奖励值最大化。对于监督学习和非监督学习,它们是通过正例和反例来了解要采取什么行动,这些例子都是确定的、已知的,根据这些例子来采取相对较好的行动;强化学习它是一个互动的过程,需要在不断的尝试与测试的过程中找到最佳的动作,这个过程需要大量的搜集数据,通过分析这些数据来获取最佳的策略。强化学习通常涉及两个方面的问题:一方面是怎么样来进行强化学习,另一个是解决怎么样强化学习的方法或技术。强化学习的方法可以以策略为中心和以值函数最优为中心分为两大类,分别是策略优化方法和动态规划方法,策略优化的方法根据是否利用模型可以分为无模型的策略搜索方法和基于模型的策略搜索方
8、法。其中无模型的策略搜索方法根据策略是否随机,分为随机性策略强化学习和确定性策略强化学习。本文介绍的策略梯度的强化学习方法属于策略优化方法的一种,它在策略搜索方法中最先发展起来。第1章 绪 论第1.1节 研究背景强化学习目前已经成为计算机领域中研究热点之一。广大的计算机研究者也投身于该领域中寻求更好的、效率更高的强化学习算法来解决现实生活中的问题。强化学习的方法可以以策略为中心和以值函数最优为中心分为两大类,分别是策略优化方法和动态规划方法,策略优化的方法根据是否利用模型可以分为无模型的策略搜索方法和基于模型的策略搜索方法, 强化学习的大型应用需要使用广义函数逼近,如神经网络,决策树或基于实例
9、的方法。过去十年的主导的方法是价值函数方法,其中所有函数逼近努力进入估计价值函数,动作选择策略隐含地表示为估计值的“贪婪”策略(例如,在每个状态中选择具有最高估计值的动作的策略)。价值函数方法在许多应用程序中运行良好,但有一些限制。首先,它的目标是寻找确定性策略,而最优策略往往是随机的, Singh,Jaakkola和Jordan在1994提出了这个想法2 :选择具有特定概率的不同行为。其次,行动的估计价值发生细微的变化都有可能导致它被选中或不被选择。这种不连续的变化已被确定为建立价值函数法后的保证算法收敛的关键障碍。例如,Q-Iearning,动态规划方法都被证明无法收敛到简单的MDP和简单
10、的函数逼近。即使在改变策略之前的每个步骤中发现最佳近似值,以及“最佳”的概念是平均误差意义还是略微不同的剩余梯度,时间差的意义,以及动态编程方法。因此学者们提出了一种策略搜索的方法,即策略梯度算法,这种算法受到许多学者的欢迎,它也逐步成为强化学习的研究热点之一。第1.2节 主要工作本文主要是研究基于策略梯度的强化学习方法,要了解策略梯度的算法,首先要对强化学习的基本原理要有所了解,在了解强化学习的基本原理后要知道现有的学习框架是什么,本文会介绍马尔科夫决策过程,这是经过无数学者不断的研究所提供的一套最好的学习框架。最后通过对几种策略梯度算法的研究,来分析他们的差异性,并且通过实验来比较他们的性
11、能。本文的主要工作如下:(1)了解什么是强化学习,知道强化学习的原理是什么;强化学习的框架是马尔科夫决策过程,介绍马尔科夫决策过程,只有在理解的基本的基础知识后,再对策略梯度的算法进行介绍,了解什么是策略梯度。(2)在理解策略梯度的强化学习方法之后,通过对基于策略梯度的几种方法进行研究分析,分析它们之间有何差异,所采用的方法有何不同,为后面的实验分析提供理论知识(3)完成实验代码,了解这些代码所对应控制的是哪部分,通过实验结果来比较它们的性能。(4)整理总结,对上面的几种算法比较进行总结,对整篇文章进行分析以及提出自己的想法。第1.3节 本文结构本文共分为五章,各章内容安排如下:第1章:绪论。
12、本章介绍了课题的研究背景、本文的主要工作,最后介绍了本文的组织结构。 第2章:策略梯度的强化学习方法。本章第一部分简单介绍了强化学习方法,以及马尔科夫决策过程,为后面介绍策略梯度的强化学习方法提供了基础的知识依据;第二部分主要是介绍本文主题,就是策略梯度的强化学习方法,了解什么是策略,什么是梯度。第3章:几种常见的基于策略梯度的强化学习方法。主要介绍了几种策略梯度的强化学习方法,有信赖域策略优化的强化学习方法、深度确定性策略梯度的强化学习方法和异步优势行动者-评论家的强化学习方法,通过对这些算法的介绍,可以看出这些算法具体体现在哪里不同以及这些不同地方的介绍。第4章:几种策略梯度方法性能比较。
13、主要通过pycharm软件,利用实验代码来更加直观的看出这几种策略梯度强化学习方法之间性能的差异,对上一章介绍的几种算法有更好的理解。第5章:总结。对整个文章进行整理汇总。第2章 基于策略梯度的强化学习方法第2.1节 强化学习第2.1.1节 强化学习原理所谓的强化学习是从环境状态学习到动作的映射,它是通过环境和行动的不断交互来获得的累积奖励值,使得奖励值最大化。这种方法不同于监督学习和非监督学习,通过正例和反例来决定要采取什么行动,但它需要通过试验和错误来找到最佳的行为策略。强化学习通常涉及两个方面:一个是将强化学习视为一类问题,另一个是解决这类问题的技术。当强化学习是一类问题时,当前的学习技
14、术大致分为两类:一类是搜索Agent的行为空间以发现Agent的最佳行为,通常是用遗传算法等搜索技术实现。另一类是统计技术和动态规划方法被用来估计环境条件行为的函数值。研究人员特别称这种学习技术为强化学习技术。监督学习和非监督学习的数据是静态的,不需要与环境进行交互,比如图像识别,只要给足够的差异样本将数据输入到深度网络中进行训练,就能够实现图像的识别。然而,强化学习是个动态的学习过程,动作行为需要不断地与环境进行交互,所需要的数据也是通过与环境不断地交互产生的。所以,与监督学习和非监督学习相比,强化学习所需要涉及到的对象更多,比如动作、环境、状态转移概率和回报函数等。动作A环境智能体(Age
15、nt)新的回报状态S 图1如图1所示,智能体(Agent)想要达到某种目标,首先智能体(Agent)向环境做出一个动作A,在动作A和环境的交互下,智能体会根据动作A的作用下产生一个新的状态S,同时环境会给智能体(Agent)一个回报。智能体(Agent)通过不断的改变动作,而动作又与环境进行不断地交互从而使得智能体(Agent)获得更多的数据。强化学习算法是智能体(Agent)利用对这些大量的数据进行分析,找到相对于目标来说最佳的动作,变成新的状态,之后再发出新的动作与环境交互,收集新的状态时产生的新的数据,并对这些新的数据进行分析从而知道自己应该采取怎样的动作才是最佳的,经过数次反复这样的学
16、习后,智能体(Agent)能最终达到相应的目标。举个例子,设定一个场景,两个围棋高手在下棋,而围棋高手就相当于这里的智能体(Agent),在围棋高手决定出哪步的时候,他在思考如何下才能赢,他在想当下这步时对方会下哪步来做出应对,通过反推得到这个围棋高手应该下哪步是最好的选择,这里思考的过程相当于动作A与环境交互的过程,围棋高手(智能体)根据思考反推得到的具体下哪步,这就是强化学习所需要的最优解。强化学习是一个比较复杂的研究方向,高阳2等人曾在自己发表的文章中将强化学习领域所涉及的分支和算法进行了整理和汇总,总结了TD算法、Q-Learning算法、Sarsa算法、最佳搜索强化学习方法和经验强化
17、型强化学习算法等,另外还涉及到多Agent强化学习、动态规划、部分感知、函数估计、符号学习和强化学习偏差等方面知识,学习环境还引进了马尔科夫型环境,采取马尔科夫决策过程。第2.1.2节 马尔科夫决策过程通过无数学者几十年的不断努力研究,他们提出了一套框架,用于解决大部分的强化学习问题,这个框架就是马尔科夫决策过程。要了解马尔科夫决策过程,可以分为三步来了解马尔科夫决策过程,第一步是了解马尔科夫性,第二步了解马尔科夫过程,最后一步了解马尔科夫决策过程。马尔科夫性指的是下一个状态St+1仅仅与当前的状态St有关,与之前的状态没有关系。它的定义为:状态St如果是马尔科夫的,那么PSt+1|St= P
18、St+1| S1,···,St。从定义里我们可以看出,当前状态St包含了之前所有的状态S1 ,S2···,但是对于状态St+1来讲的话,之前的状态S1 ,S2···跟St+1没有关系,它只跟St有关系。马尔科夫性描述的是每个状态的性质,但是强化学习是一个过程,它要描述的是一个状态序列,所以学者提出了马尔科夫过程这个概念,它可以描述一个状态序列,只要保证状态序列的每个状态都具有马尔科夫性就行。马尔科夫过程的定义为:马尔科夫是一个二元组为(S,P),二元组中S是有限状态集合,P是状态转移概率。但是强化学习算法
19、不仅仅要描述一个状态序列,它同时也要满足通过动作与环境的交互,从环境中获得回报,但是马尔科夫过程不存在动作和回报奖励,满足不了描述强化学习,所以学者们将动作和回报奖励考虑在内的马尔科夫过程称为马尔科夫决策过程。马尔科夫决策过程定义为:它由一个五元组(S,A,P,R,)组成,其中S是有限状态集合;A为有限动作集合;P为状态转移概率;R为回报函数;为折扣因子,用来计算累计奖赏。因此强化学习的目标是给定一个马尔科夫决策过程,寻找最优策略。策略是指状态到动作的映射,策略常用符号表示,它是指在给定了状态S时,动作集合A上的一个分布,即: (a|s)=pA=a|S=s这个公式的意思是当前状态为s时,如果要
20、到下个状态s+1,执行动作a的状态转移概率,而状态为s,执行动作a的策略就是一个概率的分布,所以当相同状态s时执行不同的动作,从而可以得到这些动作的策略。而强化学习就是分析这些策略,找到最优策略能够使得期望最大,这里的期望可以表示为:Ek=0kRk+1|S=s,A=a其中k=0k Rk+1是计算的累计奖赏,所以强化学习的目标是当状态为s,执行动作a根据得到的策略计算最大期望。第2.2节 基于策略梯度的强化学习方法这节内容主要介绍策略梯度,要了解策略梯度的方法,我们可以先从字面的意思来了解。首先将策略梯度分开为策略和梯度两个部分,策略在网上查的定义为可以实现目标的方案集合,或根据形势的发展而指定
21、的行动方针,以我个人的观点意思就是为了实现某个目的而做出的一些方法的集合,举例来讲就是一个人需要投资理财,而业务员提供的许多投资理财的方案就是策略;而梯度是一个数学名词,它表示某一函数求导后可以得到某个点沿着它的方向的最大值,数学里一般用表示。所以策略梯度的意思就是求策略所提供的方案集合中的最优解。策略梯度的方法是最先在策略搜索方法里提出来的,策略搜索讲的是将策略参数化,根据马尔科夫决策过程可以将策略表示为(s|a),这样来强化学习的意思就是找到最好的参数使得策略最优,从而求得的回报期望也就越大。这样的话,策略搜索就变成了一个优化的问题,而策略梯度就是解决优化问题的一种方法,也就是最速下降法。
22、根据上面讲的策略梯度可以表示为(s|a),而回报期望就能够表示为:Et=0tlogP(St,At|(St|At)R(St,At)参数的更新表示方式可以为:new=old + (s|a)其中表示步长,对于步长的理解的话,简单举个例子:对于c+的一段代码for(i=0;i<10;i+),这个中的i+就表示步长为1,从i=0时逐渐增长。步长影响着参数,并且能够加快优化的速度。但是步长的更新在这里是不能稳定的控制,不过John Schulman提出了一种算法TRPO7,它能够解决这个问题,在第三章节中本文会介绍这种算法。第2.3节 本章小结本章主要简单介绍了强化学习方法,了解什么是强化学习,之后
23、又介绍了强化学习所需要的最常用的一种框架,马尔科夫决策过程,为后续将策略梯度的方法的理解提供基础理论依据,方便理解介绍的策略梯度方法,策略梯度的强化学习方法本章主要是介绍了什么是策略梯度的方法,即最速下降法,用于求解策略搜索方法(优化问题)。第3章 几种常见的基于策略梯度的强化学习方法第3.1节 信赖域策略优化的强化学习方法TRPO的英文单词为Trust Region Policy Optimization,中文可以翻译成信赖域策略优化,它是由John Schulman提出的。说到TRPO算法,首先要讲一下策略梯度的缺点,上一章我们大概介绍了策略梯度,知道了策略梯度的参数更新方程式为:new=
24、old + (s|a)策略梯度算法的缺点就在与更新步长,即步长选取的问题。如果步长选取太长的话,策略就容易发散;如果太短的话,收敛的速度就很慢。这时需要合适的步长,它是指策略更新后,所得到的回报函数的值不能更差,就是说新的策略应使得新的回报函数的指单调增或者说单调不减,而TRPO算法就是解决这个问题。2002年Sham Kakade3提出了一个想法:为了保证新的策略(这里用表示新的策略)单调不减,就可以把新的策略写成旧的策略(这里用表示旧的策略)加上其他项,只要保证其他项大于等于零,那么所得到的新的策略就能保证大于等于旧策略,这样就能实现单调不减。那么就有这么一个等式()= ()+Es0,a0
25、··· t=0tA(st,at)其中()表示回报期望,A(st,at)这里指的是优势函数,那这里的优势函数可以理解为状态st的动作at对应的值函数与状态st的所有动作值函数的平均值的差值,意思是如果这个优势函数的值大于等于零,那么在状态st的动作at优于st的所有动作的平均动作,或者说不比平均动作差;反之,如果这个优势函数值小于零,那么在状态st的动作at比所有动作的平均动作差。因为TRPO算法主要是对梯度的步长进行控制,所以强化学习的回报期望就是上面讲的策略梯度的期望E t=0tlogP(St,At|(St|At)R(St,At)TRPO保证步长在一个安全的区域
26、内更新,这样来保证新的策略最优使得回报函数期望最大。第3.2节 深度确定性策略梯度的强化学习方法DDPG的英文为Deep Deterministic Policy Gradient,中文可以翻译为深度确定性策略梯度算法,这个算法我们可以把它分为两部分深度和确定性策略梯度来理解。首先我们先了解一下确定性策略,上面提到的TRPO算法它的策略是随机的,而本节讲到的DDPG,它的策略是确定性的。我们提到的随机策略可以用公式表示为:(a|s)=Pa|s;它的含义是在状态为s时,动作a符合参数的概率分布。而确定性策略的公式表示为:=(s),因为策略是确定的,所以在状态为s时,动作是唯一的、确定的。比较一下
27、随机策略与确定性策略的优缺点,随机策略的优点是可以将探索和改善集中在一起放在同一个策略中,而确定性策略的优点是它需要采样的数据不多,算法效率比随机策略要高很多。因为在求期望时,需要对状态和动作分布求积分,这就要求对状态空间和动作空间进行大量的数据采样,这样所得的数据进行求平均值才能得到近似的期望。而确定性策略的动作是确定的,所以策略梯度不需要对动作空间进行数据的采样积分,相比于随机策略,确定性策略的效率要高很多。但是由于确定性策略,对于状态S和策略参数已知时,那么所对应的动作也是固定的,也就是说如果采用的是确定性策略,它所产生的轨迹永远是固定的,不会改变。而我们所说的强化学习是通过Agent与
28、环境的不断交互来学习,做出相对于比较好的动作,所以DDPG采用了异策略的学习方法,异策略(off-policy)就是行动策略和评估策略不是用的同一个策略而是分开的。其中动作采用的是随机策略而评估采用的是确定性策略,对于整个确定性策略,我们采用的是Actor-Critic算法,我们可以称为行动者-评论家算法。行动者-评论家算法就是利用行动者(指的是行动策略)来调整参数,而评论家(评估策略)采用逼近函数的方法,使得到的回报期望最大9。根据上文策略梯度的讲解可知行动策略梯度为随机策略可以表示为:(s,a),而评估策略为确定性策略可以表示为1(s,a| 1=(s)((s)是已知的)。所以强化学习的期望
29、可以表示为Et=0slogPSt,AtsaRSt,At|1=s上面介绍的异策略行动者-评论家方法就是确定性策略梯度强化学习方法,简称DPG,而DDPG最前面的D为deep,字面翻译就是深度,这是指的是采用深度神经网络,利用它来逼近动作值函数和评估策略。DDPG采用了经验回放和独立的目标网络,经验回放的方法是智能体(Agent)在强化学习的过程中将数据储存在一个数据库中,然后再通过随机采样的手段来训练神经网络,因为神经网络训练的数据是独立的,而强化学习要求的数据之间是存在一定的关联性,所以能在一定程度上保证神经网络的稳定性。而独立的目标网络是对待逼近的参数与行动策略的参数进行单独的更新。第3.3
30、节 异步优势行动者-评论家强化学习方法A3C的英文全称为:Asynchronous Methods for Deep Reinforcement Learning10,中文可以翻译为异步优势行动者-评论家强化学习方法。利用神经网络的方法时时常不稳定,不能保证它的稳定性,上节介绍的DDPG算法也同样运用了神经网络,但是它是运用了经验回访的技术来消除这种不稳定性,然而经验回放技术要考虑到两个问题:第一个问题是智能体(Agent)与环境的每次交互都需要耗费很多的内存和计算力,这大大的影响到了算法的效率;第二个问题是如果用了经验回放技术,那么算法的策略应该采用异策略(off-policy)方法来进行学
31、习,但是根据DDPG算法的介绍,异策略是根据旧的策略所产生的数据进行更新;此外DRL(深度强化学习)的训练都依赖与计算机的图形处理器(如GPU),所以异步优势行动者-评论家强化学习方法采用了异步优势的方法,即异步同时执行多个智能体(Agent),通过这些智能体(Agent)所经历的不同状态来消除训练过程中产生的状态转移样本之间的关联性,而且这种方法只需要一个标准的多核CPU就可以实现算法,这就使得使用这种算法可以节省大量的时间和资源,并且也大大地提升了效率。而A3C算法也是用了Actor-Critic算法利用行动者(指的是行动策略)来调整参数,而评论家(评估策略)采用逼近函数的方法,使得到的回
32、报期望最大。第3.4节 本章小结本章主要简单介绍三种基于策略梯度的强化学习方法,他们分别是TRPO、DDPG、A3C这三种方法,其中TRPO是无模型的策略搜索方法并且它的策略是随机的,这个算法主要是在策略梯度的基础上弥补了由于步长而导致的算法缺陷,它提供的新策略能够保证步长能够单调不减,这就能保证算法得到的回报函数的值不会越来越差导致后面的数据崩溃;而DDPG算法也是无模型的策略搜索方法,但是它采用的策略是异策略(off-policy),就是说动作部分采用了随机策略,这样就能够保证强化学习说的动作与环境能够交互,毕竟如果是确定性策略,那么动作的值是固定的,这就不能体现强化学习交互的方面,所以动
33、作部分采用随机策略,而回报部分采用的是确定性策略,这个确定性策略的学习框架采用的是Actor-Critic算法,利用函数逼近的方法计算估计值函数,这样利用深度神经网络(经验回放和独立的目标网络)进行动作函数和回报函数值的逼近实现算法;最后介绍的A3C算法采用的是异步优势策略方法,它不同于异策略(off-policy),这里指的是异步执行多个智能体(Agent),根据每个智能体(Agent)所经历的不同状态,消除它们在训练过程中产生的状态转移样本之间的关联性。了解了这些算法的基本内容之后,我们下章节通过pycharm完成实验来比较它们的性能。第4章 几种策略梯度方法性能比较这章主要是通过实验来比
34、较这三种基于策略梯度的强化学习方法的性能,本文是想通过比较算法训练的时间来比较他们的性能,设置相同的epochs(训练次数)这里设置500,看最后强化学习运行完的整个训练所需的时间,通过比较最后得到的时间来比较它们的性能。这里采用的是python来写的代码,主要计算程序运行时间的代码如下:import datetimestarttime = datetime.datetime.now()···endtime = datetime.datetime.now()print( total runtime:,(endtime - starttime).seconds)第4
35、.1节 DDPG根据之前的介绍,DDPG采用深度神经网络的异策略Actor-Critic算法,给出伪代码:1、随机初始化评论家网络Q(s,a|Q)和行动者(s| )权重Q和2、初始化目标网络Q和的权重QQ ,3、初始化回复缓冲区R4、For episode=1,M do5、初始化一个随机过程N进行动作探索6、获得初始观察状态s17、For t=1,T do8、选择动作at=(st|)+Nt用于动作探索9、执行行动at,并且观察奖励rt和观察新状态st+110、储存转换(st,at,rt,st+1)放入R11、随机从R中采样N个转换的小批次(st,at,rt,st+1)12、设置yi=ri+Q(
36、si+1,(si+1| )| Q)13、通过减少损失来更新评论家:L=1Ni0(yiQ(si,ai|Q)2) 14、使用采样的梯度更新行动者策略:|st1NiaQ(s,a|Q)|s= st,a=(st) (s| )|st15、更新目标网络:QQ+(1-) Q +(1-) 结束结束因为DDPG采用的深度神经网络,这个方法就要用到经验回放和独立的目标网络技术,为代码的第1、2两步是对两个目标actor和critic两个进行独立网络处理;第3步是设置缓冲区,主要用来储存经验回放得到的数据;第8步at=(st|)+Nt的公式是将行动策略设置成随机策略;第9、10两步是实现经验回放,而第11步yi=ri
37、+Q(si+1,(si+1| )| Q)的公式是设置目标网络;第13、14两步是运用了AC算法;最后15步是对目标网络的参数进行更新。通过伪代码写出python,经过pycharm的运行得到的实验结果为:第4.2节 A3C A3C算法的伪代码为:1、/假设全局共享参数向量和v,并且全局共享计数器T=02、/假设线程特定的参数和v3、初始化线程计步器t1重复4、重启梯度:d0和dv05、 同步线程特定的参数=和v =v6、tstart=t7、获得状态st重复8、按照策略(at|st;)9、tt+110、TT+111、直到终端为st或者t- tstart=tmax12、R=0 当终端状态为stVs
38、t,v 当非终端为st/从最后一个状态引导13、For it-1,···,tstart doRri+R积累梯度wrt :dd+log(ai | si; )(R-V(si; v)积累梯度wrt :dvdv+(R-V(si; v)2/vEnd for执行异步更新使用d和v使用dvuntil T>Tmax从伪代码分析第1、2步是设置参数和计步器;第3步初始化计步器;第4步重启梯度;第5步同步线程的参数;第8步到第11步是训练数据(s,a,r)序列的生成;第13步采用的是TD方式梯度下降更新状态值参数。实验结果为:第4.3节 TRPOTRPO算法的伪代码:/保证非递
39、减期望返回的策略迭代算法初始化0For i=0,1,2···until 收敛 do计算所有优势值Ai(s,a)解决约束优化问题i+1=argmaxLi()CDmaxKL(i,)Where C=4/(1-)2And Li()=(i)+si(s)a(a|s)Ai(s,a)End for通过求平均KL散度代替最大KL散度,从而保证能够使训练单调的增长。实验结果为:第4.4节 本章小结从上面的实验结果可以看出,在相同的条件下,A3C的算法效率明显比其他两种要高,这里可以得出,采用异步优势的方法,算法效率明显比传统的策略梯度算法效率要好;通过比较TRPO和DDPG的实验结果
40、可以看出,DDPG的效率比TRPO的效率要高,可以看出因为确定性策略采样收集数据比随机策略要少,因此在算法效率上要提高好多。第5章 总 结本文主要介绍基于策略梯度的强化学习方法,首先主要说明了一下强化学习的背景以及策略梯度的一些简单介绍,之后介绍了强化学习基本原理,简单的说就是智能体为了达到某种目标,而强化学习就是在这个过程中提供最佳的路径能够达到这个目标。而强化学习方法的具体表现采用了马尔科夫决策过程这个框架,它描述的是一组状态序列,下一个状态受当前状态的影响,但是与之前状态没有关系,根据动作和回报函数,通过求目标期望的方法来体现强化学习。有了这些强化学习的理解基础后,再对策略梯度进行介绍,策略梯度就是将策略参数化,通过梯度的求解方式求得最优策略从而使得目标期望最大。最后介绍了几种策略梯度的算法,TRPO主要是对策略梯度进行了一些改进,因为策略梯度不能保证影响参数的步长能够稳定更新,所以这个算法主要是控制步长在安全区域来保证策略单调不减,从而使得期望更好;DDPG算法采用的是深度神经网络,采用异策略AC的算法,异策略就是行动策略是随机策略而评估是确定性策略;而A3C是采用异步优势AC算法,异步执行多个Agent,通过不同状态来消除状态转移样本之间的关联性。最后通过实验来比较这三个算法的性能。由于本人能力和研究时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拉萨市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(综合卷)
- 日照市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(培优a卷)
- 崇左市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(b卷)
- 潼南县农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(精练)
- 泰州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及一套答案详解
- 双鸭山市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(巩固)
- 曲靖市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(a卷)
- 2026年蚌埠市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(b卷)
- 淄博市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(巩固)
- 攀枝花市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(巩固)
- 地沟油制生物柴油可行性分析报告
- 户外场地安全协议书6篇
- 标志牌施工组织方案
- 大庆精神及其时代价值知到智慧树章节测试课后答案2024年秋东北石油大学
- 痔外剥内扎手术
- (情况说明)个人病情情况说明范文
- 某公司安全奖惩制度模版(3篇)
- 催化剂宏观结构表征
- 考试成绩分析
- 辩论英文课件教学课件
- 3.3气压带和风带对气候的影响课件高中地理人教版(2019)选择性必修1
评论
0/150
提交评论