DDPM与扩散模型

很早之前就新建了一个专栏从0开始弃坑扩散模型
,但发了一篇文章就没有继续这一系列,在这个AIGC的时代,于是我准备重启这个专栏。
整个专栏的学习顺序可以见这篇汇总文章

这是本专栏的第一章

目录

  • 引言
  • 生成模型的发展历程

引言

扩散模型( Diffusion Models,DM ) 最早是在2015年由斯坦福大学的Jascha Sohl-Dickstein等人提出的,全称是概率扩散模型(diffusion probabilistic model,DPM)。他们是怎么提出的呢?这里就要讲讲在之前的故事了。

生成模型的发展历程

很久以前,在一片广阔的大陆中,数据科学家们长期以来一直在探寻一种方法,希望能让机器不仅能学会理解复杂的数据,还能创造出全新的、前所未见的图像。他们希望通过这样的方式让机器拥有一点点“创造力”。这个愿望听起来很遥远,直到有一天,两个强大的法师——生成对抗网络(GAN)和变分自编码器(VAE)改变了这个世界。
VAE法师利用概率生成模型的力量,通过将图像数据映射到一个隐含的、更低维的空间(称为隐空间)来捕捉数据的本质特征。然后,VAE法师通过隐空间中的点(这并不是前面转换的点,而是在一定分布中随机抽样出来的新点)重构数据,生成新的样本。VAE中,把图像变成向量的网络叫做编码器,把向量转换回图像的网络叫做解码器。模型会在训练时候,不断学习某一类图像的标准正态分布,这样随机出来的分布也能与训练集生成相似的图像。在VAE中,生成图像的质量通常是通过它们与真实图像的相似度来评价的,这就导致了一个问题:虽然VAE生成的图像在像素级别上与原始图像可能非常相似,但它们往往缺乏锐利度和细节,看起来可能模糊不清,不够逼真。此外,VAE的另一个限制在于其假设潜在空间遵循一个简单的、通常是高斯分布的先验,这限制了它能够生成的样本类型,特别是在捕捉更复杂或多模态分布时可能会受到限制。
紧随其后,生成对抗网络(GAN)法师登场了。GAN法师带来了一场真正的革命,他不仅能够生成数据,还精心设计了一个判别器来评价数据的真实性。在他的法术下,生成器和判别器开始了一场激烈的对抗游戏。生成器像艺术家一样创作新的作品,而判别器则像艺术评论家一样对作品进行评判。通过不断的竞争,生成器学会了创造出越来越逼真的数据样本,而判别器则变得越来越擅长于分辨真伪。GAN法师成功地解决了如何评价生成图像的难题,使得生成的图像在质量上得到了显著的提升,它们变得几乎与真实图像无法区分。
在VAE和GAN两位法师展示他们的魔法之后,机器学习的领域已经大为震撼。但是,故事并没有结束。在他们的故事传开之后不久,一个新的法师扩散模型(Diffusion Model)从知识的迷雾中走了出来,带着一种新的魔法——他可以在数据的原始形态和一片纯净无噪的空白状态之间来回穿梭。
扩散模型法师的魔法与VAE法师有着密切的血缘关系,但又带有独特的力量。他的能力不在于对数据进行简单的编码和解码,而是在于逐步地、有策略地引入噪声,将数据模糊化,直至变成纯粹的随机噪声,就像是用一层层的绘画颜料将一个精致的画作覆盖,直到所有的细节都不再可见。
然而,扩散模型法师最引人注目的魔法是他的逆过程。他能够从那一片噪声的汪洋中,逐步地移除噪声,让数据重现其原有面貌。这一过程仿佛是在逆转时间,使混乱渐渐回归秩序。随着每一步噪声的去除,数据的结构开始逐渐显露,最终揭示出清晰的形象。
扩散模型法师的这种能力在处理高维数据时尤为强大,他能够生成具有非常高质量和复杂性的样本,这些样本不仅在视觉上逼真,而且在统计特性上也与真实数据几乎无法区分。这一点,即便是GAN法师也不得不承认。
这样,扩散模型法师不仅加入了VAE和GAN的行列,还将机器学习的艺术提升到了一个新的高度。他证明了即使在这些强大的法师们所创造的宏大叙事之后,还有新的故事等待被讲述,还有新的魔法等待被探索。而这个领域的探索者们仍然在往更深远的未知中迈进,寻找着将理论和实践结合起来的新的方法,以期达到更为完美的创造力。
(说了这么多,实际上这里就看着乐,我也放松一下,只要记得扩散模型只是VAE的变种就好了。)
然而DPM在图像生成质量和采样速度上存在许多不足,并未受到广泛关注。直至2020年,伯克利大学的Jonathan Ho等人提出了去噪扩散概率模型(DDPM)。DDPM改善了DPM的缺点,并在图像合成效果上超越了先前的生成模型,如生GAN、VAE、基于流的模型(Flow-based Models)和基于能量的模型(EBM)。
我们下面所讲的也是DDPM。

在这里插入图片描述

