Bellman Error（BE，PBE），TD(𝜆)，Reward Shaping，


### 为什么 TD residual 也可以用于policy gardient？

第六种形式为：

$$
Ψ_t​=r_t​+V^π(s_{t+1}​)−V^π(s_t​).
$$

这是无折扣情形下的 TD 残差。记作：

$$
\delta_t^V = r_t+V^\pi(s_{t+1})-V^\pi(s_t).
$$

在真实值函数$V^\pi$ 下，有：

$$
\mathbb{E} [ r_t+V^\pi(s_{t+1}) \mid s_t,a_t ] = Q^\pi(s_t,a_t).
$$

因此：
$$
\mathbb{E} [ \delta_t^V \mid s_t,a_t ] = Q^\pi(s_t,a_t)-V^\pi(s_t) = A^\pi(s_t,a_t).
$$

也就是说，TD 残差不是逐样本等于优势函数，而是在给定 $(s_t,a_t)$ 的条件期望意义下等于优势函数。

因此：

$$
\mathbb{E} \left[ \delta_t^V \nabla_\theta\log\pi_\theta(a_t\mid s_t) \right] = \mathbb{E} \left[ A^\pi(s_t,a_t) \nabla_\theta\log\pi_\theta(a_t\mid s_t) \right].
$$

这说明，在使用真实 $V^\pi$ 时，一步 TD 残差也可以作为策略梯度中的优势估计。


| ($\Psi_t$) 形式                              |   是否依赖真实值函数 |  方差特征 | 说明                  |
| ------------------------------------------ | ----------: | ----: | ------------------- |
| 总回报 ($\sum_{t=0}^\infty r_t$)              |           否 |    很高 | 包含与当前动作无因果关系的过去奖励   |
| reward-to-go ($\sum_{t'=t}^\infty r_{t'}$) |           否 |    较低 | 去掉过去奖励              |
| reward-to-go ($-b(s_t)$)                   | 依赖 baseline |    更低 | baseline 不改变期望，只降方差 |
| ($Q^\pi(s_t,a_t)$)                         |           是 |     低 | 用条件期望替代随机回报         |
| ($A^\pi(s_t,a_t)$)                         |           是 |    更低 | 去除状态价值基线            |
| TD 残差 ($r_t+V^\pi(s_{t+1})-V^\pi(s_t)$)    |           是 | 低但偏短视 | 一步优势估计              |


# TD 残差为什么可以估计 advantage？

定义 TD 残差：

$$
\delta_t^V = r_t+\gamma V(s_{t+1})-V(s_t)
$$

这表示：实际观察到的“一步奖励 + 下一状态估计价值”与当前状态估计价值之间的差异。

如果

$$
V=V^{\pi,\gamma}
$$

则：

$$
\delta_t^{V^{\pi,\gamma}} = r_t+\gamma V^{\pi,\gamma}(s_{t+1})-V^{\pi,\gamma}(s_t).
$$

对 $s_{t+1}$​ 取条件期望：

$$
\mathbb E_{s_{t+1}\mid s_t,a_t} [ r_t+\gamma V^{\pi,\gamma}(s_{t+1}) ] = Q^{\pi,\gamma}(s_t,a_t).
$$

因此：

$$
\mathbb E_{s_{t+1}\mid s_t,a_t} [ \delta_t^{V^{\pi,\gamma}} ] = Q^{\pi,\gamma}(s_t,a_t)-V^{\pi,\gamma}(s_t) = A^{\pi,\gamma}(s_t,a_t).
$$

所以，当值函数精确时，一步 TD 残差是优势函数的无偏估计。

但如果

$$
V\neq V^{\pi,\gamma},
$$

则：

$$
\mathbb E[\delta_t^V\mid s_t,a_t] = \mathbb E[ r_t+\gamma V(s_{t+1})-V(s_t) \mid s_t,a_t ]
$$

一般不等于

$$
A^{\pi,\gamma}(s_t,a_t)
$$

这时一步 TD 残差会引入偏差。





---



