当前位置: 首页 > news >正文

3.8 最大熵强化学习(Maximum Entropy RL, SAC)

最大熵强化学习(Maximum Entropy RL, SAC)


背景

此前的所有强化学习方法均专注于最大化回报(return),这对应于强化学习中的利用(exploitation):我们只关心最优策略。
探索(exploration)通常由额外机制实现,例如:

  • 基于值函数方法中的 \(\epsilon\)-greedy 或 softmax 策略;
  • DDPG 中对动作添加高斯噪声或 OU 噪声。

这些机制通常引入新的超参数(如 \(\epsilon\)、softmax 温度等),且需手动调整其随时间的衰减。

最大熵强化学习(Maximum Entropy RL) 的核心思想是:

让算法自动学习“需要多少探索”才能最有效地学习。

这种思想可追溯至 [@Ziebart2008] 与 [@Todorov2008] 的概率推断视角。
我们先介绍熵正则化(entropy regularization),再讨论 Soft Q-learning 与 Soft Actor-Critic(SAC)。


熵正则化(Entropy Regularization)

熵正则化 [@Williams1991] 在目标函数中加入一个熵项:

\[J(\theta) = \mathbb{E}_{s_t \sim \rho^\pi, a_t \sim \pi_\theta}[R(s_t, a_t) + \beta H(\pi_\theta(s_t))] \]

其中 \(\beta\) 控制探索强度。

离散策略的熵定义为:

\[H(\pi_\theta(s_t)) = -\sum_a \pi_\theta(s_t, a) \log \pi_\theta(s_t, a) \]

selfinformation

对于连续动作空间,若策略服从高斯分布 \(\pi_\theta(s,a)=\mathcal{N}(\mu_\theta(s),\sigma_\theta^2(s))\),其微分熵为:

\[H(\pi_\theta(s)) = \frac{n}{2}(1+\ln 2\pi) + \frac{1}{2}\ln |\sigma_\theta(s)| \]


熵的意义

  • 策略确定性强 → 熵接近 0;
  • 策略随机性强 → 熵较大。

通过在目标函数中增加熵项,鼓励策略保持非确定性,即在获取高回报的同时保持足够探索。

\(\beta\) 过小 → 熵项作用弱,策略过早收敛为确定性;
\(\beta\) 过大 → 策略过度随机,性能下降。

此外,随机策略还能:

  • 对抗环境的不确定性(POMDP 中尤为重要);
  • 学习多样化的最优解(减少样本复杂度)。

熵正则化如今被广泛用于深度强化学习(如 A3C、PPO、SAC 等)。


Soft Q-learning

传统熵正则化在每个状态中单独最大化策略熵。
@Haarnoja2017 在 最大熵强化学习框架 下推广为Soft Q-learning

\[J(\theta) = \sum_t \mathbb{E}_{s_t,a_t}[r(s_t,a_t) + \beta H(\pi_\theta(s_t))] \]

区别在于:Soft Q-learning 最大化的是整条轨迹的熵,即希望智能体访问“高不确定性状态”以减少对环境的无知。

策略可定义为 softmax 形式:

\[\pi(s,a) \propto \exp(Q_{\text{soft}}(s,a)/\beta) \]

相应的软 Q 值满足:

\[Q_{\text{soft}}(s_t,a_t) = r(s_t,a_t) + \gamma \mathbb{E}_{s_{t+1}}[V_{\text{soft}}(s_{t+1})] \]

而软状态值定义为:

\[V_{\text{soft}}(s_t) = \mathbb{E}_{a_t \sim \pi}[Q_{\text{soft}}(s_t,a_t) - \log \pi(s_t,a_t)] \]

该形式在离散动作空间中等价于熵正则化 Bellman 方程。
其关键思想:值函数同时考虑了期望回报与策略的不确定性。


Soft Q-learning 算法

