论文阅读的附录(八):Understanding Diffusion Models: A Unified Perspective(五):逐步加噪评分匹配

Understanding Diffusion Models: A Unified Perspective(五):逐步加噪评分匹配

  • 文章概括
      • [1. Fisher 散度的定义](#1. Fisher 散度的定义)
      • [2. 数学技巧:积分分部法(Integration by Parts)](#2. 数学技巧:积分分部法(Integration by Parts))
        • [2.1 回顾积分分部法](#2.1 回顾积分分部法)
        • [2.2 多维积分分部公式](#2.2 多维积分分部公式)
      • [3. 重新表达 Fisher 散度的第二项](#3. 重新表达 Fisher 散度的第二项)
        • [3.1 第二项的原始形式](#3.1 第二项的原始形式)
        • [3.2 替换到 Fisher 散度](#3.2 替换到 Fisher 散度)
        • [3.3 最终可优化的目标](#3.3 最终可优化的目标)
      • [4. 为什么重新表达后可以绕过真实得分函数?](#4. 为什么重新表达后可以绕过真实得分函数?)
      • [5. 示例:一维高斯分布的评分匹配](#5. 示例:一维高斯分布的评分匹配)
        • [5.1 真实得分函数](#5.1 真实得分函数)
        • [5.2 模型得分函数](#5.2 模型得分函数)
        • [5.3 Fisher 散度展开](#5.3 Fisher 散度展开)
      • [6. 总结](#6. 总结)

文章概括

引用:

bash 复制代码
@article{luo2022understanding,
  title={Understanding diffusion models: A unified perspective},
  author={Luo, Calvin},
  journal={arXiv preprint arXiv:2208.11970},
  year={2022}
}
markup 复制代码
Luo, C., 2022. Understanding diffusion models: A unified perspective. arXiv preprint arXiv:2208.11970.

原文: https://arxiv.org/abs/2208.11970
代码、数据和视频: https://arxiv.org/abs/2208.11970

文章解析原文:
论文笔记(六十三)Understanding Diffusion Models: A Unified Perspective(五)

1. Fisher 散度的定义

Fisher 散度衡量模型得分函数 s θ ( x ) s_\theta(x) sθ(x) 和真实得分函数 ∇ log ⁡ p ( x ) \nabla \log p(x) ∇logp(x) 的差异:
D F ( s θ , ∇ log ⁡ p ) = E p ( x ) ∥ s θ ( x ) − ∇ log ⁡ p ( x ) ∥ 2 2 . D_F(s_\theta, \nabla \log p) = \mathbb{E}_{p(x)} \left \\\| s_\\theta(x) - \\nabla \\log p(x) \\\|_2\^2 \\right. DF(sθ,∇logp)=Ep(x)∥sθ(x)−∇logp(x)∥22.

展开平方项:
D F ( s θ , ∇ log ⁡ p ) = E p ( x ) ∥ s θ ( x ) ∥ 2 2 − 2 E p ( x ) s θ ( x ) T ∇ log ⁡ p ( x ) + E p ( x ) ∥ ∇ log ⁡ p ( x ) ∥ 2 2 . D_F(s_\theta, \nabla \log p) = \mathbb{E}{p(x)} \left \\\| s_\\theta(x) \\\|_2\^2 \\right - 2 \mathbb{E}{p(x)} \left s_\\theta(x)\^T \\nabla \\log p(x) \\right + \mathbb{E}_{p(x)} \left \\\| \\nabla \\log p(x) \\\|_2\^2 \\right. DF(sθ,∇logp)=Ep(x)∥sθ(x)∥22−2Ep(x)sθ(x)T∇logp(x)+Ep(x)∥∇logp(x)∥22.

问题
  • 第三项 E p ( x ) ∥ ∇ log ⁡ p ( x ) ∥ 2 2 \mathbb{E}{p(x)} \left \\\| \\nabla \\log p(x) \\\|_2\^2 \\right Ep(x)∥∇logp(x)∥22 与模型 s θ ( x ) s\theta(x) sθ(x) 无关,因此可以忽略。
  • 第二项 E p ( x ) s θ ( x ) T ∇ log ⁡ p ( x ) \mathbb{E}_{p(x)} \left s_\\theta(x)\^T \\nabla \\log p(x) \\right Ep(x)sθ(x)T∇logp(x) 涉及真实得分函数 ∇ log ⁡ p ( x ) \nabla \log p(x) ∇logp(x),我们无法直接计算。

目标:通过数学技巧,重新表达第二项,从而绕过对 ∇ log ⁡ p ( x ) \nabla \log p(x) ∇logp(x) 的依赖。


2. 数学技巧:积分分部法(Integration by Parts)

2.1 回顾积分分部法

对于任意两个函数 u ( x ) u(x) u(x) 和 v ( x ) v(x) v(x),积分分部公式为:
∫ u ( x )   v ′ ( x ) d x = u ( x ) v ( x ) − ∫ u ′ ( x ) v ( x ) d x . \int u(x) \, v'(x) dx = \left u(x) v(x) \\right - \int u'(x) v(x) dx. ∫u(x)v′(x)dx=u(x)v(x)−∫u′(x)v(x)dx.

我们将其推广到多维情形,涉及梯度和散度(divergence)。

2.2 多维积分分部公式

假设 u ( x ) u(x) u(x) 是一个标量函数, v ( x ) v(x) v(x) 是一个向量场,则:
∫ u ( x ) ∇ ⋅ v ( x )   d x = ∫ ∇ u ( x ) ⋅ v ( x )   d x . \int u(x) \nabla \cdot v(x) \, dx = \int \nabla u(x) \cdot v(x) \, dx. ∫u(x)∇⋅v(x)dx=∫∇u(x)⋅v(x)dx.

如果 p ( x ) p(x) p(x) 是概率密度函数,其积分在边界快速衰减为零,则有:
E p ( x ) ∇ ⋅ v ( x ) = − E p ( x ) ∇ log ⁡ p ( x ) ⋅ v ( x ) . \mathbb{E}{p(x)} \left \\nabla \\cdot v(x) \\right = -\mathbb{E}{p(x)} \left \\nabla \\log p(x) \\cdot v(x) \\right. Ep(x)∇⋅v(x)=−Ep(x)∇logp(x)⋅v(x).


3. 重新表达 Fisher 散度的第二项

3.1 第二项的原始形式

目标是重新表达:
E p ( x ) s θ ( x ) T ∇ log ⁡ p ( x ) . \mathbb{E}_{p(x)} \left s_\\theta(x)\^T \\nabla \\log p(x) \\right. Ep(x)sθ(x)T∇logp(x).

利用积分分部公式:
E p ( x ) s θ ( x ) T ∇ log ⁡ p ( x ) = − E p ( x ) ∇ ⋅ s θ ( x ) . \mathbb{E}{p(x)} \left s_\\theta(x)\^T \\nabla \\log p(x) \\right = -\mathbb{E}{p(x)} \left \\nabla \\cdot s_\\theta(x) \\right. Ep(x)sθ(x)T∇logp(x)=−Ep(x)∇⋅sθ(x).

3.2 替换到 Fisher 散度

将第二项替换后,Fisher 散度变为:
D F ( s θ , ∇ log ⁡ p ) = E p ( x ) ∥ s θ ( x ) ∥ 2 2 + 2 E p ( x ) ∇ ⋅ s θ ( x ) . D_F(s_\theta, \nabla \log p) = \mathbb{E}{p(x)} \left \\\| s_\\theta(x) \\\|_2\^2 \\right + 2 \mathbb{E}{p(x)} \left \\nabla \\cdot s_\\theta(x) \\right. DF(sθ,∇logp)=Ep(x)∥sθ(x)∥22+2Ep(x)∇⋅sθ(x).

这是一种可计算的目标函数,因为:

  • 第一个期望项 E p ( x ) ∥ s θ ( x ) ∥ 2 2 \mathbb{E}{p(x)} \left \\\| s_\\theta(x) \\\|_2\^2 \\right Ep(x)∥sθ(x)∥22 只依赖于模型 s θ ( x ) s\theta(x) sθ(x)。
  • 第二个期望项 E p ( x ) ∇ ⋅ s θ ( x ) \mathbb{E}{p(x)} \left \\nabla \\cdot s_\\theta(x) \\right Ep(x)∇⋅sθ(x) 是散度,模型 s θ ( x ) s\theta(x) sθ(x) 的梯度也可计算。
3.3 最终可优化的目标

最终,我们无需知道真实得分函数 ∇ log ⁡ p ( x ) \nabla \log p(x) ∇logp(x),即可优化模型 s θ ( x ) s_\theta(x) sθ(x):
E p ( x ) ∥ s θ ( x ) ∥ 2 2 + 2 ∇ ⋅ s θ ( x ) . \mathbb{E}_{p(x)} \left \\\| s_\\theta(x) \\\|_2\^2 + 2 \\nabla \\cdot s_\\theta(x) \\right. Ep(x)∥sθ(x)∥22+2∇⋅sθ(x).


4. 为什么重新表达后可以绕过真实得分函数?

重新表达后:

  • ∥ s θ ( x ) ∥ 2 2 \| s_\theta(x) \|2^2 ∥sθ(x)∥22:完全依赖模型 s θ ( x ) s\theta(x) sθ(x),直接计算。
  • ∇ ⋅ s θ ( x ) \nabla \cdot s_\theta(x) ∇⋅sθ(x):是模型的散度,也完全可计算。
  • 原始目标中的 ∇ log ⁡ p ( x ) \nabla \log p(x) ∇logp(x) 被替换掉,因此不再依赖真实数据分布的得分函数。

5. 示例:一维高斯分布的评分匹配

假设数据分布为一维标准正态分布:
p ( x ) = 1 2 π e − x 2 2 . p(x) = \frac{1}{\sqrt{2\pi}} e^{-\frac{x^2}{2}}. p(x)=2π 1e−2x2.

5.1 真实得分函数

真实得分函数为:
∇ log ⁡ p ( x ) = − x . \nabla \log p(x) = -x. ∇logp(x)=−x.

5.2 模型得分函数

假设模型得分函数为 s θ ( x ) = − θ x s_\theta(x) = -\theta x sθ(x)=−θx,其中 θ \theta θ 是待学习的参数。

5.3 Fisher 散度展开

展开 Fisher 散度:
D F ( s θ , ∇ log ⁡ p ) = E p ( x ) ∥ s θ ( x ) − ∇ log ⁡ p ( x ) ∥ 2 2 . D_F(s_\theta, \nabla \log p) = \mathbb{E}_{p(x)} \left \\\| s_\\theta(x) - \\nabla \\log p(x) \\\|_2\^2 \\right. DF(sθ,∇logp)=Ep(x)∥sθ(x)−∇logp(x)∥22.

重新表达目标:
E p ( x ) s θ ( x ) 2 + 2 E p ( x ) ∇ ⋅ s θ ( x ) . \mathbb{E}{p(x)} \left s_\\theta(x)\^2 \\right + 2 \mathbb{E}{p(x)} \left \\nabla \\cdot s_\\theta(x) \\right. Ep(x)sθ(x)2+2Ep(x)∇⋅sθ(x).

具体计算:

  1. E p ( x ) s θ ( x ) 2 = θ 2 E p ( x ) x 2 = θ 2 . \mathbb{E}{p(x)} \left s_\\theta(x)\^2 \\right = \theta^2 \mathbb{E}{p(x)} \left x\^2 \\right = \theta^2. Ep(x)sθ(x)2=θ2Ep(x)x2=θ2.
  2. ∇ ⋅ s θ ( x ) = − θ . \nabla \cdot s_\theta(x) = -\theta. ∇⋅sθ(x)=−θ.

最终目标:
D F ( s θ , ∇ log ⁡ p ) = θ 2 − 2 θ . D_F(s_\theta, \nabla \log p) = \theta^2 - 2\theta. DF(sθ,∇logp)=θ2−2θ.

通过优化 D F D_F DF,我们可以得到最优参数 θ = 1 \theta = 1 θ=1,使得 s θ ( x ) = ∇ log ⁡ p ( x ) = − x s_\theta(x) = \nabla \log p(x) = -x sθ(x)=∇logp(x)=−x。


6. 总结

通过积分分部法,Fisher 散度中的真实得分函数 ∇ log ⁡ p ( x ) \nabla \log p(x) ∇logp(x) 被散度项 ∇ ⋅ s θ ( x ) \nabla \cdot s_\theta(x) ∇⋅sθ(x) 替代。评分匹配无需直接访问 ∇ log ⁡ p ( x ) \nabla \log p(x) ∇logp(x),使得在未知真实分布的情况下也能训练得分函数。

相关推荐
诸葛思颖1 天前
论文阅读笔记——Flow-of-Action
论文阅读·笔记
Chunyyyen1 天前
【第四十八周】论文阅读
论文阅读
大模型最新论文速读1 天前
06-08 · LLM 最新论文速览
论文阅读·人工智能·深度学习·机器学习·自然语言处理
长桥夜波2 天前
【第四十三周】论文阅读《Planning with the Views via Scene Self-Exploration》
论文阅读·vln
chnyi6_ya2 天前
论文阅读笔记:VChain: Chain-of-Visual-Thought for Reasoning in Video Generation
论文阅读·笔记
StfinnWu3 天前
论文阅读:Rethinking Performance Gains in Image Dehazing Networks
论文阅读
CV-杨帆3 天前
论文阅读 ICML 2026 Active Attacks: Red-teaming LLMs via Adaptive Environments
论文阅读
大模型最新论文速读4 天前
StreamMA:把流式输出应用到多智能体系统
论文阅读·人工智能·深度学习·机器学习·自然语言处理
大模型最新论文速读4 天前
06-05 · LLM 最新论文速览
论文阅读·人工智能·深度学习·机器学习·自然语言处理
verphan4 天前
AI论文阅读(一)《Long Context Pre-Training with Lighthouse Attention》
论文阅读·人工智能