演员评论家算法解析及A2C与A3C改进

演员评论家算法思想及A2C与A3C的改进

是时候探讨一些强化学习的内容了。这次我们的主题是演员评论家算法,这是几乎所有现代强化学习方法的基础,从近端策略优化到A3C。因此,要理解所有这些新技术,您应该扎实掌握演员评论家算法的原理和工作方式。

但不要着急。让我们先回顾一下之前的知识。如您所知,强化学习主要有两种类型:

基于价值的方法:尝试找到或近似最优价值函数,这是动作与价值之间的映射。价值越高,动作越好。最著名的算法是Q学习及其增强版本,如深度Q网络、双竞争Q网络等。

基于策略的方法:如策略梯度和REINFORCE等基于策略的算法,尝试直接找到最优策略,而不以Q值作为中间人。

每种方法都有其优势。例如,基于策略的方法更适合连续和随机环境,收敛速度更快,而基于价值的方法则更具样本效率和稳定性。

当这两个算法家族在科学界确立后,下一个明显的步骤就是尝试将它们合并。这就是演员评论家算法的诞生。演员评论家旨在利用基于价值和基于策略方法的所有优点,同时消除它们的缺点。它们是如何做到这一点的呢?

主要思想是将模型分为两部分:一个用于基于状态计算动作,另一个用于生成动作的Q值。

演员接收状态作为输入并输出最佳动作。它通过学习最优策略(基于策略)来控制代理的行为。另一方面,评论家通过计算价值函数(基于价值)来评估动作。这两个模型参与一个游戏,随着时间的推移,它们各自在自己的角色中变得更好。结果是,整个架构将学会比两种方法分开时更有效地玩游戏。

这种让两个模型相互交互(或竞争)的想法在近年来机器学习领域越来越受欢迎。例如生成对抗网络或变分自编码器。

但让我们回到强化学习。演员评论家的一个很好的类比是一个年轻男孩和他的母亲。孩子(演员)不断尝试新事物并探索周围环境。他吃自己的玩具,触摸热烤箱,用头撞墙(我的意思是为什么不呢)。他的母亲(评论家)观察他,并批评或表扬他。孩子听从母亲的指示并调整自己的行为。随着孩子的成长,他学会了哪些行为是坏是好,并基本上学会了玩名为生活的游戏。这正是演员评论家的工作方式。

演员可以是一个函数逼近器,如神经网络,其任务是为给定状态产生最佳动作。当然,它可以是全连接神经网络、卷积神经网络或其他任何形式。评论家是另一个函数逼近器,它接收环境和演员的动作作为输入,将它们连接起来,并输出给定对的行动价值(Q值)。让我提醒您一下,Q值本质上是最大未来奖励。

两个网络的训练是分开进行的,并使用梯度上升(寻找全局最大值而不是最小值)来更新它们的权重。随着时间的推移,演员学会产生越来越好的动作(他开始学习策略),而评论家在评估这些动作方面变得越来越好。重要的是要注意,权重的更新发生在每个步骤(TD学习),而不是在情节结束时,这与策略梯度相反。

演员评论家已被证明能够学习大型复杂环境,并已用于许多著名的2D和3D游戏,如Doom、超级马里奥等。

您累了吗?因为我现在开始兴奋了,并计划继续下去。这是一个很好的机会来讨论演员评论家模型的两个非常流行的改进:A2C和A3C。

优势演员评论家(A2C)

什么是优势? Q值实际上可以分解为两部分:状态价值函数V(s)和优势值A(s, a):

Q(s,a) = V(s) + A(s,a)
=> A(s,a) = Q(s,a) - V(s)
=> A(s,a) = r + γV(s’) - V(s)

优势函数捕捉了在给定状态下,一个动作比其他动作好多少,而我们知道价值函数捕捉了处于该状态有多好。

您猜到了吗?我们不让评论家学习Q值,而是让他学习优势值。这样,对一个动作的评估不仅基于该动作有多好,还基于它能好多少。优势函数的优势(看到我在这里做了什么吗?)在于它减少了策略网络的高方差并稳定了模型。

异步优势演员评论家(A3C)

A3C由某机构于2016年发布,并在科学界引起了轰动。其简单性、鲁棒性、速度以及在标准强化学习任务中取得更高分数的成就,使得策略梯度和DQN过时。与A2C的关键区别在于异步部分。A3C由多个具有自己权重的独立代理(网络)组成,它们并行地与不同的环境副本交互。因此,它们可以在更短的时间内探索更大的状态-动作空间。

代理(或工作器)并行训练,并定期更新一个持有共享参数的全局网络。更新不是同时发生的,这就是异步的由来。每次更新后,代理将其参数重置为全局网络的参数,并继续其独立的探索和训练n步,直到再次更新自己。

我们看到信息不仅从代理流向全局网络,还在代理之间流动,因为每个代理通过全局网络重置其权重,而全局网络拥有所有其他代理的信息。聪明吧?

回到A2C

异步的主要缺点是某些代理将使用较旧版本的参数。当然,更新可以不同步进行,而是同时进行。在这种情况下,我们有一个改进版本的A2C,具有多个代理而不是一个。A2C将等待所有代理完成它们的片段,然后更新全局网络权重并重置所有代理。

但是。总是有一个但是。有些人认为如果代理是同步的,就没有必要拥有多个代理,因为它们本质上根本没有区别。我同意。实际上,我们所做的是创建环境的多个版本和仅两个网络。

第一个网络(通常称为步骤模型)与所有环境并行交互n个时间步,并输出一批经验。利用这些经验,我们训练第二个网络(训练模型),并用新权重更新步骤模型。然后我们重复这个过程。

如果您对A2C和A3C的区别感到困惑,请查看此论坛帖子。

我试图在不使用太多数学和代码的情况下,给您这些技术背后的直观解释,因为事情会变得更加复杂。然而,它们并不是难以实现的模型,因为它们依赖于与策略梯度和深度Q网络相同的想法。如果您想构建自己的演员评论家模型来玩Doom,请查看此链接。我认为您应该这样做。只有通过自己构建,我们才能真正理解模型的所有方面、技巧和好处。

顺便说一句,我借此机会提到某机构最近开源的名为trfl的库。据他们声称,它暴露了几个用于实现强化学习代理的有用构建块。我会尝试并回来给您更多细节。

另外,如果您需要深入研究演员评论家,我强烈推荐某在线学习平台上的高级AI:Python中的深度强化学习课程。对于那些想知道真正最先进的实现及其变体的人,尖端AI:Python中的深度强化学习提供了优秀的补充材料。

将基于策略和基于价值的方法结合的想法,在2018年被认为是解决强化学习问题的标准。大多数现代算法依赖于演员评论家,并将这一基本思想扩展到更复杂和复杂的技术中。一些例子是:深度确定性策略梯度(DDPG)、近端策略优化(PPO)、信任区域策略优化(TRPO)。

但不要不耐烦。我们会及时覆盖它们…
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值