【DDPM论文解读】Denoising Diffusion Probabilistic Models

在这里插入图片描述

0 摘要

本文使用扩散概率模型合成了高质量的图像结果,扩散概率模型是一类受非平衡热力学启发的潜变量模型。本文最佳结果是通过根据扩散概率模型和朗之万动力学的去噪分数匹配之间的新颖联系设计的加权变分界进行训练来获得的,并且本文的模型自然地承认渐进式有损解压缩方案,该方案可以解释为自回归解码的推广。在CIFAR10 数据集上,本文都获得了不错的分数。

本文github链接:https://github.com/hojonathanho/diffusion.

1 引言

各种深度生成模型最近在各种数据模式中展示了高质量的样本。生成对抗网络(GAN)、自回归模型、 flows 和变分自动编码器(VAE)合成了引人注目的图像和音频样本,并且基于能量的建模和评分匹配取得了显着的进步,产生了与 GAN 相当的图像。

在这里插入图片描述

扩散概率模型是使用变分推理训练的参数化马尔可夫链,以在有限时间后生成与数据匹配的样本。该链的转换被学习以逆转扩散过程,这是一个马尔可夫链,在采样的相反方向上逐渐向数据添加噪声,直到信号被破坏。当扩散包含少量高斯噪声时,将采样链转换设置为条件高斯就足够了,从而允许特别简单的神经网络参数化。
在这里插入图片描述
本文表明扩散模型能够产生高质量的样本,有时比在其他类型的生成模型上生成的结果更好。此外,本文还证明了扩散模型的某种参数化与训练过程中多个噪声水平上的去噪分数匹配采样过程中的退火朗之万动力学等价。本文使用这个参数获得了最好的样本质量结果,所以本文认为这个等价性是本文的主要贡献之一。

本文表明扩散模型的采样过程是一种渐进式解码,它类似于自回归解码的比特排序,极大地扩展了自回归模型通常可以实现的功能。

2 训练与推理

在这里插入图片描述
训练过程,其实就是不断迭代得到最佳的参数,来使推到得到的目标损失函数最小:
在这里插入图片描述
目标函数的物理意义直观理解就是:让模型输出和随机生成的噪音 距离差值最小。我们的模型的目标其实就是在生成噪音。更准确的说是在生成真实信号与标准高斯分布噪音之间多余的那部分噪音信号,我们可以通过用 标准高斯分布噪音 减去 生成的噪音信号 得到我们最后的 合成信号。

Inference 也就是上面算法右图中的Sampling 过程:用 上一轮输出的带噪音信号减去模型生成的噪音信号乘上一个系数,而第一轮的输入就是一个完完全全的标准高斯分布噪音。

3 实验

表 1 显示了 CIFAR10 的 IS 分数、FID 分数和负对数似然值(无损编码长度)。我们的 FID 得分为3.17,与文献中的大多数模型(包括类条件模型)相比,我们的无条件模型达到了更好的样本质量。按照标准做法,我们的 FID 分数是针对训练集计算的;当我们针对测试集计算时,分数为 5.24,仍然优于许多文献中的训练集 FID 分数。
在这里插入图片描述

Inception Score(IS)和Fréchet Inception Distance(FID)是用于衡量深度学习生成模型生成图像质量的指标。

  • IS结合了两个方面的评估:图像质量的期望值(Exp)和图像质量分布的分歧度(KL)
  • FID通过比较生成图像和真实图像在特征空间中的分布距离来衡量它们之间的差异,具体而言,FID使用了真实图像和生成图像在Inception网络的中间层的特征向量上的统计特性。

指标详细参考:https://www.zhihu.com/search?type=content&q=Inception%20scores

在这里插入图片描述

4 结论

本文利用扩散模型生成了高质量的图像样本,并发现了扩散模型与马尔可夫链训练的变分推理、去噪分数匹配和退火朗格文动力学(以及基于能量的扩展模型)、自回归模型和渐进有损压缩之间的联系。由于扩散模型似乎对图像数据具有极佳的归纳偏差,我们期待着研究它们在其他数据模式中的用途,以及作为其他类型生成模型和机器学习系统的组成部分。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/139549.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE 虚幻引擎 利用LOD,Nanite技术优化场景性能

目录 0 引言1 LOD1.1 LOD定义1.2 UE5中的LOD技术1.3 HLOD(Hierarchical Level of Detail) 2 Nanite2.1 UE5的Nanite技术2.2 Nanite介绍2.2.1 Nanite的优势2.2.2 Nanite网格体与传统静态网格体的不同2.2.3 Nanite支持的类型2.2.4 在地形中使用Nanite 0 引…

递归,搜索与回溯

1.汉诺塔问题 在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。移动圆盘时受到以下限制: (1) 每次只能移动…

VOP —— Noise

目录 Turbulent Noise —— 计算1D/3D类型的Noise Anti-Aliased Flow Noise —— 生成抗锯齿噪波 Anti-Aliased Noise —— 生成抗锯齿噪波 Curl Noise —— 创建divergence-free 3D噪波 Curl Noise 2D —— 创建divergence-free 2D噪波 Flow Noise —— 生成1D/3D Perli…

人力资源HR 怎么选择在线人才测评工具

测评已经是普及度很好了,不仅仅是大企业,中小企业也都在启用人才测评,也有叫素质测评等等,内容多样化。但是根本形式是一样的,那就是在线测评,目的也是一样的,就是为了招来最适合的职员。 而市…

