在 Soft Actor Critic 中,为什么在值函数更新时从当前策略而不是重放缓冲区中采样动作?

人工智能 强化学习 政策梯度 价值函数 策略外方法 软演员评论家
2021-11-10 00:08:25

在阅读Soft Actor Critic的原始论文时,我在第 5 页遇到等式 (5) 和 (6)

(5)JV(ψ)=EstD[12(Vψ(st)Eatπϕ[Qθ(st,at)logπϕ(atst)])2]

(6)^ψJV(ψ)=ψVψ(st)(Vψ(st)Qθ(st,at)+logπϕ(atst))

以下引用:

根据当前策略而不是重播缓冲区对动作进行采样

在推导价值函数平方残差的(估计)梯度公式的背景下(论文中的方程 5)

我很难理解他们为什么使用从当前策略中采样的操作而不是重播缓冲区。我的直觉告诉我,这是因为 SAC 是一种脱离策略的强化学习算法,而 Q-learning 使用maxQ在一步 Q 值函数更新中(使其脱离策略),但为什么从当前策略中采样一个动作仍然使其脱离策略

我首先问了我的一个朋友(RL 研究员),我得到的答案是

“如果在给定任何状态的情况下使用当前策略对操作进行采样,则更新是符合策略的。”

我已经通过 OpenAI 对 SAC 的解释检查了 SpinningUpRL,但它们只是更清楚地说明了哪些动作是从当前策略中采样的,哪个动作来自重播缓冲区,但没有说明原因

这与随机策略有什么关系?还是更新方程中的熵项?

所以我还是很困惑。对解释的链接/参考也表示赞赏!

0个回答
没有发现任何回复~