Math——证明笔记-对数似然的梯度期望为零


证明目标(对数似然的梯度期望为零)

  • 证明恒等式
    $$
    \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
    $$