以太坊智能合约的历史里程碑: 从DAO到数据隐私的技术演进

文章目录 系列文章目录前言一、时间线 项目介绍总结 前言 在短短的几年内,以太坊不仅成为了去中心化应用和智能合约的主导平台,而且也见证了区块链技术和应用的多次重大革命。本文详细回顾了自2016年至今,以太坊生态所经历的几个关键时刻与技…

阿里云产品试用系列-容器镜像服务 ACR

阿里云容器镜像服务(简称 ACR)是面向容器镜像、Helm Chart 等符合 OCI 标准的云原生制品安全托管及高效分发平台。 ACR 支持全球同步加速、大规模/大镜像分发加速、多代码源构建加速等全链路提效,与容器服务 ACK 无缝集成,帮助企业…

Windows 基于Visual Studio 开发Qt 6 注意事项

前提条件: 1、Visual Studio 2022 社区版(免费版) 2、Qt-6.5.1版本 Qt Vistual Studio Tools下载 先打开Visual Studio 2022 社区版 : 点击扩展-》管理拓展按钮后,在搜索框中输入Qt,点击这里第一个扩展安装。 Qt Visual Stud…

iterator和generator

iterator和generator iterator es6: let/const ...展开 迭代器 是一种机制,比如在控制台输出Iterator是没有这个类的,为不同的数据结构提供迭代循环的机制。 迭代器对象:具备next方法,next能够对你指定的数据进行迭代循环&#x…

gogs git 服务器极速搭建

背景 小型团队合作中,需要代码托管在内网,gitlab 等搭建比较复杂,经过一番搜寻发现gogs满足需求 基本用户管理后台管理面板,能在web端查看管理安装配置极简 安装配置 gogs是支持多个平台,这里我们选择ubuntu 1.下载git…

2023-9-23 合并果子

题目链接&#xff1a;合并果子 #include <iostream> #include <algorithm> #include <queue>using namespace std;int main() {int n;cin >> n;priority_queue<int, vector<int>, greater<int>> heap;for(int i 0; i < n; i){in…

Tomcat部署、优化、以及操作练习

一.Tomcat的基本介绍 1.1.Tomcat是什么&#xff1f; Tomcat服务器是一个免费的开放源代码的Web应用服务器&#xff0c;属于轻量级应用服务器&#xff0c;在中小型系统和并发访问用户不是很多的场合下被普遍使用&#xff0c;是开发和调试JSP程序的首选。一般来说&#xff0c;T…

BUUCTF:[MRCTF2020]套娃

查看源码发现 PHP非法参数名传参问题&#xff0c;详细请参考我的这篇文章&#xff1a;谈一谈PHP中关于非法参数名传参问题 正则这里绕过使用%0a换行符绕过&#xff0c;payload: /?b.u.p.t23333%0a 得到下一步信息&#xff1a;secrettw.php 注释中的是JsFuck&#xff0c;用这…

【李沐深度学习笔记】数据操作实现

课程地址 数据操作实现p2 数据操作 首先导入PyTorch包&#xff08;import torch)&#xff0c;虽然叫PyTorch&#xff0c;但实际上要导入torch。 import torch张量 张量表示的是一个数值组成的数组&#xff0c;这个数组可以有很多个维度。 # 生成0-11的顺序序列构成的一维…

一篇文章让你学会什么是哈希

一篇文章让你学会什么是哈希 哈希概念哈希冲突哈希函数1. 直接定址法2. 除留余数法3. 平方取中法4. 折叠法5. 随机数法6. 数学分析法 哈希冲突解决1. 闭散列1.1 线性探测1.2 二次探测 2. 开散列 开散列和闭散列对比 哈希概念 哈希在C中有广泛的应用&#xff0c;它是一种用于快…

【算法与数据结构】JavaScript实现十大排序算法(二)

文章目录 关于排序算法快速排序堆排序计数排序桶排序基数排序 关于排序算法 稳定排序&#xff1a; 在排序过程中具有相同键值的元素&#xff0c;在排序之后仍然保持相对的原始顺序。意思就是说&#xff0c;现在有两个元素a和b&#xff0c;a排在b的前面&#xff0c;且ab&#xf…

外包干了2个月,技术退步明显.......

先说一下自己的情况&#xff0c;大专生&#xff0c;18年通过校招进入武汉某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

竞赛选题 基于深度学习的行人重识别(person reid)

文章目录 0 前言1 技术背景2 技术介绍3 重识别技术实现3.1 数据集3.2 Person REID3.2.1 算法原理3.2.2 算法流程图 4 实现效果5 部分代码6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的行人重识别 该项目较为新颖&#xff0c;适合…

前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS基础(四)

开始吧&#xff0c;做时间的主人&#xff01; 把时间分给睡眠&#xff0c;分给书籍&#xff0c;分给运动&#xff0c; 分给花鸟树木和山川湖海&#xff0c; 分给你对这个世界的热爱&#xff0c; 而不是将自己浪费在无聊的人和事上。 思维导图 函数 为什么需要函数 <!DO…

C++之类和函数权限访问总结(二百二十七)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

黑马JVM总结(十七)

&#xff08;1&#xff09;G1_简介 下面介绍一种Grabage one的垃圾回收器&#xff0c;在jdk9的时候称为默认的回收器&#xff0c;废除了之前的CMS垃圾回收器&#xff0c;它的内部也是并发的垃圾回收器 我们可以想到堆内存过大&#xff0c;肯定会导致回收速度变慢&#xff0c;因…