--- title: 7-最大熵RL tags: - 最大熵 - 强化学习 - SAC - 数学基础 --- # 最大熵强化学习(Maximum Entropy Reinforcement Learning) ## 1. 基本框架 ### 1.1 标准 RL 目标 标准强化学习的目标是找到一条最优策略 $\pi(a|s)$ 使得累积折扣奖励的期望最大化: $$\max_\pi \mathbb{E}_{\pi}\left[\sum_{t=0}^{\infty} \gamma^t r(s_t, a_t)\right]$$ 其中: - $s_t \in \mathcal{S}$:状态空间 - $a_t \in \mathcal{A}$:动作空间 - $\gamma \in [0, 1)$:折扣因子 - $r(s, a)$:奖励函数 **定义 1.1(值函数)** 给定策略 $\pi$,状态值函数定义为从状态 $s$ 开始的期望累积奖励: $$V^\pi(s) = \mathbb{E}_\pi\left[\sum_{t=0}^{\infty} \gamma^t r(s_t, a_t) \mid s_0 = s\right]$$ **定义 1.2(动作值函数)** 动作值函数(Q 函数)定义为在状态 $s$ 执行动作 $a$ 后的期望累积奖励: $$Q^\pi(s, a) = \mathbb{E}_\pi\left[\sum_{t=0}^{\infty} \gamma^t r(s_t, a_t) \mid s_0 = s, a_0 = a\right]$$ 两者满足递归关系(Bellman 方程): $$V^\pi(s) = \mathbb{E}_{a \sim \pi(\cdot|s)}\left[Q^\pi(s, a)\right]$$ $$Q^\pi(s, a) = r(s, a) + \gamma \mathbb{E}_{s' \sim p(\cdot|s,a)}\left[V^\pi(s')\right]$$ ### 1.2 最大熵 RL 目标 最大熵强化学习在标准目标基础上加入熵正则化项: $$\max_\pi \mathbb{E}_\pi\left[\sum_{t=0}^{\infty} \gamma^t \left(r(s_t, a_t) - \alpha \cdot \log \pi(a_t \mid s_t)\right)\right]$$ 其中 $\alpha > 0$ 是温度参数,$-\log \pi(a|s)$ 是策略的**负对数熵**。 展开后的目标等价于: $$\max_\pi \mathbb{E}_\pi\left[\sum_{t=0}^{\infty} \gamma^t r(s_t, a_t)\right] - \alpha \cdot \mathbb{E}_\pi\left[\sum_{t=0}^{\infty} \gamma^t \log \pi(a_t \mid s_t)\right]$$ ### 1.3 熵正则化的物理意义 **定理 1.1(熵正则化的效果)** 在最大熵目标下,策略会同时优化奖励和行动多样性。对于任意两个都能获得高奖励的动作,最大熵目标会倾向于选择熵更高的策略分布。 **证明**:考虑最大化 $\mathbb{E}_{a\sim\pi}[r(a)] + \alpha H(\pi)$。使用拉格朗日乘子法,对每个状态的策略独立优化: $$\mathcal{L} = \sum_a \pi(a) r(a) - \alpha \sum_a \pi(a) \log \pi(a) + \lambda\left(\sum_a \pi(a) - 1\right)$$ 对 $\pi(a)$ 求导并设为零: $$\frac{\partial \mathcal{L}}{\partial \pi(a)} = r(a) - \alpha(\log \pi(a) + 1) + \lambda = 0$$ 解得: $$\pi(a) \propto \exp\left(\frac{r(a)}{\alpha}\right)$$ 这正是 **Softmax** 分布。温度参数 $\alpha$ 控制了策略的"平滑"程度: - $\alpha \to 0$:策略趋近于确定性,选择奖励最高的动作 - $\alpha \to \infty$:策略趋近于均匀分布,完全探索 **温度参数 $\alpha$ 的作用**: | $\alpha$ 值 | 策略行为 | 探索程度 | |------------|---------|---------| | $\alpha \to 0$ | 贪婪选择 | 几乎无探索 | | $\alpha$ 适中 | softmax 分布 | 平衡探索与利用 | | $\alpha \to \infty$ | 均匀分布 | 完全探索 | --- ## 2. 软策略迭代(Soft Policy Iteration) ### 2.1 软 Bellman 方程 **定义 2.1(软 Q 函数)** 在最大熵框架下,定义软 Q 函数为: $$Q^{soft}(s, a) = r(s, a) + \gamma \mathbb{E}_{s' \sim p(\cdot|s,a)}\left[V^{soft}(s')\right]$$ 其中软值函数定义为: $$V^{soft}(s) = \alpha \log \int_a \exp\left(\frac{Q^{soft}(s,a)}{\alpha}\right) da = \alpha \log \sum_a \exp\left(\frac{Q^{soft}(s,a)}{\alpha}\right)$$ 最后一步假设动作空间是离散的(对于连续空间,用积分)。 **定理 2.1(软值函数的等价形式)** 软值函数可写成: $$V^{soft}(s) = \alpha \log \sum_a \exp\left(\frac{Q^{soft}(s,a)}{\alpha}\right) = \alpha \cdot \text{LogSumExp}_{a}\left(\frac{Q^{soft}(s,a)}{\alpha}\right)$$ **引理 2.1(软值函数与熵的关系)** 软值函数满足: $$V^{soft}(s) = \mathbb{E}_{a\sim\pi_\alpha(\cdot|s)}\left[Q^{soft}(s,a)\right] + \alpha \cdot H\left(\pi_\alpha(\cdot|s)\right)$$ 其中 $\pi_\alpha(a|s) \propto \exp\left(\frac{Q^{soft}(s,a)}{\alpha}\right)$。 **证明**:设 $\pi(a|s) = \frac{\exp(Q(s,a)/\alpha)}{Z(s)}$,其中 $Z(s) = \sum_{a'}\exp(Q(s,a')/\alpha)$。则: $$\mathbb{E}_{\pi}[Q(s,a)] = \sum_a \pi(a|s) Q(s,a) = \frac{\sum_a \exp(Q(s,a)/\alpha) Q(s,a)}{Z(s)}$$ 而: $$\alpha \log Z(s) = \alpha \log \sum_a \exp(Q(s,a)/\alpha)$$ 对 $\alpha \log Z(s)$ 求关于 $Q(s,a)$ 的导数: $$\frac{\partial (\alpha \log Z)}{\partial Q(s,a)} = \alpha \cdot \frac{1}{Z} \cdot \exp(Q(s,a)/\alpha) = \pi(a|s)$$ 因此: $$\alpha \log Z(s) = \mathbb{E}_{\pi}[Q(s,a)] + \alpha H(\pi)$$ ### 2.2 软策略迭代算法 **算法 2.1(软策略迭代)** 1. **初始化**:任意初始化 Q 函数 $Q(s,a)$ 2. **软策略评估**:固定策略 $\pi(a|s) \propto \exp(Q(s,a)/\alpha)$,更新 $$Q(s,a) \leftarrow r(s,a) + \gamma \mathbb{E}_{s'\sim p}\left[\alpha \log \sum_{a'} \exp\left(\frac{Q(s',a')}{\alpha}\right)\right]$$ 3. **软策略提升**:更新策略 $$\pi(a|s) \leftarrow \frac{\exp(Q(s,a)/\alpha)}{Z(s)}$$ 4. 重复步骤 2-3 直到收敛 ### 2.3 收敛性证明 **定理 2.2(软策略迭代的收敛性)** 软策略迭代收敛到唯一的最优软 Q 函数 $Q^*$,对应的策略 $\pi^*$ 满足 $\pi^*(a|s) \propto \exp(Q^*(s,a)/\alpha)$。 **证明**(Sketch): 分两步证明。 **步骤 1:软策略评估保持 $Q$ 在当前策略下的不动点性质** 设当前策略为 $\pi$,定义算子 $\mathcal{T}^\pi$: $$(\mathcal{T}^\pi Q)(s,a) = r(s,a) + \gamma \mathbb{E}_{s'\sim p}\left[\alpha \log \sum_{a'} \exp\left(\frac{Q(s',a')}{\alpha}\right)\right]$$ 类似标准 RL 的证明,可以验证 $\mathcal{T}^\pi$ 是一个 $\gamma$-收缩算子。重复应用最终收敛到唯一的不动点 $Q^\pi$。 **步骤 2:软策略提升保证策略改进** 设 $Q = Q^{\pi_{old}}$,新策略 $\pi_{new}(a|s) \propto \exp(Q(s,a)/\alpha)$。需要证明 $V^{\pi_{new}}(s) \geq V^{\pi_{old}}(s)$。 考虑 $V^{\pi_{new}}(s) - V^{\pi_{old}}(s)$ 的展开,利用之前建立的等式关系可以完成证明。$\square$ --- ## 3. Soft Actor-Critic(SAC) ### 3.1 算法框架 SAC(Soft Actor-Critic)是基于最大熵框架的 Actor-Critic 算法,由 Haarnoja 等人于 2018 年提出。 **算法 3.1(SAC 的目标函数)** SAC 的 Actor 目标函数为最小化以下 KL 散度: $$\mathcal{L}(\theta) = \mathbb{E}_{s\sim d_{\pi_\theta}, a\sim \pi_\theta(\cdot|s)}\left[D_{\text{KL}}\left(\pi_\theta(\cdot \mid s) \| \frac{\exp(Q(s,\cdot))}{Z(s)}\right)\right]$$ 展开得: $$D_{\text{KL}}(\pi \| \frac{\exp(Q/\alpha)}{Z}) = \mathbb{E}_{a\sim\pi}\left[\log \pi(a|s) - \frac{Q(s,a)}{\alpha} + \log Z(s)\right]$$ 忽略常数 $\log Z(s)$,最小化该目标等价于最大化: $$\mathbb{E}_{a\sim\pi}\left[\frac{Q(s,a)}{\alpha} - \log \pi(a|s)\right]$$ 这正好对应最大熵目标中"奖励 + 熵"的形式。 ### 3.2 双 Q 网络结构 SAC 使用两个独立的 Q 网络 $Q_{\theta_1}$ 和 $Q_{\theta_2}$ 来缓解 Q 值过估计问题: $$Q(s,a) = \min_{i=1,2} Q_{\theta_i}(s,a)$$ 目标网络 $Q_{\theta_i'}$ 的更新与标准 DDPG 类似: $$\theta_i' \leftarrow \tau \theta_i + (1-\tau) \theta_i'$$ ### 3.3 自动温度调整 手动调节 $\alpha$ 需要大量试错。SAC 提出了自动温度调整机制。 **定理 3.1(自动温度调整目标)** 目标是最小化熵正则化项的系数 $\alpha$,同时约束期望熵不低于目标值 $\mathcal{H}_{\text{target}}$: $$\min_\alpha \mathbb{E}_{s\sim d_\pi}\left[\alpha \left( -\log \pi(a|s) - \mathcal{H}_{\text{target}} \right)\right]$$ 实际的实现中,维护一个可学习的 $\alpha$: $$\mathcal{L}(\alpha) = \mathbb{E}_{s\sim d_\pi, a\sim \pi}\left[\alpha \left( -\log \pi(a|s) - \mathcal{H}_{\text{target}} \right)\right]$$ 更新规则: $$\alpha \leftarrow \alpha - \eta \nabla_\alpha \mathcal{L}(\alpha)$$ ### 3.4 与 TD3/Twin Delayed DDPG 的对比 | 特性 | SAC | TD3 | |-----|-----|-----| | 探索机制 | 熵最大化(最大熵) | 延迟更新 + 目标策略平滑 | | 动作选择 | 随机策略 | 确定性策略 + 噪声 | | Q 值修正 | 最小值修正(双 Q) | 延迟更新 | | 超参数敏感度 | 对 $\alpha$ 敏感 | 对噪声参数敏感 | | 理论框架 | 最大熵 RL | 标准 RL(策略梯度) | --- ## 4. 最大熵策略梯度 ### 4.1 软策略梯度推导 **定理 4.1(软策略梯度定理)** 最大熵框架下的策略梯度为: $$\nabla_\theta J(\pi) = \mathbb{E}_{s\sim d_\pi, a\sim \pi}\left[\nabla_\theta \log \pi(a|s) \cdot \left(Q^{soft}(s,a) - \log \pi(a|s)\right)\right]$$ 或等价地写成: $$\nabla_\theta J(\pi) = \mathbb{E}_{s\sim d_\pi, a\sim \pi}\left[\nabla_\theta \log \pi(a|s) \cdot \left(Q^{soft}(s,a) + \alpha \log \pi(a|s)\right)\right]$$ **推导**: 从最大熵目标出发: $$J(\pi) = \mathbb{E}_\pi\left[\sum_t \gamma^t (r(s_t,a_t) - \alpha \log \pi(a_t|s_t))\right]$$ 对参数 $\theta$ 的梯度: $$\nabla_\theta J = \nabla_\theta \mathbb{E}_\pi\left[\sum_t \gamma^t r(s_t,a_t)\right] - \alpha \nabla_\theta \mathbb{E}_\pi\left[\sum_t \gamma^t \log \pi(a_t|s_t)\right]$$ 第一项是标准策略梯度(REINFORCE): $$\nabla_\theta \mathbb{E}_\pi\left[\sum_t \gamma^t r(s_t,a_t)\right] = \mathbb{E}_\pi\left[\sum_t \gamma^t \nabla_\theta \log \pi(a_t|s_t) \cdot Q(s_t,a_t)\right]$$ 第二项处理 $\nabla_\theta \log \pi$ 项与 $\log \pi$ 的乘积,经过 algebra 操作可化为 $\alpha \nabla_\theta \log \pi(a_t|s_t) \cdot \log \pi(a_t|s_t)$ 形式(忽略折扣因子与轨迹分布的细节差异)。合并后得到定理中的形式。 ### 4.2 与标准策略梯度的关系 **标准策略梯度(REINFORCE)**: $$\nabla_\theta J^{PG} = \mathbb{E}_\pi\left[\nabla_\theta \log \pi(a|s) \cdot Q^\pi(s,a)\right]$$ **最大熵策略梯度**: $$\nabla_\theta J^{soft} = \mathbb{E}_\pi\left[\nabla_\theta \log \pi(a|s) \cdot \left(Q^{soft}(s,a) + \alpha \log \pi(a|s)\right)\right]$$ **引理 4.1(关系)**:令 $\alpha = 0$,则最大熵策略梯度退化为标准策略梯度。 **引理 4.2(EMP/Expected MDP 梯度)**:另一种相关的形式是"Expected MDP"梯度: $$\nabla_\theta J^{EMP} = \mathbb{E}_\pi\left[Q^\pi(s,a) \cdot \nabla_\theta \log \pi(a|s)\right] - \mathbb{E}_\pi\left[V^\pi(s)\right] \cdot \nabla_\theta \mathbb{E}_\pi[1]$$ 这与最大熵梯度在 $\alpha$ 取特定值时等价。 --- ## 5. 探索-利用权衡 ### 5.1 探索作为熵最大化 **定理 5.1(熵与探索的关系)** 在最大熵目标中,$\mathbb{E}\left[\sum_t \log \pi(a_t|s_t)\right]$ 正比于策略的**累积熵**。最大化该项等效于鼓励在所有时间步保持高行动多样性。 **信息论解释**:设 $\pi$ 的轨迹分布为 $\tau = (s_0, a_0, s_1, a_1, ...)$。轨迹的熵为: $$H(\tau) = -\mathbb{E}_\pi\left[\log \pi(\tau)\right] = -\mathbb{E}_\pi\left[\sum_t \log \pi(a_t|s_t) + \log p(s_{t+1}|s_t,a_t)\right]$$ 由于环境转移概率 $p(s_{t+1}|s_t,a_t)$ 不受策略控制,最大化轨迹熵等价于最大化 $\sum_t \log \pi(a_t|s_t)$。 ### 5.2 内在动机与最大熵的等价性 **定义 5.1(内在动机)** 内在动机(Intrinsic Motivation)通过额外的"好奇心"奖励 $r^i(s,a)$ 来鼓励探索: $$r^i(s,a) = f(\text{ novelty}(s,a))$$ 常见的 novelty 度量包括: - 伪计数(Pseudo-count) - 信息增益(Information Gain) - 预测误差(Prediction Error) **定理 5.2(等价性)** 存在某些内在奖励构造,使得最大熵 RL 与内在动机 RL 等价。 具体而言,若设计内在奖励 $r^i(s,a) = -\alpha \cdot \log \pi(a|s)$(当前策略的负对数概率),则最大化 $r + r^i$ 等效于最大熵目标。 ### 5.3 伪计数与信息增益的解释 **定义 5.2(伪计数)** 伪计数 $\hat{N}(s)$ 是对状态 $s$ 访问频率的估计。信息增益定义为: $$\text{InfoGain}(s,a) = D_{\text{KL}}(p(\cdot|s,a) \| p(\cdot|s))$$ 其中 $p(\cdot|s,a)$ 是转移模型,$p(\cdot|s)$ 是边际分布。 **与熵的关系**:最大化信息增益等价于最小化对未来不确定性的预期,这与最大熵目标中"保持高熵分布"的直觉相呼应。 --- ## 6. 与其他方法的关系 ### 6.1 最大熵 RL vs 熵正则化 DQN | 方法 | 目标 | 策略 | |-----|-----|-----| | 标准 DQN | $\max_\pi \mathbb{E}\left[\sum_t \gamma^t r\right]$ | 确定性($\epsilon$-贪婪) | | 熵正则化 DQN | $\max_\pi \mathbb{E}\left[\sum_t \gamma^t (r - \alpha \log \pi)\right]$ | 随机(softmax) | 熵正则化 DQN 的 Q 更新规则变为: $$Q(s,a) \leftarrow r(s,a) + \gamma \mathbb{E}_{s'}\left[\alpha \log \sum_{a'} \exp(Q(s',a')/\alpha)\right]$$ 这与软策略迭代的更新完全一致。 ### 6.2 最大熵 IRL(信息论视角) **定义 6.1(最大熵 IRL)** 给定专家演示 $\mathcal{D} = \{(s_i, a_i)\}$,最大熵 IRL 的目标是推断奖励函数 $r(s,a)$,使得: $$\max_r \mathbb{E}_{(s,a)\sim \mathcal{D}}[r(s,a)] - \alpha \log Z(r)$$ 其中配分函数 $Z(r) = \sum_{s,a} \exp(r(s,a)/\alpha)$。 **信息论解释**:这等价于在给定约束 $\mathbb{E}[r(s,a)] = \mathbb{E}_{\mathcal{D}}[r(s,a)]$ 下,最大化分布 $p(a|s) \propto \exp(r(s,a)/\alpha)$ 的熵。 ### 6.3 最大熵均衡 **定义 6.2(最大熵均衡)** 在博弈论中,最大熵均衡是在所有可能的均衡中熵最高的均衡: $$\pi^* = \arg\max_\pi H(\pi) \quad \text{s.t.} \quad \pi \in \text{NE}(\text{game})$$ 这与最大熵 RL 有类似的正则化动机:在不确定性下选择最"均匀"的均衡策略。 --- ## 7. 理论分析 ### 7.1 策略优化收敛性 **定理 7.1(最大熵策略优化的收敛性)** 在最大熵框架下,使用软策略迭代或 SAC,策略序列 $\{\pi_t\}$ 收敛到唯一的最优策略 $\pi^*$。 **关键引理(熵正则化的凸性)** 软值函数 $V^{soft}(s)$ 对 $Q$ 是 $\frac{1}{\alpha}$-光滑的(smooth),这保证了在连续动作空间中的收敛性。 ### 7.2 温度参数的理论选择 **定理 7.2(温度参数与最优策略的关系)** 最优温度参数 $\alpha^*$ 满足: $$\alpha^* = \arg\min_\alpha \mathbb{E}_\pi\left[\sum_t \gamma^t r(s_t,a_t)\right] \quad \text{s.t.} \quad \pi \propto \exp(Q/\alpha)$$ 实践中,$\alpha$ 的选择取决于: 1. 任务难度:复杂多模态任务需要更高的 $\alpha$ 2. 折扣因子 $\gamma$:高 $\gamma$ 意味着长期回报更重要,$\alpha$ 需要相应调整 3. 动作空间大小:动作空间越大,通常需要更大的 $\alpha$ 来鼓励探索 ### 7.3 与奖励重塑的关系 **定义 7.1(奖励重塑)** 奖励重塑(Reward Shaping)将原奖励 $r$ 转换为 $\tilde{r} = r + F$,其中 $F$ 是势函数: $$F(s,s') = \gamma \phi(s') - \phi(s)$$ **定理 7.3(最大熵与奖励重塑的关系)** 最大熵目标中的熵项可以视为一种特殊的"内在奖励重塑": 这构成了一个**无势函数的奖励重塑**:$F(s,a) = -\alpha \log \pi(a|s)$ 不满足势函数的梯度条件,但它仍然保持了最优策略的不变性(在最大熵框架下)。 --- ## 参考文献 1. Haarnoja, T., Zhou, A., Abbeel, P., & Levine, S. (2018). Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor. *ICML*. 2. Ziebart, B. D., Maas, A. L., Bagnell, J. A., & Dey, A. K. (2008). Maximum Entropy Inverse Reinforcement Learning. *AAAI*. 3. Mnih, V., et al. (2015). Human-level control through deep reinforcement learning. *Nature*. 4. Schulman, J., Levine, S., Abbeel, P., Jordan, M., & Moritz, P. (2015). Trust Region Policy Optimization. *ICML*. 5. Lillicrap, T. P., et al. (2015). Continuous control with deep reinforcement learning. *ICLR*. 6. Fujita, S., & Maeda, T. (2018). Clipped Action Policy Gradient. *ICML*.