为何DDPG是off-policy算法?

用于求解动作价值函数的Bellman方程可以表示为:
Q π ( s t , a t ) = E r t , s t + 1 ∼ E [ r ( s t , a t ) + γ E a t + 1 ∼ π [ Q π ( s t + 1 , a t + 1 ) ] ] Q ^ { \pi } ( s _ { t } , a _ { t } ) = E _ { r _ { t } , s _ { t + 1 } \sim E } [ r ( s _ { t } , a _ { t } ) + \gamma E _ { a _ { t + 1 } \sim \pi } [ Q ^ { \pi } ( s _ { t + 1 } , a _ { t + 1 } ) ] ] Qπ(st,at)=Ert,st+1E[r(st,at)+γEat+1π[Qπ(st+1,at+1)]]
If the target policy is deterministic we can describe it as a function μ \mu μ: S ← A S \leftarrow A SA and avoid the inner expectation:
Q μ ( s t , a t ) = E r t , s t + 1 ∼ E [ r ( s t , a t ) + γ Q μ ( s t + 1 , μ ( s t + 1 ) ) ] Q ^ { \mu } ( s _ { t } , a _ { t } ) = E _ { r _ { t } , s _ { t + 1 } \sim E } [ r ( s _ { t } , a _ { t } ) + \gamma Q ^ { \mu } ( s _ { t + 1 } , \mu ( s _ { t + 1 } ) ) ] Qμ(st,at)=Ert,st+1E[r(st,at)+γQμ(st+1,μ(st+1))]
实际上,由于需要对 t + 1 t+1 t+1时刻动作价值函数求期望,这一步操作的不同,带来了off-policy和on-policy的差异。
对于Q-learning而言,它可以通过 s t + 1 s_{t+1} st+1来估一个动作,然后选取动作最大值来消除动作的不确定性,对于DDPG而言,它通过输出确定动作,来消除动作不确定性,这都能保证它们是off-policy,因为只要环境确定了,它们在当前状态中输出的动作就是确定的,它们可以直接用 ( s t , a t , r t , s t + 1 ) (s_t,a_t,r_t,s_{t+1}) (st,at,rt,st+1)来训练,而不需要 a t + 1 a_{t+1} at+1
但AC就不行,因为它输出的是动作分布,只给一个 s t + 1 s_{t+1} st+1是无法确定 a t + 1 a_{t+1} at+1的,进而无法确定 Q Q Q值,只有等下一步动作确定后才能来算 Q Q Q值,因为它需要依赖自己的真实决策值来对期望进行蒙特卡罗近似,所以它就没法用别人的经验。

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值