Files
2026-05-16 17:16:51 +08:00

386 lines
16 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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-CriticSAC
### 3.1 算法框架
SACSoft Actor-Critic是基于最大熵框架的 Actor-Critic 算法,由 Haarnoja 等人于 2018 年提出。
**算法 3.1SAC 的目标函数)**
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.2EMP/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*.