vqvae详细解释

深入理解vqvae vqvae 首次在 cv 领域提出使用 vector quantize 来构建一个离散的 codebook,与其后续的 vqgan 等工作,被认为是 ”图片的 tokenizer“。将图片编码为 token,就能与 NLP token 的形式统一起来,一起在多模态 transformer 模型中进行训练。另外,vqvae encoder 将真实图片压缩为低维特征图, decoder 将低维特征图解码为真实图片的能力,在 ldm 中也大有用武之地,可以极大地降低训练/推理成本,提升生成结果的质量。 阅读详情

模型综述 #
VQ-VAE(Vector Quantised - Variational AutoEncoder)首先出现在论《Neural Discrete Representation Learning》

VAE假设隐向量分布服从高斯分布
VQVAE假设隐向量服从类别分布

PixelCNN #
要追溯VQ-VAE的思想,就不得不谈到自回归模型。可以说,VQ-VAE做生成模型的思路,源于PixelRNN、PixelCNN之类的自回归模型,这类模型留意到我们要生成的图像,实际上是离散的而不是连续的。以cifar10的图像为例,它是32×32大小的3通道图像,换言之它是一个32×32×3的矩阵,矩阵的每个元素是0~255的任意一个整数,这样一来,我们可以将它看成是一个长度为32×32×3=3072的句子,而词表的大小是256,从而用语言模型的方法,来逐像素地、递归地生成一张图片(传入前面的所有像素,来预测下一个像素),这就是所谓的自回归方法:
p(x)=p(x1)p(x2|x1)…p(x3n2|x1,x2,…,x3n2−1)

其中p(x1),p(x2|x1),…,p(x3n2|x1,x2,…,x3n2−1)每一个都是256分类问题,只不过所依赖的条件有所不同。

自回归的方法很稳妥,也能有效地做概率估计,但它有一个最致命的缺点:慢。因为它是逐像素地生成的,所以要每个像素地进行随机采样,上面举例的cifar10已经算是小图像的,目前做图像生成好歹也要做到256×256×3的才有说服力了吧,这总像素接近20万个(想想看要生成一个长度为5万的句子),真要逐像素生成会非常耗时。而且这么长的序列,不管是RNN还是CNN模型都无法很好地捕捉这么长的依赖,transformer也会面临巨大计算复杂度( O(n2) )

原始的自回归还有一个问题,就是割裂了类别之间的联系。虽然说因为每个像素是离散的,所以看成256分类问题也无妨,但事实上连续像素之间的差别是很小的,纯粹的分类问题捕捉到这种联系。更数学化地说,就是我们的目标函数交叉熵是−logpt,假如目标像素是100,如果我预测成99,因为类别不同了,那么pt就接近于0,−logpt就很大,从而带来一个很大的损失。但从视

详解VQVAE:Neural Discrete Representation Learning 详解VQVAE:Neural Discrete Representation Learning 一些具有挑战性的任务,如few-shot learning,严重依赖从原始数据学习的表示,但在无监督的方式下训练的通用表示的有用性仍然远远不是主流方法。 极大似然和重构误差是训练像素域无监督模型的两个常用目标,但它们的有用性取决于特征所用于的特定应用。 目标:实现一个模型,在潜在空间中保留数据的重要特征,同时优化最大似然。最好的生成模型(通过对数似然度量)将是那些没有潜在功能但具有强大解码器的模型 阅读详情

相关推荐

Neural Discrete Representation Learning (VQ-VAE) 简介

Vector QuantisedVariational AutoEncoder (VQ-VAE)是VAE的变种,其隐含变量是离散的。

icylling的专栏 4074

BMVC2022 | HR-VQVAE:用于图像重建和生成的基于Hierarchical Residual Learning的VQVAE

BMVC2022 | HR-VQVAE:用于图像重建和生成的基于Hierarchical Residual Learning的VQVAE 原文标题:Hierarchical Residual Learning Based Vector Quantized Variational Autoencoder for Image Reconstruction and Generation

justBeHerHero 3124

Variant AutoEncoder(VAE)和 VQVAE 学习笔记和代码

参考:[1][2][3]

Je1zvz的博客 2914

VQVAE

VQVAE和VAE的区别在于,1.编码器网络产生的是离散的编码,而不是连续的编码,离散就是当你训练一个语言模型,比如word2vec时,把每个单词建立一个单词表,单词表中单词的顺序就作为这个单词的一个离散的表征,2.先验是可学习的而不是静态的,在VAE中通常假设先验是一个标准分布,是一个高斯分布,在VQVAE中先验不再是一个静态的分布,而是模型去学到的某一个分布,是一个离散的类别分布。VAE中为了表征一个对象,先对对象进行一个信息压缩,先编码,把高维稀疏的数据压缩到一个空间中,再通过解码器还原。