算法流程:

  1. 从经验回放中采样 \((s,a,r,s')\)
  2. 计算 \(V_{\text{soft}}(s') = \mathbb{E}_{a'\sim\pi}[Q_{\text{soft}}(s',a') - \log\pi(s',a')]\)
  3. 更新 Q 函数:

    \[Q_{\text{soft}}(s,a) \leftarrow r + \gamma V_{\text{soft}}(s') \]

  4. 更新策略 \(\pi\)(若不直接用 softmax 形式)。

其不足在于:计算 \(V_{\text{soft}}(s')\) 需在连续空间中多次采样,计算复杂。

softQL

与传统 RL 不同,Soft Q-learning 的策略在收敛后仍保持随机性,可持续探索多种最优策略。


Soft Actor-Critic(SAC)

@Haarnoja2018a 提出的 Soft Actor-Critic (SAC)
是 Soft Q-learning 的可扩展版本,具有以下特征:

  • off-policy 学习(使用经验回放);
  • 同时学习随机策略与值函数;
  • 样本效率与稳定性远超 DDPG、PPO。

网络结构

SAC 包含三个近似器:

名称 作用
\(V_\varphi(s)\) 软状态值函数
\(Q_\psi(s,a)\) 软 Q 值函数
\(\pi_\theta(s,a)\) 随机策略(Actor)

损失函数

软状态值网络:

\[\mathcal{L}(\varphi) = \mathbb{E}_{s_t \sim \mathcal{D}} [(V_\varphi(s_t) - \mathbb{E}_{a_t \sim \pi_\theta}[Q_\psi(s_t,a_t) - \log \pi_\theta(s_t,a_t)])^2] \]

软 Q 网络:

\[\mathcal{L}(\psi) = \mathbb{E}_{(s,a,r,s') \sim \mathcal{D}} [(Q_\psi(s,a) - (r + \gamma V_\varphi(s')))^2] \]

策略网络:

通过最小化 KL 散度,使策略接近 soft Q 分布:

\[\mathcal{L}(\theta) = \mathbb{E}_{s_t \sim \mathcal{D}}[D_{KL}(\pi_\theta(s,\cdot) || \frac{\exp(Q_\psi(s,\cdot))}{Z(s)})] \]

利用重参数化技巧(reparameterization trick)可避免直接计算 \(Z(s)\)


SAC 算法流程

  1. 采样 \((s_t,a_t,r_{t+1},s_{t+1})\) 并存入回放池;

  2. 从回放池中采样批量;

  3. 采样动作 \(a \sim \pi_\theta(s)\)

  4. 更新:

    • 状态值网络:

      \[\nabla_\varphi (V_\varphi - (Q_\psi - \log\pi_\theta))^2 \]

    • Q 网络:

      \[\nabla_\psi (r + \gamma V_\varphi' - Q_\psi)^2 \]

    • 策略网络:

      \[\nabla_\theta D_{KL}(\pi_\theta || e^{Q_\psi}/Z) \]

  5. 定期软更新目标网络。


性能与特点

  • off-policy → 高样本复用率;
  • 熵调节 → 自动探索与稳定收敛;
  • 随机策略 → 适用于高维连续控制任务;
  • 双 Q 网络 + 目标网络 → 抑制过估计偏差。

在 MuJoCo 与 Humanoid 等复杂任务上,SAC 的收敛速度与最终性能均超越 DDPG、PPO 等主流算法。


总结

算法 关键特性
Soft Q-learning 最大熵目标,基于 Q 更新
DDPG 确定性策略,off-policy
SAC 最大熵 + off-policy + 随机策略
PPO/TRPO on-policy,基于信赖域的稳定优化

SAC 实现了最大熵强化学习思想的完整落地:
在高维连续动作空间中兼顾高效探索、稳定性与性能。

http://www.hskmm.com/?act=detail&tid=29797

相关文章:

  • 乐理 -06 和弦, 和声
  • 3.7 带经验回放的演员–评论家算法(Actor-Critic with Experience Replay, ACER)
  • 3.6 策略优化(TRPO 与 PPO)
  • 3.5 自然梯度(Natural Gradients)
  • 3.3 离策略演员–评论家(Off-policy Actor–Critic)
  • 3.4 深度确定性策略梯度(Deep Deterministic Policy Gradient, DDPG)
  • 20232325 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • 乐理 -06 相对音感 绝对音感
  • 【光照】UnityURP[天空盒]原理与[动态天空盒]实现
  • Hadoop概念以及安装
  • Presto
  • presto配置
  • Hadoop--MapReduce
  • Hadoop--yarn
  • AI元人文构想框架体系
  • [DAX/数据分析表达式/Power BI] DAX 查询视图语言 = `Data Analysis eXpressions`(数据分析表达式) = 编程式数据分析语言
  • Hadoop--HDFS-HA高可用
  • Hadoop--HDFS
  • Redis总结
  • 函数柯里化
  • 防抖与节流
  • 大数据概述
  • 10月——算法竞赛回坑杂记
  • 20232308 2025-2026-1 《网络与系统攻防技术》实验一实验报告
  • Redis知识点汇总
  • 乐理 -05 乐音 乐级
  • Redis实现分布式锁以及Redis客户端比较
  • 一致性哈希原理
  • 缓存和数据库数据的一致性
  • Redis不同数据类型代码场景实践