基于策略的强化学习(三):Actor—Critic算法

Actor—Critic算法

Actor—Critic算法的名字很形象,包含一个策略函数和行为价值函数,其中策略函数充当演员(Actor),生成行为与环境交互;行为价值函数充当(Critic),负责评价演员的表现,并指导演员的后续行为动作。Critic 的行为价值函数是基于策略 π θ \pi_θ πθ 的一个近似:
在这里插入图片描述基于此,Actor—Critic算法遵循一个近似的策略梯度进行学习:在这里插入图片描述Critic 在算法中充当着策略评估的角色,由于 Critic 的行为价值函数也是带参数 ( w ) \left ( w\right ) (w) 的,这意味着它也需要学习以便更准确的评估一个策略。最基本的基于行为价值 Q Q Q 的 Actor—Critic算法流程如下图所示:
在这里插入图片描述简单的 QAC 算法虽然不需要完整的状态序列,但是由于引入的 Critic 仍然是一个近似价值函数,存在着引入偏差的可能性,不过当价值函数接受的输入的特征和函数近似方式足够幸运时,可以避免这种偏差而完全遵循策略梯度的方向。
定理: 如果下面两个条件满足:

  1. 近似价值函数的梯度与分值函数的梯度相同,即:在这里插入图片描述
  2. 近似价值函数的参数 w 能够最小化 在这里插入图片描述
    在这里插入图片描述

实践过程中,使用 Q w ( s , a ) Q_w\left ( s,a \right ) Qw(s,a) 来计算策略目标函数的梯度并不能保证每次都很幸运,有时候还会发生数据过大等异常情况。出现这类问题是由于行为价值本身有较大的变异性。为了解决这个问题,提出了一个与行为无关仅基于状态的基准函数 B ( s ) B\left ( s\right ) B(s) 的概念,要求 B ( s ) B\left ( s\right ) B(s) 满足:
在这里插入图片描述当基准函数 B ( s ) B\left ( s\right ) B(s) 满足上述条件时,可以将其从策略梯度中提取出以减少变异性同时不改变其期望值,而基于状态的价值函数 V π θ ( s ) V_{\pi_\theta}\left ( s\right ) Vπθ(s) 函数就是一个不错的基准函数。令优势函数为:
在这里插入图片描述
那么策略目标函数梯度可以表示为:
在这里插入图片描述优势函数相当于记录了在状态 s s s 时采取行为 a a a 会比提留在状态 s s s 多出的价值,这正好与策略改善的目标是一致的,由于优势函数考虑的是价值的增量,因而大大减少的策略梯度的变异性,提高算法的稳定性。在引入优势函数后,Critic函数可以仅是优势函数的价值近似。由于优势函数的计算需要通过行为价值函数和状态价值函数相减得到,是否意味着需要设置两套函数近似来计算优势函数呢?其实不必如此,因为基于真实价值函数 V π θ ( s ) V_{\pi_\theta}\left ( s\right ) Vπθ(s) T D TD TD 误差 δ π θ \delta_{\pi_\theta} δπθ 就是优势函数的一个无偏估计:
在这里插入图片描述因此可以使用 T D TD TD 误差来计算策略梯度:
在这里插入图片描述此时只需要一套参数 w w w 来描述 Critic。
在使用不同强化学习方法来进行 Actor—Critic 学习时,描述 Critic 的函数 V w ( s ) V_w\left ( s \right ) Vw(s) 的参数 w w w 可以通过下列形式更新:

  1. 对于蒙特卡罗 ( M C MC MC) 学习:在这里插入图片描述
  2. 对于时序差分 ( T D ( 0 ) TD\left ( 0\right ) TD(0)) 学习:在这里插入图片描述
  3. 对于前向 T D ( λ ) TD\left ( \lambda\right ) TD(λ) 学习:在这里插入图片描述
  4. 对于后向 T D ( λ ) TD\left ( \lambda\right ) TD(λ) 学习:在这里插入图片描述类似的,策略梯度:在这里插入图片描述

也可以使用不同的学习方式更新策略函数 πθ(s,a) 的参数 θ:

  1. 对于蒙特卡罗 ( M C MC MC) 学习:在这里插入图片描述
  2. 对于时序差分 ( T D ( 0 ) TD\left ( 0\right ) TD(0)) 学习:在这里插入图片描述
  3. 对于前向 T D ( λ ) TD\left ( \lambda\right ) TD(λ) 学习:在这里插入图片描述
  4. 对于后向 T D ( λ ) TD\left ( \lambda\right ) TD(λ) 学习:在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值