生成式 AI - Diffusion 模型的数学原理(5)

来自 论文《 Denoising Diffusion Probabilistic Model》(DDPM)
论文链接: https://arxiv.org/abs/2006.11239
Hung-yi Lee 课件整理

在这里插入图片描述
讲到这里还没有解决的问题是,为什么这里还要多加一个噪声。Denoise模型算出来的是高斯分布的均值,做sample的时候考虑需要加上一个噪声,代表说考虑高斯分布的方差这一项。为什么不直接取均值呢?
在这里插入图片描述
同样的问题你也可以问,为什么语言模型在产生问句的时候,一定要做sample,为什么我们先产生一个有可能的分布,再从这个分布中sample出文字呢?取概率最大的就行,有人说做sample的好处是你每次问同一个问题,chatgpt的答案都不一样,当你问某个人有没有打疫苗,chatgpt有时候会说有有时候会说没有,就可以制造很多假新闻。
为什么一定要这样呢,为什么不能固定住去概率最大的呢?让模型每次都回答概率最大的句子,为什么需要有随机性?

在这里插入图片描述
这个问题之前就有人提出来了,这篇文章发现如果取概率最大的句子和词汇,那么输出的结果会是不断重复的句子,机器就会不断地跳帧,讲重复的话,虽然做sampling机器会说一些奇怪的话,和跳帧比起来sample的结果更好,为什么呢?他做了一个分析。
在这里插入图片描述
我们来看看人写的句子吧,橙色的线代表的是人写的句子,右边是人写的一篇文章,用我们的语言模型来计算人写的每一个单词的概率,发现人写出来的文章用字遣词并不是选概率最大的词汇。
我们让机器每一步都产生概率最大的词汇,发现它一直在不断地讲重复的话。
在做生成模型的时候概率最大的结果未必是最好的结果。
这是在文字上的观察。

在这里插入图片描述
实际上在语音合成模型上也有类似的规律。
在语音合成模型的推理阶段使用dropout效果很好,这个和我们想象的不太一样,我们一般是在训练阶段过拟合的时候才加dropout。
这篇文章里写到,为了引入输出结果的多变性,在推理的某一层加了dropout。

在这里插入图片描述
diffusion 模型其实是一种自回归模型,自回归的模型是一次到位,这样通常产生的结果不够好,我们把它改成N次到位,这就是diffusion模型的概念。
所以在做Denoise的时候就好比是自回归里面的一个step,在做自回归的时候每个step我们都要加一点噪声,加一点随机性结果才会好,所以在做Denoise的时候我们要加一点随机性,这样结果才会好。
在这里插入图片描述
李教授找助教做实验验证了,如果像论文里一样加噪声会生成小女孩头像这样正常的图片,把噪声去掉就只会产生一张黄色的图片。

在这里插入图片描述
到这里就是diffusion模型的全部玄机了。
训练的时候为什么不是一次一次地加噪声,顺便讲了什么sampling的时候需要加噪声。

在这里插入图片描述
diffusion模型不是只用在图像上,在语音合成任务上也可以。
这里没有什么好讲的,和图像几乎是一样的,图像的输入是2维的,在语音上变成了1维的,从一个完全高斯的杂训一步一步做Denoise,把它变成一段声音。
其中比较知名的方法就是WavGrad
基本上和DDPM没有什么差别。
在这里插入图片描述
但是把diffusion模型直接用在文字上就很困难了,我们没办法直接在文字上加噪声,文字是描述性的,没把法在描述性的东西上加噪声让它看不出来是什么。
有一些提法是把噪声加在word embedding上,就这样。
有几篇论文这样做的,比如diffusion-LM。
在这里插入图片描述
还有这篇论文 DiffuSeq,它是一个seq2seq的模型,是在latent representation上加噪声。

在这里插入图片描述

还有这篇论文,假设加高斯噪声是不行的,能不能加其他类型的噪声加到文字上?
这篇论文里面的噪声分布全部都是 [ m a s k ] [mask] [mask],然后再慢慢把有 [ m a s k ] [mask] [mask]的地方填充回来。

写在最后
diffusion模型最大的成功是把自回归的一步到位改为了N步到位。

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

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

相关文章

【VTKExamples::PolyData】第三十八期 Outline

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享VTK样例Outline,并解析接口vtkOutlineFilter,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 1. Outline // Create…

Sora的潜力与影响:对视频制作、广告、娱乐等行业的深度解析

随着技术的飞速发展,OpenAI推出的Sora模型已经引起了广泛关注。作为一款强大的视频生成工具,Sora不仅改变了视频制作的传统模式,更对广告、娱乐等多个行业产生了深远影响。本文将深度解析Sora的潜力与影响,探讨其在视频制作、广告…

Python自定义logger模块(附Demo)

目录 1. 内置logger2. 自定义logger 1. 内置logger Python标准库中的logging模块提供了日志记录的功能 允许开发者通过创建日志记录器、处理程序和格式化器来控制日志的生成和输出 以下是logging模块的一些主要组件和概念: 日志记录器 (Logger):整个…

Vue(Day01)——第一个Vue程序

直接引用的网址方式&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><script src"https://u…

python opencv鼠标操作图片

目录 一:图片垂直移动 二:图片水平移动 三:图片缩放 鼠标操作函数: 你可以使用 cv2.setMouseCallback() 函数来为一个特定的窗口设置一个鼠标事件回调函数。这样,每当鼠标在该窗口上执行某种动作(如移动、点击、双击等)时,该回调函数就会被调用,并且会传递一些参数…

Canvas动画之豌豆射手