**reward-to-go** 可译为：**从当前时刻开始往后的累计奖励**，也常译为**后继回报**、**未来回报和**。在策略梯度中，它用于替代“整条轨迹总奖励”，目的是利用因果性降低梯度估计方差；OpenAI Spinning Up 的推导也明确说明：对于时间步 ($t$)，早于 ($t$) 的奖励项可以从该时间步的梯度权重中去掉，剩下的就是 reward-to-go 形式。([Spinning Up](https://spinningup.openai.com/en/latest/spinningup/extra_pg_proof1.html?utm_source=chatgpt.com "Extra Material — Spinning Up documentation - OpenAI"))

---

## 1. 定义

假设一条轨迹为：


$$
\tau=(s_0,a_0,r_0,s_1,a_1,r_1,\ldots,s_T,a_T,r_T).  
$$


整条轨迹总回报是：


$$
R(\tau)=\sum_{k=0}^{T}r_k.  
$$


而时间步 ($t$) 的 reward-to-go 定义为：


$$
G_t=\sum_{k=t}^{T}r_k.  
$$


若是无穷时域，则写成：

 
$$
G_t=\sum_{k=t}^{\infty}r_k.  
$$

若使用折扣因子，则通常写成：


$$
G_t^\gamma=\sum_{k=t}^{T}\gamma^{k-t}r_k.  
$$


直观含义是：**动作 ($a_t$) 之后还能获得多少累计奖励**。

---

## 2. 为什么不使用整条轨迹总奖励？

最原始的 REINFORCE 形式可以写成：


$$
\nabla_\theta J(\theta)
=
\mathbb E  
\left[  
\sum_{t=0}^{T}  
\nabla_\theta\log\pi_\theta(a_t\mid s_t)  
\left(  
\sum_{k=0}^{T}r_k  
\right)  
\right].  
$$

这里，每一个动作 ($a_t$) 都被整条轨迹的总奖励加权。

问题在于：  
对于动作 ($a_t$)，早于 ($t$) 的奖励

 
$$
r_0,r_1,\ldots,r_{t-1}  
$$


已经发生，不能被 ($a_t$) 影响。

例如：

$$
a_5  
$$


不可能改变


$$
r_0,r_1,r_2,r_3,r_4.  
$$


因此，用整条轨迹总奖励给 ($a_t$) 加权，会把与该动作无因果关系的过去奖励也混进梯度估计中。这些过去奖励不会改变梯度期望，但会增加噪声。Spinning Up 将这一点称为“不要让过去干扰当前动作”，其证明思路是：当奖励发生在动作之前，即 (t'<t)，对应项的期望为零，因此可被移除。([Spinning Up](https://spinningup.openai.com/en/latest/spinningup/extra_pg_proof1.html?utm_source=chatgpt.com "Extra Material — Spinning Up documentation - OpenAI"))

---

## 3. reward-to-go 的策略梯度形式

将整条轨迹总奖励替换为从当前时间步开始的未来奖励：


$$
\sum_{k=0}^{T}r_k  
\quad \longrightarrow \quad  
\sum_{k=t}^{T}r_k.  
$$


于是策略梯度变为：


$$
\nabla_\theta J(\theta)
=
\mathbb E  
\left[  
\sum_{t=0}^{T}  
\nabla_\theta\log\pi_\theta(a_t\mid s_t)  
\left(  
\sum_{k=t}^{T}r_k  
\right)  
\right].  
$$


也就是：


$$
\nabla_\theta J(\theta)
=
\mathbb E  
\left[  
\sum_{t=0}^{T}  
\nabla_\theta\log\pi_\theta(a_t\mid s_t)  
G_t  
\right].  
$$

这里的


$$
G_t=\sum_{k=t}^{T}r_k  
$$


就是 reward-to-go。

---

## 4. 一个简单例子

假设一条 episode 的奖励序列为：


$$
[r_0,r_1,r_2,r_3]=[1,0,2,3].  
$$

$$
$$


整条轨迹总奖励为：

$$
R(\tau)=1+0+2+3=6.  
$$


如果使用整条轨迹总奖励，则每个动作都被 (6) 加权：


$$
a_0 \mapsto 6,  
\quad  
a_1 \mapsto 6,  
\quad  
a_2 \mapsto 6,  
\quad  
a_3 \mapsto 6.  
$$

但 reward-to-go 是：


$$
G_0=1+0+2+3=6,  
$$
 
$$
G_1=0+2+3=5,  
$$

$$
G_2=2+3=5,  
$$

$$
G_3=3.  
$$

所以每个动作只由其之后的奖励加权：


$$
a_0 \mapsto 6,  
\quad  
a_1 \mapsto 5,  
\quad  
a_2 \mapsto 5,  
\quad  
a_3 \mapsto 3.  
$$


这更符合因果结构：越靠后的动作，不应该为更早已经发生的奖励负责。

---

## 5. 为什么 reward-to-go 不改变梯度期望？

关键恒等式是：


$$
\mathbb E_{a_t\sim \pi_\theta(\cdot\mid s_t)}  
\left[  
\nabla_\theta\log\pi_\theta(a_t\mid s_t)  
\right]  
=0.  
$$


证明如下：


$$
\mathbb E_{a_t}  
\left[  
\nabla_\theta\log\pi_\theta(a_t\mid s_t)  
\right]
=
\sum_{a_t}  
\pi_\theta(a_t\mid s_t)  
\nabla_\theta\log\pi_\theta(a_t\mid s_t).  
$$


由于：


$$
\pi_\theta(a_t\mid s_t)  
\nabla_\theta\log\pi_\theta(a_t\mid s_t)

\nabla_\theta \pi_\theta(a_t\mid s_t),  
$$


所以：


$$
\sum_{a_t}  
\pi_\theta(a_t\mid s_t)  
\nabla_\theta\log\pi_\theta(a_t\mid s_t)
=
 \sum_{a_t}  
\nabla_\theta \pi_\theta(a_t\mid s_t)

 \nabla_\theta  
\sum_{a_t}  
\pi_\theta(a_t\mid s_t)
=
 \nabla_\theta 1
$$



因此，对于任何只依赖于过去、且不依赖于当前动作 ($a_t$) 的量 ($C_t$)，有：


$$
\mathbb E  
\left[  
C_t  
\nabla_\theta\log\pi_\theta(a_t\mid s_t)  
\right]  
=0.  
$$


过去奖励


$$
r_0,\ldots,r_{t-1}  
$$

正是这样的项。它们和当前动作的 score function 相乘后，期望为零。因此从整条轨迹回报中删去过去奖励，不改变策略梯度的期望。OpenAI Spinning Up 的额外证明材料也给出了这种 reward-to-go 形式的推导。([Spinning Up](https://spinningup.openai.com/en/latest/spinningup/extra_pg_proof1.html?utm_source=chatgpt.com "Extra Material — Spinning Up documentation - OpenAI"))

---

## 6. 为什么 reward-to-go 能降低方差？

整条轨迹总奖励可以分解为：


$$
\sum_{k=0}^{T}r_k
=
\sum_{k=0}^{t-1}r_k  
+  
\sum_{k=t}^{T}r_k.  
$$


其中：


$$
\sum_{k=0}^{t-1}r_k  
$$


是动作 ($a_t$) 之前的奖励。它对时间步 ($t$) 的策略梯度期望贡献为零，但在单条采样轨迹中仍然是随机噪声。

因此，使用整条轨迹总奖励时，梯度估计中包含额外随机项：


$$
\nabla_\theta\log\pi_\theta(a_t\mid s_t)  
\sum_{k=0}^{t-1}r_k.  
$$


该项期望为零，但方差不一定为零。

reward-to-go 删除这些过去奖励项后，保留无偏性，同时减少无关噪声。Spinning Up 的实现说明也指出，reward-to-go policy gradient 相比最简单的 policy gradient，主要变化就是损失函数中的权重从整条 episode 回报改为每个时间步自己的后继回报。([Spinning Up](https://spinningup.openai.com/en/latest/spinningup/rl_intro3.html?utm_source=chatgpt.com "Part 3: Intro to Policy Optimization - Spinning Up in Deep RL!"))

---

## 7. reward-to-go 与 ($Q^\pi(s_t,a_t)$) 的关系

reward-to-go 是一个随机样本：

  
$$
G_t=\sum_{k=t}^{T}r_k.  
$$

而状态—动作价值函数定义为：


$$
Q^\pi(s_t,a_t)
=
\mathbb E  
\left[  
G_t  
\mid s_t,a_t  
\right].  
$$

因此：


$$
G_t  
$$


可以看作

  
$$
Q^\pi(s_t,a_t)  
$$


的 Monte Carlo 样本估计。

也就是说：


$$
\text{reward-to-go}  
\approx Q^\pi(s_t,a_t).  
$$


二者区别是：

 
$$
G_t  
$$


是单条轨迹上实际观察到的未来累计奖励；

$$
Q^\pi(s_t,a_t)  
$$


是在给定 ($(s_t,a_t)$) 后，对所有可能未来轨迹求期望得到的理论量。

因此，在策略梯度中使用 reward-to-go，本质上是在用采样得到的未来回报估计动作价值函数。

---

## 8. reward-to-go 与 advantage 的关系

若进一步减去状态价值函数：

$$
V^\pi(s_t),  
$$

得到：


$$
G_t - V^\pi(s_t).  
$$

这就是优势函数的 Monte Carlo 估计：


$$
G_t - V^\pi(s_t)  
\approx  
A^\pi(s_t,a_t).  
$$

因为：

 
$$
A^\pi(s_t,a_t)
=
Q^\pi(s_t,a_t)-V^\pi(s_t).  
$$
所以有层级关系：


$$
\text{total return}  
\rightarrow  
\text{reward-to-go}  
\rightarrow  
\text{reward-to-go} - V^\pi(s_t)  
\rightarrow  
\text{advantage estimate}.  
$$


GAE 后续正是在这个方向继续推进：不直接使用完整的 Monte Carlo reward-to-go，而是用多步 TD 残差的指数加权和来估计 advantage，从而在偏差和方差之间折中。

---

## 9. 总结

reward-to-go 的核心是：

$$
G_t=\sum_{k=t}^{T}r_k.  
$$

它表示从当前时间步 ($t$) 开始，到 episode 结束为止的累计奖励。

在策略梯度中，它替代整条轨迹总奖励：

$$
\sum_{k=0}^{T}r_k.  
$$

替换的理由是：

$$
a_t  
$$
只能影响未来奖励，不能影响过去奖励。

因此，过去奖励项对梯度期望没有贡献，但会增加方差。reward-to-go 删除这些无因果关系的过去奖励项，因此得到一个仍然无偏但方差更低的策略梯度估计器。

---
下面重点解释这句话：


$$
\text{如果 }\tilde r\text{ 是用 }\Phi=V^{\pi,\gamma}\text{ 得到的，那么对 }l>0,  
$$

$$
\mathbb E[\tilde r_{t+l}\mid s_t,a_t]
=
 \mathbb E[\tilde r_{t+l}\mid s_t]
$$



--- 
也就是说，shaped reward 的 response function 只在 ($l=0$) 处非零。原本分散到未来多个时间步的信用分配信号，被压缩成当前一步的即时响应。GAE 论文用 potential-based reward shaping 来解释这一点；Ng、Harada 和 Russell 的经典 reward shaping 结果则说明，形如 ($r+\gamma\Phi(s')-\Phi(s)$) 的势函数变换在折扣 MDP 中具有策略不变性。([People at EECS](https://people.eecs.berkeley.edu/~pabbeel/cs287-fa09/readings/NgHaradaRussell-shaping-ICML1999.pdf?utm_source=chatgpt.com "Policy invariance under reward transformations"))

---


下面对这段 **Advantage Function Estimation** 作系统解释。该节是 GAE 论文的核心：目标是构造


$$
\hat A_t  
$$


来近似真实折扣优势函数


$$
A^{\pi,\gamma}(s_t,a_t),  
$$


然后将其放入策略梯度估计器。GAE 原论文提出的关键形式是用 TD residual 的指数加权和估计 advantage；该构造与 TD($(\lambda)$) 的 forward view 很接近，但对象从 value function 变成了 advantage function。GAE 论文题名、作者和主题见原始 arXiv 条目；Sutton & Barto 的 TD($(\lambda)$) 材料也明确说明 TD($(\lambda)$) 通过 ($\gamma\lambda$) 衰减 eligibility trace，并在 ($\lambda=0$) 与 ($\lambda=1$) 之间连接 TD(0) 与 Monte Carlo。([arXiv](https://arxiv.org/abs/1506.02438 "[1506.02438] High-Dimensional Continuous Control Using Generalized Advantage Estimation"))

---

# 1. 这一节要解决的问题

策略梯度需要如下形式：


$$
\hat g
=
\frac{1}{N}  
\sum_{n=1}^N  
\sum_{t=0}^{\infty}  
\hat A_t^n  
\nabla_\theta \log \pi_\theta(a_t^n\mid s_t^n).  
\tag{9}  
$$


其中：


$$
n  
$$


表示 batch 中第 ($n$) 条 episode；


$$
t  
$$


表示该 episode 中的时间步；


$$
\hat A_t^n  
$$


表示第 ($n$) 条 episode 中第 ($t$) 步的优势估计；


$$
\nabla_\theta \log \pi_\theta(a_t^n\mid s_t^n)  
$$


是 score function，表示增加当前采样动作概率的参数方向。

策略梯度更新的核心逻辑是：


$$
\hat A_t>0  
\quad\Rightarrow\quad  
\text{增加 }a_t\text{ 在 }s_t\text{ 下的概率};  
$$

$$
\hat A_t<0  
\quad\Rightarrow\quad  
\text{降低 }a_t\text{ 在 }s_t\text{ 下的概率}.  
$$


因此，关键问题变成：

  
$$
\boxed{  
\text{如何构造一个可靠的 }\hat A_t\text{？}  
}  
$$


若真实优势函数


$$
A^{\pi,\gamma}(s_t,a_t)  
$$


已知，直接令


$$
\hat A_t=A^{\pi,\gamma}(s_t,a_t)  
$$


即可。但真实优势函数不可直接观测，因为它依赖所有未来轨迹的期望回报。因此需要用采样数据和近似值函数 ($V$) 构造估计器。

---

# 2. TD residual 为什么可以估计 advantage？

定义近似值函数 ($V$)，并定义 TD residual：


$$
\delta_t^V
=
r_t+\gamma V(s_{t+1})-V(s_t).  
$$

这是“一步实际奖励 + 下一状态估计价值 − 当前状态估计价值”。

若 ($V$) 等于真实折扣值函数：


$$
V=V^{\pi,\gamma},  
$$


则：


$$
\delta_t^{V^{\pi,\gamma}}
=
 r_t+\gamma V^{\pi,\gamma}(s_{t+1})
-
V^{\pi,\gamma}(s_t).  
$$


对下一状态 (s_{t+1}) 取条件期望：


$$
\mathbb E_{s_{t+1}}  
\left[  
\delta_t^{V^{\pi,\gamma}}  
\right]
=
 \mathbb E_{s_{t+1}}  
\left[  
r_t+\gamma V^{\pi,\gamma}(s_{t+1})
-
V^{\pi,\gamma}(s_t)  
\right].  
$$


由于


$$
V^{\pi,\gamma}(s_t)  
$$


在给定 ($s_t$) 后是常数，因此：



$$
 \mathbb E_{s_{t+1}}  
\left[  
r_t+\gamma V^{\pi,\gamma}(s_{t+1})  
\right]
=
V^{\pi,\gamma}(s_t).  
$$


根据 Bellman 关系：


$$
Q^{\pi,\gamma}(s_t,a_t)
=
\mathbb E_{s_{t+1}}  
\left[  
r_t+\gamma V^{\pi,\gamma}(s_{t+1})  
\mid s_t,a_t  
\right].  
$$


所以：


$$
\mathbb E_{s_{t+1}}  
\left[  
\delta_t^{V^{\pi,\gamma}}  
\right]
=
 Q^{\pi,\gamma}(s_t,a_t)
-
 V^{\pi,\gamma}(s_t)
=
A^{\pi,\gamma}(s_t,a_t).  
\tag{10}  
$$

因此：


$$
\boxed{  
\delta_t^{V^{\pi,\gamma}}  
\text{ 是 }A^{\pi,\gamma}(s_t,a_t)\text{ 的无偏一步估计。}  
}  
$$


但这只在

$$
V=V^{\pi,\gamma}  
$$


时成立。若 ($V$) 是近似值函数，则：


$$
\mathbb E[\delta_t^V\mid s_t,a_t]  
\neq  
A^{\pi,\gamma}(s_t,a_t)  
$$


一般成立，所以一步 TD residual 会带来偏差。

---

# 3. 一步 TD advantage：($\hat A_t^{(1)}$)

定义：


$$
\hat A_t^{(1)}  
:=  
\delta_t^V

-V(s_t)+r_t+\gamma V(s_{t+1}).  
\tag{11}  
$$


这是最短的 advantage estimator。

它只看一步真实奖励 (r_t)，然后用


$$
V(s_{t+1})  
$$


bootstrap 后续所有未来奖励。

特点：


$$
\text{方差低，但依赖 }V\text{ 的准确性。}  
$$


若 ($V$) 很准确，一步 TD residual 就能很好估计 advantage；若 ($V$) 很差，偏差会较大。

---

# 4. 两步、三步、($k$)-步 advantage estimator

## 4.1 两步估计


$$
\hat A_t^{(2)}  
:=  
\delta_t^V+\gamma\delta_{t+1}^V.  
$$


展开：


$$
\delta_t^V
=
r_t+\gamma V(s_{t+1})-V(s_t),  
$$


$$
\gamma\delta_{t+1}^V
=
 \gamma r_{t+1}  
+  
\gamma^2 V(s_{t+2})
-
\gamma V(s_{t+1}).  
$$


相加：


$$
\hat A_t^{(2)}
=
-V(s_t)  
+  
r_t  
+  
\gamma r_{t+1}  
+  
\gamma^2V(s_{t+2}).  
\tag{12}  
$$


中间的

 
$$
+\gamma V(s_{t+1})  
$$


和


$$
-\gamma V(s_{t+1})  
$$


相互抵消。

---

## 4.2 三步估计


$$
\hat A_t^{(3)}  
:=  
\delta_t^V+\gamma\delta_{t+1}^V+\gamma^2\delta_{t+2}^V.  
$$


展开后：


$$
\hat A_t^{(3)}
=
-V(s_t)  
+  
r_t  
+  
\gamma r_{t+1}  
+  
\gamma^2r_{t+2}  
+  
\gamma^3V(s_{t+3}).  
\tag{13}  
$$


含义是：

 
$$
\text{使用 3 步真实奖励，然后在 }s_{t+3}\text{ 处 bootstrap。}  
$$


---

## 4.3 一般 ($k$)-步估计


$$
\hat A_t^{(k)}  
:=  
\sum_{l=0}^{k-1}  
\gamma^l\delta_{t+l}^V.  
$$


展开后得到：


$$
\hat A_t^{(k)}
=
-V(s_t)  
+  
r_t  
+  
\gamma r_{t+1}  
+  
\cdots  
+  
\gamma^{k-1}r_{t+k-1}  
+  
\gamma^kV(s_{t+k}).  
\tag{14}  
$$


这可以写成：


$$
\hat A_t^{(k)}
=
 G_{t:t+k}^{\gamma,V}
-
V(s_t),  
$$

其中


$$
G_{t:t+k}^{\gamma,V}
=
r_t  
+  
\gamma r_{t+1}  
+  
\cdots  
+  
\gamma^{k-1}r_{t+k-1}  
+  
\gamma^kV(s_{t+k})  
$$


是 (k$)-step bootstrapped return。

因此：


$$
\boxed{  
\hat A_t^{(k)}

 \text{(k)-step return}

\text{当前状态 baseline}  
}  
$$


---

# 5. 为什么这些式子是 telescoping sum？

从

$$
\sum_{l=0}^{k-1}  
\gamma^l\delta_{t+l}^V  
$$


出发，代入


$$
\delta_{t+l}^V
=
r_{t+l}  
+  
\gamma V(s_{t+l+1})
-
V(s_{t+l}).  
$$


得到：


$$
\sum_{l=0}^{k-1}  
\gamma^l  
\left(  
r_{t+l}  
+  
\gamma V(s_{t+l+1})
-
V(s_{t+l})  
\right).  
$$
]

拆开：



$$
 \sum_{l=0}^{k-1}  
\gamma^l r_{t+l}  
+  
\sum_{l=0}^{k-1}  
\gamma^{l+1}V(s_{t+l+1})

\sum_{l=0}^{k-1}  
\gamma^lV(s_{t+l}).  
$$


第二个值函数和为：
 
$$
\gamma V(s_{t+1})  
+  
\gamma^2V(s_{t+2})  
+  
\cdots  
+  
\gamma^kV(s_{t+k}).  
$$


第三个值函数和为：

  
$$
V(s_t)  
+  
\gamma V(s_{t+1})  
+  
\cdots  
+  
\gamma^{k-1}V(s_{t+k-1}).  
$$


相减后，中间项全部抵消，只剩：


$$
-V(s_t)+\gamma^kV(s_{t+k}).  
$$


因此：


$$
\sum_{l=0}^{k-1}  
\gamma^l\delta_{t+l}^V
=
 \sum_{l=0}^{k-1}  
\gamma^l r_{t+l}

V(s_t)  
+  
\gamma^kV(s_{t+k}).  
$$


这就是望远镜求和。

---

# 6. 为什么 ($k$) 越大，偏差通常越小？

有限 ($k$)-步估计中有一个 bootstrap 项：


$$
\gamma^kV(s_{t+k}).  
$$


若 ($V$) 不准确，偏差主要来自这个末端 bootstrap 项。随着 ($k$) 增大，若


$$
0<\gamma<1,  
$$


则：

$$
\gamma^k\to 0.  
$$


因此即使

  
$$
V(s_{t+k})  
$$


存在误差，它对估计结果的影响也被


$$
\gamma^k  
$$


削弱。

而


$$
-V(s_t)  
$$


是 baseline。只要它不依赖当前动作 ($a_t$)，它不会改变策略梯度期望。因此，原文说：


$$
-V(s_t)  
$$


不影响 bias，而


$$
\gamma^kV(s_{t+k})  
$$


随着 ($k\to\infty$) 被折扣削弱。

---

# 7. 极限 ($k\to\infty$)：Monte Carlo return minus baseline

当

 
$$
k\to\infty  
$$


时：


$$
\gamma^kV(s_{t+k})\to 0.  
$$


于是：


$$
\hat A_t^{(\infty)}
=
 \sum_{l=0}^{\infty}  
\gamma^l\delta_{t+l}^V
=
-V(s_t)  
+  
\sum_{l=0}^{\infty}  
\gamma^l r_{t+l}.  
\tag{15}  
$$
]

也就是：


$$
\boxed{  
\hat A_t^{(\infty)}
=
 G_t^\gamma
-
V(s_t)  
}  
$$
]

其中：


$$
G_t^\gamma
=
\sum_{l=0}^{\infty}  
\gamma^l r_{t+l}.  
$$
]

这就是折扣 Monte Carlo return 减去一个 baseline。

关键性质是：


$$
G_t^\gamma  
$$


是

[  
$$
Q^{\pi,\gamma}(s_t,a_t)  
$$
]

的无偏样本估计，而

[  
$$
V(s_t)  
$$
]

是不依赖当前动作的 baseline。即使 ($V$) 不准确，也不会改变策略梯度期望；它只影响方差。

因此：

[  
$$
\boxed{  
\hat A_t^{(\infty)}  
\text{ 对 }g^\gamma\text{ 是 }\gamma\text{-just，但方差较高。}  
}  
$$
]

---

# 8. GAE 的定义：对所有 (k)-步估计做指数加权平均

GAE 定义为：

[  
$$
\hat A_t^{\mathrm{GAE}(\gamma,\lambda)}  
:=  
(1-\lambda)  
\left(  
\hat A_t^{(1)}  
+  
\lambda\hat A_t^{(2)}  
+  
\lambda^2\hat A_t^{(3)}  
+\cdots  
\right).  
$$
]

也就是：

[  
$$
\hat A_t^{(1)}  
$$
]

权重为：

[  
$$
1-\lambda;  
$$
]

[  
$$
\hat A_t^{(2)}  
$$
]

权重为：

[  
$$
(1-\lambda)\lambda;  
$$
]

[  
$$
\hat A_t^{(3)}  
$$
]

权重为：

[  
$$
(1-\lambda)\lambda^2;  
$$
]

一般地：

[  
$$
\hat A_t^{(k)}  
$$
]

权重为：


$$
(1-\lambda)\lambda^{k-1}.  
$$
]

这些权重构成几何分布：


$$
\sum_{k=1}^{\infty}  
(1-\lambda)\lambda^{k-1}
$$



所以 GAE 是不同步长 advantage estimator 的加权平均。

这和 TD($(\lambda)$) 的 forward view 非常类似：TD($(\lambda)$) 也把不同 ($n$)-step return 按 ($\lambda$) 进行加权平均；Sutton & Barto 的材料指出，TD($(\lambda)$) 的 backward view 用 eligibility trace 实现，并且 trace 每步按 ($\gamma\lambda$) 衰减。([www-anw.cs.umass.edu](https://www-anw.cs.umass.edu/~barto/courses/cs687/Chapter%207.pdf "Chapter7.ppt"))

---

# 9. GAE 如何化简为 TD residual 的折扣和？

将


$$
\hat A_t^{(k)}
=
\sum_{l=0}^{k-1}  
\gamma^l\delta_{t+l}^V  
$$
]

代入 GAE 定义：


$$
\hat A_t^{\mathrm{GAE}(\gamma,\lambda)}
=
(1-\lambda)  
\left(  
\delta_t^V  
+  
\lambda(\delta_t^V+\gamma\delta_{t+1}^V)  
+  
\lambda^2(\delta_t^V+\gamma\delta_{t+1}^V+\gamma^2\delta_{t+2}^V)  
+  
\cdots  
\right).  
$$
]

现在统计每个 TD residual 的总权重。

---

## 9.1 ($\delta_t^V$) 的权重


$$
\delta_t^V  
$$


出现在所有项中：

 
$$
\hat A_t^{(1)},\hat A_t^{(2)},\hat A_t^{(3)},\ldots  
$$


因此权重为：


$$
(1-\lambda)(1+\lambda+\lambda^2+\cdots)
=
 (1-\lambda)\frac{1}{1-\lambda}
$$

]

---

## 9.2 ($\gamma\delta_{t+1}^V$) 的权重

[  
$$
\gamma\delta_{t+1}^V  
$$
]

从

 
$$
\hat A_t^{(2)}  
$$


开始出现，所以权重为：


$$
(1-\lambda)(\lambda+\lambda^2+\lambda^3+\cdots)
=
 (1-\lambda)\frac{\lambda}{1-\lambda}
=
\lambda.  
$$
]

因此对应项为：

[  
$$
\gamma\lambda\delta_{t+1}^V.  
$$
]

---

## 9.3 ($\gamma^2\delta_{t+2}^V$) 的权重


$$
\gamma^2\delta_{t+2}^V  
$$


从


$$
\hat A_t^{(3)}  
$$


开始出现，权重为：


$$
(1-\lambda)(\lambda^2+\lambda^3+\cdots)
=
\lambda^2.  
$$


因此对应项为：


$$
\gamma^2\lambda^2\delta_{t+2}^V.  
$$

---

## 9.4 得到最终形式

因此：


$$
\hat A_t^{\mathrm{GAE}(\gamma,\lambda)}
=
\delta_t^V  
+  
\gamma\lambda\delta_{t+1}^V  
+  
(\gamma\lambda)^2\delta_{t+2}^V  
+  
\cdots.  
$$

即：

  
$$
\boxed{  
\hat A_t^{\mathrm{GAE}(\gamma,\lambda)}
=
\sum_{l=0}^{\infty}  
(\gamma\lambda)^l  
\delta_{t+l}^V  
}  
\tag{16}  
$$


这就是 GAE 最核心的公式。

---

# 10. 这个公式的意义

  
$$
\hat A_t^{\mathrm{GAE}(\gamma,\lambda)}
=
\sum_{l=0}^{\infty}  
(\gamma\lambda)^l  
\delta_{t+l}^V.  
$$


该式表示：优势估计不是直接用 reward-to-go，而是用一串 TD residual 的加权和。

其中：

  
$$
\delta_t^V  
$$


衡量第 ($t$) 步的“一步优势信号”；

  
$$
\delta_{t+1}^V  
$$


衡量下一步的残差信号；


$$
\delta_{t+2}^V  
$$


衡量再下一步的残差信号。

权重


$$
(\gamma\lambda)^l  
$$


随 ($l$) 增大衰减。因此越远的 TD residual 影响越小。

直观上：

[  
$$
\text{GAE = 近端 TD 残差信号 + 逐渐衰减的远端 TD 残差信号。}  
$$
]

---

# 11. 为什么说 GAE 类似 TD($(\lambda)$)，但不是 TD($(\lambda)$)？

TD($(\lambda)$) 用于估计值函数：


$$
V^\pi(s).  
$$


它把不同长度的 return 混合起来，以在 TD(0) 和 Monte Carlo 之间折中。Sutton & Barto 材料中也说明，($\lambda=0$) 得到 TD(0)，($\lambda=1$) 得到 Monte Carlo 风格更新。([www-anw.cs.umass.edu](https://www-anw.cs.umass.edu/~barto/courses/cs687/Chapter%207.pdf "Chapter7.ppt"))

GAE 的形式类似：


$$
\hat A_t^{\mathrm{GAE}}
=
(1-\lambda)  
\sum_{k=1}^{\infty}  
\lambda^{k-1}  
\hat A_t^{(k)}.  
$$


但目标不是估计


$$
V^\pi(s_t),  
$$


而是估计：

 
$$
A^{\pi,\gamma}(s_t,a_t).  
$$


所以：

 
$$
\boxed{  
\text{TD}(\lambda)\text{ 是值函数估计；GAE 是优势函数估计。}  
}  
$$


---

# 12. 特殊情形一：($\lambda=0$)

当


$$
\lambda=0,  
$$


GAE 变为：


$$
\hat A_t^{\mathrm{GAE}(\gamma,0)}
=
\delta_t^V
=
r_t+\gamma V(s_{t+1})-V(s_t).  
\tag{17}  
$$


这就是一步 TD residual。

特点：


$$
\text{方差低。}  
$$


因为只使用一个奖励和一个 bootstrap 值，不需要累加长序列随机奖励。

但如果：
 
$$
V\neq V^{\pi,\gamma},  
$$


则偏差可能较大。

只有当：


$$
V=V^{\pi,\gamma}  
$$


时，


$$
\delta_t^V  
$$


才是 ($\gamma$)-just，并且是优势函数的无偏估计。

所以：


$$
\boxed{  
\lambda=0  
\text{ 强烈依赖值函数准确性。}  
}  
$$


---

# 13. 特殊情形二：($\lambda=1$)

当


$$
\lambda=1,  
$$
]

GAE 变为：


$$
\hat A_t^{\mathrm{GAE}(\gamma,1)}
=
\sum_{l=0}^{\infty}  
\gamma^l\delta_{t+l}^V.  
$$
]

根据望远镜求和：



$$
 \sum_{l=0}^{\infty}  
\gamma^l r_{t+l}
=
V(s_t).  
\tag{18}  
$$
]

也就是：


$$
\boxed{  
\hat A_t^{\mathrm{GAE}(\gamma,1)}
=
 G_t^\gamma
-
V(s_t)  
}  
$$
]

这是完整折扣 reward-to-go 减 baseline。

它的关键性质是：


$$
G_t^\gamma  
$$


是 ($Q^{\pi,\gamma}(s_t,a_t)$) 的 Monte Carlo 样本；


$$
V(s_t)  
$$


是只依赖状态的 baseline，不依赖当前动作 ($a_t$)，因此不改变策略梯度期望。

所以：


$$
\boxed{  
\mathrm{GAE}(\gamma,1)  
\text{ 无论 }V\text{ 是否准确，都是 }\gamma\text{-just。}  
}  
$$

但它方差高，因为包含整个未来折扣奖励序列。

---

# 14. ($0<\lambda<1$)：偏差—方差折中

当

 
$$
0<\lambda<1,  
$$


GAE 介于两端之间：


$$
\lambda=0:  
\quad  
\text{一步 TD，低方差，高 bootstrap 偏差风险};  
$$

$$
\lambda=1:  
\quad  
\text{Monte Carlo，低偏差，高方差};  
$$
 
$$
0<\lambda<1:  
\quad  
\text{多步混合，折中偏差与方差}.  
$$

$$
\lambda  
$$


越小，越依赖近端 bootstrap：


$$
\hat A_t\approx \delta_t^V.  
$$


方差较低，但值函数误差会更直接地引入偏差。


$$
\lambda  
$$
越大，越接近完整回报：

[  
$$
\hat A_t\approx G_t^\gamma - V(s_t).  
$$
]

偏差较低，但方差较高。

因此：


$$
\boxed{  
\lambda\text{ 控制 advantage estimator 在 TD 与 Monte Carlo 之间的位置。}  
}  
$$

---

# 15. ($\gamma$) 和 ($\lambda$) 的作用不同

原文特别强调，GAE 有两个参数：


$$
\gamma,\lambda.  
$$


二者都影响偏差—方差，但作用不同。

---

## 15.1 ($\gamma$)：决定折扣目标和价值尺度

折扣值函数为：


$$
V^{\pi,\gamma}(s)
=
\mathbb E  
\left[  
\sum_{l=0}^{\infty}  
\gamma^l r_{t+l}  
\mid s_t=s  
\right].  
$$


因此

  
$$
\gamma  
$$


决定了价值函数的时间尺度。

若

  
$$
\gamma  
$$


较小，远期奖励被弱化，值函数规模较小，方差较低，但优化方向更短视。

若原问题是无折扣总回报目标，则使用

  
$$
\gamma<1  
$$


相当于改变了目标中的时间权重。因此即使值函数完全准确，也会相对于无折扣目标引入偏差。

所以原文说：


$$
\boxed{  
\gamma<1  
\text{ 会引入偏差，不依赖值函数是否准确。}  
}  
$$


这里的“偏差”是相对于原始无折扣策略梯度而言。

---

## 15.2 ($\lambda$)：控制估计器使用多少未来 TD residual

 
$$
\lambda  
$$


不改变


$$
V^{\pi,\gamma}  
$$


的定义。它只改变 advantage estimator：


$$
\sum_{l=0}^{\infty}  
(\gamma\lambda)^l  
\delta_{t+l}^V.  
$$


若值函数准确：


$$
V=V^{\pi,\gamma},  
$$


则一步 TD residual 已经足以无偏估计 advantage：


$$
\mathbb E[\delta_t^V\mid s_t,a_t]
=
A^{\pi,\gamma}(s_t,a_t).  
$$


此时较小的 ($\lambda$) 不会引入相对于 ($g^\gamma$) 的偏差。

但若值函数不准确，较小的 ($\lambda$) 会过度依赖错误 bootstrap，从而引入偏差。

所以：


$$
\boxed{  
\lambda<1  
\text{ 主要在 }V\text{ 不准确时引入偏差。}  
}  
$$

这也是原文说经验上最佳 ($\lambda$) 往往低于最佳 ($\gamma$) 的原因：当值函数已经比较准确时，降低 ($\lambda$) 可以显著降方差，而偏差增加较小。

---

# 16. 式 ((19))：用 GAE 构造折扣策略梯度估计

折扣策略梯度为：


$$
g^\gamma
=
\mathbb E  
\left[  
\sum_{t=0}^{\infty}  
\nabla_\theta\log\pi_\theta(a_t\mid s_t)  
A^{\pi,\gamma}(s_t,a_t)  
\right].  
$$


真实优势函数未知，于是用 GAE 替代：


$$
g^\gamma  
\approx  
\mathbb E  
\left[  
\sum_{t=0}^{\infty}  
\nabla_\theta\log\pi_\theta(a_t\mid s_t)  
\hat A_t^{\mathrm{GAE}(\gamma,\lambda)}  
\right].  
$$


代入 GAE：



$$
\mathbb E  
\left[  
\sum_{t=0}^{\infty}  
\nabla_\theta\log\pi_\theta(a_t\mid s_t)  
\sum_{l=0}^{\infty}  
(\gamma\lambda)^l  
\delta_{t+l}^V  
\right].  
\tag{19}  
$$


当


$$
\lambda=1,  
$$


有：


$$
\hat A_t
=
G_t^\gamma - V(s_t),  
$$


它对

  
$$
g^\gamma  
$$


是 ($\gamma$)-just，因此式 ((19)) 中的近似等号变为严格等号。

当


$$
\lambda<1  
$$


且


$$
V\neq V^{\pi,\gamma},  
$$


该估计一般有偏，但方差更低。

---

# 17. 从机制上理解 GAE

GAE 可以从三层机制理解。

第一层：TD residual 是一步优势信号。


$$
\delta_t^V
=
r_t+\gamma V(s_{t+1})-V(s_t).  
$$


若 ($V$) 准确，它的条件期望就是 advantage。

第二层：多个 TD residual 相加得到 (k)-step advantage estimator。


$$
\hat A_t^{(k)}
=
\sum_{l=0}^{k-1}\gamma^l\delta_{t+l}^V.  
$$


它等价于：

[  
$$
k\text{-step bootstrapped return}-V(s_t).  
$$
]

第三层：GAE 对所有 ($k$)-step estimator 做指数加权平均。


$$
\hat A_t^{\mathrm{GAE}}
=
(1-\lambda)  
\sum_{k=1}^{\infty}  
\lambda^{k-1}  
\hat A_t^{(k)}.  
$$

最终得到：


$$
\hat A_t^{\mathrm{GAE}}
=
\sum_{l=0}^{\infty}  
(\gamma\lambda)^l\delta_{t+l}^V.  
$$

---

# 18. 一个简化例子

假设有一段轨迹：


$$
r_t,r_{t+1},r_{t+2},\ldots  
$$


并且已有近似值函数 ($V$)。

一步估计：


$$
\hat A_t^{(1)}
=
r_t+\gamma V(s_{t+1})-V(s_t).  
$$


两步估计：


$$
\hat A_t^{(2)}
=
 r_t+\gamma r_{t+1}  
+\gamma^2V(s_{t+2})
-
V(s_t).  
$$


三步估计：


$$
\hat A_t^{(3)}
=
 r_t+\gamma r_{t+1}  
+\gamma^2r_{t+2}  
+\gamma^3V(s_{t+3})
-
V(s_t).  
$$


GAE 将这些混合：


$$
\hat A_t^{\mathrm{GAE}}
=
(1-\lambda)\hat A_t^{(1)}  
+  
(1-\lambda)\lambda\hat A_t^{(2)}  
+  
(1-\lambda)\lambda^2\hat A_t^{(3)}  
+  
\cdots.  
$$


因此，($\lambda$) 可以理解为“继续向未来展开多少步”的软控制参数。

---

# 19. 最核心总结

这一节的核心是：


$$
\boxed{  
\text{用 TD residual 构造 advantage estimator。}  
}  
$$


具体路径是：


$$
\delta_t^V
=
r_t+\gamma V(s_{t+1})-V(s_t)  
$$


给出一步 advantage estimate；


$$
\hat A_t^{(k)}
=
\sum_{l=0}^{k-1}  
\gamma^l\delta_{t+l}^V  
$$

给出 ($k$)-step advantage estimate；


$$
\hat A_t^{\mathrm{GAE}(\gamma,\lambda)}
=
(1-\lambda)  
\sum_{k=1}^{\infty}  
\lambda^{k-1}  
\hat A_t^{(k)}  
$$


对不同步长做指数加权；

最终化简为：


$$
\boxed{  
\hat A_t^{\mathrm{GAE}(\gamma,\lambda)}
=
\sum_{l=0}^{\infty}  
(\gamma\lambda)^l  
\delta_{t+l}^V  
}  
$$


其中：


$$
\lambda=0  
$$

对应一步 TD，方差低但依赖值函数准确性；


$$
\lambda=1  
$$

对应 Monte Carlo return 减 baseline，($\gamma$)-just 但方差高；


$$
0<\lambda<1  
$$

在二者之间折中。

一句话概括：

$$
\boxed{  
\mathrm{GAE}(\gamma,\lambda)  
\text{ 是 advantage 估计中的 TD}(\lambda)\text{ 风格构造：用 }\lambda\text{ 控制 TD 与 Monte Carlo 之间的偏差—方差折中。}  
}  
$$

---


# 1. 先明确 response function 衡量什么

原文定义：

# [  
$$
\chi(l;s_t,a_t)
=
 \mathbb E[r_{t+l}\mid s_t,a_t]
-
\mathbb E[r_{t+l}\mid s_t].  
$$
]

含义是：在状态 (s_t) 下，**强制选择动作 (a_t)**，相比于“只给定 (s_t)、动作仍按当前策略随机采样”的默认行为，会使 (l) 步之后的奖励期望改变多少。

因此：

- ($\chi(0;s_t,a_t)$)：当前动作对即时奖励 ($r_t$) 的影响；
    
- ($\chi(1;s_t,a_t)$)：当前动作对下一步奖励 ($r_{t+1}$) 的影响；
    
- ($\chi(10;s_t,a_t)$)：当前动作对 10 步之后奖励 ($r_{t+10}$) 的影响；
    
- ($\chi(l;s_t,a_t)$) 在很大的 ($l$) 上仍非零：表示存在长程信用分配问题。
    

优势函数可以分解为：

# [  
$$
A^{\pi,\gamma}(s_t,a_t)
=
\sum_{l=0}^{\infty}  
\gamma^l  
\chi(l;s_t,a_t).  
$$
]

