stable diffusion为什么能用于文本到图像的生成

这篇具有很好参考价值的文章主要介绍了stable diffusion为什么能用于文本到图像的生成。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

stable diffusion为什么能用于文本到图像的生成,stable diffusion,人工智能,文本生成图像,txt 2 img

 

推荐基于稳定扩散(stable diffusion) AI 模型开发的自动纹理工具: DreamTexture.js自动纹理化开发包 - NSDT

稳定扩散获得如此多关注的原因

如果你还没有看过它:稳定扩散是一个文本到图像的生成模型,你可以输入一个文本提示,比如“一个人一半尤达一半甘道夫”,然后接收一个图像(512x512像素)作为输出,如下所示:

stable diffusion为什么能用于文本到图像的生成,stable diffusion,人工智能,文本生成图像,txt 2 img

提示:一个人一半尤达一半甘道夫,幻想绘画在artstation上流行

结果看起来像 DALL-E 2 甚至更好,这本身已经很棒了,但它变得更好:它的计算效率非常高,可以在只需要大约 8-10GB 内存的消费级 GPU 卡上运行。它的训练效率也比过去的模型更高(唉,如果你不能使用很多GPU,它仍然太贵了)。

除了计算效率之外,结果看起来也很棒。事实上,正如上面引用的论文所解释的那样,它们在图像基准测试中达到了几个新的高分,例如图像修复和类条件图像合成。

最好的部分是:这是完全开源的。这包括代码、模型权重以及将其用于任何人的权利,目的是使任何人的创造力民主化。

关于它的名字 stable diffusion 的稳定部分是,名为 Stability 的赞助商提供了大量的 GPU 计算来将该模型训练到当前状态(在 512x512px 图像上进行了微调),然后将其开源。

深入了解:稳定扩散是如何工作的?

我非常喜欢分层学习,所以我们将从高级视图开始,然后深入研究各个部分。

高级视图

该系统分为三个部分:

  • 一种语言模型,它将您输入的文本提示转换为一种表示形式,该表示形式可以馈送到扩散模型并通过交叉注意力机制使用。他们使用带有转换器的“现成”BERT 分词器来处理这部分,所以我不会更深入地介绍它。
  • 扩散模型基本上是一个时间条件 U-Net(有关 U-Net 的详细信息,请查看此处),它采用一些高斯噪声和文本提示的表示作为输入,并对高斯噪声进行去噪以更接近您的文本表示。这重复了好几次,这就是为什么它被称为时间条件。
  • 一种解码器,用于获取扩散模型的输出并将其放大为完整图像。扩散模型在 64x64px 上运行,解码器将其带到 512x512px。

stable diffusion为什么能用于文本到图像的生成,stable diffusion,人工智能,文本生成图像,txt 2 img

文本到图像生成的插图(由作者制作)。语言模型创建文本提示的嵌入。它与一些随机噪声一起输入扩散模型。扩散模型将其向嵌入方向去噪。这重复了几次。最后,解码器将图像放大到更大的尺寸。

扩散模型的高级视图

扩散模型的想法是拍摄图像并添加一点高斯噪声,从而获得略带噪点的图像。 然后重复该过程,因此在略微嘈杂的图像中,您再次添加一点高斯噪声以获得更嘈杂的图像。 重复此操作数次(最多 ~1000 次)以获得完全嘈杂的图像。

在这样做时,您知道每个步骤的原始图像(或略带噪点的图像)及其嘈杂的版本。

然后,你训练一个神经网络,该神经网络获取噪声较大的示例作为输入,并具有预测图像的降噪版本的任务。

stable diffusion为什么能用于文本到图像的生成,stable diffusion,人工智能,文本生成图像,txt 2 img

扩散过程的图示(由作者制作):从左到右,您不断向图像添加高斯噪声。然后,模型从右到左学习以对其进行降噪。

在许多不同的步骤中,神经网络学习以重复的方式对非常嘈杂的图像进行降噪以获得原始图像。

高水平培训

在训练过程中,还存在一个编码器,它是上述解码器的对应部分。

编码器和解码器共同构成一个自动编码器。

编码器的目标是将输入图像转换为具有高度语义的下采样表示,但去除了与手头图像不太相关的高频视觉噪声。

stable diffusion为什么能用于文本到图像的生成,stable diffusion,人工智能,文本生成图像,txt 2 img

自动编码器的插图(由作者制作):编码器找到图像的更小的表示形式,但保留了语义含义。解码器以尽可能少的损失从有效表示中重新获得图像的原始版本。

这里的诀窍是,他们将编码与训练扩散模型解耦。这样,可以训练自动编码器以获得最佳图像表示,然后可以在下游的几个扩散模型上进行所谓的潜在表示(这只是以语义上有意义的方式表示的图像,但像素少 64 倍)。

这样一来,在像素空间上训练扩散模型时,在原始图像空间上的计算量需要比以前少 64 倍。这是完全相关的,因为正如我们稍后将看到的,扩散模型的训练和推理是最昂贵的部分。

