生成模型VAE、GAN和基于流的模型详细对比

在Ian Goodfellow和其他研究人员在一篇论文中介绍生成对抗网络两年后,Yann LeCun称对抗训练是“过去十年里ML最有趣的想法”。尽管GANs很有趣,也很有前途,但它只是生成模型家族的一部分,是从完全不同的角度解决传统AI问题,在本文中我们将对比常见的三种生成模型。

生成算法

当我们想到机器学习时,首先想到的可能是鉴别算法。判别模型是根据输入数据的特征对其标签或类别进行预测,是所有分类和预测解决方案的核心。与这些模型相比生成算法帮助我们讲述关于数据的故事并提供数据是如何生成的可能解释,与判别算法所做的将特征映射到标签不同,生成模型试图预测给定标签的特征。

区别模型定义的标签y和特征x之间的关系,生成模型回答“你如何得到y”的问题。而生成模型模型则是P(Observation/Cause),然后使用贝叶斯定理计算P(Cause/Observation)。通过这种方式,他们可以捕获p(x|y), x给定y的概率,或者给定标签或类别的特征的概率。所以实际上,生成算法也是可以用作分类器的,这可能是因为它们对各个类的分布进行了建模。

生成算法有很多,但属于深度生成模型类别的最流行的模型是变分自动编码器(VAE)、gan和基于流的模型。

VAE

变分自编码器(VAE)是一种生成模型,它“提供潜在空间中观察结果的概率描述”。简单地说,这意味着vae将潜在属性存储为概率分布。

变分自编码器(Kingma & Welling, 2014)或VAE的思想深深植根于变分贝叶斯和图形模型方法。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

图片

标准的自动编码器包括2个相似的网络,一个编码器和一个解码器。编码器接受输入并将其转换为更小的表示形式,解码器可以使用该表示形式将其转换回原始输入。它们将输入转换到的潜在空间以及它们的编码向量所在的空间可能不是连续。这对于生成模型来说是一个问题,因为我们都希望从潜在空间中随机采样,或者从连续潜在空间中生成输入图像的变化。

而变分自编码器具有连续的潜在空间,这样可以使随机采样和插值更加方便。为了实现这一点,编码器的隐藏节点不输出编码向量,而是输出两个大小相同的向量:一个均值向量和一个标准差向量。每一个隐藏的节点都认为自己是高斯分布的。这里的均值和标准差向量的第i个元素对应第i个随机变量的均值和标准差值。我们从这个分布向量中采样,解码器从输入向量的概率分布中随机抽样。这个过程就是随机生成。这意味着即使对于相同的输入,当平均值和标准差保持不变时,实际的编码在每一次传递中都会有所不同。

图片

自编码器的损失是最小化重构损失(输出与输入的相似程度)和潜在损失(隐藏节点与正态分布的接近程度)。潜在损失越小,可以编码的信息就越少,这样重构损失就会增加,所以在潜在损失和重建损失之间是需要进行进行权衡的。当潜在损耗较小时,生成的图像与训练的的图像会过于相似,效果较差。在重构损失小的情况下,训练时的重构图像效果较好,但生成的新图像与重构图像相差较大,所以需要找到一个好的平衡。

VAE可以处理各种类型的数据,序列的和非序列的,连续的或离散的,甚至有标签的或无标签的,这使它们成为非常强大的生成工具。

但是VAE的一个主要缺点是它们生成的输出模糊。正如Dosovitskiy和Brox所指出的,VAE模型往往产生不现实的、模糊的样本。这是由数据分布恢复和损失函数计算的方式造成的。Zhao等人在2017年的一篇论文中建议修改VAEs,不使用变分贝叶斯方法来提高输出质量。

图片

生成对抗的网络

生成对抗网络(GANs)是一种基于深度学习的生成模型,能够生成新内容。GAN架构在2014年Ian Goodfellow等人题为“生成对抗网络”的论文中首次被描述。

GANs采用监督学习方法,使用两个子模型:生成新示例的生成器模型和试图将示例分类为真实或假(生成的)的鉴别器模型。

生成器:用于从问题域生成新的似是而非例子的模型。

鉴频器:用于将示例分类为真实的(来自领域)或假的(生成的)的模型。

这两个模型作为竞争对手进行训练。生成器直接产生样本数据。它的对手鉴别器,试图区分从训练数据中提取的样本和从生成器中提取的样本。这个竞争过程在训练中持续进行,直到鉴别器模型有一半以上的时间无法判断真假,这意味着生成器模型正在生成非常逼真的数据。

图片

当鉴别器成功地鉴别出真假样本时,它会得到奖励它的参数保持不变。如果生成器判断错误则受到惩罚,更新其参数。在理想情况下,每当鉴别器不能分辨出差异并预测“不确定”(例如,50%的真假)时,生成器则能从输入域生成完美的副本。