这说明优势函数不是只看当前奖励，而是把当前动作对未来所有时间步奖励的影响都加总起来。

如果一个动作当前没有奖励，但 50 步之后带来收益，则可能有：

[  
$$
\chi(0;s_t,a_t)\approx 0,  
$$
]

但：

[  
$$
\chi(50;s_t,a_t)>0.  
$$
]

这就是“信用分配信号分散在未来多个时间步”的意思。

---

# 2. reward shaping 做了什么

potential-based reward shaping 定义为：

# [  
$$
\tilde r(s,a,s')
=
 r(s,a,s')  
+  
\gamma\Phi(s')
-
\Phi(s).  
$$
]

当取：

[  
$$
\Phi(s)=V^{\pi,\gamma}(s),  
$$
]

就得到：

# [  
$$
\tilde r_t
=
 r_t+\gamma V^{\pi,\gamma}(s_{t+1})
-
V^{\pi,\gamma}(s_t).  
$$
]

这正是使用真实值函数的 TD residual：

# [  
$$
\delta_t^{V^{\pi,\gamma}}
=
 r_t+\gamma V^{\pi,\gamma}(s_{t+1})
-
V^{\pi,\gamma}(s_t).  
$$
]

因此，shaped reward 不是普通环境奖励，而是：

# [  
$$
\boxed{  
\tilde r_t
=
\delta_t^{V^{\pi,\gamma}}  
}  
$$
]

也就是：

## [  
$$
\text{当前即时奖励}  
+  
\text{下一状态真实长期价值}
=
\text{当前状态真实长期价值}.  
$$
]

其中最关键的是 bootstrap 项：

[  
$$
\gamma V^{\pi,\gamma}(s_{t+1}).  
$$
]

它把从 ($s_{t+1}$) 之后开始的所有未来奖励期望全部压缩成一个数。

---

# 3. 为什么说真实值函数“解释未来”

真实折扣值函数满足 Bellman 方程：

# [  
$$
V^{\pi,\gamma}(s_t)
=
\mathbb E  
\left[  
r_t+\gamma V^{\pi,\gamma}(s_{t+1})  
\mid s_t  
\right].  
$$
]

动作价值函数满足：

# [  
$$
Q^{\pi,\gamma}(s_t,a_t)
=
\mathbb E  
\left[  
r_t+\gamma V^{\pi,\gamma}(s_{t+1})  
\mid s_t,a_t  
\right].  
$$
]

因此，对 shaped reward 取条件期望：

# [  
$$
\mathbb E[\tilde r_t\mid s_t,a_t]
=
 \mathbb E  
\left[  
r_t+\gamma V^{\pi,\gamma}(s_{t+1})
-
V^{\pi,\gamma}(s_t)  
\mid s_t,a_t  
\right].  
$$
]

因为 ($V^{\pi,\gamma}(s_t)$) 在给定 ($s_t$) 后是常数：

# [

$$
 = Q^{\pi,\gamma}(s_t,a_t)
-
 V^{\pi,\gamma}(s_t)
=
A^{\pi,\gamma}(s_t,a_t).  
$$
]

所以：

# [  
$$
\boxed{  
\mathbb E[\tilde r_t\mid s_t,a_t]
=
A^{\pi,\gamma}(s_t,a_t)  
}  
$$
]

这说明：当前 shaped reward 的条件期望已经等于完整长期优势函数。

原本：

# [  
$$
A^{\pi,\gamma}(s_t,a_t)
=
\sum_{l=0}^{\infty}  
\gamma^l\chi(l;s_t,a_t),  
$$
]

需要把未来所有 ($l$) 的影响都加起来。

经过 shaping 后：

[  
$$
\mathbb E[\tilde r_t\mid s_t,a_t]  
$$
]

一步就包含了这整个和。

这就是“真实值函数解释未来”的严格含义：  
[  
$$
V^{\pi,\gamma}(s_{t+1})  
$$
]  
已经是从 ($s_{t+1}$) 开始所有未来奖励的条件期望，所以 bootstrap 项

[  
$$
\gamma V^{\pi,\gamma}(s_{t+1})  
$$
]

把长期未来影响提前并入当前 TD residual。

---

# 4. 为什么 ($l>0$) 的 shaped reward 期望为 0？

原文说：

# [  
$$
\mathbb E[\tilde r_{t+l}\mid s_t,a_t]
=
 \mathbb E[\tilde r_{t+l}\mid s_t]

0,  
\quad l>0.  
$$
]

这句话容易误解。它的核心不是说每个样本上的 ($\tilde r_{t+l}$) 都等于 0，而是说在真实值函数 shaping 后，未来 shaped reward 的**条件期望**为 0。

看任意未来时刻 ($u=t+l$)。使用真实值函数时：

# [  
$$
\tilde r_u
=
 r_u+\gamma V^{\pi,\gamma}(s_{u+1})
-
V^{\pi,\gamma}(s_u).  
$$
]

对 ($s_u$) 取条件期望：

# [  
$$
\mathbb E[\tilde r_u\mid s_u]
=
 \mathbb E  
[  
r_u+\gamma V^{\pi,\gamma}(s_{u+1})  
\mid s_u  
]
-
V^{\pi,\gamma}(s_u).  
$$
]

根据 Bellman 方程：

# [  
$$
V^{\pi,\gamma}(s_u)
=
\mathbb E  
[  
r_u+\gamma V^{\pi,\gamma}(s_{u+1})  
\mid s_u  
].  
$$
]

所以：

[  
$$
\boxed{  
\mathbb E[\tilde r_u\mid s_u]=0  
}  
$$
]

于是对更早的信息取条件期望也为 0。由迭代期望定律：

# [  
$$
\mathbb E[\tilde r_{t+l}\mid s_t,a_t]
=
 \mathbb E  
\left[  
\mathbb E[\tilde r_{t+l}\mid s_{t+l}]  
\mid s_t,a_t  
\right]
=
0,  
\quad l>0.  
$$
]

同理：

# [  
$$
\mathbb E[\tilde r_{t+l}\mid s_t]
=
0,  
\quad l>0.  
$$
]

因此 shaped reward 的 response function 为：

# [  
$$
\tilde\chi(l;s_t,a_t)
=
 \mathbb E[\tilde r_{t+l}\mid s_t,a_t]
-
\mathbb E[\tilde r_{t+l}\mid s_t].  
$$
]

当 ($l>0$) 时：

# [  
$$
\tilde\chi(l;s_t,a_t)
=
 0-0
$$

]

所以：

[  
$$
\boxed{  
\tilde\chi(l;s_t,a_t)=0,\quad l>0.  
}  
$$
]

这就是“response function 只在 ($l=0$) 非零”。

---

# 5. ($l=0$) 为什么仍然非零？

对于 ($l=0$)：

# [  
$$
\tilde\chi(0;s_t,a_t)
=
 \mathbb E[\tilde r_t\mid s_t,a_t]
-
\mathbb E[\tilde r_t\mid s_t].  
$$
]

前面已经得到：

# [  
$$
\mathbb E[\tilde r_t\mid s_t,a_t]
=
A^{\pi,\gamma}(s_t,a_t).  
$$
]

再看第二项：

# [  
$$
\mathbb E[\tilde r_t\mid s_t]
=
\mathbb E[  
r_t+\gamma V^{\pi,\gamma}(s_{t+1})-V^{\pi,\gamma}(s_t)  
\mid s_t  
].  
$$
]

根据 Bellman 方程：

# [  
$$
\mathbb E[  
r_t+\gamma V^{\pi,\gamma}(s_{t+1})  
\mid s_t  
]
=
V^{\pi,\gamma}(s_t).  
$$
]

所以：

# [  
$$
\mathbb E[\tilde r_t\mid s_t]
$$

]

因此：

# [  
$$
\tilde\chi(0;s_t,a_t)
=
 A^{\pi,\gamma}(s_t,a_t)-0
=
A^{\pi,\gamma}(s_t,a_t).  
$$
]

也就是：

# [  
$$
\boxed{  
\tilde\chi(0;s_t,a_t)
=
A^{\pi,\gamma}(s_t,a_t)  
}  
$$
]

而：

[  
$$
\boxed{  
\tilde\chi(l;s_t,a_t)=0,\quad l>0.  
}  
$$
]

所以原来的时间展开：

# [  
$$
A^{\pi,\gamma}(s_t,a_t)
=
\sum_{l=0}^{\infty}  
\gamma^l  
\chi(l;s_t,a_t)  
$$
]

在 shaped reward 下变成：

# [  
$$
A^{\pi,\gamma}(s_t,a_t)
=
\tilde\chi(0;s_t,a_t).  
$$
]

这就是“temporally extended response 变成 immediate response”。

---

# 6. 一个直观例子

假设某个动作 ($a_t$) 当前没有即时奖励，但会导致 3 步后获得奖励 ($+10$)。

在原始奖励下，可能有：

[  
$$
\chi(0;s_t,a_t)=0,  
$$
]

[  
$$
\chi(1;s_t,a_t)=0,  
$$
]

[  
$$
\chi(2;s_t,a_t)=0,  
$$
]

[  
$$
\chi(3;s_t,a_t)=10.  
$$
]

于是优势信号主要出现在 ($l=3$)：

[  
$$
A^{\pi,\gamma}(s_t,a_t)  
\approx  
\gamma^3\cdot 10.  
$$
]

这意味着策略梯度要通过 3 步后的奖励才能知道当前动作是好的。信用分配信号是延迟的。

但如果使用真实值函数 shaping：

# [  
$$
\tilde r_t=

r_t+\gamma V^{\pi,\gamma}(s_{t+1})-V^{\pi,\gamma}(s_t),  
$$
]

虽然 ($r_t=0$)，但是如果 ($a_t$) 把系统带向一个 3 步后能获得 ($+10$) 的好状态，那么：

[  
$$
V^{\pi,\gamma}(s_{t+1})  
$$
]

会变高。于是：

[  
$$
\gamma V^{\pi,\gamma}(s_{t+1})-V^{\pi,\gamma}(s_t)  
$$
]

会在当前时刻给出正信号。

也就是说，原本在 ($r_{t+3}$) 才显现的收益，被

[  
$$
\gamma V^{\pi,\gamma}(s_{t+1})  
$$
]

提前折入 ($\tilde r_t$)。

于是 shaped response 变成：

[  
$$
\tilde\chi(0;s_t,a_t)  
\approx  
\gamma^3\cdot 10,  
$$
]

[  
$$
\tilde\chi(l;s_t,a_t)=0,\quad l>0.  
$$
]

信用分配从“3 步后才显现”变成“当前一步就显现”。

---

# 7. 为什么这可以降低方差？

原始 reward-to-go 估计需要等待未来很多奖励：

[  
$$
r_t+\gamma r_{t+1}+\gamma^2r_{t+2}+\cdots.  
$$
]

远期奖励受到很多随机因素影响：

- 未来状态转移随机性；
    
- 未来动作采样随机性；
    
- 未来环境噪声；
    
- 长时域积累误差。
    

因此，完整未来回报方差通常很高。

如果真实值函数可用，则：

[  
$$
r_t+\gamma V^{\pi,\gamma}(s_{t+1})  
$$
]

直接用条件期望替代了从 ($s_{t+1}$) 开始的未来随机回报：

[  
$$
r_{t+1}+\gamma r_{t+2}+\cdots.  
$$
]

也就是把随机未来压缩成一个条件期望。

条件期望通常方差更小，因为它已经对未来随机性做了积分。因此，真实值函数越准确，TD residual 越能以低方差方式表达动作长期影响。

---

# 8. 近似值函数 ($V\approx V^{\pi,\gamma}$) 为什么只能“部分压缩”

实践中没有真实值函数，只能使用近似值函数 (V)。此时 shaped reward 为：

# [  
$$
\tilde r_t
=
 r_t+\gamma V(s_{t+1})-V(s_t)
=
\delta_t^V.  
$$
]

如果：

[  
$$
V\approx V^{\pi,\gamma},  
$$
]

那么：

[  
$$
\delta_t^V  
\approx  
\delta_t^{V^{\pi,\gamma}}.  
$$
]

因此，未来长期影响会被部分提前到当前 TD residual 中。

但如果 ($V$) 不准确，那么它不能完全预测未来回报。此时仍会有一部分信用分配信号残留在未来 TD residual 中：

[  
$$
\delta_{t+1}^V,\delta_{t+2}^V,\ldots  
$$
]

也就是说，shaped response function 不会完全集中在 ($l=0$)，而只是比原始 reward response 更快衰减。

因此：

[  
$$
V=V^{\pi,\gamma}  
\quad\Rightarrow\quad  
\text{完全压缩到 }l=0;  
$$
]

[  
$$
V\approx V^{\pi,\gamma}  
\quad\Rightarrow\quad  
\text{部分压缩，未来残留项变小};  
$$
]

[  
$$
V\text{ 很差}  
\quad\Rightarrow\quad  
\text{压缩效果弱，未来残留项仍大}.  
$$
]

---

# 9. 这如何解释 GAE 公式？

GAE 公式是：

# [  
$$
\hat A_t^{\mathrm{GAE}(\gamma,\lambda)}
=
\sum_{l=0}^{\infty}  
(\gamma\lambda)^l  
\delta_{t+l}^V.  
$$
]

从 reward shaping 角度看：

[  
$$
\delta_{t+l}^V  
$$
]

就是 shaped reward：

[  
$$
\tilde r_{t+l}.  
$$
]

所以 GAE 是：