liguandong 504

VAE、VQVAE生成案例代码

参考:https://zhuanlan.zhihu.com/p/467507030 代码 import torch import torch.nn as nn from torch import Tensor from typing import List, Callable, Union, Any, TypeVar import torch.nn.functional as F from abc import abstractmethod class BaseVAE(nn.Module):

weixin_42357472的博客 2218

VQVAE原理:离散化表示学习

VQVAE, 离散表示, 潜码, 编码器, 解码器, vq-vae, autoencoder, 压缩感知 1. 背景介绍 在深度学习领域,表示学习一直是研究的热点问题。传统的深度学习模型通常使用连续的向量来表示数据,但这种表示方式存在着以下问题:

AI大模型应用之禅 1009

从零构建AXI接口的DDR3控制器:MIG IP核实战指南

本文详细介绍了如何从零构建AXI接口的DDR3控制器,重点解析MIG IP核的配置流程和优化策略。通过实战案例和仿真验证,帮助开发者掌握FPGA中DDR3控制器的AXI接口设计,提升高速数据传输效率。适用于图像处理、网络加速等高性能应用场景。

weixin_28256233的博客 449

反相器(inverter)和缓冲器(buffer)---附加与非门原理图

下面是对反相器(Inverter)和缓冲器(Buffer)从面积、驱动能力、时序等多个角度的详细对比,列出的是一般情况下的比较,具体情况可能会受到工艺节点、设计库和特定设计要求的影响。缓冲器(Buffer)是数字电路中常见的逻辑门之一,用于增强信号的驱动能力,而不改变信号的逻辑状态。如下图所示的CMOS反相器,由一个NMOS和PMOS组成,栅端gate相连作为输入端Vin,漏端相连作为输出端Vout,NMOS的源端接地,PMOS的源端接电源VDD.与反相器不同,缓冲器的输出与输入保持相同的逻辑状态。

hzmscut的博客 1万+

ChatGPT and Claude国内使用站点

这篇博客介绍了不同的AI聊天平台和定价信息,主要对比了ChatGPT和Claude两款产品。文章列出了多个提供聊天服务的AI平台,包括RawChat、ChatGPTPlus、ChatOpens、Wildcard和2233.ai等,并提供了每个平台的网页链接和定价详情。特别关注了Claude平台,介绍了其普通账号与会员账号的不同,以及相关的定价信息。此外,还提到了一些虚拟卡定价和服务细节,为用户选择合适的AI服务提供了多种参考。

nisidjndn的博客 1万+

在Windows11上安装ubuntu版linux系统并实现桌面图形化(WSL)

在Windows11上安装ubuntu版linux系统并实现桌面图形化(WSL),xfce桌面美化、安装google-chrome

NiKoJJ‘s Blog 1万+

8.时间序列预测

目标:使用历史数据预测未来的销售额。通过以上步骤,可以在Excel中有效进行预测分析,帮助做出更准确的决策通过考虑不同时期数据的影响,可以显著提高预测的准确性。结合多种方法和模型,可以灵活应对复杂的市场环境和变化。

学习,输出==》再学习再输出 886

【100%通过率】华为OD机试真题 C 实现【最多等和不相交连续子序列】【2022.11 Q4 新题】

给定一个数组,我们称其中连续的元素为连续子序列,称这些元素的和为连续子序列的和。数组中可能存在几组连续子序列,组内的连续子序列互不相交且有相同的和。求一组连续子序列,组内子序列的数目最多。输出这个数目。

MISAYAONE的博客 1万+

Oracle EBS(R12+)通过Multi-Org 多组织架构、Multi-Ledger 多账簿、SLA 子分类账会计、多币种引擎、多会计政策并行五大核心能力,为跨国企业提供一体化、自动化、合规的

Oracle EBS(R12+)提供全球会计核算解决方案,通过Multi-Org多组织架构实现跨国集团数据隔离与共享,支持四层组织结构(业务组→法律实体→经营单位→库存组织)。Multi-Ledger多账簿功能允许一笔业务多准则自动核算,包含主账簿、辅助账簿和报告币种。系统内置多币种处理引擎,覆盖全流程货币业务,支持自动重估、再计量和折算。通过SLA子分类账会计实现多会计政策并行处理,满足不同国家会计准则和税制要求。该方案可同时支持本地法定、集团合并及管理分析需求,实现全球财务数据集中管理,提升合规性和运营

金牌架构师 545

2026华为OD机试(JAVA&Go)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,Java实现。

MISAYAONE的博客 34万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: pytorch-lightning如何设置训练epoch
下一篇: transformer中的autoregressive什么意思
会写代码的孙悟空
博客等级 码龄9年 2121粉丝 229原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会写代码的孙悟空

赠人玫瑰 手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值