Soft Actor-Critic (SAC) 算法的熵正则化与随机策略优化
题目描述
Soft Actor-Critic(SAC)是一种基于最大熵强化学习框架的深度强化学习算法,适用于连续动作空间的控制任务。其核心思想是在策略优化过程中引入熵正则化项,鼓励策略的随机性,从而提升探索效率、避免局部最优,并改善训练稳定性。题目要求详细解释SAC的熵正则化机制、策略与价值函数的交互优化过程,以及其如何平衡奖励最大化与策略随机性。
解题过程
-
最大熵强化学习基础
- 传统强化学习的目标是最大化累积奖励:\(\sum_t \mathbb{E}[r(s_t, a_t)]\)。
- SAC引入熵正则化,目标变为:\(\sum_t \mathbb{E}[r(s_t, a_t) + \alpha \mathcal{H}(\pi(\cdot|s_t))]\),其中\(\mathcal{H}(\pi) = -\mathbb{E}[\log \pi(a|s)]\)是策略的熵,\(\alpha\)是温度系数,控制熵项的重要性。
- 熵代表策略的随机性:熵越大,策略越随机,探索能力越强。
-
SAC的三大核心网络
- 策略网络(Actor):参数化策略\(\pi_\phi(a|s)\),输出动作的概率分布(如高斯分布)。
- 软Q值网络(Critic):两个独立的Q网络\(Q_{\theta_1}(s,a)\)和\(Q_{\theta_2}(s,a)\),用于减少Q值过高估计。
- 目标Q值网络:通过指数移动平均(EMA)从Critic网络更新,稳定训练。
-
策略优化与重参数化技巧
- 策略网络的损失函数为:
\[ L(\phi) = \mathbb{E}_{s_t \sim \mathcal{D}} \left[ \mathbb{E}_{a_t \sim \pi_\phi} [\alpha \log \pi_\phi(a_t|s_t) - Q_{\theta}(s_t, a_t)] \right] \]
其中$Q_{\theta}(s_t, a_t) = \min(Q_{\theta_1}, Q_{\theta_2})$,$\mathcal{D}$是经验回放缓冲区。
- 为梯度反向传播,使用重参数化:从高斯分布采样时改为\(a_t = \mu_\phi(s_t) + \sigma_\phi(s_t) \cdot \epsilon\),\(\epsilon \sim \mathcal{N}(0,1)\),使梯度可穿过随机节点。
- 软Q值函数的更新
- Q网络的损失函数基于贝尔曼方程:
\[ L(\theta_i) = \mathbb{E}_{(s_t, a_t, r_t, s_{t+1}) \sim \mathcal{D}} \left[ \left( Q_{\theta_i}(s_t, a_t) - (r_t + \gamma \bar{V}(s_{t+1})) \right)^2 \right] \]
- 目标值\(\bar{V}(s_{t+1})\)通过策略分布计算:
\[ \bar{V}(s_{t+1}) = \mathbb{E}_{a_{t+1} \sim \pi_\phi} \left[ \min_{i=1,2} Q_{\theta_i}(s_{t+1}, a_{t+1}) - \alpha \log \pi_\phi(a_{t+1}|s_{t+1}) \right] \]
此处熵项$\alpha \log \pi_\phi$体现了最大熵目标。
- 温度系数\(\alpha\)的自适应调整
- 熵的目标值\(\bar{\mathcal{H}}\)(如\(-dim(a)\))需预设,通过优化损失函数动态调整\(\alpha\):
\[ L(\alpha) = \mathbb{E}_{s_t \sim \mathcal{D}} \left[ -\alpha \left( \log \pi_\phi(a_t|s_t) + \bar{\mathcal{H}} \right) \right] \]
若策略熵低于目标,则增大$\alpha$以鼓励探索;反之则减小。
- 训练流程与关键技巧
- 步骤:
- 交互收集数据存入缓冲区。
- 随机采样批次数据,按顺序更新Q网络、策略网络和温度系数。
- 通过EMA更新目标Q网络。
- 优势:
- 熵正则化避免策略过早收敛,提升鲁棒性。
- 双Q网络缓解价值高估。
- 重参数化保证梯度稳定流动。
- 步骤:
总结
SAC通过熵正则化将探索与利用的平衡转化为优化问题,其随机策略设计特别适合复杂连续控制任务。核心在于策略熵与Q值函数的联合优化,以及温度系数的自适应机制,共同保障了算法的高效性和稳定性。