[  
$$
\text{shaped reward 的 } \gamma\lambda\text{-折扣回报}.  
$$
]

这可以解释为两步：

---

## 第一步：用 (V) reshape rewards

原始奖励 ($r_t$) 的 response 可能拖得很长：

[  
$$
\chi(0),\chi(1),\chi(2),\ldots  
$$
]

使用 ($V$) 做 shaping 后，得到：

# [  
$$
\delta_t^V
=
r_t+\gamma V(s_{t+1})-V(s_t).  
$$
]

如果 ($V$) 接近真实值函数，则 response 被压缩，未来远期项更小：

[  
$$
\tilde\chi(l)\text{ 比 }\chi(l)\text{ 更快衰减}.  
$$
]

---

## 第二步：用更陡峭的折扣 ($\gamma\lambda$) 截断远期噪声

因为 ($\lambda\le 1$)，所以：

[  
$$
\gamma\lambda\le \gamma.  
$$
]

当 ($\lambda<1$) 时：

[  
$$
(\gamma\lambda)^l  
$$
]

比

[  
$$
\gamma^l  
$$
]

衰减更快。

因此 GAE 会忽略很远的 TD residual：

[  
$$
\nabla_\theta\log\pi_\theta(a_t\mid s_t)\delta_{t+l}^V,  
\quad  
l\gg \frac{1}{1-\gamma\lambda}.  
$$
]

这正是原文说的：

[  
$$
\text{introduce a “steeper” discount } \gamma\lambda  
\text{ to cut off the noise arising from long delays.}  
$$
]

有效时间尺度大致为：

[  
$$
\frac{1}{1-\gamma\lambda}.  
$$
]

例如：

[  
$$
\gamma=0.99,\quad \lambda=0.95,  
$$
]

则：

[  
$$
\gamma\lambda=0.9405,  
$$
]

[  
$$
\frac{1}{1-\gamma\lambda}  
\approx 16.8.  
$$
]

也就是说，GAE 主要保留大约十几步范围内的 TD residual，对更远的残差快速降权。

---

# 10. 为什么这不是简单“丢弃未来奖励”？

GAE 并不是粗暴地认为远期奖励不重要。逻辑更细：

1. 若 ($V$) 很准确，则远期影响已经通过
    

[  
$$
\gamma V(s_{t+1})  
$$
]

进入当前 TD residual；

2. 因此，未来很远的 TD residual 中主要剩下噪声，而不是必要信用信号；
    
3. 此时用 ($\gamma\lambda$) 对远期 residual 降权，能降低方差，且偏差较小。
    

也就是说，($\lambda<1$) 的合理性依赖于：

[  
$$
V\approx V^{\pi,\gamma}.  
$$
]

如果 ($V$) 很差，那么远期 TD residual 中仍含有重要信用信息，过小的 ($\lambda$) 会过早截断这些信息，导致偏差变大。

这也解释了 GAE 中 ($\lambda$) 的偏差来源：

[  
$$
\lambda<1  
$$
]

不是必然有大偏差；它的偏差大小取决于值函数是否已经充分“解释未来”。

---

# 11. 和前面“真实值函数压缩到 ($l=0$)”的关系

可以把逻辑总结为：

原始奖励下：

# [  
$$
A^{\pi,\gamma}(s_t,a_t)
=
\gamma^0\chi(0)  
+  
\gamma^1\chi(1)  
+  
\gamma^2\chi(2)  
+  
\cdots.  
$$
]

动作的影响可能分布在很多未来时间步。

真实值函数 shaping 后：

# [  
$$
\tilde\chi(0)
=
A^{\pi,\gamma}(s_t,a_t),  
$$
]

[  
$$
\tilde\chi(l)=0,\quad l>0.  
$$
]

于是：

# [  
$$
A^{\pi,\gamma}(s_t,a_t)
=
\tilde\chi(0).  
$$
]

原本的长程响应：
$$
\chi(0),\chi(1),\chi(2),\ldots  
$$
被变成一个即时响应：

[  
$$
\tilde\chi(0).  
$$
]

这就是：

[  
$$
\boxed{  
\text{temporally extended response}  
\longrightarrow  
\text{immediate response}  
}  
$$
]

或：

[  
$$
\boxed{  
\text{分散在未来多个时间步的信用分配信号}  
\longrightarrow  
\text{当前一步 TD residual}  
}  
$$
]

---

# 12. 最核心的数学等价

使用真实值函数时：
$$
\delta_t^{V^{\pi,\gamma}}
=
 r_t+\gamma V^{\pi,\gamma}(s_{t+1})
-
V^{\pi,\gamma}(s_t).  
$$
其条件期望为：
$$
\mathbb E[\delta_t^{V^{\pi,\gamma}}\mid s_t,a_t]
=
A^{\pi,\gamma}(s_t,a_t).  
$$
而未来 shaped reward 满足：
$$
\mathbb E[\delta_{t+l}^{V^{\pi,\gamma}}\mid s_t,a_t]

0,  
\quad l>0.  
$$
所以：
$$
\boxed{  
\text{当前 TD residual 承载全部优势信号；未来 TD residual 在期望上不再承载关于 }a_t\text{ 的系统性信号。}  
}  
$$

这就是原文中：
$$
\text{response function would only be nonzero at }l=0  
$$
的精确含义。

---

# 13. 一句话总结

如果使用真实值函数 ($V^{\pi,\gamma}$) 做 reward shaping，则 shaped reward 等于真实 TD residual：
$$
\tilde r_t=\delta_t^{V^{\pi,\gamma}}.  
$$
该 TD residual 的当前条件期望正好是完整长期优势：
$$
\mathbb E[\tilde r_t\mid s_t,a_t]
=
A^{\pi,\gamma}(s_t,a_t),  
$$
而未来 ($l>0$) 的 shaped reward 对当前动作不再有系统性响应：
$$
\tilde\chi(l;s_t,a_t)=0.  
$$
因此，真实值函数把原本分散在未来多个奖励上的信用分配信号，通过 bootstrap 项
$$
\gamma V^{\pi,\gamma}(s_{t+1})  
$$
提前折叠到当前一步 TD residual 中。GAE 则是在近似值函数只能部分完成这种折叠时，对 residual 序列使用 ($\gamma\lambda$) 折扣，以保留近端信号、压低远端噪声。



---
# VALUE FUNCTION ESTIMATION：翻译与详细解释

这一节讨论 **值函数 (V) 如何估计**。在 GAE 中，优势估计依赖 TD 残差

# [  
\delta_t^V

r_t+\gamma V(s_{t+1})-V(s_t),  
]

因此值函数估计质量会直接影响 advantage estimate 的偏差—方差性质。GAE 原文明确说明，该工作同时对策略和值函数使用 trust region 优化，以提高神经网络函数近似下的训练稳定性。([arXiv](https://arxiv.org/abs/1506.02438?utm_source=chatgpt.com "High-Dimensional Continuous Control Using Generalized Advantage Estimation"))

---


GAE 的优势估计公式是：


$$
\hat A_t^{\mathrm{GAE}(\gamma,\lambda)}
=
\sum_{l=0}^{\infty}  
(\gamma\lambda)^l  
\delta_{t+l}^V,  
$$
]

其中：

# [  
$$
\delta_t^V
=
r_t+\gamma V(s_{t+1})-V(s_t).  
$$
]

因此，值函数 ($V$) 的估计质量直接决定 TD 残差的质量：

[  
$$
V\approx V^{\pi,\gamma}  
\quad\Rightarrow\quad  
\delta_t^V  
\approx  
\delta_t^{V^{\pi,\gamma}}.  
$$
]

当 ($V$) 接近真实值函数时，TD 残差接近真实优势信号；当 ($V$) 很差时，GAE 可能产生较大偏差。所以这一节不是附属细节，而是 GAE 能否稳定工作的关键组成部分。

---

# 三、式 ((28))：最简单的值函数估计方式

式 ((28)) 是一个监督学习回归问题：

[  
$$
\min_{\phi}  
\sum_{n=1}^{N}  
\left|  
V_\phi(s_n)-\hat V_n  
\right|^2.  
$$
]

其中：

[  
$$
V_\phi(s_n)  
$$
]

是神经网络值函数对状态 ($s_n$) 的预测；

[  
$$
\hat V_n  
$$
]

是该状态对应的目标值；

[  
$$
N  
$$
]

是 batch 中所有时间步的数量，而不只是 episode 数量。

目标值定义为：

# [  
$$
\hat V_t

\sum_{l=0}^{\infty}  
\gamma^l r_{t+l}.  
$$
]

这就是从时间步 ($t$) 开始的折扣 reward-to-go。

因此，式 ((28)) 的含义是：

[  
$$
\text{让值函数 }V_\phi(s_t)\text{ 拟合从 }s_t\text{ 开始实际观察到的折扣回报。}  
$$
]

---

# 四、为什么称为 Monte Carlo 或 $TD(1)$ 方法？

目标

# [  
$$
\hat V_t
=
\sum_{l=0}^{\infty}  
\gamma^l r_{t+l}  
$$
]

使用的是完整未来采样回报，而不是一步 bootstrapping 目标。

若 episode 有限，则实际写作：

# [  
$$
\hat V_t
=
r_t+\gamma r_{t+1}  
+\gamma^2r_{t+2}  
+\cdots  
+\gamma^{T-t}r_T.  
$$
]

它完全依赖采样到的未来奖励，因此是 Monte Carlo 风格。

在 TD($(\lambda)$) 视角下，($\lambda=1$) 时会得到完整 Monte Carlo return，因此也可称为 $TD(1)$ 风格目标。

与一步 TD 目标相比：

[  
$$
r_t+\gamma V_\phi(s_{t+1}),  
$$
]

Monte Carlo / TD(1) 目标不依赖当前值函数的 bootstrap，因此偏差较小，但方差较大。

---

# 五、为什么普通回归会有问题？

如果直接最小化：

[  
$$
\sum_{n=1}^{N}  
\left|\left|
V_\phi(s_n)-\hat V_n  
\right|\right|^2,  
$$
]

在神经网络函数近似下可能出现两个问题。

第一，batch 数据有限。每次策略迭代只收集一批轨迹，($\hat V_n$) 是 noisy target。若值函数对当前 batch 拟合过强，可能过拟合这批轨迹中的噪声。

第二，值函数被用于后续优势估计。若一次更新使

[  
$$
V_\phi(s)  
$$
]

发生剧烈变化，则 TD 残差

# [  
$$
\delta_t^V
=
r_t+\gamma V(s_{t+1})-V(s_t)  
$$
]

也会剧烈变化，从而导致策略梯度估计不稳定。

因此，作者对值函数更新也施加 trust region，限制新旧值函数输出之间的变化幅度。GAE 论文摘要中也明确提到，策略和值函数都用 trust region optimization procedure 表示和训练。([arXiv](https://arxiv.org/abs/1506.02438?utm_source=chatgpt.com "High-Dimensional Continuous Control Using Generalized Advantage Estimation"))

---

# 六、式 ((29))：值函数 trust region 约束

作者先计算旧值函数在当前 batch 上的均方误差：

# [  
$$
\sigma^2
=
\frac{1}{N}  
\sum_{n=1}^{N}  
\left|  
V_{\phi_{\mathrm{old}}}(s_n)-\hat V_n  
\right|^2.  
$$
]

这里的 ($\sigma^2$) 表示旧值函数预测误差的经验尺度。

然后求解：

[  
$$
\min_{\phi}  
\sum_{n=1}^{N}  
\left|  
V_\phi(s_n)-\hat V_n  
\right|^2,  
$$
]

但约束：

[  
$$
\frac{  
\frac{1}{N}  
\sum_{n=1}^{N}  
\left|  \left|
V_\phi(s_n)-V_{\phi_{\mathrm{old}}}(s_n)  
\right|\right|^2  
}{  
2\sigma^2  
}  
\le \epsilon.  
$$
]

这个约束限制的是：

[  
$$
V_\phi(s_n)  
$$
]

与

[  
$$
V_{\phi_{\mathrm{old}}}(s_n)  
$$
]

在 batch 状态上的平均输出差异，而不是直接限制参数差异

[  
$$
||\phi-\phi_{\mathrm{old}}||.  
$$
]

这点很重要。神经网络参数空间中相同大小的参数变化，可能导致函数输出变化很小，也可能导致函数输出变化很大。trust region 约束直接作用在值函数输出上，更接近真正关心的对象。

---

# 七、为什么这个约束等价于平均 KL 约束？

作者把值函数解释为条件高斯分布的均值：

# [  
$$
p_\phi(y\mid s)
=
\mathcal N(y;V_\phi(s),\sigma^2).  
$$
]

旧值函数对应：

# [  
$$
p_{\phi_{\mathrm{old}}}(y\mid s)
=
\mathcal N(y;V_{\phi_{\mathrm{old}}}(s),\sigma^2).  
$$
]

两个方差相同的一维高斯分布：

[  
$$
\mathcal N(\mu_{\mathrm{old}},\sigma^2)  
$$
]

和

[  
$$
\mathcal N(\mu_{\mathrm{new}},\sigma^2)  
$$
]

之间的 KL 散度为：

# [  
$$
D_{\mathrm{KL}}  
\left(  
\mathcal N(\mu_{\mathrm{old}},\sigma^2)  
||
\mathcal N(\mu_{\mathrm{new}},\sigma^2)  
\right)
=
\frac{  
(\mu_{\mathrm{new}}-\mu_{\mathrm{old}})^2  
}{  
2\sigma^2  
}.  
$$
]

代入：

[  
$$
\mu_{\mathrm{new}}=V_\phi(s_n),  
$$
]

[  
$$
\mu_{\mathrm{old}}=V_{\phi_{\mathrm{old}}}(s_n),  
$$
]

得到：

# [  
$$
D_{\mathrm{KL}}
=
\frac{  
\left|  \left|
V_\phi(s_n)-V_{\phi_{\mathrm{old}}}(s_n)  
\right|\right|^2  
}{  
2\sigma^2  
}.  
$$
]

对 batch 求平均：

# [  
$$
\frac{1}{N}  
\sum_{n=1}^{N}  
D_{\mathrm{KL}}
=
\frac{  
\frac{1}{N}  
\sum_{n=1}^{N}  
\left|  \left|
V_\phi(s_n)-V_{\phi_{\mathrm{old}}}(s_n)  
\right|\right|^2  
}{  
2\sigma^2  
}.  
$$
]

这正是式 (29) 的约束。

所以式 (29) 可以理解为：

[  
$$
\text{新值函数不能在平均 KL 意义下离旧值函数太远。}  
$$
]

---

# 八、为什么要用 ($\sigma^2$) 归一化？

约束中有：

[  
$$
2\sigma^2.  
$$
]

若旧值函数误差本来很大，说明目标 ($\hat V_n$) 的尺度或噪声较大，此时允许值函数输出有相对较大的变化。

若旧值函数误差很小，说明值函数已经拟合得较好，此时输出更新应更谨慎。

因此，($\sigma^2$) 起到尺度归一化作用，使 trust region 约束不依赖 reward scale 的绝对大小。

---

# 九、式 ((30))：从非线性约束优化到二次近似

原问题是非线性的：

[  
$$
V_\phi(s)  
$$
]

是神经网络。直接求解式 ((29)) 成本较高。

因此作者在

[  
$$
\phi_{\mathrm{old}}  
$$
]

附近做近似。

令：

[  
$$
\Delta\phi=\phi-\phi_{\mathrm{old}}.  
$$
]

目标函数一阶近似为：

[  
$$
L(\phi)  
\approx  
L(\phi_{\mathrm{old}})  
+  
g^\top \Delta\phi.  
$$
]

去掉常数项后，得到线性目标：

[  
$$
\min_{\Delta\phi}  
g^\top\Delta\phi.  
$$
]

约束项用二次近似：

[  
$$
\frac{1}{2}  
\Delta\phi^\top H\Delta\phi  
\le \epsilon.  
$$
]

于是得到二次规划：

[  
$$
\min_{\phi}  
\quad  
g^\top(\phi-\phi_{\mathrm{old}})  
$$
]

[  
$$
\text{subject to}  
\quad  
\frac{1}{2}  
(\phi-\phi_{\mathrm{old}})^\top  
H  
(\phi-\phi_{\mathrm{old}})  
\le \epsilon.  
$$
]

这和 TRPO 中的策略更新结构高度相似：目标线性化，约束二次化，然后在 trust region 内求近似最优步。TRPO 论文提出通过近似理论上合理的 trust-region 步骤来优化大规模非线性策略，包括神经网络策略。([arXiv](https://arxiv.org/pdf/1502.05477?utm_source=chatgpt.com "Trust Region Policy Optimization"))

---

# 十、($H=\frac{1}{N}\sum_n j_nj_n^\top$) 从哪里来？

对于每个样本 ($s_n$)，值函数输出的一阶变化为：

[  
$$
V_\phi(s_n)-V_{\phi_{\mathrm{old}}}(s_n)  
\approx  
j_n^\top\Delta\phi,  
$$
]

其中：

# [  
$$
j_n
=
\nabla_\phi V_\phi(s_n)  
\big|_{\phi=\phi_{\mathrm{old}}}.  
$$
]

平方后：

[  
$$
\left(  
V_\phi(s_n)-V_{\phi_{\mathrm{old}}}(s_n)  
\right)^2  
\approx  
\left(  
j_n^\top\Delta\phi  
\right)^2.  
$$
]

写成矩阵形式：

# [  
$$
\left(  
j_n^\top\Delta\phi  
\right)^2
=
\Delta\phi^\top  
j_nj_n^\top  
\Delta\phi.  
$$
]

对 batch 平均：

# [  
$$
\frac{1}{N}  
\sum_{n=1}^{N}  
\Delta\phi^\top  
j_nj_n^\top  
\Delta\phi
=
\Delta\phi^\top  
\left(  
\frac{1}{N}  
\sum_{n=1}^{N}  
j_nj_n^\top  
\right)  
\Delta\phi.  
$$
]

因此：

# [  
$$
H
=
\frac{1}{N}  
\sum_{n=1}^{N}  
j_nj_n^\top.  
$$
]

这就是式 ((30)) 中的矩阵 ($H$)。

---

# 十一、为什么 ($H$) 是 Gauss-Newton 近似？

若目标是平方误差：

# [  
$$
L(\phi)
=
\sum_n  
\left(  
V_\phi(s_n)-\hat V_n  
\right)^2,  
$$
]

完整 Hessian 包含两类项：

1. 一阶 Jacobian 外积项：
    

[  
$$
j_nj_n^\top;  
$$
]

2. 与网络输出二阶导数有关的项：
    

[  
$$
(V_\phi(s_n)-\hat V_n)  
\nabla_\phi^2 V_\phi(s_n).  
$$
]

Gauss-Newton 近似保留第一类项，忽略第二类项。因此：

# [  
$$
H
=
\frac{1}{N}  
\sum_n  
j_nj_n^\top  
$$
]

是 Gauss-Newton 近似。

优点是：

[  
$$
H  
$$
]

半正定，适合定义 trust region 的局部度量；完整 Hessian 可能不定，容易导致不稳定方向。

---

# 十二、为什么 ($H$) 与 Fisher 信息矩阵有关？

将值函数视为条件高斯分布：

# [  
$$
p_\phi(y\mid s)
=
\mathcal N(y;V_\phi(s),\sigma^2).  
$$
]

其 log likelihood 为：

# [  
$$
\log p_\phi(y\mid s)
=
-\frac{1}{2\sigma^2}  
(y-V_\phi(s))^2  
+\text{const}.  
$$
]

对参数求梯度：

# [  
$$
\nabla_\phi \log p_\phi(y\mid s)
=
\frac{y-V_\phi(s)}{\sigma^2}  
\nabla_\phi V_\phi(s).  
$$
]

Fisher 信息矩阵为：

