证明目标(对数似然的梯度期望为零)
- 证明恒等式
$$
\mathbb{E}_{z \sim m_\theta(\cdot|x)} \left[ \nabla_\theta \log m_\theta(z \mid x) \right] = 0,
$$ - 这个恒等式是对数似然梯度的期望为零的性质,是强化学习和变分推断中的一个基本结果
证明过程
符号定义
- 给定输入 \( x \),模型输出一个概率分布 \( m_\theta(z \mid x) \)(对离散 \( z \) 是概率质量函数,对连续 \( z \) 是概率密度函数)
- 我们有归一化条件(离散):
$$
\sum_z m_\theta(z \mid x) = 1
$$ - 或(连续)
$$
\int_z m_\theta(z \mid x) , dz = 1
$$
期望的定义
- 对于连续情况(离散类似):
$$
\mathbb{E}_{z \sim m_\theta(\cdot|x)} \left[ \nabla_\theta \log m_\theta(z \mid x) \right]
= \int_z m_\theta(z \mid x) \cdot \nabla_\theta \log m_\theta(z \mid x) , dz
$$
代入梯度对数项
- 因为
$$
\nabla_\theta \log m_\theta(z \mid x) = \frac{\nabla_\theta m_\theta(z \mid x)}{m_\theta(z \mid x)},
$$ - 所以:
$$
m_\theta(z \mid x) \cdot \nabla_\theta \log m_\theta(z \mid x) = \nabla_\theta m_\theta(z \mid x)
$$ - 于是期望变成:
$$
\int_z \nabla_\theta m_\theta(z \mid x) , dz
$$
交换梯度与积分
- 如果 \( m_\theta(z \mid x) \) 对 \( \theta \) 足够光滑,且积分与梯度可交换(通常成立),则:
$$
\int_z \nabla_\theta m_\theta(z \mid x) , dz
= \nabla_\theta \int_z m_\theta(z \mid x) , dz
$$
利用归一化条件
- 归一化条件下
$$
\int_z m_\theta(z \mid x) , dz = 1 \quad \Rightarrow \quad \nabla_\theta 1 = 0
$$ - 因此:
$$
\mathbb{E}_{z \sim m_\theta(\cdot|x)} \left[ \nabla_\theta \log m_\theta(z \mid x) \right] = 0
$$
附录:恒等式的直观解释
- \( \nabla_\theta \log m_\theta(z \mid x) \) 称为 score function
- 它的期望为零,是因为概率分布的总概率必须保持为 1
- 改变参数 \(\theta\) 时,概率质量在不同 \(z\) 间重新分配,但增加某些地方的概率必然减少其他地方的概率,平均起来“变化方向”的期望为零
- 这个性质在 REINFORCE 算法中用于引入基线(baseline)而不引入偏差,因为对任意只依赖 \(x\) 而不依赖 \(z\) 的 \(b(x)\):
$$
\mathbb{E} \left[ b(x) \cdot \nabla_\theta \log m_\theta(z \mid x) \right]
= b(x) \cdot \mathbb{E} \left[ \nabla_\theta \log m_\theta(z \mid x) \right] = 0
$$