Diffusion Models专栏文章汇总:入门与实战
前言:有不少订阅我专栏的读者问diffusion models很深奥读不懂,需要先看一些什么知识打下基础?虽然diffusion models是一个非常前沿的工作,但肯定不是凭空产生的,背后涉及到非常多深度学习的知识,我将从配分函数、基于能量模型、马尔科夫链蒙特卡洛采样、得分匹配、比率匹配、降噪得分匹配、桥式采样、深度玻尔兹曼机、对比散度、随机最大似然、伪似然、噪声对比估计等方面,总结一些经典的知识点,供读者参考。
系列文章目录:
1、Diffusion Models/Score-based Generative Models背后的深度学习原理(1):配分函数
2、Diffusion Models/Score-based Generative Models背后的深度学习原理(2):基于能量模型和受限玻尔兹曼机
3、Diffusion Models/Score-based Generative Models背后的深度学习原理(3):蒙特卡洛采样法和重要采样法
4、Diffusion Models/Score-based Generative Models背后的深度学习原理(4):随机最大似然和对比散度
5、Diffusion Models/Score-based Generative Models背后的深度学习原理(5):伪似然和蒙特卡洛近似配分函数
6、Diffusion Models/Score-based Generative Models背后的深度学习原理(6):噪声对比估计
7、Diffusion Models/Score-based Generative Models背后的深度学习原理(7):估计配分函数
目录
直接估计配分函数
退火重要采样(Annealed Importance Sampling, AIS)
桥式采样(Bridge Sampling)
直接估计配分函数
当我们需要评估模型,监控训练性能,和比较模型时,还是需要直接估计配分函数,我们可以考虑蒙塔卡洛的方法去估计它。
首先找到一个简单的提议分布(proposal distribution):p0(x)=1Z0p̃ 0(x)p0(x)=1Z0p~0(x),其在配分函数Z0和未归一化分布p̃ 0(x)p~0(x)上易于采样和估计。
那么:
Z1=∫p̃ 1(x)dx=∫p0(x)p0(x)p̃ 1(x)dx=Z0∫p0(x)p̃ 1(x)p̃ 0(x)dxZ1=∫p~1(x)dx=∫p0(x)p0(x)p~1(x)dx=Z0∫p0(x)p~1(x)p~0(x)dx
可以使用简单重要采样(importance sampling)来估计:
Ẑ 1=Z0K∑k=1Kp̃ 1(x(k))p̃ 0(x(k));;s.t.;:;x(k)∼p0Z^1=Z0K∑k=1Kp~1(x(k))p~0(x(k));;s.t.;:;x(k)∼p0
退火重要采样(Annealed Importance Sampling, AIS)
在DKL(p0|p1)DKL(p0|p1)很大的情况下(即p0p0和p1p1之间几乎没有重叠),退火重要采样通过引入中间分布来缩小这种差距。
考虑分布序列pη0,…,pηnpη0,…,pηn,其中0=η0<η1<⋯<ηn−1<ηn=10=η0<η1<⋯<ηn−1<ηn=1,分布序列中的第一个和最后一个分别是p0和p1。
Z1Z0Z1Z0写作Z1Z0=∏n−1j=0Zηj+1ZηjZ1Z0=∏j=0n−1Zηj+1Zηj。
如果对于所有的0≤j≤n−10≤j≤n−10≤j≤n−10≤j≤n−1,分布pηjpηj和pηj+1pηj+1足够接近,那么能够使用简单的重要采样来估计每个因子Zηj+1ZηjZηj+1Zηj,然后使用这些得到Z1Z0Z1Z0的估计。
中间分布的一个通用和流行选择是使用目标分布p1和建议分布p0的加权几何平均:pηj∝pηj1p1−ηj0pηj∝p1ηjp01−ηj。
桥式采样(Bridge Sampling)
桥式采样依赖于单个分布p∗(被称为桥),在已知配分函数的分布p0p0和分布p1p1之间插值。
$$\frac{Z_1}{Z_0} ≈ \frac{\sum_{k=1}^K \frac{ \tilde{p}(x_0^{(k)}) }{\tilde{p}_0(x_0^{(k)}) }} {\sum_{k=1}^K \frac{ \tilde{p}(x_1^{(k)}) }{\tilde{p}_1(x_1^{(k)}) }} $$
最优的桥式采样是p(opt)∗(x)∝p̃ 0(x)p̃ 1(x)rp̃ 0(x)+p̃ 1(x)p∗(opt)(x)∝p~0(x)p~1(x)rp~0(x)+p~1(x),其中r=Z1/Z0。可以从粗糙的r开始估计,然后使用得到的桥式采样逐步迭代以改进估计。