# [  
$$
F
=
\mathbb E  
\left[  
\nabla_\phi\log p_\phi(y\mid s)  
\nabla_\phi\log p_\phi(y\mid s)^\top  
\right].  
$$
]

对高斯分布中

[  
$$
y\sim \mathcal N(V_\phi(s),\sigma^2)  
$$
]

取期望，有：

[  
$$
\mathbb E[(y-V_\phi(s))^2]=\sigma^2.  
$$
]

因此：

# [  
$$
F
=
\frac{1}{\sigma^2}  
\mathbb E  
\left[  
\nabla_\phi V_\phi(s)  
\nabla_\phi V_\phi(s)^\top  
\right].  
$$
]

经验估计为：

[  
$$
F  
\approx  
\frac{1}{\sigma^2}  
\frac{1}{N}  
\sum_n  
j_nj_n^\top.  
$$
]

所以：

# [  
$$
H
=
\frac{1}{N}  
\sum_n  
j_nj_n^\top  
$$
]

与 Fisher 信息矩阵只差一个

[  
$$
\sigma^2  
$$
]

因子。

这就是原文说 ($H$) “up to a ($\sigma^2$) factor” 是 Fisher 信息矩阵的原因。

---

# 十三、共轭梯度为什么用于求 ($s\approx -H^{-1}g$)？

二次规划：

[  
$$
\min_{\Delta\phi}  
g^\top\Delta\phi  
\quad  
\text{s.t.}  
\quad  
\frac{1}{2}  
\Delta\phi^\top H\Delta\phi\le \epsilon.  
$$
]

若暂时忽略步长缩放，最自然的下降方向是：

[  
$$
s=-H^{-1}g.  
$$
]

这类似 natural gradient / Newton-like direction：

- 普通梯度方向：
    

[  
$$
-g  
$$
]

只考虑参数空间欧氏度量；

- ($H^{-1}$) 预条件后的方向：
    

[  
$$
-H^{-1}g  
$$
]

考虑值函数输出变化的局部几何。

但是 ($H$) 维度等于神经网络参数维度，通常非常大，不可能显式构造并求逆。

共轭梯度算法只需要能够计算：

[  
$$
Hv  
$$
]

而不需要显式存储 ($H$)。因此适合大规模神经网络。

---

# 十四、矩阵—向量积 ($v\mapsto Hv$) 如何理解？

由：

# [  
$$
H
=
\frac{1}{N}  
\sum_n  
j_nj_n^\top  
$$
]

可得：

# [  
$$
Hv
=
\frac{1}{N}  
\sum_n  
j_n  
(j_n^\top v).  
$$
]

其中：

[  
$$
j_n^\top v  
$$
]

表示沿参数方向 ($v$) 时，值函数输出

[  
$$
V_\phi(s_n)  
$$
]

的一阶变化。

因此 ($Hv$) 衡量的是：沿方向 ($v$) 改变参数时，值函数输出变化在参数空间中的反馈。

在自动微分框架中，可以用 Jacobian-vector product 和 vector-Jacobian product 高效计算，不必显式形成 (H)。

---

# 十五、为什么要缩放 ($s\mapsto \alpha s$)？

共轭梯度得到方向：

[  
$$
s\approx -H^{-1}g.  
$$
]

但该方向长度未必满足 trust region 约束：

[  
$$
\frac{1}{2}  
s^\top Hs\le \epsilon.  
$$
]

因此需要缩放：

[  
$$
s\mapsto \alpha s,  
$$
]

使得：

# [  
$$
\frac{1}{2}  
(\alpha s)^\top H(\alpha s)
=
\epsilon.  
$$
]

展开：

# [  
$$
\frac{1}{2}  
\alpha^2  
s^\top Hs
=
\epsilon.  
$$
]

因此：

# [  
$$
\alpha
=
\sqrt{  
\frac{2\epsilon}{s^\top Hs}  
}.  
$$
]

最后更新：

# [  
$$
\phi
=
\phi_{\mathrm{old}}+\alpha s.  
$$
]

这表示：沿着近似二阶最优方向走，但步幅被限制在 trust region 边界上。

---

# 十六、为什么该过程类似 TRPO 的策略更新？

TRPO 策略更新通常具有如下形式：

[  
$$
\max_\theta  
\quad  
\text{surrogate objective}  
$$
]

[  
$$
\text{s.t.}  
\quad  
\bar D_{\mathrm{KL}}  
(\pi_{\theta_{\mathrm{old}}},\pi_\theta)  
\le \epsilon.  
$$
]

其计算近似为：

[  
$$
s\approx H^{-1}g,  
$$
]

其中 ($H$) 是策略分布 KL 的 Hessian / Fisher 信息矩阵，然后缩放步长以满足 KL trust region。TRPO 原论文强调，这种 trust region 更新对于大规模非线性策略优化更加稳定。([arXiv](https://arxiv.org/pdf/1502.05477?utm_source=chatgpt.com "Trust Region Policy Optimization"))

本节对值函数做了类似处理：

- 策略更新限制的是新旧策略分布 KL；
    
- 值函数更新限制的是新旧值函数诱导的高斯分布 KL；
    
- 二者都使用 Fisher / Gauss-Newton 度量；
    
- 二者都通过共轭梯度近似求解；
    
- 二者都缩放步长以满足 trust region 约束。
    

因此，GAE 论文中的完整方法不仅让 policy 更新稳定，也让 critic / value function 更新稳定。GAE 论文摘要也指出，信赖域优化过程同时用于策略和值函数，这正是本文相对于只提出 advantage estimator 的进一步工程贡献之一。([arXiv](https://arxiv.org/abs/1506.02438?utm_source=chatgpt.com "High-Dimensional Continuous Control Using Generalized Advantage Estimation"))

---

# 十七、这节与 GAE 偏差—方差的关系

值函数估计越准确：

[  
$$
V_\phi\approx V^{\pi,\gamma},  
$$
]

TD 残差：

# [  
$$
\delta_t^V
=
r_t+\gamma V(s_{t+1})-V(s_t)  
$$
]

越接近真实优势信号：

[  
$$
A^{\pi,\gamma}(s_t,a_t).  
$$
]

此时可以使用较小的 ($\lambda$)，例如更接近一步 TD，从而降低方差而不引入太大偏差。

若值函数估计不准确，则较小的 ($\lambda$) 会放大 bootstrap 偏差。此时需要更大的 ($\lambda$)，更多依赖实际采样回报，降低对 ($V_\phi$) 精度的依赖，但方差增加。

因此，值函数估计质量决定了 GAE 中 ($\lambda$) 的有效范围。

---

# 十八、整体总结

本节核心内容可以归纳为四点。

第一，最简单的值函数估计是 Monte Carlo 回归：


$$
\min_{\phi}  
\sum_n  
\left|  \left|
V_\phi(s_n)-\hat V_n  
\right|\right|^2,  
\quad  
\hat V_n

\sum_{l=0}^{\infty}  
\gamma^l r_{n+l}.  
$$


第二，直接用神经网络拟合最近 batch 的 return 容易过拟合和不稳定，因此作者对值函数更新施加 trust region。

第三，trust region 约束限制的是新旧值函数输出之间的平均 KL：


$$
\frac{  
\frac{1}{N}  
\sum_n  
\left|  \left|
V_\phi(s_n)-V_{\phi_{\mathrm{old}}}(s_n)  
\right|\right|^2  
}{  
2\sigma^2  
}  
\le \epsilon.  
$$


第四，通过一阶目标近似和二阶约束近似，可以得到二次规划：

 
$$
\min_{\Delta\phi}  
g^\top\Delta\phi  
\quad  
\text{s.t.}  
\quad  
\frac{1}{2}  
\Delta\phi^\top H\Delta\phi\le \epsilon,  
$$


其中：


$$
H=  
\frac{1}{N}  
\sum_n  
j_nj_n^\top.  
$$


然后用共轭梯度近似求：


$$
s\approx -H^{-1}g,  
$$


再缩放到 trust region 边界：

[  
$$
\frac{1}{2}  
(\alpha s)^\top H(\alpha s)=\epsilon,  
$$
]

最后更新：

[  
$$
\phi=\phi_{\mathrm{old}}+\alpha s.  
$$
]

一句话概括：

[  
$$
\boxed{  
\text{这一节的目的，是用 trust region 方式稳定地训练值函数，从而为 GAE 提供可靠的 TD 残差和优势估计。}  
}  
$$

---

。GAE 论文的主张是：策略梯度本身可以给出无偏梯度估计，但样本复杂度高；关键改进在于用值函数构造优势函数估计器，以较小偏差换取大幅方差降低。论文摘要也明确说，GAE 使用类似 TD($(\lambda)$) 的指数加权优势估计，在引入一定偏差的代价下降低策略梯度估计方差，并结合 trust region 方法优化策略和值函数。([arXiv](https://arxiv.org/abs/1506.02438?utm_source=chatgpt.com "High-Dimensional Continuous Control Using Generalized Advantage Estimation"))

---




策略梯度方法给出了如下形式的梯度估计：

# [  
$$
\nabla_\theta J(\theta)
=
\mathbb E  
\left[  
\sum_t  
\Psi_t  
\nabla_\theta\log \pi_\theta(a_t\mid s_t)  
\right].  
$$
]

如果 ($\Psi_t$) 选得合适，例如 reward-to-go、($Q^\pi$)、($A^\pi$) 或其无偏估计，那么该表达式在期望意义下等于真实策略目标的梯度。

因此，强化学习可以被转化为：

# [  
$$
\theta_{k+1}
=
\theta_k+\alpha \hat g_k.  
$$
]

这和普通随机梯度优化类似，只不过梯度样本来自环境交互。

但是，困难在于：

[  
$$
\hat g_k  
$$
]

通常方差非常大。

尤其在长时域任务中，一个动作的影响可能要很多时间步之后才显现。若使用完整回报：

# [  
$$
G_t
=
\sum_{l=0}^{\infty}  
\gamma^l r_{t+l},  
$$
]

则其中包含大量未来随机性，包括未来动作采样、状态转移、接触动力学和环境噪声。单条轨迹上的 ($G_t$) 可能极其嘈杂，导致策略梯度估计方向不稳定。

所以策略梯度的根本矛盾是：

[  
$$
\text{无偏性好，但方差高；方差高则样本复杂度高。}  
$$
]

这也是为什么 GAE 要引入有偏但低方差的优势估计器。

---

# 三、“关键在于优势函数估计”是什么意思？

理想策略梯度权重是：

# [  
$$
A^\pi(s_t,a_t)
=
Q^\pi(s_t,a_t)-V^\pi(s_t).  
$$
]

它具有清晰语义：

[  
$$
A^\pi(s_t,a_t)>0  
$$
]

表示动作 ($a_t$) 比当前策略在状态 ($s_t$) 下的平均行为更好；

[  
$$
A^\pi(s_t,a_t)<0  
$$
]

表示动作 ($a_t$) 比平均行为更差。

因此策略更新应当：

[  
$$
A^\pi>0  
\Rightarrow  
\text{增加动作概率};  
$$
]

[  
$$
A^\pi<0  
\Rightarrow  
\text{降低动作概率}.  
$$
]

相比完整回报，优势函数减去了状态本身的平均价值：

[  
$$
V^\pi(s_t).  
$$
]

这会去掉与动作选择无关的状态难易程度。例如某个状态本身很好，并不意味着该状态下采样到的每个动作都应该增强；真正需要增强的是相对于该状态平均行为更好的动作。

因此，“降低方差的关键是获得好的优势函数估计”可以理解为：

[  
$$
\text{策略梯度估计的噪声主要来自 }\Psi_t;  
$$
]

[  
$$
\text{若 }\Psi_t\text{ 能准确反映动作相对好坏，则更新更稳定。}  
$$
]

GAE 正是围绕这个问题构造：

# [  
$$
\hat A_t^{\mathrm{GAE}(\gamma,\lambda)}
=
\sum_{l=0}^{\infty}  
(\gamma\lambda)^l  
\delta_{t+l}^V.  
$$
]

---

# 四、第二段解释：GAE 的贡献是什么？

原文说，本文提供了“intuitive but informal analysis”。

这说明 GAE 论文并不是给出一个完整严格的收敛理论，而是从偏差—方差、reward shaping、response function 等角度给出解释和合理性论证。

GAE 的核心公式是：

# [  
$$
\hat A_t^{\mathrm{GAE}(\gamma,\lambda)}
=
\sum_{l=0}^{\infty}  
(\gamma\lambda)^l  
\delta_{t+l}^V,  
$$
]

其中：

# [  
$$
\delta_t^V
=
r_t+\gamma V(s_{t+1})-V(s_t).  
$$
]

两个参数分别起不同作用。

---

## 1. ($\gamma$)：控制奖励时间尺度

[  
$$
\gamma  
$$
]

定义折扣优势函数：

[  
$$
A^{\pi,\gamma}(s,a).  
$$
]

若原目标是无折扣总回报，则取

[  
$$
\gamma<1  
$$
]

会改变远期奖励权重，因此相对于无折扣目标引入偏差。

但它降低方差，因为远期随机奖励被削弱。

---

## 2. ($\lambda$)：控制 TD residual 展开长度

[  
$$
\lambda  
$$
]

不改变 ($V^{\pi,\gamma}$) 的定义，而是控制：

[  
$$
\delta_t^V,\delta_{t+1}^V,\delta_{t+2}^V,\ldots  
$$
]

向未来聚合的程度。

当：

[  
$$
\lambda=0,  
$$
]

[  
$$
\hat A_t=\delta_t^V.  
$$
]

这是一步 TD advantage，方差低，但依赖 ($V$) 准确性。

当：

[  
$$
\lambda=1,  
$$
]

# [  
$$
\hat A_t
=
 \sum_{l=0}^{\infty}  
\gamma^l r_{t+l}
-
V(s_t).  
$$
]

这是 Monte Carlo reward-to-go 减 baseline，偏差较小，但方差大。

所以：

[  
$$
0<\lambda<1  
$$
]

在二者之间折中。

---

## 3. 与 trust region 方法结合

GAE 只是 advantage estimator。要真正训练大型神经网络策略，还需要稳定的策略优化方法。

