强化学习:10-2advantage actor critic

advantage actor critic(a2c)算法介绍

算法概述

advantage actor critic(简称a2c)是q ac的推广,基本思想是在q ac中引入新的baseline(偏置量)以减少估计的方差。

相关性质推导

  1. policy gradient 梯度性质:推导的policy gradient梯度对于引入新的偏置不会发生变化。即在q派后边减去一个s的标量函数b(新的baseline),相关式子保持相同,无论b是什么函数。
  2. 解释性质成立原因:因为式子中相关项乘上b后求expectation等于零。具体推导过程为,将expectation按定义展开,对s和a分别求和,由于log派求梯度时派和派可抵消,且bs只是s的函数能提到前面,而对给定s下所有a的概率求和为1,其导数为0,所以该性质成立。
  3. 引入baseline的作用
    • 把梯度表达式中括号内长串写成新变量x,ex与bs无关,但x的方差(用矩阵trace衡量)与b有关。通过简单推导(可在书中查看)可知,方差表达式中部分值不受bs影响,但部分值会受其影响,不同的b取值对方差影响很大。
    • 目标是找最好的baseline使方差最小,因为采样时方差小误差小。例如,对比方差小和方差大的随机变量,方差小的随机变量采样值更接近真实平均值。之前的reinforce和q ac中baseline b等于零,并非好的baseline。
    • 最好的baseline表达式为对任何状态s,b星s等于特定式子(表达式较复杂,由两个expectation组成,蓝色代表log派求梯度再求模平方的权重,红色对应action value q sa),此时x方差最小。但该式复杂,常去掉权重直接求q的expectation,即v派s(state value),虽不是最优但常用。

baseline引入算法过程

  1. 引入baseline到actor critic算法:将baseline设为v派s(state value),得到梯度上升算法。把q派减去v派写成新函数delta派(advantage function,常用a表示,这里用delta避免与action的a混淆)。
    • advantage function描述q派和v派的差,v派是某状态下q派的平均值,若某action的action value比平均值大则有优势。
    • 得到advantage function的stochastic version(通过采样),并对算法式子进行整理,将log派求梯度写成派的梯度除以派形式,得到新的式子,大括号内分子是delta(advantage function),分母是派。
  2. 平衡探索和利用:policy gradient方法能平衡探索和利用。当delta t较大时,step size大,更新的派a s t在下一时刻概率变大,即充分利用好的action;当分母对应的策略较小时,step size大,下一时刻选择该action的概率增大,增加探索机会。通过分子分母实现平衡,上节课有详细解释。
  3. 对比qt和delta t:更在乎action value的相对值而非绝对值,所以delta t比qt好。例如action value为1亿但其他action value为2亿时不认为该action好,而action value为0但其他为-1时该action是好的。
  4. advantage function的技巧:将advantage function(delta = q - v,已换成qt - vt)替换成rt + 1 + 伽马vt s t + 1 - vt s t(td error)。从expectation角度,对q派减去v派求expectation等于r加上伽马v派s减去v派的expectation。这样做的好处是原本近似qt和vt需两个函数或神经网络,现在近似vt一个神经网络即可。

a2c算法总结

a2c也被称为td ac actor critic,因为用到td估计value function。在第t个时刻,根据策略派a s t c a t产生action与环境交互,得到r t + 1和st + 1,计算类似advantage function的量并带入critic(value update,即td算法和value function approximation结合的算法),该量也可复用到actor计算policy update,得到的数据用于下一个循环。此算法是on policy的算法,因为派是stochastic,无需像absent greedy等方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值