AI 绘画核心技术与实战
南柯
某头部大厂图像团队技术 leader,高级算法专家
6373 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 36 讲
AI 绘画核心技术与实战
15
15
1.0x
00:00/00:00
登录|注册

11|VAE系列:如何压缩图像给GPU腾腾地方

你好,我是南柯。
在前几讲中,我们已经学习了 Transformer、UNet、Clip 三个关键模块。在 Stable Diffusion 的知识地图上,还差最后的一环,便是今天的主角 VAE 模块。
在 Stable Diffusion 中,所有的去噪和加噪过程并不是在图像空间直接进行的。VAE 模块的作用便是将图像“压缩”到一个特殊的空间,这个空间的“分辨率”要低于图像空间,便于快速地完成加噪和去噪的任务。之后,还能便捷地将特殊空间“解压”到图像空间。
这一讲,我们将一起了解 VAE 的基本原理。学完 VAE,我们便了解了 Stable Diffusion 模型的全部核心模块。之后我们训练自己的 Stable Diffusion 模型时,也会用上 VAE 这个模块。

初识 VAE

VAE 的全称是变分自动编码器(Variational Autoencoder),在 2013 年被提出,是自动编码器(AE,Autoencoder)的一种扩展。你可能听过很多不同的名词,比如 AE、VAE、DAE、MAE、VQVAE 等。其实这些带 “AE” 的名字,你都可以理解成是一个编码器和一个解码器。
提到编码器和解码器,你也许会联想到我们在第 7 讲中学过的 Transformer 结构。这里我需要提醒你注意,尽管术语一样,但是 VAE 和 Transformer 中的编码器、解码器解决的是不同类型的问题,并具有不同的结构和原理。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

变分自动编码器(VAE)是一种能够将图像压缩到低维空间并快速进行加噪和去噪任务的深度学习模型。本文深入探讨了VAE的工作原理,包括使用已知概率分布的均值和方差计算潜在表示,以及重参数化技巧来解决梯度传播问题。此外,文章还介绍了VAE在图像重建和插值编辑方面的应用,展示了其在图像处理领域的潜在应用价值。VAE不仅可以有效地压缩和重构图像,还能进行插值编辑,为合成有趣图像提供了可能。此外,文章还探讨了VAE在图像生成、自然语言处理、聚类分析和异常检测等领域的成功应用,并介绍了VAE在AI绘画模型中的重要性。然而,文章也指出了VAE在处理复杂场景时可能存在的模糊重建问题,并提出了使用更高分辨率的潜在表示来解决这一问题。总的来说,本文通过深入解析VAE的原理和应用,为读者呈现了VAE在图像处理和其他领域的重要性和潜在应用价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《AI 绘画核心技术与实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • xingliang
    结构:VAE通常是简单的全连接网络或卷积神经网络;Transformer基于多头注意力机制,结构更复杂。 原理:VAE关注于在潜在空间中建立数据的概率分布;Transformer通过自注意力机制捕获长距离的依赖关系。 功能:VAE主要是为了生成数据和降维;而Transformer则是为了处理序列到序列的任务,捕获序列中的依赖关系。

    编辑回复: 主动分享认真总结是好习惯,加油

    2023-08-09归属地:北京
    2
  • cmsgoogle
    遇到问题: 1. 重建和差值部分的代码,在colab上第一次运行正常,但是到了第二次就OOM了,是代码没有处理释放显存空间吗? 2. 文本的例子,体感很不好,只给了一段训练代码,建议加上实例,包括训练+推理。

    作者回复: 你好。针对Q1,感谢你的反馈,Colab中的代码我做了调整,今天会更新到文稿中:https://colab.research.google.com/github/NightWalker888/ai_painting_journey/blob/main/lesson11/VAE%E4%BD%BF%E7%94%A8update.ipynb。针对Q2,餐厅评论机器人的项目和我们AI绘画的主线并不是很相关,所以只是贴了VAE部分的代码。如果需要处理训练和推理,则需要除了更多数据合成和纯文本的操作,比如文本编解码等等。我们可以在未来的加餐篇中用完整的篇幅来探讨。再次感谢你的反馈,希望能帮助到你。

    2023-08-13归属地:美国
  • peter
    请教老师几个问题: Q1:VAE可以用来处理音频数据吗? Q2:VAE可以用来处理电磁频谱数据吗? 用电磁检测设备采集无线电信号,然后用VAE来处理。 Q3:源码在哪里?

    作者回复: 你好。VAE是适用于各种类型的数据的,包括图像、文本、声音等,也包括电磁频谱数据。使用Pytorch的VAE实现可以看这个代码:https://github.com/AntixK/PyTorch-VAE/blob/master/models/vanilla_vae.py。可以针对你手中的电磁频谱数据进行针对性训练,然后用得到的VAE来处理数据。希望能帮助到你。

    2023-08-10归属地:北京
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部