因此论文将 GAE 与 TRPO 结合。TRPO 的核心是限制新旧策略的平均 KL 距离，在一个 trust region 内优化 surrogate objective；TRPO 原论文将该方法用于大规模非线性策略优化，并通过近似 trust-region 更新提升稳定性。([arXiv](https://arxiv.org/abs/1506.02438?utm_source=chatgpt.com "High-Dimensional Continuous Control Using Generalized Advantage Estimation"))

同时，论文还对 value function 也使用 trust region 优化，以避免 critic 过拟合最近 batch 或发生剧烈变化。

因此完整贡献是三者组合：

[  
$$
\text{GAE advantage estimator}  
+  
\text{TRPO policy update}  
+  
\text{trust-region value function update}.  
$$
]

---

# “此前超出通用强化学习方法能力范围”是什么意思？

这里强调的是：这些任务不是低维 tabular MDP，也不是手工设计控制器，而是高维连续控制任务。

例如三维双足和四足 locomotion 包含：

- 连续状态；
    
- 连续动作；
    
- 高维神经网络策略；
    
- 接触动力学；
    
- 长时域信用分配；
    
- 不稳定运动模式，例如摔倒。
    

GAE 论文摘要也说明，其方法在复杂 3D locomotion 任务上学习到双足、四足奔跑步态，以及双足机器人从躺倒状态站起的策略，并且神经网络策略直接从原始运动学映射到关节力矩。([arXiv](https://arxiv.org/abs/1506.02438?utm_source=chatgpt.com "High-Dimensional Continuous Control Using Generalized Advantage Estimation"))

因此，这里的意思是：GAE + trust region 组合显著提高了通用 model-free policy gradient 方法在复杂连续控制中的可用性。

---

# 为什么 ($\lambda\in[0.9,0.99]$) 通常最好？

实验中发现，中间偏大的 (\lambda) 最好：

[  
\lambda\in[0.9,0.99].  
]

这与理论解释一致。

若：

[  
\lambda=0,  
]

则：

[  
\hat A_t=\delta_t^V.  
]

这只用一步 TD residual。若值函数不是非常准确，则 bootstrap 偏差明显。

若：

[  
$$
\lambda=1,  
$$
]

则：

[  
$$
\hat A_t=G_t^\gamma - V(s_t).  
$$
]

该估计对 ($g^\gamma$) 是 ($\gamma$)-just，但包含完整未来回报，方差大。

中间 ($\lambda$) 的优势是：

[  
$$
\text{既不过度依赖一步 bootstrap，也不完全使用高方差 Monte Carlo。}  
$$
]

有效 residual 时间尺度近似为：

[  
$$
\frac{1}{1-\gamma\lambda}.  
$$
]

例如：

[  
$$
\gamma=0.99,\lambda=0.95  
\Rightarrow  
\gamma\lambda=0.9405,  
$$
]

[  
$$
\frac{1}{1-0.9405}\approx 16.8.  
$$
]

这表示 GAE 主要聚合十几步范围内的 TD residual，而不是完整 episode 的全部未来奖励。

因此，中间 ($\lambda$) 通常能显著降低方差，同时保留足够多的多步信用分配信息。

---

# 七、未来工作一：自动调整 ($\gamma,\lambda$)

原文提出未来工作：

[  
$$
\text{adaptive or automatic adjustment of }\gamma,\lambda.  
$$
]

原因是不同任务的最优时间尺度不同。

对于短期任务，较小的 ($\gamma,\lambda$) 可能足够；

对于长程信用分配任务，需要更大的 ($\gamma,\lambda$)；

训练早期值函数不准确，可能需要较大 ($\lambda$) 减少 bootstrap 偏差；

训练后期值函数更准确，可以降低 ($\lambda$) 来降低方差。

因此理想算法可以根据：

- value function 误差；
    
- TD residual 统计；
    
- gradient variance；
    
- learning progress；
    
- episode horizon；
    
- reward delay structure；
    

自动调节 ($\gamma,\lambda$)。

这一点在现代深度 RL 中仍然很重要。实践中 PPO、TRPO、A2C 等方法常固定 ($\gamma,\lambda$)，例如常见取值

[  
$$
\gamma=0.99,\lambda=0.95,  
$$
]

但这不是从任务中自动推导出来的，而是经验超参数。

---

# 八、未来工作二：值函数误差与策略梯度误差的关系

原文说，一个值得研究的问题是：

[  
$$
\text{value function estimation error}  
\quad\text{和}\quad  
\text{policy gradient estimation error}  
$$
]

之间的关系。

这很关键，因为训练 critic 时通常最小化的是值函数误差，例如：

[  
$$
\min_\phi  
\sum_t  
\left(  
V_\phi(s_t)-\hat V_t  
\right)^2.  
$$
]

但真正关心的不是值函数本身预测有多准，而是：

[  
$$
\hat A_t  
$$
]

放入策略梯度后，得到的梯度方向是否准确。

也就是说，critic 的目标应该服务于 actor。

---

## 1. 普通 value loss 未必等价于 policy gradient accuracy

假设某些状态的值函数误差很大，但这些状态很少被访问，或者对应动作 score function 很小，那么它对策略梯度误差的影响可能不大。

反过来，某些状态的值函数均方误差不大，但它们处在策略高度敏感区域，或对应动作概率梯度很大，则小的 value error 也可能显著扭曲策略梯度。

因此，普通 MSE：

[  
$$
\mathbb E[(V_\phi(s)-V^\pi(s))^2]  
$$
]

不一定是最适合 actor 的 critic 误差度量。

更合适的指标应考虑：

[  
$$
\left|  \left|  
\mathbb E[  
(\hat A_t-A^\pi(s_t,a_t))  
\nabla_\theta\log\pi_\theta(a_t\mid s_t)  
]  
\right|\right|.  
$$
]

这才直接衡量 advantage 误差对 policy gradient 的影响。

---

## 2. Bellman error 与 projected Bellman error

原文提到候选误差度量包括：

[  
$$
\text{Bellman error}  
$$
]

和

[  
$$
\text{projected Bellman error}.  
$$
]

Bellman error 衡量值函数是否满足 Bellman 方程：

[  
$$
V(s)  
\approx  
\mathbb E[  
r+\gamma V(s')  
\mid s  
].  
$$
]

可写为：

[  
$$
T_\pi V - V.  
$$
]

如果 Bellman error 小，说明值函数在动态一致性上较好。

Projected Bellman error 则考虑函数近似空间的限制。因为 ($T_\pi V$) 可能不在函数类中，需要先投影回可表示空间：

[  
$$
\Pi T_\pi V - V.  
$$
]

Projected Bellman error 衡量的是在函数近似空间内的 Bellman 固定点误差。

Bhatnagar 等人的 Natural Actor-Critic Algorithms 讨论了 actor-critic、函数近似和自然梯度方法，其中 critic 通常通过 TD 学习估计值函数或兼容函数近似相关量，这与该段关于 critic 误差度量和 policy gradient 精度之间关系的问题直接相关。([ScienceDirect](https://www.sciencedirect.com/science/article/abs/pii/S0005109809003549?utm_source=chatgpt.com "Natural actor–critic algorithms"))

---

# 九、未来工作三：policy 和 value function 共享结构

原文提出另一个方向：

[  
$$
\text{shared function approximation architecture for policy and value function}.  
$$
]

现代说法就是 actor 和 critic 共享底层 representation，例如共享前几层神经网络，再分出 policy head 和 value head。

形式上：

[  
$$
h_\psi(s)=\text{shared encoder},  
$$
]

[  
$$
\pi_\theta(a\mid s)=\pi_{\theta_p}(a\mid h_\psi(s)),  
$$
]

[  
$$
V_\phi(s)=V_{\phi_v}(h_\psi(s)).  
$$
]

潜在优点是：

1. 策略和值函数都需要理解状态中的关键特征；
    
2. 共享表示可以减少样本复杂度；
    
3. critic 的监督信号可以帮助学习更有用的 state representation；
    
4. actor 的优化目标也可以推动表示适应控制任务。
    

但原文也指出，这在当时仍是开放问题，尤其是如何数值优化以及如何保证收敛。

原因是共享参数会造成 actor 与 critic 目标相互干扰：

[  
$$
\psi  
$$
]

同时影响 policy loss 和 value loss。更新 value function 可能改变 policy 表示；更新 policy 也可能破坏 value function 表示。

因此需要处理：

- 多目标优化；
    
- 梯度冲突；
    
- actor loss 与 critic loss 的权重；
    
- on-policy 数据非平稳；
    
- 收敛保证。
    

有趣的是，后来的许多 actor-critic 深度 RL 实现，例如 A2C、PPO 等，确实广泛使用了共享或部分共享架构；但理论收敛分析依然比线性函数近似困难得多。

---

# 十、最后一段：与连续动作求导方法的关系

原文提到同期工作：

- Lillicrap et al. (2015)
    
- Heess et al. (2015)
    

这些方法涉及对连续动作求导。

这类方法的典型代表是 deterministic policy gradient / DDPG。Lillicrap 等人的 DDPG 将 DQN 的思想扩展到连续动作域，使用 model-free actor-critic 方法，在多个连续控制任务上学习确定性策略。([arXiv](https://arxiv.org/abs/1509.02971?utm_source=chatgpt.com "Continuous control with deep reinforcement learning")) Heess 等人的工作则将 deterministic policy gradient 和 stochastic value gradient 扩展到循环神经网络，用于部分可观测控制问题，并研究含记忆需求的物理控制任务。([arXiv](https://arxiv.org/abs/1512.04455?utm_source=chatgpt.com "Memory-based control with recurrent neural networks"))

---

## 1. 这类方法与 GAE/TRPO 的差异

GAE/TRPO 属于 stochastic policy gradient 路线：

[  
$$
\nabla_\theta\log\pi_\theta(a_t\mid s_t)\hat A_t.  
$$
]

它通过 score function 估计策略参数梯度，不需要对环境动力学或 (Q) 函数关于动作的梯度求导。

而 deterministic policy gradient 类方法通常使用：

[  
$$
\nabla_\theta J  
\approx  
\mathbb E  
[  
\nabla_a Q(s,a)|_{a=\mu_\theta(s)}  
\nabla_\theta \mu_\theta(s)  
].  
$$
]

这里需要 critic ($Q(s,a)$) 关于动作 ($a$) 的梯度：

[  
$$
\nabla_a Q(s,a).  
$$
]

因此它是一种“对连续动作可微”的 actor-critic 方法。

---

## 2. 为什么原文说 ($\lambda=0$) 经验上表现差？

在 GAE 中：

[  
$$
\lambda=0  
$$
]

对应一步 TD residual：

[  
$$
\hat A_t=\delta_t^V.  
$$
]

论文实验发现，一步估计偏差过大，性能较差。

原因是，如果值函数近似不够准确，则：

# [  
$$
\delta_t^V
=
r_t+\gamma V(s_{t+1})-V(s_t)  
$$
]

可能不能准确反映真实长期优势。

这对高维 locomotion 尤其严重，因为当前动作的效果可能延迟体现。如果只看一步 residual，就需要值函数几乎完美地把所有未来影响都 bootstrap 进 ($V(s_{t+1})$)。实践中很难做到。

因此中间 ($\lambda$) 更好：它允许未来多个 TD residual 参与优势估计，减少对一步 bootstrap 的过度依赖。

---

## 3. 为什么 DPG/DDPG 等方法仍然可能有效？

原文指出，虽然 GAE 实验中 ($\lambda=0$) 表现差，但 Lillicrap 和 Heess 等工作的连续动作求导方法表明，经过适当调参，这类一步 bootstrap 方法也可以工作。

这里的关键差异是方法类别不同。

DDPG 使用 off-policy replay buffer、target networks、确定性 actor、动作梯度和 ($Q(s,a)$) critic。它不是简单把 GAE 的 ($\lambda=0$) 放进 TRPO。DDPG 的训练机制、稳定化技巧和数据使用方式都不同。Lillicrap 等人明确提出一种基于 deterministic policy gradient 的 model-free actor-critic 算法，用于连续动作空间，并结合深度网络处理多个模拟物理任务。([arXiv](https://arxiv.org/abs/1509.02971?utm_source=chatgpt.com "Continuous control with deep reinforcement learning"))

因此不能简单得出“一步方法都不好”的结论。论文只是在自己的实验设定下发现：

[  
$$
\mathrm{GAE}(\gamma,0)  
$$
]

偏差过大，性能较差。

---

## 4. 为什么需要未来比较？

原文说，那些论文考虑的问题状态和动作维度显著低于本文任务，因此两类方法仍需公平比较。

公平比较需要控制：

- 任务维度；
    
- on-policy vs off-policy；
    
- stochastic policy vs deterministic policy；
    
- 使用 ($V(s)$) 还是 ($Q(s,a)$)；
    
- 是否使用 replay buffer；
    
- 是否使用 target network；
    
- 是否有 trust region / KL 约束；
    
- 样本复杂度；
    
- 最终控制性能；
    
- 稳定性和超参数敏感性。
    

这也是深度 RL 方法比较困难的原因之一：算法差异往往不是单个估计器，而是一整套训练系统。

---

# 十一、这段讨论的总体意义

该 Discussion 有四层含义。

第一，GAE 的问题定位非常清楚：

[  
$$
\text{策略梯度的核心瓶颈是高方差和高样本复杂度。}  
$$
]

第二，GAE 的解决思路是：

[  
$$
\text{构造更好的 advantage estimator。}  
$$
]

第三，GAE 的工程组合是：

[  
$$
\text{GAE}  
+  
\text{TRPO policy update}  
+  
\text{trust-region value update}  
+  
\text{neural networks}.  
$$
]

第四，未来工作主要围绕：

[  
$$
\gamma,\lambda\text{ 自动调节},  
$$
]

[  
$$
\text{critic error 与 actor gradient error 的关系},  
$$
]

[  
$$
\text{policy/value 共享表示},  
$$
]

[  
$$
\text{与连续动作求导类 actor-critic 方法比较}.  
$$
]

---

# 十二、核心总结

该讨论部分可以压缩为以下结论：

[  
$$
\boxed{  
\text{GAE 的核心贡献，是把策略梯度中的高方差回报估计，替换为由值函数和 TD residual 构造的低方差优势估计。}  
}  
$$
]

它不是追求完全无偏，而是通过

[  
$$
\gamma,\lambda  
$$
]

控制偏差—方差折中：

# [  
$$
\hat A_t^{\mathrm{GAE}(\gamma,\lambda)}
=
\sum_{l=0}^{\infty}  
(\gamma\lambda)^l  
\delta_{t+l}^V.  
$$
]

实验显示，在仿真机器人 locomotion 中，中间偏大的

[  
$$
\lambda\in[0.9,0.99]  
$$
]

通常效果最好，说明完全一步 TD 偏差过大，完全 Monte Carlo 方差过大。

更深层的问题是：critic 不应该只追求值函数 MSE 最小，而应服务于 policy gradient 的准确性。如何设计与策略梯度误差更匹配的 value-function error metric，以及如何自动选择 ($\gamma,\lambda$)，是该论文提出的重要未来方向。


---

# 1. 基本定义

**Compatible features** 指策略 score function 特征：

# [  
$$
\phi_\theta(s,a)

\nabla_\theta \log \pi_\theta(a\mid s).  
$$
]

如果策略参数为

[  
$$
\theta=(\theta_1,\ldots,\theta_d),  
$$
]

则 compatible features 的第 (i) 个分量是：

# [  
$$
\phi_{\theta,i}(s,a)
=
\nabla_{\theta_i}\log \pi_\theta(a\mid s).  
$$
]

也就是说，compatible features 不是任意手工特征，而是由当前策略参数化形式自动决定的特征。

**Compatible function** 或 **compatible function approximation** 通常指用这些 compatible features 线性表示 (Q) 函数或 advantage 函数：

# [  
$$
\hat A_w(s,a)
=
w^\top \nabla_\theta \log \pi_\theta(a\mid s).  
$$
]

或写成：

# [  
$$
\hat Q_w(s,a)
=
w^\top \nabla_\theta \log \pi_\theta(a\mid s).  
$$
]

该思想来自 Sutton 等人的 policy gradient theorem 与 Konda–Tsitsiklis 的 actor-critic 理论；相关理论指出，若 critic 的函数近似结构与 actor 的策略参数化兼容，则使用近似 critic 计算策略梯度时可以保持正确梯度方向，或者得到自然梯度形式。([NeurIPS Papers](https://papers.neurips.cc/paper/1713-policy-gradient-methods-for-reinforcement-learning-with-function-approximation.pdf?utm_source=chatgpt.com "Policy Gradient Methods for Reinforcement Learning with ..."))

---

# 2. 为什么称为 compatible？

策略梯度定理给出：

# [  
$$
\nabla_\theta J(\theta)
=
\mathbb E_\pi  
\left[  
\nabla_\theta\log\pi_\theta(a\mid s)  
Q^\pi(s,a)  
\right].  
$$
]

也可以用优势函数写成：

# [  
$$
\nabla_\theta J(\theta)
=
\mathbb E_\pi  
\left[  
\nabla_\theta\log\pi_\theta(a\mid s)  
A^\pi(s,a)  
\right].  
$$
]

这里真正参与梯度计算的是：

[  
$$
A^\pi(s,a)  
$$
]

与

[  
$$
\nabla_\theta\log\pi_\theta(a\mid s)  
$$
]

的乘积期望。

因此，策略梯度并不需要知道完整的优势函数 ($A^\pi(s,a)$)。它只需要知道 ($A^\pi$) 在 score feature 子空间上的投影。Konda 与 Tsitsiklis 的 actor-critic 论文正是强调：critic 的特征理想上应当张成由 actor 参数化决定的特定子空间。([Massachusetts Institute of Technology](https://www.mit.edu/~jnt/Papers/J094-03-kon-actors.pdf?utm_source=chatgpt.com "ON ACTOR-CRITIC ALGORITHMS∗ 1. Introduction. Many ..."))

这个由 actor 决定的子空间就是：

[  
$$
\mathrm{span}  
\left\{  
\nabla_{\theta_1}\log\pi_\theta(a\mid s),  
\ldots,  
\nabla_{\theta_d}\log\pi_\theta(a\mid s)  
\right\}.  
$$
]

若 critic 用的函数近似刚好位于这个子空间中，就称为与策略参数化 **compatible**。

---

# 3. Compatible function 的标准形式

令

# [  
$$
\phi_\theta(s,a)
=
\nabla_\theta\log\pi_\theta(a\mid s).  
$$
]

compatible advantage approximator 定义为：

# [  
$$
\hat A_w(s,a)
=
 w^\top \phi_\theta(s,a)
=
w^\top\nabla_\theta\log\pi_\theta(a\mid s).  
$$
]

其中：

[  
$$
w\in\mathbb R^{\dim\theta}.  
$$
]

注意这里 ($w$) 的维度和策略参数 ($\theta$) 的维度相同。

这不是任意神经网络 critic，而是一个特殊的线性 critic：

[  
$$
\text{输入特征}=\nabla_\theta\log\pi_\theta(a\mid s).  
$$
]

因此 compatible function approximation 的核心条件可以概括为：

# [  
$$
\boxed{  
\nabla_w \hat A_w(s,a)
=
\nabla_\theta\log\pi_\theta(a\mid s).  
}  
$$
]

因为：

# [  
$$
\hat A_w(s,a)
=
w^\top\nabla_\theta\log\pi_\theta(a\mid s),  
$$
]

所以：

# [  
$$
\nabla_w \hat A_w(s,a)
=
\nabla_\theta\log\pi_\theta(a\mid s).  
$$
]

这就是“compatible”的技术含义：critic 对自身参数 (w) 的梯度，等于 actor 的 score function。

---

# 4. 为什么 compatible function 能给出无偏策略梯度？

假设用近似优势函数：

# [  
$$
\hat A_w(s,a)
=
w^\top \phi_\theta(s,a).  
$$
]

代入策略梯度估计：

# [  
$$
\hat g
=
\mathbb E  
\left[  
\phi_\theta(s,a)  
\hat A_w(s,a)  
\right].  
$$
]

得到：

# [  
$$
\hat g
=
\mathbb E  
\left[  
\phi_\theta(s,a)  
\phi_\theta(s,a)^\top  
\right]w.  
$$
]

定义 Fisher 信息矩阵：

# [  
$$
F
=
\mathbb E  
\left[  
\phi_\theta(s,a)  
\phi_\theta(s,a)^\top  
\right].  
$$
]

于是：

[  
$$
\hat g=Fw.  
$$
]

如果 ($w$) 是通过最小二乘拟合真实优势函数得到的：

# [  
$$
w^*
=
 \arg\min_w  
\mathbb E  
\left[  
\left(  
w^\top\phi_\theta(s,a)
-
A^\pi(s,a)  
\right)^2  
\right],  
$$
]

一阶最优条件是：

[  
$$
\mathbb E  
\left[  
\phi_\theta(s,a)  
\left(  
w^{*\top}\phi_\theta(s,a)-A^\pi(s,a)  
\right)  
\right]  
=0.  
$$
]

即：

# [  
$$
\mathbb E[\phi_\theta\phi_\theta^\top]w^*
=
\mathbb E[\phi_\theta A^\pi].  
$$
]

左边是：

[  
$$
Fw^*.  
$$
]

右边正是策略梯度：

# [  
$$
g=  
\nabla_\theta J(\theta)
=
\mathbb E[\phi_\theta A^\pi].  
$$
]

因此：

[  
$$
Fw^*=g.  
$$
]

所以：

[  
$$
\boxed{  
Fw^*=\nabla_\theta J(\theta).  
}  
$$
]

这表示：如果 compatible function 用最小二乘方式拟合真实 advantage，那么用该 critic 计算出的策略梯度是精确的。Sutton 等人的 policy gradient function approximation 论文正是给出了这类兼容函数近似条件；Kakade 的 natural policy gradient 论文进一步说明了该结构与自然梯度之间的关系。([NeurIPS Papers](https://papers.neurips.cc/paper/1713-policy-gradient-methods-for-reinforcement-learning-with-function-approximation.pdf?utm_source=chatgpt.com "Policy Gradient Methods for Reinforcement Learning with ..."))

---

# 5. Compatible function 与 natural gradient 的关系

由上面得到：

[  
$$
Fw^*=g.  
$$
]

因此：

[  
$$
w^*=F^{-1}g.  
$$
]

而自然策略梯度定义为：

# [  
$$
\tilde g
=
F^{-1}g.  
$$
]

所以：

[  
$$
\boxed{  
w^*=\tilde g.  
}  
$$
]

也就是说，compatible function 的最小二乘权重 ($w^*$) 本身就是自然策略梯度方向。

这解释了 GAE 附录中那句话：

如果给定一个 ($\gamma$)-just 的优势估计 ($\hat A_t$)，并解最小二乘问题：


$$
\min_r  
\sum_t  
\left|  \left|
r\cdot\nabla_\theta\log\pi_\theta(a_t\mid s_t)
-
\hat A_t  
\right|\right|^2,  
$$
]

那么解 (r) 就对应 natural policy gradient。Kakade 的论文将自然梯度解释为在参数空间的底层几何结构下的最速方向，而 compatible approximation 提供了一种计算这种方向的方式。([NeurIPS Papers](https://papers.neurips.cc/paper/2073-a-natural-policy-gradient.pdf?utm_source=chatgpt.com "A Natural Policy Gradient"))

---

# 6. 一个离散 softmax 策略例子

假设策略是 softmax：

# [  
$$
\pi_\theta(a\mid s)
=
\frac{\exp(\theta^\top x(s,a))}  
{\sum_b \exp(\theta^\top x(s,b))}.  
$$
]

则：

# [  
$$
\log\pi_\theta(a\mid s)
=
 \theta^\top x(s,a)-
\log\sum_b\exp(\theta^\top x(s,b)).  
$$
]

对 ($\theta$) 求梯度：

 [  
$$
\nabla_\theta\log\pi_\theta(a\mid s)
=
 x(s,a)
-
\sum_b\pi_\theta(b\mid s)x(s,b).  
$$
]

所以 compatible feature 是：

# [  
$$
\phi_\theta(s,a)
=
 x(s,a)
-
\mathbb E_{b\sim\pi_\theta(\cdot\mid s)}[x(s,b)].  
$$
]

compatible advantage function 为：

# [  
$$
\hat A_w(s,a)
=
 w^\top  
\left(  
x(s,a)
-
\sum_b\pi_\theta(b\mid s)x(s,b)  
\right).  
$$
]

含义是：critic 不是任意拟合 (A(s,a))，而是只拟合那些能通过改变 softmax 参数影响策略概率的方向。

---

# 7. 一个连续高斯策略例子

假设连续动作策略为高斯分布：

# [  
$$
\pi_\theta(a\mid s)
=
\mathcal N(a;\mu_\theta(s),\Sigma),  
$$
]

其中 ($\Sigma$) 固定。

则：

# [  
$$
\log\pi_\theta(a\mid s)
=
-\frac{1}{2}  
(a-\mu_\theta(s))^\top  
\Sigma^{-1}  
(a-\mu_\theta(s))  
+\text{const}.  
$$
]

对 ($\theta$) 求梯度：

# [  
$$
\nabla_\theta\log\pi_\theta(a\mid s)
=
\nabla_\theta\mu_\theta(s)^\top  
\Sigma^{-1}  
(a-\mu_\theta(s)).  
$$
]

