
文章目录
- 阅读本文你可以了解到
- 1 VQ-VAE的核心思想
- 1.1 为什么VQ-VAE想要把图像编码成离散向量?
- 1.2 VQ-VAE引入codebook(即embedding space嵌入空间)
- 1.3 VQ-VAE的工作过程
- 2 VQ-VAE实现方法
- 2.1 VQ-VAE的编码器怎么输出离散向量。
- 2.2 VQ-VAE怎么优化编码器和解码器
- 2.3 VQ-VAE怎么优化嵌入空间
- 3 总结评价
- 参考资料
阅读本文你可以了解到
- VQ-VAE的核心思想
- VQ-VAE中关键算法的具体形式
- VQ-VAE的贡献及其对其他工作的影响
通过阅读这篇文章,你不仅能理解VQ-VAE本身的原理,更能知道如何将VQ-VAE中的核心机制活学活用。
1 VQ-VAE的核心思想
1.1 为什么VQ-VAE想要把图像编码成离散向量?
最早的自编码器(Autoencoder, AE),AE是一类能够把图片压缩成较短的向量的神经网络模型,其结构如下图所示。AE包含一个编码器

和一个解码器

。在训练时,输入图像

会被编码成一个较短的向量

,再被解码回另一幅长得差不多的图像

。网络的学习目标是让重建出来的图像

和原图像

尽可能相似。

解码器可以把一个向量解码成图片。换一个角度看,解码器就是一个图像生成模型,因为它可以根据向量来生成图片。那么,AE可不可以用来做图像生成呢?很可惜,AE的编码器编码出来的向量空间是不规整的。也就是说,解码器只认识经编码器编出来的向量,而不认识其他的向量。如果你把自己随机生成出来的向量输入给解码器,解码器是生成不出有意义的图片的。AE不能够随机生成图片,所以它不能很好地完成图像生成任务,只能起到把图像压缩的作用。AE离图像生成只差一步了。只要AE的编码空间比较规整,符合某个简单的数学分布(比如最常见的标准正态分布),那我们就可以从这个分布里随机采样向量,再让解码器根据这个向量来完成随机图片生成了。VAE就是这样一种改进版的AE。它用一些巧妙的方法约束了编码向量

,使得

满
文章来源于互联网:《VQ-VAE》:Stable Diffusion设计的架构源泉
相关推荐: 【C++】类与对象初级应用篇:打造自定义日期类与日期计算器(2w5k字长文附源码)
一、日期类的实现 在前面的内容中,我们讲解了六大默认成员函数,基本上对类和对象有了简单的认识,今天这篇文章我们就来实现一下之前一直拿来举例用的日期类,顺便基于日期类实现一下日期计算机,做点实用的东西让大家感觉到自己的进步 在开始正式学习之前,我…
5bei.cn大模型教程网