DDPM分为正向过程和反向过程两个阶段。如上图所示,正向过程和反向过程对应VAE中的编码和解码。

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

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

相关文章

数据结构-线性表-链表-2.3-6

有一个带头结点的单链表L&#xff0c;设计一个算法使其元素递增有序。 void sort(Linklist &L){LNode *pL->next,*pre;LNode *rp->next;p->nextNULL;pr;while(p){rp->next;preL;while(pre->next!NULL&&pre->next->data<p->data){prepre…

ACM实训冲刺第一天

目录 ACM实训课程考核 考核内容 备赛安排 推荐学习资源 ACM实训准备规划 前话 历届习题&#xff08;未曾改变&#xff09; 第0套 第1套 第2套 第3套 第4套 规划 5.8 - 5.12 &#xff08;11周&#xff09; 5.13-5.19&#xff08;12周&#xff09; 5.20-5.26&…

【计算机毕业设计】基于SSM++jsp的菜匣子优选系统【源码+lw+部署文档+讲解】

目录 第一章 绪 论 第二章 关键技术的研究 2.1 JSP技术介绍 2.2 JAVA简介 2.3 ECLIPSE 开发环境 2.4 Tomcat服务器 2.5 MySQL数据库 第三章 系统分析 3.1 系统设计目标 3.2 系统可行性分析 3.3 系统功能分析和描述 3.4系统UML用例分析 3.4.1管理员用例 3.4.2用户用例 3.5系统流…

远动通讯屏的作用

远动通讯屏的作用 远动通讯屏有时有称为调度数据网柜&#xff0c;远动通讯屏具体干啥作用&#xff1f;远动通讯屏是以计算机为基础的生产过程与调度自动化系统&#xff0c;可以对现场的运行设备进行监视和控制、以实现数据采集、设备测量、参数调节以及各类信号报警等各项功能。…

【Android】源码解析Activity的结构分析

源码解析Activity的结构分析 目录 1、Activity、View、Window有什么关联&#xff1f;2、Activity的结构构建流程3 源码解析Activity的构成 3.1 Activity的Attach方法3.2 Activity的OnCreate 4、WindowManager与View的关系总结 1、一个Activity对应几个WindowManage&#xff0…

软考143-下午题-【试题二】:E-R图、关系模式

一、分值与目标 15分&#xff0c;目标10 二、题目形式 示例&#xff1a; 三、E-R图的基本图形元素 示例&#xff1a; 3-1、实体 1、弱实体 在现实世界中有一种特殊的联系&#xff0c;这种联系代表实体间的所有 (Ownership) 关系&#xff0c;例如&#xff1a;职工与家属的联系…

Tuxera NTFS for Mac Mac用户无缝地读写NTFS格式的硬盘和U盘

在数字化时代&#xff0c;数据交换和共享变得日益重要。然而&#xff0c;对于Mac用户来说&#xff0c;与Windows系统之间的文件交换可能会遇到一些挑战。这是因为Mac OS默认不支持Windows常用的NTFS文件系统。幸运的是&#xff0c;Tuxera NTFS for Mac为我们提供了一个优雅的解…

使用电路仿真软件教学的优势分析

随着科技的飞速发展&#xff0c;电子工程领域对人才的需求与日俱增。为了满足这一需求&#xff0c;教育者们不断探索着更加高效、直观的教学方法。电路仿真软件的出现&#xff0c;为电子工程教学注入了新的活力&#xff0c;它以其独特的优势&#xff0c;成为现代电子工程教育中…

C语言 函数的嵌套与递归 调用

本文 我们来说函数的嵌套调用和递归调用 在很多大型项目中 我们肯定不可能将所有逻辑都写在一个函数中 肯定要按功能拆解成多个特定的功能函数 函数并不允许嵌套调用&#xff0c;但是 允许在逻辑代码中嵌套调用 所谓函数嵌套调用 就是在一个函数中调用另一个函数&#xff0c;而…

多模态EDA论文小记

论文地址 该论文主要改进点是&#xff1a;通过动态化局部搜索中每个集群大小&#xff0c;高斯和柯西分布共同产生个体。总的来说改进点不多&#xff0c;当然也可能是笔者还没发现。 局部搜索 划分集群 划分集群有两个策略分别是&#xff1a; 随机生成一个点作为中心点&…

python:画饼图

我现在因工作需要在写一篇中文文章&#xff0c;领导要我用python处理数据和画图&#xff0c;那我也刚好学习一下python画图。 import matplotlib.pyplot as plt # 饼图数据 labels [A, B, C, D] sizes [15, 30, 45, 10] # 每个部分的大小 # 绘制饼图 plt.figure(figsize(6,…

STM32F1#1(入门了解)

一、STM32开发平台和工具 1.1 STM32芯片介绍 典型微控制器由CPU&#xff08;运算器、控制器&#xff09;、RAM、ROM和输入输出组成。 1.2 STM32核心板 STM32核心板配件&#xff1a; ①JTAG/SWD仿真-下载器 ②通信-下载模块 ③OLED显示屏 1&#xff09; 通信-下载模…