因此 compatible feature 是：

# [  
$$
\phi_\theta(s,a)
=
\nabla_\theta\mu_\theta(s)^\top  
\Sigma^{-1}  
(a-\mu_\theta(s)).  
$$
]

compatible advantage function 为：

# [  
$$
\hat A_w(s,a)
=
w^\top  
\nabla_\theta\mu_\theta(s)^\top  
\Sigma^{-1}  
(a-\mu_\theta(s)).  
$$
]

这说明 compatible features 会随策略结构改变。对于神经网络均值策略，($\nabla_\theta\mu_\theta(s)$) 就是网络输出对全部参数的 Jacobian。

---

# 8. Compatible features 与普通 value function features 的区别

普通 critic 可能使用任意状态特征：

# [  
$$
V_\phi(s)
=
u^\top \psi(s),  
$$
]

或者状态—动作特征：

# [  
$$
Q_\omega(s,a)
=
\omega^\top \psi(s,a).  
$$
]

这里的 ($\psi(s,a)$) 可以是手工特征、神经网络特征或其他表示。

但 compatible critic 要求特征为：

[  
$$
\psi(s,a)=\nabla_\theta\log\pi_\theta(a\mid s).  
$$
]

因此区别是：

| 概念                                  | 特征来源                                             | 目标                           |
| ----------------------------------- | ------------------------------------------------ | ---------------------------- |
| 普通 value / Q function approximation | 任意状态或状态—动作特征                                     | 尽量拟合 ($V^\pi$)、($Q^\pi$) 或回报 |
| Compatible function approximation   | 策略 score feature ($\nabla_\theta\log\pi_\theta$) | 保证 critic 对策略梯度方向“兼容”        |
| GAE advantage estimator             | 时间序列 TD residual                                 | 降低 advantage 估计方差            |


所以 compatible function 更关心“critic 是否给出正确 actor 更新方向”，而不一定追求完整准确地表示整个 ($Q^\pi(s,a)$)。

---

# 9. Compatible features 与 GAE 的关系

GAE 构造的是：

# [  
$$
\hat A_t^{\mathrm{GAE}(\gamma,\lambda)}
=
\sum_{l=0}^{\infty}  
(\gamma\lambda)^l  
\delta_{t+l}^{V}.  
$$
]

它解决的问题是：

[  
$$
\text{如何利用轨迹时间结构估计 advantage。}  
$$
]

Compatible features 解决的问题是：

[  
$$
\text{给定某个 advantage estimate，怎样提取其对策略参数有用的投影。}  
$$
]

因此二者关系可以写成：

[  
$$
\text{GAE：产生 }\hat A_t  
$$
]

[  
$$
\Downarrow  
$$
]

[  
$$
\text{compatible least squares：将 }\hat A_t\text{ 投影到 score-feature 子空间}  
$$
]

[  
$$
\Downarrow  
$$
]

[  
$$
\text{得到 natural policy gradient 方向。}  
$$
]

这正是 GAE 附录强调的点：compatible features 理论并不告诉怎样利用时间结构获得更好的 advantage estimate，因此它与 GAE 的思想大体正交；但任意 ($\gamma$)-just 的 advantage estimator，包括 GAE，可以放入 compatible-feature 最小二乘公式中。GAE 原文也说明实验中使用的是 Schulman 等人 TRPO 的更高效数值过程，而不是显式求解该最小二乘。([Massachusetts Institute of Technology](https://www.mit.edu/~jnt/Papers/J094-03-kon-actors.pdf?utm_source=chatgpt.com "ON ACTOR-CRITIC ALGORITHMS∗ 1. Introduction. Many ..."))

---

# 10. 为什么说 compatible features 只关心 advantage 的一个子空间？

策略梯度是：

# [  
$$
g=

\mathbb E[\phi_\theta(s,a)A^\pi(s,a)].  
$$
]

若两个优势函数 ($A_1,A_2$) 满足：

# [  
$$
\mathbb E[\phi_\theta(s,a)A_1(s,a)]
=
\mathbb E[\phi_\theta(s,a)A_2(s,a)],  
$$
]

那么它们给出的策略梯度完全相同。

也就是说，即使：

[  
$$
A_1(s,a)\neq A_2(s,a),  
$$
]

只要差异部分与 ($\phi_\theta$) 正交：

[  
$$
\mathbb E[  
\phi_\theta(s,a)(A_1(s,a)-A_2(s,a))  
]=0,  
$$
]

策略更新就看不见这部分差异。

因此，完整的优势函数空间很大，但 actor 只关心其中由 score features 决定的投影部分：

[  
$$
\mathrm{Proj}_{\mathrm{span}(\phi_\theta)} A^\pi.  
$$
]

Compatible function approximation 的本质就是直接拟合这个投影，而不是拟合完整优势函数。

---

# 11. 和 baseline 的关系

baseline (b(s)) 不依赖动作，因此：

[  
$$
\mathbb E_{a\sim\pi}  
[  
b(s)\nabla_\theta\log\pi_\theta(a\mid s)  
]  
=0.  
$$
]

所以：

[  
$$
Q^\pi(s,a)  
$$
]

和：

[  
$$
A^\pi(s,a)=Q^\pi(s,a)-V^\pi(s)  
$$
]

给出相同策略梯度。

Compatible function 通常用来近似 advantage，而不是直接近似 ($Q$)，因为 advantage 已经去除了动作无关的状态价值 baseline，方差更低。

不过理论上也可以用 compatible ($Q$)-function，只要它在策略梯度意义下满足兼容条件。

---

# 12. 与神经网络 critic 的关系

现代 actor-critic 常用神经网络 critic：

[  
$$
V_\phi(s)  
\quad\text{或}\quad  
Q_\omega(s,a).  
$$
]

这些 critic 一般不是严格 compatible function approximator，因为它们的特征不是：

[  
$$
\nabla_\theta\log\pi_\theta(a\mid s).  
$$
]

严格 compatible function 对深度策略来说维度很高，因为：

[  
$$
\nabla_\theta\log\pi_\theta(a\mid s)  
$$
]

的维度等于策略网络参数数量，可能是几十万到上百万。

所以现代深度 RL 很少显式构造 compatible critic，而更常使用：

- state-value baseline ($V_\phi(s)$)；
    
- GAE；
    
- Fisher-vector product；
    
- natural gradient / TRPO / PPO 近似；
    
- shared encoder 或独立 critic 网络。
    

这并不否定 compatible features 理论；只是深度网络场景下，严格 compatible critic 的显式构造成本高，实践中常用更灵活的近似。

---

# 13. 最核心总结

**Compatible features**：

[  
$$
\boxed{  
\phi_\theta(s,a)=\nabla_\theta\log\pi_\theta(a\mid s)  
}  
$$
]

是由策略参数化决定的 score-function 特征。

**Compatible function**：

[  
$$
\boxed{  
\hat A_w(s,a)=w^\top\nabla_\theta\log\pi_\theta(a\mid s)  
}  
$$
]

是用 compatible features 线性表示的 advantage / (Q)-function 近似器。

其关键性质是：

若

# [  
$$
w^*
=
\arg\min_w  
\mathbb E[  
(w^\top\phi_\theta(s,a)-A^\pi(s,a))^2  
],  
$$
]

则：

# [  
$$
Fw^*
=
\nabla_\theta J(\theta),  
$$
]

其中：

[  
$$
F=\mathbb E[\phi_\theta\phi_\theta^\top].  
$$
]

因此：

[  
$$
w^*=F^{-1}\nabla_\theta J(\theta),  
$$
]

也就是自然策略梯度方向。

一句话概括：

[  
$$
\boxed{  
\text{Compatible function approximation 不是为了完整拟合优势函数，而是为了拟合优势函数中对当前策略梯度真正有作用的 score-feature 投影。}  
}  
$$
]

GAE 负责构造低方差的 ($\hat A_t$)；compatible features 负责说明如何把 $(\hat A_t$) 投影到策略参数可用的自然梯度方向上。

---
记号

[  
$$
\nabla_{\theta_i}\log \pi_\theta(a_t\mid s_t),  
\quad  
i\in{1,2,\ldots,\dim\theta}  
$$
]

表示：**策略在状态 (s_t) 下选择动作 (a_t) 的 log-probability，对第 (i) 个策略参数 (\theta_i) 的偏导数**。

更直接地写，就是：

# [  
$$
\nabla_{\theta_i}\log \pi_\theta(a_t\mid s_t)
=
\frac{\partial}{\partial \theta_i}  
\log \pi_\theta(a_t\mid s_t).  
$$
]

在 compatible features 理论中，这些偏导数组成的向量

[  
$$
\nabla_\theta\log\pi_\theta(a_t\mid s_t)  
$$
]

就是 **compatible feature vector**。Sutton 等人的 policy gradient theorem 表明，策略梯度可以写成 score function ($\nabla_\theta\log\pi_\theta(a\mid s)$) 与价值/优势函数相乘的期望形式；Konda 和 Tsitsiklis 的 actor-critic 理论进一步指出，critic 的特征理想上应张成由 actor 参数化决定的子空间，也就是这些 score-function 特征张成的空间。([papers.neurips.cc](https://papers.neurips.cc/paper/1713-policy-gradient-methods-for-reinforcement-learning-with-function-approximation.pdf?utm_source=chatgpt.com)) ([mit.edu](https://www.mit.edu/~jnt/Papers/J094-03-kon-actors.pdf?utm_source=chatgpt.com))

---

# 1. 每个符号的含义

设策略参数为：

[  
$$
\theta=(\theta_1,\theta_2,\ldots,\theta_d),  
$$
]

其中：

[  
$$
d=\dim\theta.  
$$
]

策略为：

[  
$$
\pi_\theta(a\mid s).  
$$
]

它表示：在状态 ($s$) 下，参数为 ($\theta$) 的策略选择动作 ($a$) 的概率，或连续动作情形下的概率密度。

那么：

[  
$$
\log \pi_\theta(a_t\mid s_t)  
$$
]

是一个标量，表示当前采样动作 ($a_t$) 的 log-probability。

对第 (i) 个参数求偏导：

[  
$$
\frac{\partial}{\partial\theta_i}  
\log \pi_\theta(a_t\mid s_t)  
$$
]

就得到：

[  
$$
\nabla_{\theta_i}\log \pi_\theta(a_t\mid s_t).  
$$
]

它衡量的是：**如果只微小改变参数 ($\theta_i$)，当前动作 ($a_t$) 在状态 ($s_t$) 下的 log-probability 会怎样变化。**

---

# 2. 它是整个梯度向量的第 (i) 个分量

完整梯度是：

# [  
$$
\nabla_\theta\log\pi_\theta(a_t\mid s_t)
=
\begin{bmatrix}  
\frac{\partial}{\partial\theta_1}\log\pi_\theta(a_t\mid s_t)\  
\frac{\partial}{\partial\theta_2}\log\pi_\theta(a_t\mid s_t)\  
\vdots\  
\frac{\partial}{\partial\theta_d}\log\pi_\theta(a_t\mid s_t)  
\end{bmatrix}.  
$$
]

其中第 (i) 个分量就是：

[  
$$
\nabla_{\theta_i}\log\pi_\theta(a_t\mid s_t).  
$$
]

所以原文中

[  
$$
i\in{1,2,\ldots,\dim\theta}  
$$
]

的意思是：对策略参数向量中的每一个坐标都可以定义一个这样的特征。

如果策略网络有 ($d$) 个参数，那么 compatible feature vector 也有 (d) 个分量。

---

# 3. 为什么对 ($\log \pi_\theta$) 求导，而不是对 ($\pi_\theta$) 求导？

因为策略梯度推导中使用了 likelihood-ratio trick：

# [  
$$
\nabla_\theta \pi_\theta(a\mid s)
=
\pi_\theta(a\mid s)  
\nabla_\theta\log\pi_\theta(a\mid s).  
$$
]

也就是：

# [  
$$
\nabla_\theta\log\pi_\theta(a\mid s)
=
\frac{\nabla_\theta\pi_\theta(a\mid s)}  
{\pi_\theta(a\mid s)}.  
$$
]

它表示概率的**相对变化率**，而不是绝对变化率。

策略梯度定理的基本形式是：

# [  
$$
\nabla_\theta J(\theta)
=
\mathbb E  
\left[  
A^\pi(s_t,a_t)  
\nabla_\theta\log\pi_\theta(a_t\mid s_t)  
\right].  
$$
]

因此，($\nabla_\theta\log\pi_\theta(a_t\mid s_t)$) 是策略梯度中的核心方向项；($A^\pi(s_t,a_t)$) 决定该方向应被增强还是抑制。Sutton 等人的经典论文正是建立了带函数近似的策略梯度形式。([papers.neurips.cc](https://papers.neurips.cc/paper/1713-policy-gradient-methods-for-reinforcement-learning-with-function-approximation.pdf?utm_source=chatgpt.com))

---

# 4. 正负号如何理解？

考虑单个参数分量：

[  
$$
\frac{\partial}{\partial\theta_i}  
\log\pi_\theta(a_t\mid s_t).  
$$
]

若：

[  
$$
\frac{\partial}{\partial\theta_i}  
\log\pi_\theta(a_t\mid s_t)>0,  
$$
]

说明增大 ($\theta_i$) 会增加当前动作 ($a_t$) 的 log-probability，也通常会增加该动作概率。

若：

[  
$$
\frac{\partial}{\partial\theta_i}  
\log\pi_\theta(a_t\mid s_t)<0,  
$$
]

说明增大 (\theta_i) 会降低当前动作 (a_t) 的 log-probability。

若：

[  
$$
\frac{\partial}{\partial\theta_i}  
\log\pi_\theta(a_t\mid s_t)=0,  
$$
]

说明局部上 ($\theta_i$) 对当前动作概率没有一阶影响。

策略梯度更新中常见项是：

[  
$$
A_t  
\nabla_{\theta_i}\log\pi_\theta(a_t\mid s_t).  
$$
]

若：

[  
A_t>0,  
]

表示动作 ($a_t$) 好于平均水平，则更新会沿着增加该动作概率的方向移动。

若：

[  
$$
A_t<0,  
$$
]

表示动作 (a_t) 差于平均水平，则更新会沿着降低该动作概率的方向移动。

---

# 5. 为什么它被称为 feature？

通常特征是状态—动作对的函数，例如：

[  
$$
\phi_i(s,a).  
$$
]

这里定义：

# [  
$$
\phi_i(s,a)
=
\nabla_{\theta_i}\log\pi_\theta(a\mid s).  
$$
]

于是：

# [  
$$
\phi(s,a)
=
\nabla_\theta\log\pi_\theta(a\mid s)  
$$
]

就是一个 (d)-维特征向量。

它之所以叫 **compatible feature**，是因为它不是任意特征，而是由策略本身的参数化结构产生的特征。

即：

# [  
$$
\boxed{  
\text{compatible feature}
=
\text{policy score function 的每个分量}  
}  
$$
]

也就是说，critic 的特征与 actor 的参数化形式兼容。

---

# 6. Compatible function 如何由它构造？

compatible advantage function 通常写成：

# [  
$$
\hat A_w(s,a)
=
w^\top\nabla_\theta\log\pi_\theta(a\mid s).  
$$
]

展开：

# [  
$$
\hat A_w(s,a)
=
\sum_{i=1}^{d}  
w_i  
\nabla_{\theta_i}\log\pi_\theta(a\mid s).  
$$
]

这里每一个

[  
$$
\nabla_{\theta_i}\log\pi_\theta(a\mid s)  
$$
]

都是一个 feature。

权重 ($w_i$) 表示第 ($i$) 个 compatible feature 对优势函数近似的贡献。

所以 compatible function 是：

[  
$$
\boxed{  
\text{用 policy score features 线性表示的 advantage / Q-function 近似器。}  
}  
$$
]

Kakade 的 natural policy gradient 论文指出，compatible function approximation 与 natural gradient 有直接关系；在适当最小二乘拟合下，compatible approximator 的权重可对应自然策略梯度方向。([papers.neurips.cc](https://papers.neurips.cc/paper/2073-a-natural-policy-gradient.pdf?utm_source=chatgpt.com))

---

# 7. 为什么 compatible feature 子空间重要？

策略梯度是：

# [  
$$
g
=
\mathbb E[  
A^\pi(s,a)  
\nabla_\theta\log\pi_\theta(a\mid s)  
].  
$$
]

令：

[  
$$
\phi(s,a)=\nabla_\theta\log\pi_\theta(a\mid s).  
$$
]

则：

# [  
$$
g
=
\mathbb E[  
A^\pi(s,a)\phi(s,a)  
].  
$$
]

这说明策略梯度并不需要知道完整的

[  
$$
A^\pi(s,a).  
$$
]

它只关心 ($A^\pi$) 与 ($\phi(s,a)$) 的相关部分。

如果某个函数 ($h(s,a)$) 满足：

[  
$$
\mathbb E[h(s,a)\phi(s,a)]=0,  
$$
]

那么即使优势估计中加入这个 (h(s,a))，策略梯度也不变。

因此，优势函数中真正影响策略梯度的是它在如下子空间上的投影：

[  
$$
\mathrm{span}  
\left\{  
\nabla_{\theta_1}\log\pi_\theta(a\mid s),  
\ldots,  
\nabla_{\theta_d}\log\pi_\theta(a\mid s)  
\right\}.  
$$
]

这就是原文说：

[  
$$
\text{策略梯度只依赖优势函数空间中的某个子空间。}  
$$
]

Konda 和 Tsitsiklis 的 actor-critic 论文正是强调，critic 不必完整近似高维价值函数对象，而应关注与 actor 参数化相关的子空间。([mit.edu](https://www.mit.edu/~jnt/Papers/J094-03-kon-actors.pdf?utm_source=chatgpt.com))

---

# 8. 一个 Bernoulli 策略例子

考虑二元动作：

[  
$$
a\in{0,1}.  
$$
]

策略为：

[  
$$
\pi_\theta(1\mid s)=\sigma(\theta^\top x(s)),  
$$
]

[  
$$
\pi_\theta(0\mid s)=1-\sigma(\theta^\top x(s)).  
$$
]

其中：

[  
$$
\sigma(z)=\frac{1}{1+e^{-z}}.  
$$
]

记：

[  
$$
p=\pi_\theta(1\mid s).  
$$
]

对于动作 ($a\in{0,1}$)，log-probability 可统一写作：

# [  
$$
\log\pi_\theta(a\mid s)
=
a\log p+(1-a)\log(1-p).  
$$
]

对 ($\theta$) 求导：

# [  
$$
\nabla_\theta\log\pi_\theta(a\mid s)
=
(a-p)x(s).  
$$
]

因此第 ($i$) 个 compatible feature 是：

# [  
$$
\nabla_{\theta_i}\log\pi_\theta(a\mid s)
=
(a-p)x_i(s).  
$$
]

解释：

若实际采样动作是 ($a=1$)，则：

# [  
$$
\nabla_{\theta_i}\log\pi_\theta(1\mid s)
=
(1-p)x_i(s).  
$$
]

若当前 (p) 已经很接近 1，则该梯度较小，因为动作 1 已经很可能发生。

若实际采样动作是 (a=0)，则：

# [  
$$
\nabla_{\theta_i}\log\pi_\theta(0\mid s)
=
-px_i(s).  
$$
]

这表示增大让动作 1 更可能的参数，会降低动作 0 的 log-probability。

---

# 9. 一个 softmax 策略例子

考虑离散动作 softmax 策略：

# [  
$$
\pi_\theta(a\mid s)
=
\frac{\exp(h_\theta(s,a))}  
{\sum_b \exp(h_\theta(s,b))}.  
$$
]

若：

[  
$$
h_\theta(s,a)=\theta^\top x(s,a),  
$$
]

则：

