【论文阅读笔记】Tackling the Generative Learning Trilemma with Denoising Diffusion GANs
【论文阅读笔记】Tackling the Generative Learning Trilemma with Denoising Diffusion GANs
- Introduction
- 方法
- 使用传统GANS建模去噪分布
- 理解模式覆盖率
Paper:https://arxiv.org/abs/2112.07804
Code:https://github.com/NVlabs/denoising-diffusion-gan
Authors:Nvlabs, Zhisheng Xiao, Karsten Kreis, Arash Vahdat
Introduction
主流生成模型(Generative Models)的优缺点以及它们在三个关键目标上的表现:高质量样本生成、模式覆盖和多样性、快速采样。
在本文中,我们通过重新制定去噪扩散模型来解决生成学习三引理,专门用于快速采样,同时保持强大的模式覆盖率和样本质量。
- 扩散模型通常假设去噪分布可以近似为高斯分布。然而,众所周知,高斯假设仅在小去噪步骤的无穷小极限中成立,这导致在反向过程中需要大量的步骤。
- 当反向过程使用更大的步长(即去噪步骤更少)时,需要一个非高斯多模态分布来建模去噪分布。直观地说,在图像合成中,多模态分布源于多个似是而非的干净图像可能对应于相同的噪声图像这一事实。
受这一观察的启发,我们建议使用富有表现力的多模态分布参数化去噪分布,以实现大步骤的去噪。特别是,我们引入了一种新的生成模型,称为去噪扩散 GAN,其中去噪分布用条件 GAN 建模。
在图像生成中,我们观察到我们的模型获得了与扩散模型竞争的样本质量和模式覆盖率,同时只需要两个去噪步骤,与Song等人(2021c)在CIFAR-10上的预测器校正器采样相比,采样速度提高了约2000倍。与传统的GANs相比,我们表明我们的模型在样本多样性方面明显优于最先进的GANs,同时在样本保真度方面具有竞争力。
总之,我们做出了以下贡献:
- 我们将扩散模型的缓慢采样归因于去噪分布中的高斯假设,并提出采用复杂的多模态去噪分布。
- 我们提出了去噪扩散 GAN,这是一种扩散模型,其反向过程由条件 GAN 参数化。
- 通过仔细评估,我们证明了去噪扩散 GAN 与当前的图像生成和编辑扩散模型相比实现了几个数量级的加速。我们表明,我们的模型在很大程度上克服了深度学习三引理,使得扩散模型首次以较低的计算成本适用于交互式的现实世界应用程序。
方法
扩散模型文献中的一个常见假设是用高斯分布近似 q ( x t − 1 ∣ x t ) q(x_{t−1}|x_t) q(xt−1∣xt)。在这里,我们质疑这种近似何时是准确的。
LSGM尝试使用 VAE 将数据编码到高斯分布,但仍然需要数百或数十步,而且数据分布压缩到高斯分布是十分困难的。
在本文中,我们认为当不满足任何条件时,即当去噪步长较大且数据分布为非高斯时,不能保证去噪分布的高斯假设成立。为了说明这一点,在图 2 中,我们可视化了多模态数据分布的不同去噪步长的真实去噪分布。我们看到,随着去噪步骤变大,真正的去噪分布变得更加复杂和多模态。
上图:一维数据分布 q(x0) 通过扩散过程的演变。底部:以固定的x5为条件的不同步长的真实去噪分布的可视化。**小步长(即q(x4|x5 = X))的真实去噪分布接近于高斯分布。**然而,随着步长的增加,它变得更加复杂和多模态。
使用传统GANS建模去噪分布
我们的目标是减少扩散模型反向过程中所需的去噪扩散步骤T的数量。受上述观察的启发,我们建议对去噪分布进行建模具有表现力的多模态分布。由于条件 GAN 已被证明可以对图像域的复杂条件分布进行建模(Mirza & Osindero,2014;Ledig 等人,2017;Isola 等人,2017),我们采用它们来近似真实去噪分布 q(xt−1|xt)。
具体来说,我们的正向扩散的设置类似于Eq. 1中的扩散模型,主要假设T很小(T≤8),每个扩散步长βt较大。我们的训练是通过使用对抗性损失匹配条件 GAN 生成器 pθ (xt−1|xt) 和 q(xt−1|xt) 来制定的,该对抗性损失最小化每个去噪步骤的散度 Dadv:
简而言之:
给定x0,前向加噪过程为 xt-1 到 xt;在扩散模型 xt 的基础上预测 x’0,随后将其加噪成 x’t-1;然后以 xt、xt-1(或 x’t-1)和 t 为条件输入到判别器网络中进行对抗性训练。
我们模型的一个自然问题是,为什么不仅仅是训练一个 GAN,它可以使用传统的设置一次性生成样本,而我们的模型通过迭代去噪生成样本。我们的模型比传统的 GAN 有几个优点。众所周知,GAN 存在训练不稳定和模式崩溃的问题(Kodali 等人,2017;Salimans 等人,2016),一些可能的原因包括难以直接从一次性的复杂分布中采样,以及鉴别器仅查看干净样本时的过拟合问题。相比之下,由于对 xt 的强条件作用,我们的模型将生成过程分解为几个条件去噪扩散步骤,其中每个步骤对模型相对简单。此外,**扩散过程平滑了数据分布(Lyu, 2012),使鉴别器不太可能过拟合。**因此,我们希望我们的模型表现出更好的训练稳定性和模式覆盖率。我们在第 5 节中凭经验验证了传统 GAN 的优势。
理解模式覆盖率
生成模型的结果是否可以 cover Real samples。
相关文章:

【论文阅读笔记】Tackling the Generative Learning Trilemma with Denoising Diffusion GANs
【论文阅读笔记】Tackling the Generative Learning Trilemma with Denoising Diffusion GANs Introduction方法 使用传统GANS建模去噪分布理解模式覆盖率 Paper:https://arxiv.org/abs/2112.07804 Code:https://github.com/NVlabs/denoising-diffusion-…...

常见 HTTP 状态码详解与Nginx 文件上传大小限制
在我们日常使用 Nginx 搭建网站或应用服务时,可能会遇到很多与文件上传和请求响应相关的问题。今天我们就来聊聊 如何限制文件上传的大小,并介绍一些常见的 HTTP 状态码 及其在 Nginx 中的处理方式。 一、文件上传大小限制 有时,我们需要限…...

在mac中使用numbers对数据进行分列(更详细的回答,已解决)
不想看我废话的同学直接看 “ 二、真正的方法 ” 不是抄袭不是抄袭,目前我能检索到的关于number分列的只有两篇回答,但我觉得有待补充,如果看不懂另外的回答,可以来看我的 这么问我猜大概率是Windows转macOS用户,不是…...

网格参数的应用和数学基础
引言 对于任意两个拓扑结构相似的表面,可以计算它们之间的一一对应映射。如果其中一个表面由三角形网格表示,那么计算这种映射的问题被称为网格参数化。映射到的表面通常被称为参数域。表面网格与各种域之间的参数化在计算机图形学和几何处理中有广泛的应…...
【Go】-基于Gin和GORM的小清单项目
目录 项目介绍 简介 技术 项目结构 项目分析 总结 项目介绍 简介 项目地址:knoci/list: 基于Gin的待办清单小项目 (github.com) 一个仿照github/Q1mi/bubble 做的一个gin框架练习 技术 gin 框架gorm 操作PostgreSQLini 配置文件 项目结构 list ├── R…...

【银河麒麟高级服务器操作系统】虚拟机服务器执行systemctl提示timeout——分析全过程及处理建议
了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn 现象描述 产品信息 产品名称 银河麒麟高级服务…...

【Unity错误】No cloud project ID was found by the Analytics SDK
在编译默认的URP 2D项目时,出现这样一个错误:No cloud project ID was found by the Analytics SDK. This means Analytics events will not be sent. Please make sure to link your cloud project in the Unity editor to fix this problem. 原因&…...

2. 变量和指令(omron 机器自动化控制器)——1
机器自动化控制器——第二章 变量和指令 1 2-1 变量一览表MC通用变量轴变量▶ 轴组变量 运动控制指令的输入变量输入变量的有效范围▶ 枚举体一览表 运动控制指令的输出变量运动控制指令的输入输出变量 2-1 变量一览表 MC功能模块使用的变量分为两类。 一类是监视轴等的状态及…...

