第3部分:Maximum Entropy RL → Soft Bellman Equation → SAC Critic Loss完整推导
前两部分已经介绍了:
- SAC在强化学习体系中的位置;
- SAC网络结构;
- Actor、Twin Q、Target Network、Replay Buffer。
本部分进入 SAC 最核心的数学部分:
为什么 SAC 不再最大化单纯奖励,而是最大化“奖励 + 熵”?
为什么 Critic Target 中会出现:
Q(st+1,at+1)−αlogπ(at+1∣st+1)Q(s_{t+1},a_{t+1})-\alpha\log\pi(a_{t+1}|s_{t+1})Q(st+1,at+1)−αlogπ(at+1∣st+1)
30. 从传统强化学习目标开始
传统强化学习目标:
J(π)=Eτ∼π[∑t=0∞γtrt]J(\pi)=E_{\tau\sim\pi}[\sum_{t=0}^{\infty}\gamma^tr_t]J(π)=Eτ∼π[t=0∑∞γtrt]
其中:
- τ\tauτ表示轨迹;
- rtr_trt表示奖励;
- γ\gammaγ表示折扣因子。
优化目标:
π∗=argmaxπJ(π)\pi^*=\arg\max_\pi J(\pi)π∗=argπmaxJ(π)
即:
找到累计奖励最大的策略。
31. 传统RL的问题:探索不足
假设一个状态:
sss
有两个动作:
| 动作 | 奖励 |
|---|---|
| a1a_1a1 | 10 |
| a2a_2a2 | 9 |
普通强化学习:
倾向:
a1a_1a1
最终:
π(a1∣s)→1\pi(a_1|s)\rightarrow1π(a1∣s)→1
策略变成:
π(a∣s)=[1,0]\pi(a|s)=[1,0]π(a∣s)=[1,0]
此时:
策略熵:
H(π)=0H(\pi)=0H(π)=0
表示:
策略完全确定。
问题:
如果:
a2a_2a2
虽然当前奖励低:
但是未来收益更高。
由于策略已经不探索:
可能永远发现不了。
32. Maximum Entropy Reinforcement Learning
SAC提出:
不要只最大化奖励。
而优化:
J(π)=E[∑tγt(rt+αH(π(⋅∣st)))]J(\pi)=E[\sum_t\gamma^t(r_t+\alpha H(\pi(\cdot|s_t)))]J(π)=E[t∑γt(rt+αH(π(⋅∣st)))]
其中:
H(π(⋅∣st))H(\pi(\cdot|s_t))H(π(⋅∣st))
表示策略熵。
32.1 策略熵定义
离散动作:
H(π(⋅∣s))=−∑aπ(a∣s)logπ(a∣s)H(\pi(\cdot|s))=-\sum_a\pi(a|s)\log\pi(a|s)H(π(⋅∣s))=−a∑π(a∣s)logπ(a∣s)
连续动作:
H(π(⋅∣s))=−Ea∼π[logπ(a∣s)]H(\pi(\cdot|s))=-E_{a\sim\pi}[\log\pi(a|s)]H(π(⋅∣s))=−Ea∼π[logπ(a∣s)]
因此:
最大熵目标:
J(π)=E[∑tγt(rt−αlogπ(at∣st))]J(\pi)=E[\sum_t\gamma^t(r_t-\alpha\log\pi(a_t|s_t))]J(π)=E[t∑γt(rt−αlogπ(at∣st))]
33. Maximum Entropy的直观意义
SAC优化:
rt−αlogπ(at∣st)r_t-\alpha\log\pi(a_t|s_t)rt−αlogπ(at∣st)
包含两部分:
33.1 奖励项
rtr_trt
作用:
提高任务收益。
33.2 熵项
−αlogπ(at∣st)-\alpha\log\pi(a_t|s_t)−α