因此,培训分两个阶段进行:

  • 训练自动编码器,用于处理图像表示的压缩和解压缩
  • 在自动编码器的编码器生成的潜在因素上训练扩散模型(这与文本表示/注意力部分相结合)

组件的详细视图

训练自动编码器

自动编码器的训练有两个损失:

  • 像素空间上的感知损失
  • 基于补丁的对抗性损失,可强制执行局部真实感并避免模糊

它通过一个因子对图像进行下采样,该因子已在论文中使用许多不同的值进行了测试,并且权衡了 OR 是好的。ff=4f=8

除了损耗之外,正则化还应用于自动编码器。这里可以使用两种不同的形式:

  • Kullback-Leibler 惩罚,用于将学习到的潜伏子与过去潜伏子的标准正态对齐,以确保潜伏子的方差不会太高
  • 解码器中的矢量量化层;这就像定义原型一样N

有时他们使用KL惩罚,有时在训练不同的扩散模型时使用向量量化。对我来说,尚不完全清楚何时一个或另一个更好。 似乎对于文本到图像合成模型,使用了KL惩罚。

扩散模型的训练

考虑到使图像产生噪声或在逆过程中对其进行降噪的连续步骤数,这可以描述为马尔可夫链,因为每个时间步骤仅取决于直接后继者,而没有其他任何内容。

stable diffusion为什么能用于文本到图像的生成,stable diffusion,人工智能,文本生成图像,txt 2 img

扩散模型的训练过程图示(由作者制作)。具有现有标题的图像用于训练。噪声在连续的时间步长中添加到编码图像中。文本标题由语言模型嵌入。扩散模型接收图像的噪声版本和文本嵌入,并需要预测图像的上一个时间步长。梯度下降用于预期图像与扩散模型预测之间的像素差。

为了训练它,幸运的是,你有可以有效地生成的前向步骤,所以你可以确切地知道给定图像在时间步长和时间步长上看起来如何。NN+1

然后,将时间步长的图像传递到网络,并期望它返回时间步长的图像。对于损失,您考虑了网络预测与时间步长图像之间的像素差异。N+1NN

图像上的噪声越多,网络在不太相关的视觉特征上花费的就越多,因此通常在较早的时间步长比在较晚的时间步长采样的示例更多。

等等,但为什么这会产生所有这些创造性的艺术?!

所以,你们问自己的真正问题当然是:魔法从何而来?

正如我所描述的,它是一个复杂的系统,由三部分组成——自动编码器、文本嵌入的语言模型和潜在扩散模型。

