# 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$ 了,这就是这门课的目标。