Score Function:資料分布的局部方向感
上一篇的「預測噪聲」,這一篇要揭穿它其實是一個更幾何的東西。
翻開任何一篇 score-based 的論文,幾乎一定會撞到 這個符號,被稱作 score。第一次看到很容易心想:這到底在量什麼?跟我熟悉的「分數」有關係嗎?
換個說法:往哪走,密度會變高?
把 score 想成一個導航指針:站在空間任一點,它指向「資料密度上升最快」的方向。越靠近資料聚集的地方密度越高,score 就把你往那裡推。它不是評分、不是獎勵,就是 log 密度的梯度——一個純粹的幾何訊號。
先在最小例子裡看懂
對一維標準高斯 ,
讀法很直白:你在 ,score 是 ,把你往原點(高密度處)推;你在 ,score 是 ,同樣往中心推。離中心越遠,推力越大。
下面的 demo 把這件事放到 2D:把滑鼠移到任一點,看那裡的 score 箭頭指向附近的資料聚集處;拉動噪聲程度 ,看分布被抹平、score 變平滑。
揭穿:去噪和 score 是同一件事
這是這篇最值得帶走的一句。回到上一篇的加噪 。可以證明,最會去噪的模型(預測 的最佳解 )和那一層分布的 score,差的只是一個已知的比例:
換句話說,「猜噪聲」和「指向高密度」是同一個方向,只差一個 的比例。難怪 denoising 能拿來生成——它本來就在估計 score。(從同一條關係式還能反推「最乾淨的猜測」,那條公式叫 Tweedie,屬於更技術的內容,留給 Diffusion & Flow Models 課程。)
如果上一篇你已經接受「去噪能生成」,那這篇等於告訴你:你早就在跟 score 打交道了。
幾個容易想歪的地方
這怎麼接到論文?
score-based generative models 學一個 ,再用它把樣本從噪聲推回資料——可以走隨機的 Langevin / 反向 SDE,也可以走確定性的 ODE。它和 diffusion 的去噪觀點是一體兩面,這也是 Song 等人把兩者統一進「score-based SDE」框架的基礎。
下一步
我們已經有兩種局部訊號:去噪(猜噪聲)和 score(指向高密度)。flow matching 用的是第三種——velocity。它和這兩者有什麼不同?下一篇 Velocity 當成回歸目標 把生成寫成一個更直接的監督式回歸。
參考文獻
- Song, Y., Ermon, S. Generative Modeling by Estimating Gradients of the Data Distribution. NeurIPS 2019.
- Vincent, P. A Connection Between Score Matching and Denoising Autoencoders. Neural Computation, 2011.
- Song, Y., et al. Score-Based Generative Modeling through Stochastic Differential Equations. ICLR 2021.