Paper - Neural Discrete Representation Learning (VQ-VAE) 论文简读

2024-03-18 20:20

本文主要是介绍Paper - Neural Discrete Representation Learning (VQ-VAE) 论文简读,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/133992971

问题1:训练完成之后,如何判断 VQ-VAE 的效果?
输入一张训练样本之外的图像,经过编码器,与EmbeddingTable计算最近邻的向量,再把向量输入解码器中,获得重构之后的图像,判断图像是否一致。

问题2:在训练过程,VQ-VAE是否在有效的进行收敛?
训练坍塌,无论输入什么图像,都是EmbeddingTable的固定向量,表明VQ-VAE训练失败,需要监控编码器输出类别分布的信息熵,即 − p l o g ( p ) -plog(p) plog(p)

问题3:VQ-VAE如何生成图像?
第1阶段,使用VQ-VAE进行大规模的图像预训练,寻找有效的隐空间先验表征,第2阶段,使用先验序列模型,把文本作为先验模型输入,VQ-VAE编码器输出的离散向量,作为先验模型的输出。

VQ-VAE 是基于变分自编码器(VAE)的生成模型,可以学习离散的潜在表示。VQ-VAE 的主要创新是引入了一个向量量化(VQ)层,将连续的编码器,输出映射到离散的潜在空间。VQ 层由一组可学习的向量组成,称为代码本 (Coding Book)。编码器输出的每个部分都被替换为最接近的代码本向量,从而实现了离散化。VQ-VAE 使用直接优化目标来训练编码器和解码器,而不是使用重参数化技巧或离散梯度估计。VQ-VAE 还使用了一个自回归模型,如 PixelCNN,来对离散的潜在变量进行建模,从而提高了生成质量和多样性。VQ-VAE 在图像和语音生成任务上表现出了优异的性能,证明了能够学习有意义和可控制的潜在表示。

VQ-VAE: Neural Discrete Representation Learning,神经离散表征学习

  • Vector Quantised Variational AutoEncoder (VQ-VAE),矢量量化变分自编码器

大模型,预训练,自监督学习。高维信息(图像或音频)更加稀疏,信息压缩,隐空间,特征紧凑,VQ-VAE。

发表于 2018.5.30,作者 Google DeepMind - Aaron

OpenAI 在 DALLE 中,也使用了 VQ-VAE 技术。

GitHub 源码:

  • DeepMind Tensorflow
  • PyTorch

VQ-VAE

VQ-VAE 与 VAE 不同:

  1. 编码器网络产生的是离散 (Discrete) 的编码,而不是连续的编码。
  2. 先验 (Prior) 是可学习的而不是静态的。

避免后验坍塌 (Posterior Collapse),和方差过大 (Large Variance),同时,可生成高质量的不同模态的对象。

VAE:编码器网络 (Encoder Network) q ( z ∣ x ) q(z|x) q(zx)、先验分布 (Prior Distribution) p ( z ) p(z) p(z)、分布解码 (Distribution Decoder) p ( x ∣ z ) p(x|z) p(xz)

  • 后验和先验,都是标准的对角协方差 (Diagonal Covariance) 的高斯分布

VQ (Vector Quantisation): 隐变量不是从连续的高斯分布中生成,而是从离散的分布中生成。

  • 后验和先验,都是类别 (Categorical) 分布,都是索引,从 Embedding Table 中选择 Embedding。

离散的隐变量 (Discrete Latent variables)

隐变量空间 e ∈ R K x D e \in R^{KxD} eRKxD ,K 个 Embedding Vectors,输入 x,经过 Encoder,输出 z e ( x ) z_{e}(x) ze(x),后验类别分布 q ( z ∣ x ) q(z|x) q(zx) 概率被定义成 one-hot 的形式:

Img1

即 k 概率为 1,其他都是 0,最近邻查找,编码器输出的是离散的索引,one-hot vector 与 embedding table 做矩阵乘法。

Img2

编码器的输出 k,解码器的输入是 e k e_{k} ek 。VAE loss 一般分为 2 个,一个是重构 loss,一个是 KL 散度 loss,量化后验分布与先验分布的距离。VQ-VAE 假设 先验分布是均匀分布,后验分布是类别分布,KL 散度是 log(k) 常数,可以忽略。

argmin 操作是不可导的,让解码器的重构 loss,传递至 编码器,直接将 解码器的梯度复制 (copy gradients) 到编码器。编码器的输出维度 z e ( x ) z_{e}(x) ze(x),与解码器的输入维度一致,这样梯度才能复制。直接复制,embedding space 无法训练,还需要其他 Loss。