所有这些部分都是在大量图像或图像/文本对上训练的,因此自动编码器和语言模型的嵌入非常复杂,涵盖了我们人类的大部分语义空间。然后,当通过新的文本提示将概念组合在一起时,这些概念会组合成一个涵盖这一点的嵌入。潜在扩散模型本身经过训练,可以从噪声中发现图像,但受这种嵌入的引导,因此它将创造性的嵌入概念推向图像表示。最后,解码器有助于将潜在表示带入更放大和人类可见的版本(并且它还在数百万张图像上进行了训练!

我认为魔力在于在培训期间学到的概念的重叠/可组合性。例如,有些图像是半男半女或类似的东西,所以学习了一半/一半的概念。许多其他图像都包含《星球大战》/尤达的部分内容,因此学习了尤达的概念。然后其他图像了解了甘道夫。当最终将所有这些组合到一个提示中时,系统会尝试将所有这些知识集成到最有可能看起来像这样的图像中。因此,创建了本文中的图像。

总结

意识到要加速扩散模型,您应该减少像素空间,因为它被反复使用(在马尔可夫链方法中),因此变得昂贵,这是向前迈出的一大步。事实上,它不仅减少了像素空间,而且通过预先的自动编码器学习了良好的表示/嵌入,它仍然具有所有语义和语义的视觉表示。

以单独的方式进行,以便单独训练自动编码器,从而可以灵活地训练多个不同的扩散模型,这些模型针对特殊任务进行了调整。

将其与交叉注意力步骤中的其他输入相结合,对于实现快速且具有视觉吸引力的文本到图像生成模型的惊人效果至关重要。

但是,除了使用文本提示之外,还可以使用其他输入/嵌入。例如,作者展示了如何使用粗略的分割草图,然后通过模型将其转换为美丽的图像,以及更多诸如从图像中删除人物之类的东西(想想Photoshop魔杖超级高级工具):

stable diffusion为什么能用于文本到图像的生成,stable diffusion,人工智能,文本生成图像,txt 2 img

摘自论文的图 22:从图像中去除物体的潜在扩散模型。

希望这篇关于稳定扩散的博客文章能让你对所使用的概念有一个很好的概述。

转载:stable diffusion为什么能用于文本到图像的生成 (mvrlink.com)文章来源地址https://www.toymoban.com/news/detail-773804.html

到了这里,关于stable diffusion为什么能用于文本到图像的生成的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言文本为什么不包括库函数和预处理命令

    C语言的文本不包括库函数和预处理命令 是因为库函数和预处理命令并不是C语言本身的一部分, 它们是由 C语言标准库 和 预处理器 提供的功能。 C语言 标准库 是一组预定义的函数和常量, 用于提供常见的功能,如输入输出、字符串处理、数学计算等。 这些库函数是由C语言

    2024年02月09日
    浏览(46)
  • 五分钟了解GPT 模型背后的原理是什么?为什么 GPT 模型能生成有意义的文本?为什么 GPT 模型不会做简单的数学题?为什么有人担心 GPT 模型可能会危害人类?

    由于 GPT 模型的相关内容非常丰富,所以我计划对它进行更加深入的学习和研究,并把它应用到自己的工作、生活和学习中,用来提高工作效能,改善生活质量,提升学习效果。 按照第一性原理,在开始实战演练之前,我认为有必要先了解一下 GPT 模型背后的原理,这样才能

    2024年02月07日
    浏览(65)
  • Stable-Diffusion深度学习文本到图像生成模型

    https://zh.wikipedia.org/zh-cn/Stable_Diffusion https://en.wikipedia.org/wiki/Stable_Diffusion https://github.com/Stability-AI/stablediffusion Stability AI https://github.com/CompVis/stable-diffusion Stable Diffusion是2022年发布的深度学习文本到图像生成模型。 它主要用于根据文本的描述产生详细图像,尽管它也可以应用于

    2024年02月11日
    浏览(50)
  • Amazon SageMaker + Stable Diffusion 搭建文本生成图像模型

    如果我们的 计算机视觉 系统要真正理解视觉世界,它们不仅必须能够识别图像,而且必须能够生成图像 。 文本到图像的 AI 模型仅根据简单的文字输入就可以生成图像 。 近两年,以ChatGPT为代表的AIGC技术崭露头角,逐渐从学术研究的象牙塔迈向工业应用的广阔天地。随着下

    2024年04月09日
    浏览(47)
  • 扩散模型实战(十):Stable Diffusion文本条件生成图像大模型

     扩散模型实战(一):基本原理介绍 扩散模型实战(二):扩散模型的发展 扩散模型实战(三):扩散模型的应用 扩散模型实战(四):从零构建扩散模型 扩散模型实战(五):采样过程 扩散模型实战(六):Diffusers DDPM初探 扩散模型实战(七):Diffusers蝴蝶图像生成实

    2024年02月03日
    浏览(62)
  • Stable Diffusion复现——基于 Amazon SageMaker 搭建文本生成图像模型

    众所周知, Stable Diffusion扩散模型的训练和推理非常消耗显卡资源 ,我之前也是因为资源原因一直没有复现成功。 而最近我在网上搜索发现,亚马逊云科技最近推出了一个 【云上探索实验室】 刚好有复现Stable Diffusion的活动,其使用 亚马逊AWS提供的Amazon SageMaker机器学习平台

    2023年04月09日
    浏览(42)
  • 最近超火的Stable Diffusion来了,用文本AI生成图像!

    前言 Stable Diffusion 应该是目前最流行的两个项目之一,另外一个就是大名鼎鼎的 ChatGPT前几天也给大家更新过 。     软件介绍 最近抖音小红人刷屏的AI人物,基本都是这款软件做的,相信很多做设计的小伙伴都知道它 ,只需要描述一段文字,它就能帮你生成一张图片。

    2024年02月10日
    浏览(83)
  • 视频图像解码失败播放的时候,为什么是绿屏而不是红屏

    在进行视频解码的过程中,主要使用到ffmpeg的由YUV到RGB的转换。 YUV - RGB 公式如下: R = Y + 1.402 (V - 128) G = Y - 0.34414 (U - 128)- 0.71414 (V - 128) B = Y + 1.772 (U - 128) 在解码失败的时候 YUV分量的值会进行0填充,根据公式可以得到: R = 1.402 (- 128)= -126.598 G = - 0.34414 (- 12

    2023年04月08日
    浏览(51)
  • Stability AI推出Stable Diffusion XL 1.0,文本到图像模型

    Stability AI宣布推出Stable Diffusion XL 1.0,这是一个文本到图像的模型,该公司将其描述为迄今为止“最先进的”版本。 Stability AI表示,SDXL 1.0能生成更加鲜明准确的色彩,在对比度、光线和阴影方面做了增强,可生成100万像素的图像(1024×1024)。而且还支持在网页上直接对生成

    2024年02月15日
    浏览(47)
  • 关于为什么图像为BGR格式在窗口上看起来也是正常的颜色

    在OpenCV中, cv2.imshow() 函数会根据图像的通道顺序自动进行颜色通道的转换,以正确显示图像。 当使用BGR格式的图像作为输入时, cv2.imshow() 函数会自动将其转换为RGB格式进行显示。这样做的目的是为了与许多其他图像处理库和常见的图像显示方式保持一致,因为在这些情况

    2024年02月11日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包