gpt4最新保姆级教程
如何使用 WildCard 服务注册 Claude3 随着 Claude3 的震撼发布,最强 AI 模型的桂冠已不再由 GPT-4 独揽。Claude3 推出了三个备受瞩目的模型:Claude 3 Haiku、Claude 3 Sonnet 以及 Claude 3 Opus,每个模型都展现了卓越的性能与特色。其中&a…...

Java:继承和多态(1)
在 Java SE 中,继承和多态是面向对象编程(OOP)的两个核心概念。通过继承,子类可以复用父类的代码;而通过多态,子类可以在不修改父类的前提下定义自己的行为。这两者结合起来使得代码更具扩展性、灵活性和可…...
在RabbitMQ中四种常见的消息路由模式
1. Fanout模式 Fanout模式的交换机是扇出交换机(Fanout Exchange),它会将消息广播给所有绑定到它的队列,而不考虑消息的内容或路由键。 工作原理: 生产者发送消息到Fanout Exchange。Fanout Exchange会将消息广播给…...

Android 使用JSON动画:Lottie框架基本使用
Lottie是什么? GitHub的一种跨平台动画解决方案三方框架 使用? 3步 1.引入最新的依赖:https://github.com/airbnb/lottie-android 我写文章时最新版本是6.5.2 添加到 app/build.gradle 文件的以下方法中dependencies {//lottie 动画implementation com.airbnb.android:l…...

【SQL】百题计划 - SQL最基本的判断和查询。
[SQL]百题计划 Select product_id from Products where low_fats "Y" and recyclable "Y";...
C++学习笔记----6、内存管理(五)---- 智能指针(2)
书接上回! make_unique()使用值初始化。例如,将初始类型初始化为0,对象为缺省构造。如果不需要这样的值初始化,例如,因为不管怎么样你都会覆写共初始值,你就可以省略值初始化,通过使用make_uniq…...

游戏出海迎新变局——海外游戏市场有哪些新趋势和新机遇?
游戏出海的热度越来越高,也面临着竞争加剧、门槛提升、成本增加的现实环境,游戏出海有哪些新变化和新趋势? 移动游戏出海的主要海外市场 在海外市场分布方面,美日韩仍然是我国移动游戏重要的海外市场,占据了中国出海…...

【Unity踩坑】创建新项目后提示编译错误要进入安全模式
在创建了新项目后(比如URP,AR,VR),首次打开时提示有编译错误,要进入安全模式。 脚本是项目模板自带的,不会有问题。这时需要先选择进入安全模式,然后关闭项目,重新打开就…...

SpringBoot开发——整合Logbook进行HTTP API请求响应日志输出
文章目录 1. 简介依赖管理2. 实战案例2.1 基本用法2.2 结合Logback日志记录到文件2.3 自定义核心类Logbook2.4 自定义日志输出Sink2.5 与RestTemplate集成1. 简介 记录HTTP API请求响应日志对于监控、调试和性能优化至关重要。它帮助开发者追踪API的使用情况,包括请求来源、参…...
【嵌入式开发 Linux 常用命令系列 7.1 -- git log 只显示日期和主题(title)和commit id】
文章目录 git log 只显示日期和主题(title)和commit id示例其他日期格式选项 git log 只显示日期和主题(title)和commit id 要使用 git log 仅显示提交的日期、提交消息(title)和提交号(commit hash),你可以使用自定义…...
Android Radio2.0——交通公告状态设置(二)
通过前面的学习,我们知道在 Radio 广播中,交通公告(Traffic Announcement, TA)是一个比较重要的概念,它和交通广播(Traffic Radio)是相关的概念,但它们并不完全相同。 一、简介 1、概念介绍 交通公告 定义:交通公告是指在广播中插入的特别信息,通常是关于交通状况…...

用centos安装远程迅雷失败,重写程序做一台下载服务器
安装远程迅雷的时候,要不是安装包地址过期,就是出现64不兼容32的libz.so.1的包,而且32位的libz包也是好多网站过期。 没办法用仅有的python3,用flask搭建了一个小型的内网下载服务器,当然,只要路由器做映射…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密
在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果,可同时显示主类&#x…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...