# [  
$$
\log\pi_\theta(a\mid s)
=
 \theta^\top x(s,a)

\log\sum_b\exp(\theta^\top x(s,b)).  
$$
]

对 ($\theta$) 求导：

# [  
$$
\nabla_\theta\log\pi_\theta(a\mid s)
=
x(s,a)
-
\sum_b\pi_\theta(b\mid s)x(s,b).  
$$
]

所以第 (i) 个分量是：

# [  
$$
\nabla_{\theta_i}\log\pi_\theta(a\mid s)
=
 x_i(s,a)
-
\sum_b\pi_\theta(b\mid s)x_i(s,b).  
$$
]

解释：

它等于“当前动作的第 (i) 个特征”减去“策略平均动作特征”。

所以该 score feature 表示：

[  
$$
\text{当前动作相对于策略平均动作，在第 }i\text{ 个特征上的偏离。}  
$$
]

---

# 10. 一个高斯策略例子

连续控制中常用高斯策略：

# [  
$$
\pi_\theta(a\mid s)
=
\mathcal N(a;\mu_\theta(s),\Sigma),  
$$
]

其中协方差 ($\Sigma$) 固定。

log-probability 为：

# [  
$$
\log\pi_\theta(a\mid s)
=
-\frac{1}{2}  
(a-\mu_\theta(s))^\top  
\Sigma^{-1}  
(a-\mu_\theta(s))  
+\text{const}.  
$$
]

对 ($\theta$) 求导：

# [  
$$
\nabla_\theta\log\pi_\theta(a\mid s)
=
\nabla_\theta\mu_\theta(s)^\top  
\Sigma^{-1}  
(a-\mu_\theta(s)).  
$$
]

第 (i) 个分量是：

# [  
$$
\nabla_{\theta_i}\log\pi_\theta(a\mid s)
-
\left(  
\frac{\partial \mu_\theta(s)}{\partial\theta_i}  
\right)^\top  
\Sigma^{-1}  
(a-\mu_\theta(s)).  
$$
]

解释：

- ($(a-\mu_\theta(s))$) 是采样动作相对于均值动作的偏差；
    
- ($\frac{\partial \mu_\theta(s)}{\partial\theta_i}$) 表示第 ($i$) 个参数如何影响策略均值；
    
- 二者相乘表示：改变 ($\theta_i$) 是否会让策略均值更接近当前采样动作。
    

若增大 ($\theta_i$) 会让均值朝当前动作 ($a$) 的方向移动，则该导数为正；否则为负。

---

# 11. 它为什么是 score function？

统计学中，给定概率模型

[  
$$
p_\theta(x),  
$$
]

score function 定义为：

[  
$$
\nabla_\theta\log p_\theta(x).  
$$
]

在策略梯度中，概率模型就是：

[  
$$
\pi_\theta(a\mid s).  
$$
]

所以：

[  
$$
\nabla_\theta\log\pi_\theta(a\mid s)  
$$
]

就是策略分布对样本动作 (a) 的 score function。

它有一个重要性质：

# [  
$$
\mathbb E_{a\sim\pi_\theta(\cdot\mid s)}  
[  
\nabla_\theta\log\pi_\theta(a\mid s)  
]
$$

]

证明：

# [  
$$
\mathbb E[  
\nabla_\theta\log\pi_\theta(a\mid s)  
$$
]

$$
\sum_a  
\pi_\theta(a\mid s)  
\nabla_\theta\log\pi_\theta(a\mid s)  
$$
]

# [

$$
\sum_a  
\nabla_\theta\pi_\theta(a\mid s)
=
 \nabla_\theta  
\sum_a  
\pi_\theta(a\mid s)
=
 \nabla_\theta 1
$$

]

连续动作情形下将求和换成积分。这个性质也是 baseline 不改变策略梯度期望的基础。

---

# 12. 和 GAE 论文中那句话的关系

GAE 附录中说：

[  
$$
\nabla_{\theta_i}\log\pi_\theta(a_t\mid s_t),  
\quad  
i\in{1,2,\ldots,\dim\theta}  
$$
]

张成 compatible feature 子空间。

意思是：

每个参数方向 ($\theta_i$) 都对应一个函数：

[  
$$
(s,a)\mapsto  
\nabla_{\theta_i}\log\pi_\theta(a\mid s).  
$$
]

**这些函数作为 basis functions，张成一个函数空间**：

# [  
$$
\mathcal F_{\mathrm{comp}}
=
\mathrm{span}  
\left\{  
\nabla_{\theta_1}\log\pi_\theta(a\mid s),  
\ldots,  
\nabla_{\theta_d}\log\pi_\theta(a\mid s)  
\right\}.  
$$
]

compatible function 就是该空间中的函数：

# [  
$$
f_w(s,a)
=
\sum_{i=1}^d  
w_i  
\nabla_{\theta_i}\log\pi_\theta(a\mid s).  
$$
]

也就是：

# [  
$$
f_w(s,a)
=
w^\top\nabla_\theta\log\pi_\theta(a\mid s).  
$$
]

这正是 compatible advantage approximator 的形式。

---

# 13. 最核心总结

[  
$$
\nabla_{\theta_i}\log\pi_\theta(a_t\mid s_t)  
$$
]

表示：

[  
$$
\boxed{  
\text{当前动作 }a_t\text{ 的 log-probability 对策略第 }i\text{ 个参数的敏感度。}  
}  
$$
]

完整向量

[  
$$
\nabla_\theta\log\pi_\theta(a_t\mid s_t)  
$$
]

表示：

[  
$$
\boxed{  
\text{为了增加当前动作概率，策略参数应如何局部改变。}  
}  
$$
]

在 compatible features 理论中，每个分量

[  
$$
\nabla_{\theta_i}\log\pi_\theta(a\mid s)  
$$
]

都是一个状态—动作特征；这些特征张成的空间，就是策略梯度真正“看得见”的优势函数子空间。

因此：

[  
$$
\boxed{  
\text{compatible feature 是 actor 的 score function；compatible function 是用这些 score features 线性表示的 critic。}  
}  
$$
]

---


**compatible feature 子空间的维度不一定等于 ($\dim\theta$)，而是最多为 ($\dim\theta$)。更严格地说，它等于这些 score-function 特征的线性独立个数，也等于 Fisher 信息矩阵的秩。**

---

# 1. 先定义这个子空间

策略参数为：

[  
$$
\theta=(\theta_1,\theta_2,\ldots,\theta_d),  
$$
]

其中：

[  
$$
d=\dim\theta.  
$$
]

compatible features 是：

# [  
$$
\phi_i(s,a)
=
\nabla_{\theta_i}\log\pi_\theta(a\mid s),  
\quad i=1,\ldots,d.  
$$
]

把这些函数放在一起，得到向量：

# [  
$$
\phi_\theta(s,a)
=
 \nabla_\theta\log\pi_\theta(a\mid s)
=
\begin{bmatrix}  
\nabla_{\theta_1}\log\pi_\theta(a\mid s)\\  
\vdots\\  
\nabla_{\theta_d}\log\pi_\theta(a\mid s)  
\end{bmatrix}.  
$$
]

compatible feature 子空间是：

# [  
$$
\mathcal F_{\mathrm{comp}}
=
\mathrm{span}  
\left\{  
\phi_1,\phi_2,\ldots,\phi_d  
\right\}.  
$$
]

也就是：

# [  
$$
\mathcal F_{\mathrm{comp}}
=
 \left\{  
f_w(s,a)
=
w^\top\nabla_\theta\log\pi_\theta(a\mid s)  
;:;  
w\in\mathbb R^d  
\right\}.  
$$
]

Konda 和 Tsitsiklis 的 actor-critic 理论中强调，critic 的特征理想上应张成一个由 actor 参数化决定的子空间；Sutton 等人的策略梯度函数近似理论也将 compatible function approximation 与 policy score features 联系起来。([Massachusetts Institute of Technology](https://www.mit.edu/~jnt/Papers/J094-03-kon-actors.pdf?utm_source=chatgpt.com "ON ACTOR-CRITIC ALGORITHMS∗ 1. Introduction. Many ..."))

---

# 2. 子空间维度的严格表达

虽然有 ($d=\dim\theta$) 个 feature 函数：

[  
$$
\phi_1,\ldots,\phi_d,  
$$
]

**但这些函数可能线性相关。**

因此：

[  
$$
\boxed{  
\dim \mathcal F_{\mathrm{comp}}  
\le d=\dim\theta.  
}  
$$
]

更严格地说：

# [  
$$
\boxed{  
\dim \mathcal F_{\mathrm{comp}}
=
\mathrm{rank}  
\left(  
\phi_1,\ldots,\phi_d  
\right).  
}  
$$
]

这里的 rank 指这些函数作为函数空间元素时的线性独立个数。

也就是说，如果存在非零向量：

[  
$$
c=(c_1,\ldots,c_d)\neq 0  
$$
]

使得：

# [  
$$
\sum_{i=1}^d  
c_i  
\nabla_{\theta_i}\log\pi_\theta(a\mid s)
=
0  
$$
]

对所有相关的 ($(s,a)$) 都成立，那么这些 compatible features 线性相关，子空间维度就小于 ($d$)。

---

# 3. 和 Fisher 信息矩阵的关系

定义 Fisher 信息矩阵：

# [  
$$
F
=
\mathbb E  
\left[  
\nabla_\theta\log\pi_\theta(a\mid s)  
\nabla_\theta\log\pi_\theta(a\mid s)^\top  
\right].  
$$
]

也就是：

# [  
$$
F
=
\mathbb E[  
\phi_\theta(s,a)\phi_\theta(s,a)^\top  
].  
$$
]

那么 compatible feature 子空间的有效维度可以理解为：

# [  
$$
\boxed{  
\dim \mathcal F_{\mathrm{comp}}
=
\mathrm{rank}(F)  
}  
$$
]

在给定采样分布的 ($L^2$) 意义下成立。

如果 ($F$) 满秩：

[  
$$
\mathrm{rank}(F)=d,  
$$
]

则 compatible feature 子空间维度等于参数维度：

[  
$$
\dim \mathcal F_{\mathrm{comp}}=d.  
$$
]

如果 ($F$) 奇异：

[  
$$
\mathrm{rank}(F)<d,  
$$
]

则说明存在某些参数方向不会改变策略分布，或者在当前状态—动作分布下不可辨识。此时 compatible feature 子空间维度小于参数维度。

这也是 natural gradient 中经常需要处理 Fisher 矩阵奇异或近奇异问题的原因。Kakade 的 natural policy gradient 将自然梯度写成 Fisher 度量下的梯度方向，compatible approximation 的最小二乘解也对应 ($F^{-1}g$) 形式；若 (F) 不满秩，则需要伪逆或正则化。([HAL Inria](https://inria.hal.science/hal-00840470v1/document?utm_source=chatgpt.com "Natural Actor-Critic Algorithms"))

---

# 4. 为什么可能小于 ($\dim\theta$)？

## 4.1 参数冗余

如果两个参数对策略分布产生完全相同的影响，则对应 score features 线性相关。

例如：

[  
$$
\theta_1  
$$
]

和

[  
$$
\theta_2  
$$
]

总是以

[  
$$
\theta_1+\theta_2  
$$
]

的形式进入策略，那么：

# [  
$$
\frac{\partial}{\partial\theta_1}  
\log\pi_\theta(a\mid s)
=
\frac{\partial}{\partial\theta_2}  
\log\pi_\theta(a\mid s).  
$$
]

于是：

[  
$$
\phi_1=\phi_2.  
$$
]

这两个 feature 只张成一维，而不是二维。

---

## 4.2 某些参数当前不起作用

若某个参数 ($\theta_i$) 在当前状态分布上不影响动作概率，则：

[  
$$
\nabla_{\theta_i}\log\pi_\theta(a\mid s)=0  
$$
]

在相关状态—动作分布下几乎处处成立。

那么该 feature 是零函数，不增加子空间维度。

---

## 4.3 softmax 参数化中的不变方向

softmax 策略中，如果给所有动作 logits 同时加同一个常数，动作概率不变。

例如单个状态下有 ($m$) 个动作，logits 为：

[  
$$
z_1,\ldots,z_m.  
$$
]

softmax 为：

# [  
$$
\pi(a=i\mid s)
=
\frac{e^{z_i}}  
{\sum_{j=1}^m e^{z_j}}.  
$$
]

若：

[  
$$
z_i\mapsto z_i+c  
$$
]

对所有动作同时加 ($c$)，则：

[  
$$
\pi(a=i\mid s)  
$$
]

完全不变。

因此，logit 参数空间里有一个“平移不变方向”。这个方向对应的 score feature 为零方向，所以有效维度不是 ($m$)，而是：

[  
$$
m-1.  
$$
]

这说明子空间维度由策略分布的有效自由度决定，而不只是参数个数决定。

---

# 5. 具体例子：Bernoulli 策略

设二元动作：

[  
$$
a\in{0,1}.  
$$
]

策略为：

[  
$$
\pi_\theta(1\mid s)=\sigma(\theta^\top x(s)).  
$$
]

参数维度为：

[  
$$
d=\dim\theta.  
$$
]

score feature 为：

# [  
$$
\nabla_\theta\log\pi_\theta(a\mid s)
=
(a-\pi_\theta(1\mid s))x(s).  
$$
]

第 ($i$) 个分量为：

# [  
$$
\phi_i(s,a)
=
(a-\pi_\theta(1\mid s))x_i(s).  
$$
]

如果状态特征

[  
$$
x_1,\ldots,x_d  
$$
]

在线性意义下独立，并且状态分布覆盖充分，那么 compatible feature 子空间通常可以达到维度 ($d$)。

但如果某些 ($x_i(s)$) 总是线性相关，例如：

[  
$$
x_2(s)=2x_1(s),  
$$
]

则：

[  
$$
\phi_2(s,a)=2\phi_1(s,a),  
$$
]

维度会下降。

因此：

# [  
$$
\dim\mathcal F_{\mathrm{comp}}
=
\mathrm{rank}  
\left(  
\mathbb E[x(s)x(s)^\top \cdot \text{policy variance factor}]  
\right),  
$$
]

通常不超过 ($d$)。

---

# 6. 具体例子：单状态 softmax 策略

假设只有一个状态，有 ($m$) 个离散动作，策略为：

# [  
$$
\pi_\theta(a=i)
=
\frac{e^{\theta_i}}  
{\sum_{j=1}^m e^{\theta_j}}.  
$$
]

参数维度为：

[  
$$
d=m.  
$$
]

score feature 为：

# [  
$$
\nabla_{\theta_k}\log\pi_\theta(a=i)
=
 \mathbb 1\{i=k\}
-
\pi_\theta(k).  
$$
]

对每个 ($k$)，有一个 feature：

# [  
$$
\phi_k(i)
=
 \mathbb 1\{i=k\}
-
\pi_\theta(k).  
$$
]

这些 feature 满足：

# [  
$$
\sum_{k=1}^m  
\phi_k(i)
=
 \sum_{k=1}^m  
\mathbb 1\{i=k\}
-
 \sum_{k=1}^m  
\pi_\theta(k)
=
 1-1
$$

]

所以它们线性相关。

因此：

# [  
$$
\dim\mathcal F_{\mathrm{comp}}
=
m-1.  
$$
]

虽然参数数量是 (m)，但有效策略分布自由度只有 (m-1)，因为动作概率和必须等于 1。

---

# 7. 函数空间本身可能无限维，但 compatible 子空间有限维

优势函数空间通常非常大。

例如：

[  
$$
A(s,a)  
$$
]

是定义在所有状态—动作对上的函数。如果状态连续，则函数空间可以是无限维。

但是 compatible feature 子空间是由有限个函数张成的：

[  
$$
\phi_1,\ldots,\phi_d.  
$$
]

因此它最多是 (d) 维。

这就是 GAE 附录中那句话的含义：

完整 advantage function 空间很大，但策略梯度只关心其中由

[  
$$
\nabla_{\theta_i}\log\pi_\theta(a\mid s)  
$$
]

张成的有限维子空间。

更准确地说，策略梯度只依赖：

[  
$$
A^\pi  
$$
]

在这个子空间上的投影。

---

# 8. 为什么策略梯度只看这个子空间？

策略梯度为：

# [  
$$
g
=
\mathbb E  
[  
A^\pi(s,a)\phi_\theta(s,a)  
].  
$$
]

若某个函数 (h(s,a)) 满足：

[  
$$
\mathbb E[  
h(s,a)\phi_\theta(s,a)  
]=0,  
$$
]

那么：

[  
$$
A^\pi(s,a)  
$$
]

和：

[  
$$
A^\pi(s,a)+h(s,a)  
$$
]

给出的策略梯度相同。

也就是说，优势函数中与 compatible feature 子空间正交的部分不会影响策略参数更新。

因此，策略参数化把“可见的优势函数方向”限制到了：

# [  
$$
\mathcal F_{\mathrm{comp}}
=
\mathrm{span}  
{  
\nabla_{\theta_i}\log\pi_\theta(a\mid s)  
}_{i=1}^{d}.  
$$
]

这也是 compatible function approximation 的核心动机：不必完整拟合整个 (A^\pi(s,a))，只需拟合它在策略 score-feature 子空间上的投影。

---

# 9. 和最小二乘投影的关系

compatible function 写成：

# [  
$$
\hat A_w(s,a)
=
w^\top\phi_\theta(s,a).  
$$
]

它属于子空间：

[  
$$
\mathcal F_{\mathrm{comp}}.  
$$
]

若通过最小二乘拟合：

# [  
$$
w^*
=
\arg\min_w  
\mathbb E  
\left[  
\left(  
w^\top\phi_\theta(s,a)-A^\pi(s,a)  
\right)^2  
\right],  
$$
]

那么得到的是

[  
$$
A^\pi  
$$
]

在 compatible feature 子空间上的投影。

一阶条件给出：

# [  
$$
\mathbb E[  
\phi_\theta\phi_\theta^\top  
]w^*
=
\mathbb E[  
\phi_\theta A^\pi  
].  
$$
]

即：

[  
$$
Fw^*=g.  
$$
]

如果 (F) 满秩：

[  
$$
w^*=F^{-1}g.  
$$
]

这就是自然策略梯度方向。若 (F) 不满秩，则：

[  
$$
w^*=F^\dagger g  
$$
]

可用伪逆理解，并且只在有效子空间内确定。

---

# 10. 总结

compatible feature 子空间为：

# [  
$$
\mathcal F_{\mathrm{comp}}
=
\mathrm{span}  
\left\{  
\nabla_{\theta_1}\log\pi_\theta(a\mid s),  
\ldots,  
\nabla_{\theta_d}\log\pi_\theta(a\mid s)  
\right\}.  
$$
]

其维度满足：

[  
$$
\boxed{  
\dim\mathcal F_{\mathrm{comp}}  
\le \dim\theta.  
}  
$$
]

更精确地说：

# [  
$$
\boxed{  
\dim\mathcal F_{\mathrm{comp}}
=
 \mathrm{rank}  
\left(  
\left\{  
\nabla_{\theta_i}\log\pi_\theta(a\mid s)  
\right\}_{i=1}^{d}  
\right)
=
\mathrm{rank}(F).  
}  
$$
]

其中：

# [  
$$
F
=
\mathbb E[  
\nabla_\theta\log\pi_\theta(a\mid s)  
\nabla_\theta\log\pi_\theta(a\mid s)^\top  
].  
$$
]

如果所有 score features 线性独立，则维度等于：

[  
$$
\dim\theta.  
$$
]

如果存在参数冗余、不变方向、零梯度方向或分布覆盖不足，则维度小于：

[  
$$
\dim\theta.  
$$
]

一句话概括：

[  
$$
\boxed{  
compatible feature 子空间的维度不是参数个数本身，而是策略参数真正能改变动作分布的有效自由度。}  
$$
]