当前位置:首页 > 文章列表 > 科技周边 > 人工智能 > 生成模型VAE、GAN和基于流的模型详细对比

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

来源:51CTO.COM 2023-04-28 10:40:51 0浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《生成模型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的思想深深植根于变分贝叶斯和图形模型方法。

图片

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

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

图片

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

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

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

图片

生成对抗的网络

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

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

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

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

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

图片

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

但是这里每个模型都可以压倒另一个。如果鉴别器太好,它将返回非常接近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和基于流的模型详细对比》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多科技周边知识!

版本声明
本文转载于:51CTO.COM 如有侵犯,请联系study_golang@163.com删除
微软透露了有关Windows 11和10上的DCOM强化的更多信息微软透露了有关Windows 11和10上的DCOM强化的更多信息
上一篇
微软透露了有关Windows 11和10上的DCOM强化的更多信息
AI作画再引争议 瑞典艺术家称人工智能是“最恶毒的技术”
下一篇
AI作画再引争议 瑞典艺术家称人工智能是“最恶毒的技术”
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    508次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    497次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • SEO标题魔匠AI:高质量学术写作平台,毕业论文生成与优化专家
    魔匠AI
    SEO摘要魔匠AI专注于高质量AI学术写作,已稳定运行6年。提供无限改稿、选题优化、大纲生成、多语言支持、真实参考文献、数据图表生成、查重降重等全流程服务,确保论文质量与隐私安全。适用于专科、本科、硕士学生及研究者,满足多语言学术需求。
    10次使用
  • PPTFake答辩PPT生成器:一键生成高效专业的答辩PPT
    PPTFake答辩PPT生成器
    PPTFake答辩PPT生成器,专为答辩准备设计,极致高效生成PPT与自述稿。智能解析内容,提供多样模板,数据可视化,贴心配套服务,灵活自主编辑,降低制作门槛,适用于各类答辩场景。
    26次使用
  • SEO标题Lovart AI:全球首个设计领域AI智能体,实现全链路设计自动化
    Lovart
    SEO摘要探索Lovart AI,这款专注于设计领域的AI智能体,通过多模态模型集成和智能任务拆解,实现全链路设计自动化。无论是品牌全案设计、广告与视频制作,还是文创内容创作,Lovart AI都能满足您的需求,提升设计效率,降低成本。
    25次使用
  • 美图AI抠图:行业领先的智能图像处理技术,3秒出图,精准无误
    美图AI抠图
    美图AI抠图,依托CVPR 2024竞赛亚军技术,提供顶尖的图像处理解决方案。适用于证件照、商品、毛发等多场景,支持批量处理,3秒出图,零PS基础也能轻松操作,满足个人与商业需求。
    34次使用
  • SEO标题PetGPT:智能桌面宠物程序,结合AI对话的个性化陪伴工具
    PetGPT
    SEO摘要PetGPT 是一款基于 Python 和 PyQt 开发的智能桌面宠物程序,集成了 OpenAI 的 GPT 模型,提供上下文感知对话和主动聊天功能。用户可高度自定义宠物的外观和行为,支持插件热更新和二次开发。适用于需要陪伴和效率辅助的办公族、学生及 AI 技术爱好者。
    36次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码