Actor-Critic算法

1、基于价值函数的缺点

尽管以 DQN 算法为代表的基于价值的算法在很多任务上都取得了不错的效果,并且具备较好的收敛性,但是这类算法也存在一些缺点。

  • 无法表示连续动作。由于 DQN 等算法是通过学习状态和动作的价值函数来间接指导策略的,因此它们只能处理离散动作空间的问题,无法表示连续动作空间的问题。而在一些问题中,比如机器人的运动控制问题,连续动作空间是非常常见的,比如要控制机器人的运动速度、角度等等,这些都是连续的量。

  • 高方差。基于价值的方法通常都是通过采样的方式来估计价值函数,这样会导致估计的方差很高,从而影响算法的收敛性。尽管一些 DQN 改进算法,通过改善经验回放、目标网络等方式,可以在一定程度上减小方差,但是这些方法并不能完全解决这个问题。

  • 探索与利用的平衡问题。DQN 等算法在实现时通常选择贪心的确定性策略,而很多问题的最优策略是随机策略,即需要以不同的概率选择不同的动作。虽然可以通过 �-greedy 策略等方式来实现一定程度的随机策略,但是实际上这种方式并不是很理想,因为它并不能很好地平衡探索与利用的关系。

2、策略梯度算法

策略梯度算法是一类直接对策略进行优化的算法,但它的优化目标与基于价值的算法是一样的,都是累积的价值期望。但这里的策略是一个基于当前状态会采取的动作分布。

3、REINFORCE算法

基于蒙特卡洛采样实现的策略梯度算法,通过小批量的样本计算梯度,并用平均梯度来更新策略。

4、基于平稳分布的策略梯度

构成了critic-actor模式,critic部分负责评估当前策略下,当前状态下采取特定动作的价值,而不再是QLearning算法中采取所有动作的期望(更像是对状态价值的估计)。

结合了策略梯度和值函数的 Actor-Critic 算法则能同时兼顾两者的优点,并且甚至能缓解两种方法都很难解决的高方差问题。可能读者会奇怪为什么各自都有高方差的问题,结合了之后反而缓解了这个问题呢?我们再仔细分析一下两者高方差的根本来源,策略梯度算法是因为直接对策略参数化,相当于既要利用策略去与环境交互采样,又要利用采样去估计策略梯度,而基于价值的算法也是需要与环境交互采样来估计值函数的,因此也会有高方差的问题。

 而结合之后呢,Actor 部分还是负责估计策略梯度和采样,但 Critic 即原来的值函数部分就不需要采样而只负责估计值函数了,并且由于它估计的值函数指的是策略函数的值,相当于带来了一个更稳定的估计,来指导 Actor 的更新,反而能够缓解策略梯度估计带来的方差。当然尽管 Actor-Critic 算法能够缓解方差问题,但并不能彻底解决问题,在接下来的章节中我们也会展开介绍一些改进的方法。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值