Soft Actor-Critic(SAC算法)

1. 基本概念

1.1 soft Q-value

τ π Q ( s t , a t ) = r ( s t , a t ) + γ ⋅ E s t + 1 ∼ p [ V ( s t + 1 ) ] \tau ^\pi Q(s_t,a_t)=r(s_t,a_t) + \gamma \cdot E_{s_{t +1}\sim p}[V(s_{t+1})] τπQ(st,at)=r(st,at)+γEst+1p[V(st+1)]

1.2 soft state value function

V ( s t ) = E a t ∼ π [ Q ( s t , a t ) − α ⋅ l o g π ( a t ∣ s t ) ] V(s_t)=E_{a_t \sim \pi}[Q(s_t,a_t)-\alpha \cdot log\pi(a_t|s_t)] V(st)=Eatπ[Q(st,at)αlogπ(atst)]

1.3 Soft Policy Evaluation

Q k + 1 = τ π Q k Q^{k+1}=\tau^\pi Q^k Qk+1=τπQk
当k趋于无穷时, Q k Q^k Qk将收敛至 π \pi π的soft Q-value。
证明:
r π ( s t , a t ) = r ( s t , a t ) + γ ⋅ E s t + 1 ∼ p [ H ( π ( ⋅ ∣ s t + 1 ) ) ] r_\pi(s_t,a_t)=r(s_t,a_t)+\gamma \cdot E_{s_{t+1}\sim p}[H(\pi(\cdot | s_{t+1}))] rπ(st,at)=r(st,at)+γEst+1p[H(π(st+1))]
Q ( s t , a t ) = r ( s t , a t ) + γ ⋅ E s t + 1 ∼ p [ H ( π ( ⋅ ∣ s t + 1 ) ) + E s t + 1 , a t + 1 ∼ ρ π [ Q ( s t + 1 , a t + 1 ) ] Q(s_t,a_t) = r(s_t,a_t)+\gamma \cdot E_{s_{t+1}\sim p}[H(\pi(\cdot | s_{t+1})) + E_{s_{t+1},a_{t+1}\sim \rho_\pi}[Q(s_{t+1},a_{t+1})] Q(st,at)=r(st,at)+γEst+1p[H(π(st+1))+Est+1,at+1ρπ[Q(st+1,at+1)]
Q ( s t , a t ) = r ( s t , a t ) + γ ⋅ E s t + 1 , a t + 1 ∼ ρ π [ − l o g ( π ( a t + 1 ∣ s t + 1 ) ) + E s t + 1 , a t + 1 ∼ ρ π [ Q ( s t + 1 , a t + 1 ) ] Q(s_t,a_t) = r(s_t,a_t)+\gamma \cdot E_{s_{t+1},a_{t+1}\sim \rho_\pi}[-log(\pi(a_{t+1} | s_{t+1})) + E_{s_{t+1},a_{t+1}\sim \rho_\pi}[Q(s_{t+1},a_{t+1})] Q(st,at)=r(st,at)+γEst+1,at+1ρπ[log(π(at+1st+1))+Est+1,at+1ρπ[Q(st+1,at+1)]
Q ( s t , a t ) = r ( s t , a t ) + γ ⋅ E s t + 1 , a t + 1 ∼ ρ π [ Q ( s t + 1 , a t + 1 ) − l o g ( π ( a t + 1 ∣ s t + 1 ) ) Q(s_t,a_t) = r(s_t,a_t)+\gamma \cdot E_{s_{t+1},a_{t+1}\sim \rho_\pi}[Q(s_{t+1},a_{t+1})-log(\pi(a_{t+1} | s_{t+1})) Q(st,at)=r(st,at)+γEst+1,at+1ρπ[Q(st+1,a

### Soft Actor-Critic (SAC) 算法的图解与可视化解释 Soft Actor-Critic (SAC) 是一种基于最大熵强化学习框架的离策略深度强化学习算法[^1]。它通过优化目标函数来平衡奖励最大化和动作分布的熵最大化,从而实现更高效的探索能力。 #### SAC 的核心概念 SAC 结合了 actor-critic 架构以及软策略更新机制。以下是其主要组成部分及其作用: 1. **Actor**: 负责生成遵循当前最优策略的动作概率分布 \( \pi(a|s) \)[^2]。 2. **Critic**: 使用两个 Q 函数估计状态-动作对的价值 \( Q(s, a) \),并通过最小化 TD 错误来进行训练[^3]。 3. **Entropy Term**: 引入了一个额外的目标项——动作分布的熵 \( H(\pi) \),用于鼓励策略更加随机化以促进更好的探索[^4]。 #### 图解说明 为了更好地理解 SAC 工作原理,可以借助以下几种常见的图表形式进行展示: 1. **架构流程图** 这种类型的图形展示了整个系统的组成模块如何相互交互。通常会显示 `actor` 和双路 `critic` 的结构布局,并标注数据流动方向(前向传播 vs 后向梯度传递)。此外还会特别强调温度参数 α 对于调节熵的重要性[^5]。 2. **损失函数分解图** 可视化不同部分损失之间的关系有助于深入剖析模型内部运作细节。例如分别绘制针对 policy improvement step 中涉及的各项成分:expected reward term、regularization entropy bonus;同时对比 twin delayed deep deterministic policy gradient(TD3)-like target network updates during value estimation steps. 3. **实验结果曲线** 绘制在特定环境下的性能指标随时间变化趋势可以帮助直观感受该方法的优势所在。比如平均累积回报 versus episodes 或者 timesteps; 并且可以通过比较其他 baseline algorithms 来突出 sac 较高的样本效率及稳定性表现[^6]. ```python import matplotlib.pyplot as plt # Example of plotting training progress over time. def plot_training_curve(rewards_over_time): plt.figure(figsize=(8, 6)) plt.plot(range(len(rewards_over_time)), rewards_over_time) plt.title('Training Progress') plt.xlabel('Episodes / Timesteps') plt.ylabel('Average Reward per Episode') plt.grid(True) plt.show() ``` 上述代码片段提供了一种简单的方法用来呈现强化学习过程中收益的变化情况。 #### 总结 综上所述,SAC 不仅继承了传统 actor-critic 方法的优点还融入了现代先进理念使得整体设计更为合理高效。利用恰当的形式化表达工具能够极大地辅助我们掌握这一复杂技术背后的精髓之处[^7]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值