Loss 由 3 个部分组成:

  1. 重构 Loss: l o g p ( x ∣ z q ( x ) ) log\ p(x|z_{q}(x)) log p(xzq(x)),可以优化到解码器和编码器,梯度直接 copy。
  2. 字典学习算法 (Dictionary Learning Algorithm): ∣ ∣ s g [ z e ( x ) − e ] ∣ ∣ 2 2 ||sg[z_{e}(x)-e]||^{2}_{2} ∣∣sg[ze(x)e]22,sg 表示 stopgradient 梯度截断,embedding table 逼近编码器的输出。
  3. 与字典学习算法相反,让 e 逼近 z e ( x ) z_{e}(x) ze(x),其中 β \beta β 小于 1,建议参数是 0.25。

Overall Loss Function:

在这里插入图片描述

两个类别分布的 KL 散度是常数 log(k),即没有影响,不需要反传。重构 Loss,不同类型的数据不同,图像数据即 MSE Loss,即可。

评估 VQ-VAE 的模型训练效果,监督信号判断 VQ-VAE 的效果,自编码器包括编码和解码,经过编码器,输出编码,进行重构,判断输出图像的相似度。如果,训练不够充分或坍塌,无论输入什么图像,都会映射到相同的类别,可以通过编码器的信息熵,观测 VQ-VAE 的训练效果,即 − p l o g ( p ) -p\ log(p) p log(p) ,均匀分布是最大,如果值很小,则可能出现坍塌。VQ-VAE 如何生成新的图像,即通过编码生成不同的图像。无监督的生成,大规模的图像预训练 VQ-VAE 之后,使用类别索引,与另外一个模型,对于文本进行自回归的建模,随机生成;条件生成对于离散的索引进行建模,文本作为条件输入,对于隐空间模型进行建模。即两个阶段,大规模预训练图像,再使用文本条件与离散序列对齐。

这篇关于Paper - Neural Discrete Representation Learning (VQ-VAE) 论文简读的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/823530

相关文章

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

论文翻译:arxiv-2024 Benchmark Data Contamination of Large Language Models: A Survey

Benchmark Data Contamination of Large Language Models: A Survey https://arxiv.org/abs/2406.04244 大规模语言模型的基准数据污染:一项综述 文章目录 大规模语言模型的基准数据污染:一项综述摘要1 引言 摘要 大规模语言模型(LLMs),如GPT-4、Claude-3和Gemini的快

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

论文翻译:ICLR-2024 PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS

PROVING TEST SET CONTAMINATION IN BLACK BOX LANGUAGE MODELS https://openreview.net/forum?id=KS8mIvetg2 验证测试集污染在黑盒语言模型中 文章目录 验证测试集污染在黑盒语言模型中摘要1 引言 摘要 大型语言模型是在大量互联网数据上训练的,这引发了人们的担忧和猜测,即它们可能已

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想?哪些是 BERT 的创新? 1标题 + 作者 BERT: Pre-trainin

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

MonoHuman: Animatable Human Neural Field from Monocular Video 翻译

MonoHuman:来自单目视频的可动画人类神经场 摘要。利用自由视图控制来动画化虚拟化身对于诸如虚拟现实和数字娱乐之类的各种应用来说是至关重要的。已有的研究试图利用神经辐射场(NeRF)的表征能力从单目视频中重建人体。最近的工作提出将变形网络移植到NeRF中,以进一步模拟人类神经场的动力学,从而动画化逼真的人类运动。然而,这种流水线要么依赖于姿态相关的表示,要么由于帧无关的优化而缺乏运动一致性

简单的Q-learning|小明的一维世界(3)

简单的Q-learning|小明的一维世界(1) 简单的Q-learning|小明的一维世界(2) 一维的加速度世界 这个世界,小明只能控制自己的加速度,并且只能对加速度进行如下三种操作:增加1、减少1、或者不变。所以行动空间为: { u 1 = − 1 , u 2 = 0 , u 3 = 1 } \{u_1=-1, u_2=0, u_3=1\} {u1​=−1,u2​=0,u3​=1}

简单的Q-learning|小明的一维世界(2)

上篇介绍了小明的一维世界模型 、Q-learning的状态空间、行动空间、奖励函数、Q-table、Q table更新公式、以及从Q值导出策略的公式等。最后给出最简单的一维位置世界的Q-learning例子,从给出其状态空间、行动空间、以及稠密与稀疏两种奖励函数的设置方式。下面将继续深入,GO! 一维的速度世界 这个世界,小明只能控制自己的速度,并且只能对速度进行如下三种操作:增加1、减