[强化学习实战]actor-critic方法(一)—同策方法


本文介绍带自益的策略梯度算法。这类算法将策略梯度和自益结合了起来:一方面,用一个含参函数近似价值函数,然后利用这个价值函数的近似值来估计回报值;另一方面,利用估计得到的回报值估计策略梯度,进而更新策略参数。这两方面又常常被称为评论者(critic)和执行者(actor)。所以,带自益的策略梯度算法被称为执行者/评论者算法(actorcritic)。

同策actor-critic方法

执行者/评论者算法同样用含参函数 h ( s , a ; θ ) h(s,a;θ) h(s,a;θ)表示偏好,用其softmax运算的结果 π ( a ∣ s ; θ ) π(a|s;θ) π(as;θ)来近似最优策略。在更新参数θ时,执行者/评论者算法依然也是根据策略梯度定理,取 E [ Ψ t ▽ l n π ( A t ∣ S t ; θ ) ] E[Ψ_t▽lnπ(A_t|S_t;θ)] EΨtlnπ(AtSt;θ)为梯度方向迭代更新。

在实际使用时,真实的价值函数是不知道的。但是,我们可以去估计这些价值函数。具体而言,我们可以用函数近似的方法,用含参函数 v ( s ; w ) ( s ∈ S ) v(s;w)(s∈\mathcal{S} ) v(s;w)sS q ( s , a ; w ) ( s ∈ S , a ∈ A ( s ) ) q(s,a;w)(s∈\mathcal{S},a∈\mathcal{A} (s)) q(s,a;w)sS,aA(s)来近似vπ和qπ。引入自益的思想,用价值的估计 U t U_t Ut来代替 Ψ t Ψ_t Ψt中表示回报的部分。例如,对于时序差分,用估计来代替价值函数可以得到 Ψ t = γ t [ R t + v ( S t + 1 ; w ) − v ( S t ; w ) ] Ψ_t=γ^t[R_t+v(S_{t+1};w)-v(S_t;w)] Ψt=γtRt+v(St+1;w)v(St;w)。这里的估计值 v ( w ) v(w) v(w)就是评论者,这样的算法就是执行者/评论者算法。

*只有采用了自益的方法,即用价值估计来估计回报,并引入了偏差,才是执行者/评论者算法。用价值估计来做基线并没有带来偏差(因为基线本来就可以任意选择)。所以,带基线的简单策略梯度算法不是执行者/评论者算法。

动作价值actor-critic算法

根据前述分析,同策执行者/评论者算法在更新策略参数θ时也应该试图减小 Ψ t l n π ( A t ∣ S t ; θ ) Ψ_tlnπ(A_t|S_t;θ) Ψtlnπ(AtSt;θ),只是在计算 Ψ t Ψ_t Ψt时采用了基于自益的回报估计。算法一开始初始化了策略参数和价值参数。虽然算法中写的是可以将这个参数初始化为任意值,但是如果它们是神经网络的参数,还是应该按照神经网络的要求来初始化参数。在迭代过程中有个变量 I I I,用来存储策略梯度的表达式中的折扣因子 γ t γ_t γt。在同一回合中,每一步都把这个折扣因子乘上 γ γ γ,所以第t步就是 γ t γ_t γt

算法1 动作价值同策执行者/评论者算法
输入:环境(无数学描述)。
输出:最优策略的估计π(θ)。
参数:优化器(隐含学习率 α ( w ) , α ( θ ) α(w),α(θ) α(w),α(θ)),折扣因子γ,控制回合数和回合内步数的参数。
1.(初始化)θ←任意值,w←任意值;
2.(带自益的策略更新)对每个回合执行以下操作:
2.1 (初始化累积折扣) I I I←1;
2.2 (决定初始动作)用 π ( ⋅ ∣ S ; θ ) π(·|S;θ) π(S;θ)得到动作A;
2.3 如果回合未结束,执行以下操作:
2.3.1 (采样)根据状态S和动作A得到采样R和下一状态S’;
2.3.2 (执行)用 π ( ⋅ ∣ S ′ ; θ ) π(·|S';θ) π(S;θ)得到动作A’;
2.3.3 (估计回报) U ← R + γ q ( S ′ , A ′ ; w ) U←R+γq(S',A';w) UR+γq(S,A;w)
2.3.4 (策略改进)更新 θ θ θ以减小 − I q ( S , A ; w ) l n π ( A ∣ S ; θ ) -Iq(S,A;w)lnπ(A|S;θ) I

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值