深度强化学习算法之SAC算法

深度强化学习算法之SAC(Soft Actor Critic)算法

文章地址:
Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor
Soft Actor-Critic Algorithms and Applications

代码地址:
demo1
demo2

参考地址:
BLOG1
BLOG2
BLOG3
BLOG4

1、最大熵强化学习

  • 一般的强化学习的目标是最大化累积奖励:
    ∑ t E ( s t , a t ) ∼ ρ π [ r ( s t , a t ) ] \sum_{t} \mathbb{E}_{\left(s_t, a_{t}\right) \sim \rho_{\pi}}\left[r\left(s_{t}, a_{t}\right)\right] tE(st,at)ρπ[r(st,at)]

  • 最大熵强化学习的目标是带熵的累积奖励:
    J ( π ) = ∑ t = 0 T E ( s t , a t ) ∼ ρ π [ r ( s t , a t ) + α H ( π ( ⋅ ∣ s t ) ) ] J(\pi)=\sum_{t=0}^{T} \mathbb{E}_{(s_t, a_t) \sim \rho_{\pi}}\left[r\left(s_{t}, a_{t}\right)+\alpha H\left(\pi\left(\cdot \mid s_{t}\right)\right)\right] J(π)=t=0TE(st,at)ρπ[r(st,at)+αH(π(st))]

​ 其中, α \alpha α 为温度系数,决定熵相对于奖励的重要程度,从而控制策略的随机程度

entropy可以理解为是一个值,用来衡量一个随机变量的随机性有多强。举个例子,如果对一个硬币出现正反面的变量进行加权,如果总是出现正面,那么这个变量的熵就很小;反之,如果出现正反面的加权值都接近0.5,那么就说明这个变量的熵很大。

假设 x ∼ P x \sim P xP P P P 是一个分布,那么 x x x的熵 H H H的计算方式为:
H ( P ) = E P x ∼ P [ − log ⁡ P ( x ) ] H(P)=\underset{x \sim P}{E_{P}}[-\log P(x)] H(P)=xPEP[logP(x)]

2、从策略迭代到软策略迭代

  • 策略迭代

    分成两步:

    • 策略评估,更新值函数,用来对策略进行评估
    • 策略改进,更新策略,用上一步的值函数来知道策略提高

在这里插入图片描述

​ 如上图所示,不断经过策略评估个策略提高最终找到最优策略。

  • 软策略迭代

    • 策略评估

      对于一个固定的策略 π \pi π,soft Q-value可以用Bellman backup 算子 Γ π \Gamma^{\pi} Γπ 迭代求出来:
      T π Q ( s t , a t ) ≜ r ( s t , a t ) + γ E s t + 1 ∼ p [ V ( s t + 1 ) ] \mathcal{T}^{\pi} Q\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right) \triangleq r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+\gamma \mathbb{E}_{\mathbf{s}_{t+1} \sim p}\left[V\left(\mathbf{s}_{t+1}\right)\right] TπQ(st,at)r(st,at)+γEst+1p[V(st+1)]
      其中,soft state value function 为:
      V ( s t ) = E a t ∼ π [ Q ( s t , a t ) − log ⁡ π ( a t ∣ s t ) ] V\left(\mathbf{s}_{t}\right)=\mathbb{E}_{\mathbf{a}_{t} \sim \pi}\left[Q\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)-\log \pi\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)\right] V(st)=Eatπ[Q(st,at)logπ(atst)]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值