&#x1f339;作者主页&#xff1a;青花锁 &#x1f339;简介&#xff1a;Java领域优质创作者&#x1f3c6;、Java微服务架构公号作者&#x1f604; &#x1f339;简历模板、学习资料、面试题库、技术互助 &#x1f339;文末获取联系方式 &#x1f4dd; 往期热门专栏回顾 专栏…

linux 面试题

1.linux操作系统的常用指令可以详细说下吗,平常哪些用的比较多 文件目录操作命令: ls cd more cat tail mkdir touch rm rmdir 拷贝复制: cp mv 打包解包压缩解压: tar -z 解亚压缩 -c 打包 -x 解包 -v 显示过程 -f 指定文件名 文本编辑: vi vim 查找: find 查找文件 gre…

Fl Studio 20.9.2.2963 中文破解版2024永久版下载(含Keygen)

FL Studio20.9是一款流行的图像线软件制作和编辑音频文件。作为一款领先的创新产品&#xff0c;该软件能够满足在创作音乐方面的需求。有了这个产品&#xff0c;可以完成制作音乐的整个过程。可以使用这个软件进行写作&#xff0c;编辑&#xff0c;录音&#xff0c;编辑和混合和…

DP读书:《工程热力学(第二版)》(一)绪论——能量及其利用

DP读书&#xff1a;《工程热力学&#xff08;第二版&#xff09;》绪论 0.1 能量及其利用 热力学——研究对象&#xff1a;能量 能量 物质能量传递 普遍规律 能源&#xff1a;直接提供能量的物质资源 一次能源&#xff1a;热能占比85% 直接利用——>冶金、采暖、炊煮 …

第九届蓝桥杯省赛C++ / JAVA A组《航班时间》(c++)

1.题目说明 小 h 前往美国参加了蓝桥杯国际赛。 小 h 的女朋友发现小 h 上午十点出发&#xff0c;上午十二点到达美国&#xff0c;于是感叹到“现在飞机飞得真快&#xff0c;两小时就能到美国了”。 小 h 对超音速飞行感到十分恐惧。 仔细观察后发现飞机的起降时间都是当地…

Linux C 统计函数执行时间

Linux C 统计函数执行时间 代码实现 #include <stdio.h> #include <time.h>int main(void) {clock_t start, end;double cpu_time_used;start clock();/* function to be test here */end clock();cpu_time_used ((double) (end - start)) / CLOCKS_PER_SEC;p…

2024Node.js零基础教程(小白友好型),nodejs新手到高手,(九)NodeJS入门——http模块

060_http模块_网页URL之绝对路径 hello&#xff0c;大家好&#xff0c;这一个小题的话我们来补充一个之前学习过的内容&#xff0c;就是网页当中的URL&#xff0c;咱们这个小题的话主要是来说一下绝对路径&#xff0c;有同学可能会说&#xff0c;这这这&#xff0c;不对劲&…

抽象的后端

Connection refused: no further information 出现这条代码的核心是你使用redis&#xff0c;但是本地没有开启redis服务 如何启动redis服务 第一步&#xff1a;确定你安装了对应的框架 以spring为例 <dependency><groupId>org.springframework.boot</group…

架构设计实践:熟悉架构设计方法论,并动手绘制架构设计图

文章目录 一、架构设计要素1、架构设计目标2、架构设计模式&#xff08;1&#xff09;分而治之&#xff08;2&#xff09;迭代式设计 3、架构设计的输入&#xff08;1&#xff09;概览&#xff08;2&#xff09;功能需求 - WH分析法&#xff08;3&#xff09;质量 - “怎么”分…

代码随想录三刷day09

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、力扣242. 有效的字母异位词二、力扣349. 两个数组的交集三、力扣202. 快乐数 前言 当我们遇到了要快速判断一个元素是否出现集合里的时候&#xff0c;就要考…

数学的维度智慧

1.引入 在生活中&#xff0c;我们常常会提到一维&#xff0c;二维&#xff0c;三维&#xff0c;而按照常识&#xff0c;我们也知道一维指的是线&#xff0c;二维指的是面&#xff0c;三维指的是空间&#xff0c;而引申的四维&#xff0c;便是在空间的维度上添加了时间维度&…

卡玛网● 46. 携带研究材料 ● 01背包问题,你该了解这些! 滚动数组 力扣● 416. 分割等和子集

开始背包问题&#xff0c;掌握0-1背包和完全背包即可&#xff0c;注&#xff1a;0-1背包是完全背包的基础。 0-1背包问题&#xff1a;有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i]&#xff0c;得到的价值是value[i] 。每件物品只能用一次&#xff0c;求…

Windows计划任务执行日志和文件输出路径修改

在日常工作中&#xff0c;针对需重复执行的操作&#xff0c;通常都会使用系统的任务计划程序功能&#xff1b; 1、大家可以运行中&#xff0c;执行taskschd.msc来调用任务计划程序对话窗口&#xff0c;也可以在服务器管理的-工具菜单中-选择任务计划程序来调用对话窗口。 2、…

投票项目_引入Echart 绘制饼状图

1. 后端接口返回查到的数据 GetMapping("/listResult/{id}")ApiOperation("显示投票结果接口")public R<List<Map<String, Object>>> listTaskVote(PathVariable String id) {log.info("传来的id:", id);List<Map<Strin…

FastBee商业版本源码获取下载

一、系统功能 系统功能功能说明开源版本商业版本产品管理产品详情、产品物模型、产品分类、设备授权、产品固件支持支持设备管理设备详情、设备分组、设备日志、设备分享、设备实时控制、实时状态、数据监测支持支持物模型管理属性&#xff08;设备状态和监测数据&#xff09;…