可灵大模型 可灵大模型

可灵大模型(Kling)是由快手大模型团队自研打造的视频生成大模型

可灵大模型 214 查看详情 可灵大模型

但是这里每个模型都可以压倒另一个。如果鉴别器太好,它将返回非常接近0或1的值,生成器则难以获得更新的梯度。如果生成器太好,它就会利用鉴别器的弱点导致漏报。所以这两个神经网络必须具有通过各自的学习速率达到的相似的“技能水平”,这也是我们常说的GAN难以训练的原因之一。

生成器模型

生成器取一个固定长度的随机向量作为输入,在定义域内生成一个样本。这个向量是从高斯分布中随机抽取的。经过训练后,这个多维向量空间中的点将对应于问题域中的点,形成数据分布的压缩表示,这一步类似于VAE,这个向量空间被称为潜在空间,或由潜在变量组成的向量空间。GAN的生成器将平均选定的潜在空间中的点。从潜在空间中提取的新点可以作为输入提供给生成器模型,并用于生成新的和不同的输出示例。训练结束后,保留生成器模型,用于生成新的样本。

鉴别器模型

鉴别器模型将一个示例作为输入(来自训练数据集的真实样本或由生成器模型生成),并预测一个二进制类标签为real或fake(已生成)。鉴别器是一个正常的(并且很容易理解的)分类模型。

训练过程结束后,鉴别器被丢弃,因为我们感兴趣的是生成器。当然鉴别器也可用于其他目的使用

GANs可以产生可行的样本但最初版GAN也有缺点:

图像是由一些任意的噪声产生的。当生成具有特定特征的图片时,不能确定什么初始噪声值将生成该图片,而是需要搜索整个分布。GAN只区别于“真实”和“虚假”图像。但是没有约束说“猫”的照片必须看起来像“猫”。因此,它可能导致生成的图像中没有实际的对象,但样式看起来却很相似。GANs需要很长时间来训练。一个GAN在单个GPU上可能需要几个小时,而单个CPU可能需要一天以上的时间。

基于流的模型

基于流的生成模型是精确的对数似然模型,有易处理的采样和潜在变量推理。基于流的模型将一堆可逆变换应用于来自先验的样本,以便可以计算观察的精确对数似然。与前两种算法不同,该模型显式地学习数据分布,因此损失函数是负对数似然。

图片

在非线性独立分量分析中,流模型f被构造为一个将高维随机变量x映射到标准高斯潜变量z=f(x)的可逆变换。流模型设计的关键思想是它可以是任意的双射函数,并且可以通过叠加各个简单的可逆变换来形成。总结来说:流模型f是由组成一系列的可逆流动作为f(x) =f1◦···◦fL(x),与每个fi有一个可处理的逆和可处理的雅可比矩阵行列式。

基于流的模型有两大类:带有标准化流模型和带有试图增强基本模型性能的自回归流的模型。

标准化流模型

对于许多机器学习问题来说,能够进行良好的密度估计是必不可少的。但是它在本质上是复杂的:当我们需要在深度学习模型中进行反向传播时,嵌入的概率分布需要足够简单,这样才可以有效地计算导数。传统的解决方案是在潜变量生成模型中使用高斯分布,尽管大多数现实世界的分布要复杂得多。标准化流(NF)模型,如RealNVP或Glow,提供了一个健壮的分布近似。他们通过应用一系列可逆变换函数将一个简单的分布转化为一个复杂的分布。通过一系列的变换,根据变量变换定理,可以反复地用新变量替换原变量,最后得到最终目标变量的概率分布。

自回归流的模型

当标准化流中的流动变换被框定为一个自回归模型,其中向量变量中的每个维度都处于先前维度的条件下,流模型的这种变化称为自回归流。与具有标准化流程的模型相比,它向前迈进了一步。

常用的自回归流模型是用于图像生成的PixelCNN和用于一维音频信号的WaveNet。它们都由一堆因果卷积组成——卷积运算考虑到顺序:在特定时间戳的预测只使用过去观察到的数据。在PixelCNN中,因果卷积由一个带掩码的积核执行。而WaveNet将输出通过几个时间戳转移到未来时间。

图片

基于流的模型在概念上对复杂分布的建模是非常友好的,但与最先进的自回归模型相比,它受到密度估计性能问题的限制。尽管流模型最初可能会替代GANs产生良好的输出,但它们之间的训练计算成本存在显著差距,基于流的模型生成相同分辨率的图像所需时间是GANs的几倍。

总结

每一种算法在准确性和效率方面都有其优点和局限性。虽然GANs和基于流程的模型通常生成比VAE更好或更接近真实的图像,但后者比基于流程的模型更具有更快时间和更好的参数效率,下面就是三个模型的对比总结:

图片

可以看到GAN因为并行所以它的效率很高,但它并不可逆。相反,流模型是可逆的但是效率却不高,而vae是可逆并且高效的,但不能并行计算。我们可以根据这些特性,在实际使用时根据产出、训练过程和效率之间进行权衡选择。

以上就是生成模型VAE、GAN和基于流的模型详细对比的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/567969.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月10日 04:26:08
下一篇 2025年11月10日 04:30:32

相关推荐

  • html搜索框如何跳转_实现HTML搜索框跳转搜索结果【结果】

    HTML搜索框跳转失败多因表单action或参数错误,可通过五种方法解决:一、百度用form提交至https://www.baidu.com/s?q=关键词;二、Google类似,action为https://www.google.com/search;三、JavaScript拼接必应URL并loc…

    2025年12月23日
    200
  • 从OpenAI API JSON响应中高效提取生成文本内容

    本教程详细指导开发者如何从openai api返回的json格式响应中准确提取生成的文本。通过利用`json.parse()`方法解析响应字符串,并访问`choices[0].text`属性,可以安全、高效地获取核心文本内容,从而避免直接字符串操作的潜在问题,确保api数据处理的健壮性。 OpenA…

    2025年12月23日
    000
  • HTML语义化未来趋势有哪些_HTML语义化在Web发展中的趋势与展望

    HTML语义化正朝着智能、高效、包容发展,深度融合结构化数据与ARIA属性,提升机器理解;2. 组件化趋势推动可复用语义结构普及,Web Components实现自定义语义标签;3. 语义化助力性能优化与可访问性,支持懒加载与内容优先级划分;4. AI工具将自动生成语义化代码并辅助检测,降低实践门槛…

    2025年12月23日
    000
  • 如何用HTML插入标签云组件_HTML CSS3变换与随机颜色生成算法

    使用HTML构建标签结构,CSS3添加旋转与过渡效果,JavaScript生成随机HSL颜色并设置字体大小,实现动态交互的标签云组件。 要在网页中实现一个动态的标签云组件,结合 HTML、CSS3 变换和随机颜色生成算法,可以按照以下步骤操作。这个组件不仅能提升页面视觉效果,还能通过色彩和旋转增加交…

    2025年12月23日
    000
  • HTML数据如何用于机器学习 HTML数据预处理的特征工程方法

    首先解析HTML提取文本与元信息,再从结构、文本、样式三方面构建特征:1. 用BeautifulSoup等工具解析HTML,提取标题、正文、链接及属性;2. 统计标签频率、DOM深度、路径模式等结构特征;3. 清洗文本并采用TF-IDF或词嵌入向量化;4. 提取class、id、样式、脚本等交互与视…

    2025年12月23日
    000
  • 如何在Go Gin应用中集成前端JavaScript模块(如Sentry)

    本文探讨了在Go Gin框架下,通过HTML模板服务前端页面时,如何有效集成JavaScript模块(如Sentry)。针对浏览器不直接支持Node.js模块导入语法的问题,文章详细阐述了利用CDN引入Sentry SDK的解决方案,并提供了具体的代码示例,帮助开发者实现前端错误监控功能,避免了复杂…

    2025年12月23日
    000
  • HTML数据如何实现数据智能 HTML数据智能分析的技术架构

    实现HTML数据智能分析需构建包含采集、解析、存储、分析与可视化的闭环系统,首先通过爬虫技术获取网页数据并进行清洗标准化,接着利用DOM树分析与NLP技术提取结构化信息,随后将数据存入合适数据库或数据仓库并建立元数据管理机制,进而应用AI模型开展分类、情感分析、趋势预测与知识图谱构建等智能分析,最终…

    2025年12月23日
    000
  • html官网浏览入口_html网站设计免费平台

    html官网浏览入口在https://www.codepen.io,该平台支持实时预览代码、创建Pen项目、Fork开源示例,可添加外部资源,具备点赞评论收藏等社区互动功能,设有挑战活动与作品集分类,开放API接口,界面简洁适合初学者,在线编写无需配置环境,支持多种预处理器和响应式测试。 html官…

    2025年12月23日
    000
  • HTML5 section怎么用_HTML5内容分区标签应用场景说明

    在HTML5中,标签用于定义文档中具有明确主题的独立内容区块,需包含标题以体现其结构性与语义性,常用于文章章节、产品模块等场景,区别于无语义的和可独立分发的。 在HTML5中,section 标签用于定义文档中的一个独立内容区块。它不是简单的容器,而是有语义的结构化标签,表示文档中一个主题性的分区,…

    2025年12月23日
    000
  • htm算法 前景如何_分析HTM算法应用前景

    HTM算法在实时异常检测、预测性维护等时序数据场景中具备应用价值,其无需大量标注数据的特性适合工业监控、网络安防等领域;但受限于生态薄弱、性能不及主流模型及工程实现难度,短期内难以成为主流,更可能作为边缘计算或AI系统补充技术,在特定专业领域持续发展。 HTM(Hierarchical Tempor…

    2025年12月23日
    000
  • HTML结构化数据怎么添加_Schema标记添加教程

    Schema标记通过结构化数据帮助搜索引擎理解网页内容,提升搜索结果展示效果,如添加星级评分、价格等富文本信息。使用JSON-LD或Microdata格式将符合Schema.org标准的类型(如Article、Product)嵌入HTML中,可增强SEO,需通过Google Rich Results…

    2025年12月22日
    000
  • 如何实现自定义提示

    掌握自定义提示需构建迭代工作流,通过明确目标、设定角色、提供上下文、结构化输出、示例引导、迭代优化、负面提示和链式思考,实现AI输出的精准控制与高效协同。 实现自定义提示,核心在于理解与AI模型交互的本质,并将其从“提问”升级为“引导”。它不是简单的抛出问题,而是通过精心设计的语言结构、上下文信息、…

    2025年12月22日
    000
  • 标题标签:你想知道的一切

    html,用于构建网页的语言,严重依赖于标头标签。它们用于排列和组织网页内容,使其更易于阅读和理解。标题标签范围从 h1 到 h6。 h1 是最重要的标题标签,而 h6 是最不重要的。这些标题标签有助于组织页面的内容,使其更易于阅读和导航。它们还用于告知用户和搜索引擎有关页面内容的信息,这对于 se…

    2025年12月21日
    000
  • html如何修改日期样式

    在html中,可以使用“::-webkit-datetime-edit”伪元素选择器来修改日期格式,只需要用该选择器选中元素,在设置具体样式即可,具体语法为“::-webkit-datetime-edit{属性:属性值}”。 本教程操作环境:windows7系统、CSS3&&HTML…

    2025年12月21日
    100
  • 单选框的type属性值为什么

    单选框的type属性值为“radio”。html type属性可以规定要显示的输入框“”元素的类型;值为“radio”时显示为单选框、“checkbox”时显示为复选框、“select”时显示为下拉式选框等等。 本教程操作环境:windows7系统、HTML5版、Dell G3电脑。 在HTML中,…

    2025年12月21日
    000
  • HTML中type是什么意思

    在HTML中,type是类型的意思,是一个标签属性,主要用于定义标签元素的类型或文档(脚本)的MIME类型;例在input标签中type属性可以规定input元素的类型,在script标签中type属性可以规定脚本的MIME类型。 本教程操作环境:windows7系统、html5版、Dell G3电…

    2025年12月21日
    000
  • HTML中ul标签如何去掉点?HTML无序列表的样式实例解析

    本篇文章主要讲述的是关于html中的ul标签的默认小点给取消掉,还有关于html的无序列表ul标签的样式解释,给出了ul标签中的type属性三种值的介绍。现在就让我们一起来看本篇文章吧 首先这篇文章一开始我们就开始介绍在html中是怎么把ul标签的点给去掉的: 大家应该都使用过ul无序列表标签,ul…

    2025年12月21日 好文分享
    000
  • html中的ol标签如何去掉标号呢?标签的使用方法总结

    本篇文章介绍了html的ol标签是怎么去掉序号标号的,这里还有代码的详细解释,还有介绍了关于html ol有序列表标签如何更改序号,下文介绍了三种序号,大家也可以自己去想填写怎样的序号。现在来看这篇文章吧 一、我们先看看html中的ol标签是如何去掉标号的呢: 我们都知道html的ol标签是个有序列…

    2025年12月21日 好文分享
    000
  • HTML ul标签的什么意思?HTML ul标签的作用详解

    本篇文章主要的为大家讲解了关于html ul标签的三种重要的用法,还有关于html ul标签的解释,包含li标签的还有type属性对ul标签的使用情况,好了,下面大家一起来看文章吧 首先让我们先来解释一下HTML ul标签的意思: ul标签定义的是表格当中无序列表,表格当中的无序列表都是在 标签之中…

    2025年12月21日
    000
  • javascript框架和库是什么_如何选择React、Vue或Angular?

    JavaScript框架与库分别提供按需调用的功能集合和约束性开发结构;React是UI组件库,生态灵活但需自行整合工具;Vue渐进式易上手,兼顾原型与工程化;Angular是全功能TypeScript框架,适合强规范企业级项目。 JavaScript框架和库是封装好的代码集合,用来简化前端开发——…

    2025年12月21日
    000

发表回复

登录后才能评论
关注微信