# score $\nabla\log p$ 的直觉
这是最后一节。Song 论文反向过程的主角是 score,写成 $\nabla\log p$。前面零件全为读懂它,这一节把它的意思讲清,到「读懂论文里这个符号」为止。
> [!abstract] 先建立概念,score 是什么
> **score 是一个箭头,它指向「概率更大的地方」,也就是「数据更密集、更像真实数据的方向」。**
> 拆开看,$\nabla\log p$ 是对 $\log p$ 用上一节的梯度 $\nabla$。$p$ 是概率密度(某个点有多像真实数据,越像值越大),$\nabla$ 给出「涨最快的方向」。所以 $\nabla\log p$ 就是「概率涨得最快的方向」,顺着它走,就走向更像真实数据的地方。
> [!abstract] 一、为什么反向去噪需要这个箭头
> 扩散反向过程在干嘛,从一堆纯噪声出发,一步步去噪,走回一张真实的图。
> 「走回真实的图」就是「朝更像真实数据的方向走」。而 score $\nabla\log p$ 正好是这个方向的箭头,它在每一点告诉你「想更像真实数据,该往哪挪」。
> **所以反向每走一步,就是顺着 score 指的方向挪一点。score 是反向过程的指南针。**
> [!abstract] 二、为什么是 $\log p$ 不是 $p$
> 直接对 $p$ 求梯度也能指方向,为什么套个 $\log$。两个实在的好处,先接受结论。
> 一,方向不变。$\log$ 是个一路往上、不掉头的函数,$p$ 涨它也涨,所以 $\nabla\log p$ 和 $\nabla p$ 指的方向一致,套 $\log$ 不改方向。
> 二,算起来干净。概率密度 $p$ 常带一个指数 $e^{(\dots)}$(高斯就是,09),$\log$ 正好把 $e$ 解开,指数下来变成普通式子,求梯度简单得多。
> **一句话,套 $\log$ 不改方向、又让计算变干净,所以用 $\nabla\log p$。**
> [!abstract] 三、score 这个名字
> $\nabla\log p$ 有个专名,叫 score(分数 / 得分函数)。看到论文里 score、$\nabla\log p$、$\nabla_x\log p_t(x)$ 这些写法,指的都是这个箭头,「概率涨得最快的方向」。
> $\nabla_x\log p_t(x)$ 把下标都标全了,$\nabla_x$ 是对 $x$ 求梯度,$p_t$ 是第 $t$ 时刻那坨分布的密度。意思没变,还是「在第 $t$ 时刻、$x$ 这点,概率涨最快的方向」。
> [!abstract] 四、整条线串起来
> 到这里,论文的主线零件就齐了,串一遍。
> 前向,把数据一步步加噪成纯噪声,写成一条 SDE(18),$\mathrm{d}x=f\,\mathrm{d}t+g\,\mathrm{d}w$。
> 反向,从纯噪声倒着走回数据,也是一条 SDE(反向 SDE),它里面带着 score $\nabla\log p$,当指南针,每步朝更像数据的方向挪。
> **训练,就是让一个网络去学这个 score(学会在每点指出「概率涨最快的方向」)。**
> 采样,从噪声出发,反复用学到的 score 往回走,生成一张图。
> 这就是 Song 2021 的骨架。你现在认识里头每一个符号了。
> [!question]- 练习
> 一,score $\nabla\log p$ 是个数还是箭头,指向什么。
> 二,反向去噪为什么需要 score。
> 三,为什么用 $\log p$ 而不是 $p$(说一条理由即可)。
> [!note]- 练习答案
> 一,是箭头(方向),指向概率涨得最快、也就是更像真实数据的方向。
> 二,反向要朝「更像真实数据」走,score 正好给出这个方向,是每步的指南针。
> 三,任一条,$\log$ 不改方向(单调);或 $\log$ 把概率密度里的 $e$ 解开、计算更干净。
> [!note]- 收尾,接下来去读论文
> 数学零件到此齐了。接下来不是再学新数学,是去翻 Song 2021,带着这套零件读那些方程。读到卡住的某一处,回来补那一处,这比继续空学高效。你已经能认出论文里的 SDE、$\mathrm{d}w$、伊藤、$\nabla\log p$ 了,这就是这门课的目标。