DDPM与扩散模型

news2025/1/16 8:16:36

很早之前就新建了一个专栏从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.coloradmin.cn/o/1653794.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C数据结构:栈

目录 栈的作用 栈的实现 栈的数据结构 栈的初始化 栈的销毁 栈的插入 栈的删除 获得栈顶元素 获得栈有效元素个数 判断栈是否为空 栈的使用 完整代码 栈是一种特殊结构的线性表 先来看看栈的图 之所以说它特殊,是因为它的插入删除功能比较特殊 栈的插…

DBdoctor产品介绍

基本信息 DBdoctor是聚好看科技股份有限公司自主研发的一款数据库内核级性能诊断工具,首次将eBPF技术聚焦在了数据库领域,一分钟内定位数据库性能问题并给出优化建议,实现数据库性能诊断百倍提效。 免费下载 请在PC端打开以下链接&#x…

Burp Suite抓取明文

目录 Burp Suite代理 正常的通信模式 Burp Suite代理后通信模式 设置代理 安装证书 导出证书 Burp Suite导入 浏览器下载证书 安装证书 管理证书 导入证书 下一步 导入证书 下一步 完成 抓明文的例子 1、修改浏览器代理 ​编辑2、开启拦截​编辑 3、查看抓取历…

NSS题目练习

[SWPUCTF 2021 新生赛]gift_F12 通过题目提示可以知道flag应该可以在源代码中找到 查看源代码,直接用 ctrlf 搜索flag即可 [SWPUCTF 2021 新生赛]jicao 题目打开后能看到一串php代码,要求是用post传参传入idwllmNB以及用get传参传入json[x]"wllm&q…

YoloV5的学习与使用

前言 Yolo算法简介 YOLO (You Only Look Once) 是一种用于目标检测的深度学习算法,由 Joseph Redmon、Santosh Divvala、Ross Girshick 和 Ali Farhadi 在 2015 年提出。YOLO 是一种端到端的算法,它将目标检测任务视为一个单一的回归问题,从…

Web3钱包开发获取测试币-OKB X1Testnet(三)

Web3钱包开发获取测试币-OKB X1Testnet(三) 基于以上两篇 Web3钱包开发获取测试币-Polygon Mumbai(一) :https://suwu150.blog.csdn.net/article/details/137949473Web3钱包开发获取测试币-Base Sepolia(二):https://suwu150.blog.csdn.net/article/det…

【HTTP下】总结{重定向/cookie/setsockopt/流操作/访问网页/总结}

文章目录 1.请求头2.cookie理解 3.vim跳转/搜索4.setsockopt被重用的意思 5.流操作5.1定位读取指针5.2ifstram::read() 6.总结6.1 百度搜索框搜索功能字符6.2请求uri请求和响应的第一行都有http版本请求内容里有GET /favicon.ico HTTP/1.1 6.3访问网页Fiddler抓包原理&#xff…

从零开始的软件测试学习之旅(九)jmeter直连数据库及jmeter断言,关联

jmeter直连数据库及断言,关联 jmeter直连数据库步骤jmeter断言jmeter逻辑控制器if控制器ForEach控制器循环控制器 Jmeter关联Jmeter关联XPath提取器Jmeter关联正则表达式提取器二者比较跨线程组关联 每日复习 jmeter直连数据库 概念 这不叫直连:Jmeter -> java/python 提供的…

W801学习笔记二十四:NES模拟器游戏

之前已经实现了NES模拟器玩游戏。W801学习笔记九:HLK-W801制作学习机/NES游戏机(模拟器) 现在要在新版本掌机中移植过来。 1、把NES文件都拷贝到SD卡中。 这回不会受内存大小限制了。我这里拷贝了4个,还可以拷贝更多。 2、应用初始化中,加载…

Spring:OAuth2.0

文章目录 一、认证与授权二、OAuth2.0介绍 一、认证与授权 认证(Authentication)与授权(Authorization)在网络安全和系统管理中是两个重要的概念,它们各自有不同的作用和目标。 认证是验证确认身份以授予对系统的访问…

编辑员工信息——后端

需求: 在员工管理列表页面点击编辑按钮,跳转到编辑页面,在编辑页面回显员工信息并进行修改,最后点击保存按钮完成编辑操作。 代码开发流程: 点击编辑按钮,页面跳转到add.html,并在url中携带参…

高精度数学计算的瑞士军刀,mpmath库详解与应用示例

写在前言 hello,大家好,我是一点,专注于Python编程,如果你也对感Python感兴趣,欢迎关注交流。 做为一个一只脚已经踏进35岁大关的程序员,对于职场,几乎向上无望,已经没有太多的期待…

面向侧扫声纳目标检测的YOLOX-ViT知识精馏

面向侧扫声纳目标检测的YOLOX-ViT知识精馏 摘要IntroductionRelated WorkYOLOv-ViTKnowledge DistillationExperimental Evaluation Knowledge Distillation in YOLOX-ViT for Side-Scan Sonar Object Detection 摘要 在本文中,作者提出了YOLOX-ViT这一新型目标检测…

Springboot+vue项目零食销售商城

摘要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,零食销售商城当然也不能排除在外。零食销售商城是以实际运用为开发背景,运用软件工程原理和开发方法&#xff…

Yolov8实现loopy视频识别

1、前言 loopy是一个非常可爱的动漫角色(可爱粉色淀粉肠),闲来无事,打算用yolov8训练一个模型对loopy进行识别。 2、准备工作 先在网络上搜寻很多loopy的图片,然后将图片导入Lablel Studio软件进行标注,并…

Ansible---inventory 主机清单

一、inventory 主机清单 1.1、inventory介绍 hosts配置文件位置:/etc/ansible/hosts Inventory支持对主机进行分组,每个组内可以定义多个主机,每个主机都可以定义在任何一个或多个主机组内。 1.2、inventory中的变量 Inventory变量名含义…

Service 和 Ingress

文章目录 Service 和 IngressServiceEndpointservice 的定义代理集群外部服务反向代理外部域名Service 常用类型 IngressIngress-nginx安装使用 Service 和 Ingress service 和 ingress 是kubernetes 中用来转发网络请求的两个服务,两个服务用处不同,se…

python魔法方法是什么

魔法方法是python内置方法,不需要主动调用,存在的目的是为了给python的解释器进行调用,几乎每个魔法方法都有一个对应的内置函数,或者运算符,当我们对这个对象使用这些函数或者运算符时就会调用类中的对应魔法方法&…

【软考】模拟考卷错题本2024-05-07

1 项目路径 这里的图没有加载出来,没u哦i关系了。其实主要是的算出最长的路径中包含那些元素即可。这里是蒙圈了,没有考虑到还有更长的。要顾头也顾尾。 2 算法分析-贪心 该问题主要考核的是算法设计策略来达到目标的方式。主要的设计策略有:…

python实现图书馆借阅管理系统-文件存储

《面向对象》案例引入 通过本章的学习,请用面向对象思想实现《图书馆借阅管理系统》的登录注册页面和用户信息维护页面和图书借阅页面。 【功能要求】: 1、用面向对象思想改写上一章的《函数模块》案例引入。 2、增加图书借阅页面。 ①学生登录后,可以进入图书借阅页面,实现…