0%

Generative Modeling by Estimating Gradients of the Data Distribution

全文翻译

摘要

我们提出了一种新的生成模型,该模型通过朗之万动力学(Langevin dynamics)来生成样本,所使用的梯度是通过分数匹配(score matching估计的数据分布梯度。由于当数据位于低维流形上时,梯度可能定义不明确且难以估计,因此我们用不同程度的高斯噪声对数据进行扰动,并联合估计相应的分数,即所有噪声水平下扰动数据分布的梯度向量场。在采样时,我们提出了一种退火朗之万动力学方法,在采样过程接近数据流形时,使用对应逐渐降低噪声水平的梯度。我们的框架允许灵活的模型架构,在训练过程中无需采样或使用对抗方法,并且提供了一个可用于原则性模型比较的学习目标。我们的模型在MNIST、CelebA和CIFAR - 10数据集上生成的样本可与生成对抗网络(GANs)相媲美,在CIFAR - 10数据集上达到了8.87的新最先进的初始得分(inception score)。此外,我们通过图像修复实验证明了我们的模型能够学习到有效的表示。

阅读全文 »

全文翻译

摘要

分类器引导(Classifier guidance)是最近提出的一种方法,用于在条件扩散模型训练后,在模式覆盖和样本保真度之间进行权衡,这与其他类型生成模型中的低温采样或截断操作思路相似。分类器引导将扩散模型的得分估计与图像分类器的梯度相结合,因此需要训练一个与扩散模型分离的图像分类器。这也引发了一个问题:能否在不使用分类器的情况下进行引导。我们证明,确实可以通过一个纯生成模型在不使用分类器的情况下进行引导:在我们称为无分类器引导(classifier-free guidance)的方法中,我们联合训练一个条件扩散模型和一个无条件扩散模型,并结合得到的条件和无条件得分估计,在样本质量和多样性之间实现类似于使用分类器引导时的权衡。

阅读全文 »

全文翻译

摘要

扩散概率模型(Diffusion Probabilistic Models, DPMs)在图像生成领域展现出巨大潜力,但其采样效率受限于大量的去噪步骤。现有的解决方案大多通过提出快速常微分方程(ODE)求解器来加速采样过程。然而,当函数评估次数(NFE)较少时,ODE 求解器不可避免的离散化误差会被显著放大。在本研究中,我们提出了 PFDiff,这是一种全新的无需训练的正交跳步策略,它能使现有的快速 ODE 求解器在较少的 NFE 下运行。具体而言,PFDiff 首先利用过去时间步的分数替换来预测一个 “跳板” 状态。随后,它结合受 Nesterov 动量启发的前瞻更新机制,利用这个 “跳板” 状态快速更新当前的中间状态。这种方法在减少不必要的 NFE 的同时,还能校正一阶 ODE 求解器固有的离散化误差。实验结果表明,PFDiff 在各种预训练的 DPM 模型上都具有灵活的适用性,在条件 DPM 模型中表现尤为出色,超越了以往最先进的无需训练的方法。例如,以 DDIM 为基线,在 ImageNet 64x64 数据集上使用分类器引导时,我们的方法达到了 16.46 的 FID(4 次 NFE),而 DDIM 的 FID 为 138.81;在引导尺度为 7.5 的 Stable Diffusion 模型上,我们的方法以 10 次 NFE 达到了 13.06 的 FID。代码可在https://github.com/onefly123/PFDiff获取。

阅读全文 »

Accelerated Sampling for Diffusion Models: A Survey

全文翻译

摘要

自2020年以来,扩散概率模型(DPMs)因其简单直接的优化过程,在图像生成领域取得了革命性进展。这些模型已广泛应用于图像、文本、语音等多个领域的各种任务中。然而,与生成对抗网络(GANs)等一步生成方法相比,扩散模型的多步迭代采样过程显著降低了其采样效率。为解决扩散模型采样过程中迭代次数多、速度慢的问题,研究人员开展了大量工作,并针对这些模型的特点取得了许多突破。本文首先概述了扩散模型的基本原理和框架,随后将扩散模型的加速采样技术分为三类:采样器设计、知识蒸馏和其他加速方法。接着,我们详细讨论了每类加速方法的主要特点、适用场景,以及它们的优缺点。最后,本文总结了扩散模型加速采样的研究进展,并探讨了该领域面临的关键挑战和未来潜在的研究方向。

阅读全文 »

全文翻译

摘要

从数据中生成噪声很容易;而从噪声中生成数据则是生成式建模。我们提出一种随机微分方程(SDE),通过缓慢注入噪声,将复杂的数据分布平滑地转换为已知的先验分布;同时提出一种相应的逆向时间SDE,通过逐渐去除噪声,将先验分布转换回数据分布。关键在于,逆向时间SDE仅依赖于受扰动数据分布的时变梯度场(即分数)。利用基于分数的生成式建模的进展,我们可以用神经网络精确估计这些分数,并使用数值SDE求解器生成样本。我们表明,这个框架涵盖了先前基于分数的生成式建模和扩散概率建模方法,为新的采样过程和建模能力提供了可能。具体而言,我们引入了一个预测-校正框架,以纠正离散化逆向时间SDE演化过程中的误差。我们还推导了一个等效的神经常微分方程(ODE),它与SDE从相同分布中采样,但还能实现精确的似然计算,并提高采样效率。此外,我们提供了一种使用基于分数的模型解决逆问题的新方法,并通过类条件生成、图像修复和上色实验进行了验证。结合多种架构改进,我们在CIFAR - 10上的无条件图像生成任务中取得了突破性的成果,Inception分数达到9.89,FID为2.20,以2.99比特/维度的似然性创造了新纪录,并且首次从基于分数的生成模型中生成了高保真的1024×1024图像。

阅读全文 »

全文翻译

摘要

我们表明,扩散模型可以实现优于当前最先进的生成模型的图像样本质量。我们通过一系列消融找到更好的架构,在无条件图像合成中实现这一点。对于条件图像合成,我们通过分类器指导进一步提高样本质量:一种简单、计算高效的方法,使用分类器的梯度来权衡多样性以获得保真度。我们在 ImageNet 128×128 上实现了 2.97 的 FID,在 ImageNet 256×256 上实现了 4.59,在 ImageNet 512×512 上实现了 7.72,即使每个样本只有 25 次前向传递,我们也可以匹配 BigGAN-deep,同时保持更好的分布覆盖率。最后,我们发现分类器指导与上采样扩散模型很好地结合,进一步将 ImageNet 256×256 的 FID 提高到 3.94,在 ImageNet 512×512 上提高到 3.85。我们在 https://github.com/openai/guided-diffusion 发布我们的代码。

阅读全文 »

203. 移除链表元素 easy

简单题,看看CPP的指针的写法就好

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/

// 迭代法
class Solution {
public:
ListNode* removeElements(ListNode* head, int val) {
ListNode * h=new ListNode();
h->next = head;
ListNode *t = h;
while(t->next != nullptr){
if(t->next->val == val){
ListNode * temp = t->next;
t->next = t->next->next;
delete temp;
}else
t = t->next;
}
return h->next;
}
};

// 递归法
class Solution {
public:
ListNode* removeElements(ListNode* head, int val) {
if (head == nullptr) {
return head;
}
head->next = removeElements(head->next, val);
return head->val == val ? head->next : head;
}
};

阅读全文 »

C

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <assert.h>    //设定插入点
#include <ctype.h>     //字符处理
#include <errno.h>     //定义错误码
#include <float.h>     //浮点数处理
#include <iso646.h> //对应各种运算符的宏
#include <limits.h>    //定义各种数据类型最值的常量
#include <locale.h>    //定义本地化C函数
#include <math.h>     //定义数学函数
#include <setjmp.h> //异常处理支持
#include <signal.h> //信号机制支持
#include <stdarg.h> //不定参数列表支持
#include <stddef.h> //常用常量
#include <stdio.h>     //定义输入/输出函数
#include <stdlib.h>    //定义杂项函数及内存分配函数
#include <string.h>    //字符串处理
#include <time.h>     //定义关于时间的函数
#include <wchar.h>     //宽字符处理及输入/输出
#include <wctype.h>    //宽字符分类
阅读全文 »

全文翻译

Abstract

去噪扩散概率模型(DDPMs)在无需对抗训练的情况下实现了高质量的图像生成,但为了生成一个样本,它们需要模拟马尔可夫链的多个步骤。为了加速采样过程,我们提出了去噪扩散隐式模型(DDIMs),这是一类更高效的迭代隐式概率模型,其训练过程与DDPMs相同。在DDPMs中,生成过程被定义为特定马尔可夫扩散过程的逆过程。我们通过一类非马尔可夫扩散过程对DDPMs进行了扩展,这些非马尔可夫扩散过程能够产生与DDPMs相同的训练目标。这些非马尔可夫过程可以对应于确定性的生成过程,从而产生能够更快生成高质量样本的隐式模型。实验证明,与DDPMs相比,DDIMs生成高质量样本的速度在实际时间上快10到50倍,并且可以在计算量和样本质量之间进行权衡,能够直接在潜在空间中进行语义上有意义的图像插值,还能以极低的误差重建观测数据

阅读全文 »

LaTeX 常用符号整理

希腊字母

Name Display Capital Case Display Var Case Display
\alpha $\alpha$ A $A$
\beta $\beta$ B $B$
\gamma $\gamma$ \Gamma $\Gamma$
\theta $\theta$ \Theta $\Theta$ \vartheta $\vartheta$
\mu $\mu$ M $M$
\delta $\delta$ \Delta $\Delta$
\epsilon $\epsilon$ E $E$ \varepsilon $\varepsilon$
\sigma $\sigma$ \Sigma $\Sigma$ \varsigma $\varsigma$
\pi $\pi$ \Pi $\Pi$ \varpi $\varpi$
\omega $\omega$ \Omega $\Omega$
\xi $\xi$ \Xi $\Xi$
\zeta $\zeta$ Z $Z$
\chi $\chi$ X $X$
\rho $\rho$ P $P$ \varrho $\varrho$
\phi $\phi$ \Phi $\Phi$ \varphi $\varphi$
\eta $\eta$ H $H$
\lambda $\lambda$ \Lambda $\Lambda$
\kappa $\kappa$ K $K$
\nu $\nu$ N $N$
\upsilon $\upsilon$ \Upsilon $\Upsilon$
\psi $\psi$ \Psi $\Psi$
\tau $\tau$ T $T$
\iota $\iota$ I $I$
\omicron $\omicron$ O $O$
阅读全文 »