)
1.写在前面扩散模型是一类重要的深度生成模型它的基本思想不是一步生成一个复杂样本而是先定义一个固定的前向随机过程把真实样本逐步扰动为近似高斯噪声再学习一个反向过程从噪声一步步恢复数据这样原本困难的高维生成问题就被分解为一系列局部的去噪问题因此训练常常更稳定也更便于引入条件控制给定观测变量 0扩散模型引入中间变量 1, 2, ⋯ , 其中 表示第 个噪声水平下的中间状态 接近一个简单先验分布通常取标准高斯分布于是扩散模型的联合分布可写为其中 1∶ 都可以视为隐变量相应的边际分布就是模型对真实数据分布 () 的近似其实扩散模型对于一些图像生成工作来说从物理层面看还是在拟合真实数据的分布情况后续的一些工作优化了扩散模型的训练逻辑使得模型训练更加符合工业应用扩散模型一般由两个部分扩散模型的核心由两部分构成一部分是人为设定的前向扩散过程把样本0 逐步加上高斯噪声得到随机变量序列 1, 2, ⋯ , 另一部分是由神经网络学习的反向去噪过程使其能够从 开始一步步恢复出 −1, −2, ⋯ , 0下图展示了扩散模型的基本流程2.前向扩散过程在最常见的离散时间扩散模型中前向过程被定义为一个马尔可夫链其中每一步的条件分布定义为这个高斯分布等价于采样这里代表的含义是给定步的样本,得到了步加噪后的样本的分布就是从到 \的加噪转移。其中的代表噪声调度不同的t时的取值是被固定好的常见的调度有余弦调度线性调度。这里存在一个需要解释的数学知识为什么噪声调度的公式里和噪声前的系数都是根号的形式首先模型的设计目标是在每一步 t信号贡献的总方差占比 噪声贡献的总方差占比 1。 噪声部分每个维度方差固定给到那留给信号部分每个维度的方差就应该是。其次对于一维标量随机变量方差是一个数字对于D维度的向量其方差叫做协方差矩阵I就是一个单位阵对于方差有性质\这里的,和,,一一对应。3.训练扩散模型的训练其实就是模型的反向扩散过程下面解释一下训练目标很经典的思路实现对真实数据分布的拟合----最大化对数似然的变分下界给定样本x0,有实际训练选择最小化负的变分下界根据信息论固定公式展开可得其中最后一项与参数无关因此除去常数项后ℒVLB主要依赖模型给出的反 向分布(−1|)与真实后验(−1|,0)之间的差异由于由于前向链是线性高斯模型真实后验分布存在解析解其中有由于(−1|,0)和(−1|)都是高斯分布在方差固定或按预设形 式处理时中间每一项KL散度都可以化简为带权均方误差形式训练目标可写为