向量量化的变分自编码器VQ-VAE理论基础的探索

之前探索了变分自编码器VAE中Encoder和Decoder的理论基础

https://blog.csdn.net/liliang199/article/details/156280212

这里进一步探索向量量化的变分自编码器VQ-VAE的理论基础。

所用示例参考和修改自网络资料。

1. 核心思想与动机

VQ-VAE指Vector Quantized Variational AutoEncoder。

VQ-VAE在VAE上引入离散潜在空间,通过向量量化将连续编码映射到离散码本中。

相比VAE其关键差异在于:

1)学习离散表示,更接近自然信号(语言、语音、图像)的本质

2)避免VAE中的后验坍缩问题

3)为后续自回归建模(如PixelCNN)提供高质量的离散潜在表示

这里从多个角度分析和探索VQ-VAE相比VAE的这些差异改进。

2. 模型架构与数学定义

2.1 编码器Encoder

编码器产生连续向量:

其中是编码器神经网络,输出维度为

2.2 向量量化层

向量量化层主要包括码本、向量量化两部分。

码本(Codebook):

其中是码本大小,离散潜在变量的取值数,d为离散潜在变量的维度。

量化操作:

给定编码器输出,通过最近邻搜索找到码本中最接近的向量:

这产生了离散潜在表示

2.3 解码器Decoder

解码器从量化后的向量重建数据:

3. 损失函数与训练目标

3.1 总体损失函数

VQ-VAE的损失函数包含三部分:

其中:

表示停止梯度操作,是超参数通常设为0.25。

3.2 各部分说明

1)重构损失(Reconstruction Loss)

  • 使解码器能从量化向量中重建输入

  • 对于图像:通常用L2损失或感知损失

  • 对于离散数据:用交叉熵损失

2)码本损失(Codebook Loss)

  • 更新码本向量使其接近编码器输出

  • sg操作:码本更新时不考虑编码器的梯度

3)承诺损失(Commitment Loss)

  • 鼓励编码器输出承诺于特定的码本向量

  • 防止编码器输出在码本向量之间频繁跳跃

3.3 梯度流处理

量化操作不可导,VQ-VAE使用直通估计器(Straight-Through Estimator)处理梯度。

前向传播:使用量化后的向量

反向传播:将解码器的梯度直接复制到编码器输出

数学上表示为:

3.4 两阶段训练流程

VQ-VAE训练分两个阶段。

第一阶段:训练VQ-VAE

  1. 训练编码器、码本、解码器

  2. 学习高质量的数据离散表示

  3. 得到压缩的潜在空间:个可能的向量

第二阶段:训练先验模型

在训练好的VQ-VAE之上,学习离散潜在变量的先验分布:

常用自回归模型有PixelCNN、Transformer,可捕获离散潜在变量之间的长程依赖关系。

4 相比VAE的优化

4.1 VAE vs VQ-VAE

这里动从多个角度对比VAE和VQ-VAE。

1)潜在空间

VAE采用连续连续空间表示,VQ-VAE采用离散表示。

2)后验分布

VAE采用连续的高斯分布,VQ-VAE采用分类分布(ont-hot)。

3)KL项

VAE采用显式KL散度,VQ-VAE则通过量化隐式约束。

4)正则化

VAE采用KL散度正则化,VQ-VAE则采用码本与承诺损失。

5)从高斯先验采样

VAE从从高斯先验采样,VQ-VAE则从码本索引采样。

4.2 VQVAE理论优势

相比VAE,VQ-VAE有一些列优势。

1)避免了后验坍缩

VAE中当解码器过于强大时,可能忽略潜在变量,导致KL散度项趋向于0。

VQ-VAE通过强制离散表示避免了这一问题。

2)解耦表示学习与生成建模

VQ-VAE专注于学习有效的离散表示,先验模型专注于学习序列依赖关系。

这种分离使得每部分可以独立优化

3)支持多尺度架构

VQ-VAE可以扩展到多尺度,形成层次化离散表示。

每一层捕获不同抽象级别的信息。

5. VQ-VAE核心洞察

5.1 目标函数推导

VQ-VAE可视为最小化以下目标

其中第二项保证编码器输出与量化向量的接近。

VQ-VAE与EM算法也有关联,VQ-VAE的训练类似于期望最大化(EM)算法。

E步相当于将数据点分配到最近的码本向量,具体为最近邻搜索。

M步相当于更新码本向量和网络参数以最小化重构误差。

5.2 实际应用扩展

VQ-VAE有一系列进一步改进,比如VQ-VAE-2、VQ-GAN。

VQ-VAE-2使用多尺度层次化潜在空间,底层捕获局部细节,高层捕获全局结构。

VQ-GAN则结合对抗损失生成更高质量的图像。

VQ-VAE在音频领域也应用广泛。

比如将波形编码为离散token序列,使用Transformer学习token序列的分布。

5.3 VQ-VAE总结

VQ-VAE的核心贡献在于:

1)离散潜在表示,更符合许多模态(语言、语音)的本质

2)解耦训练,表示学习与序列建模分离

3)可扩展性,支持层次化、多尺度架构

4)实用性,为自回归生成模型提供高质量的离散输入

VQ-VAE离散表示在生成建模中优势明显,被后续一系列生成式框架采用,

如DALL-E、AudioLM、Codeformer。

reference


VAE中Encoder和Decoder的理论基础的探索

https://blog.csdn.net/liliang199/article/details/156280212

PixcelCNN-Pytorch

https://github.com/singh-hrituraj/PixelCNN-Pytorch

What Is DALL-E?

https://www.coursera.org/articles/what-is-dall-e

audiolm-pytorch

https://github.com/lucidrains/audiolm-pytorch

VQ-VAE-2

https://github.com/vvvm23/vqvae-2

VQGAN

https://github.com/Westlake-AI/VQGAN

CodeFormer

https://github.com/sczhou/CodeFormer

相关推荐
shangjian0071 小时前
AI-大语言模型LLM-Transformer架构4-多头注意力、掩码注意力、交叉注意力
人工智能·语言模型·transformer
努力犯错1 小时前
如何使用AI图片扩展器扩展图片边界:2026年完整指南
人工智能
晨非辰1 小时前
Linux权限管理速成:umask掩码/file透视/粘滞位防护15分钟精通,掌握权限减法与安全协作模型
linux·运维·服务器·c++·人工智能·后端
2501_941507942 小时前
【YOLOv26】教育环境中危险物品实时检测系统_基于深度学习的校园安全解决方案
深度学习·安全·yolo
丝斯20112 小时前
AI学习笔记整理(63)——大模型对齐与强化学习
人工智能·笔记·学习
延凡科技6 小时前
无人机低空智能巡飞巡检平台:全域感知与智能决策的低空作业中枢
大数据·人工智能·科技·安全·无人机·能源
2501_941329726 小时前
YOLOv8-SEAMHead改进实战:书籍检测与识别系统优化方案
人工智能·yolo·目标跟踪
晓翔仔7 小时前
【深度实战】Agentic AI 安全攻防指南:基于 CSA 红队测试手册的 12 类风险完整解析
人工智能·安全·ai·ai安全
百家方案8 小时前
2026年数据治理整体解决方案 - 全1066页下载
大数据·人工智能·数据治理
北京耐用通信8 小时前
工业自动化中耐达讯自动化Profibus光纤链路模块连接RFID读写器的应用
人工智能·科技·物联网·自动化·信息与通信