ActorCritic学习笔记

来源:互联网 发布:淘宝哪家mcm高仿 编辑:程序博客网 时间:2024/06/10 13:36

Part1 策略梯度算法

在学习AC之前必须了解一下Policy Gradients算法(PG)。PG是建立在Policy Network之上的,这是一个神经网络,输入时状态,输出直接是动作(Q值)。
a=π(s,θ)
也可以输出概率,这样输出更通用:a=π(a|s,θ)
更新网络参数的依据就是最大化reward函数的累加:
L(θ)=E(r1+γr2+γ2r3+...|π(,θ))
选取动作的概率和最终的reward可以用损失函数表示:
L(θ)=logπ(a|s,θ)f(s,a)
其中:logπ(a|s,θ)是PN输出的选取动作的概率 f(s,a)是评价指标
那么策略梯度就可以计算为:θL(θ) 参数θ也就可以按照这个策略梯度更新
Gaussian Policy则主要用于连续的动作空间,其均值就是状态特征的线性结合
问题的关键是:
评价指标如何确定?

Actor 的前生是 Policy Gradients , 可以在连续动作中选取合适的动作,Critic 的前生是以值为基础的学习法(Q-learning 、其他的算法) , 能进行单步更新, 而传统的 Policy Gradients 则是回合更新, 这降低了学习效率.
Actor-Critic 就是在求解策略的同时用值函数进行辅助,用估计的值函数替代采样的reward,提高样本利用率。

从David Silver摘出来的内容:
基于当前的π产生St、At、Rt+1、St+1
然后基于TD(0) method【V (St+1) = V (St) + α[Rt+1 + γV(St+1) - V(St)] 】进行estimation。

value-function approximation v(*;θ)
linear model: the approximate function, v(*;θ), is a linear function of the weight vector, θ. Corresponding to every state s, there is a real-valued vector of features φ(s) = (φ1(s); φ2(s); …; φn(s)), with the same number of components as θ.
线性模型里任何一种方法都可以保证自动收敛于一个局部最优解或者全局最优解。
比如:the gradient Monte Carlo algorithm、the semi-gradient TD(0) algorithm。

原创粉丝点击