强化学习(SAC)

SAC—— soft actor-critic

SAC算法是一种现代的深度强化学习算法,它结合了基于策略的和基于价值的方法。SAC的核心思想是最大化期望回报的同时保持策略的随机性,这有助于提高探索环境的效率,并且通常可以赵高更好的策略。

发展史:

TD3算法在DDPG算法的基础上引入了双critic网络和延迟更新,进一步提升了算法的性能;SAC算法在TD3算法的基础上进一步拓展,引入了熵优化和自适应温度参数等技术,以适应更复杂的任务。

SAC算法最早于2018年被提出,该算法结合了actor-critic方法和强化学习中的熵概念。

随机策略&确定性策略

随机策略stochastic policy:在给定状态时,不会总是产生相同的动作,相反它会根据某种概率分布选择动作,这意味着及时智能体处于相同的状态,也可能选择不同的动作。

确定性策略deterministic policy:在给定状态时,总是产生相同的动作,这意味着无论何时智能体处于特定状态,都会选择相同的动作。

基于最大熵的RL算法的优势:

不仅想要长期的回报最大,还想要policy的每一次输出的action的熵最大,这样做是为了让策略随机化,也是在鼓励探索,为具有相似的Q值的动作分配近乎均等的概率,不会给动作范围内任何一个动作分配非常高的概率,避免了反复选择同一个动作而陷入次优。

伪代码:

初始化参数:\psi(软状态值函数中)、\bar{\psi }\theta(软Q值函数中)、\phi(策略函数中)

for each iteration do

        for each environment step do

                a_{t}\sim \pi _{\phi }\left ( a_{t}|s_{t} \right )

                s_{t+1}\sim p\left ( s_{t+1} |s_{t},a_{t}\right )

                D\leftarrow D\cup \left \{ \left ( S_{t}, a_{t}, r\left ( s_{t}, a_{t} \right ), s_{t+1} \right ) \right \}

        end for

        for each gradient step do

                更新V:\psi \leftarrow \psi -\lambda _{V}\hat{\triangledown _{\psi }}J_{V}\left ( \psi \right )

                更新软Q:\theta _{i}\leftarrow \theta _{i}-\lambda _{Q}\hat{\triangledown}_{\theta _{i}}J_{Q}\left ( \theta _{i} \right )

                更新策略:\phi \leftarrow \phi -\lambda _{\pi }\hat{\triangledown }_{\theta _{i}}J_{\pi }\left ( \phi \right )

                更新target V:\bar{\psi }\leftarrow \tau \psi +\left ( 1-\tau \right )\bar{\psi }

        end for

end for

SAC网络架构

SAC算法中温度参数通常体现在actor网络的输出中,actor网络的输出是带噪声的策略,其中你早生的程度由温度参数控制。

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值