详解VQVAE:Neural Discrete Representation Learning

这篇具有很好参考价值的文章主要介绍了详解VQVAE:Neural Discrete Representation Learning。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

vqvae,每日读论文,图像生成,人工智能,深度学习

VQVAE:Neural Discrete Representation Learning

原文链接:https://arxiv.org/abs/1711.00937 

要看细节,强推,直接不用看论文了:VQ-VAE的简明介绍:量子化自编码器 - 科学空间|Scientific Spaces

一、问题提出

一些具有挑战性的任务,如few-shot learning,严重依赖从原始数据学习的表示,但在无监督的方式下训练的通用表示的有用性仍然远远不是主流方法。

极大似然和重构误差是训练像素域无监督模型的两个常用目标,但它们的有用性取决于特征所用于的特定应用。

目标:实现一个模型,在潜在空间中保留数据的重要特征,同时优化最大似然。最好的生成模型(通过对数似然度量)将是那些没有潜在功能但具有强大解码器的模型(如PixelCNN)。

二、模型

vqvae,每日读论文,图像生成,人工智能,深度学习

vqvae,每日读论文,图像生成,人工智能,深度学习

1、VAEs

包含两部分,

编码器:在输入数据x的条件下参数化离散潜在随机变量z的后验分布q(z|x),先验分布p(z)

解码器:重构p(x|z)

后验和先验假设服从正态分布,具有对角协方差,这允许使用高斯重参数化技巧

2、 Discrete Latent variables

定义一个潜在空间e,e的维度为(K,D),K为离散潜在空间的大小(即K个向量),D为每个潜在向量的维度。模型接受输入x,经过encoder得到ze(x),利用 shared embedding space e通过最近邻查找计算离散潜变量z(下面公式1),decoder的输入是对应的embedding向量ek(下面公式2)

可以将这个前向计算pipeline看作AE,它具有特定的非线性,将潜在向量映射到1-of-k的embedding向量。模型的完整参数集是encoder、decoder和embedding space e的参数的联合。

后验分类分布q(z|x)概率定义为one-hot如下:

vqvae,每日读论文,图像生成,人工智能,深度学习

可以看出是一个VAE,用ELBO约束log p(x)。建议分布q(z = k|x)是确定的,通过定义一个简单的对z的一致先验,得到一个KL发散常数,等于log k:

vqvae,每日读论文,图像生成,人工智能,深度学习

表示ze(x)通过离散化bottleneck,然后映射到最近的embedding e的元素

vqvae,每日读论文,图像生成,人工智能,深度学习

3、learning

公式2没有梯度,因此采用量化操作来使用次梯度。在正向计算过程中,最接近的embedding zq(x)(公式2)被传递给解码器,而在向后传递过程中,梯度∇zL被不改变地传递给编码器。由于编码器的输出表示和解码器的输入共享相同的D维空间,因此梯度包含了编码器如何改变输出以降低重构损耗的有用信息。

如图1(右)所示,梯度可以推动encoder的输出在下一个正向传递中进行不同的离散化,因为方程1中的赋值将会不同。

损失函数:

vqvae,每日读论文,图像生成,人工智能,深度学习

vqvae,每日读论文,图像生成,人工智能,深度学习

三、实验(Images)

可以通过一个纯反卷积p(x|z)将x = 128 × 128 × 3图像压缩到一个z = 32 × 32 × 1的离散空间(K=512)来建模x = 128 × 128 × 3图像。所以缩减为(128×128×3×8)/(32×32×9)≈42.6位。通过学习强大的先验PixelCNN对图像进行建模,

即使考虑到离散编码大大降低了维数,重构的图像看起来也只是比原始图像略模糊。在这里,可以使用比像素上的MSE更感性的损失函数。

vqvae,每日读论文,图像生成,人工智能,深度学习

参考链接(部分内容为更好的理解直接拷过来的,推荐一看):VQ-VAE解读 - 知乎文章来源地址https://www.toymoban.com/news/detail-632120.html

到了这里,关于详解VQVAE:Neural Discrete Representation Learning的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ImportError: cannot import name ‘VectorQuantizer2‘ from ‘taming.modules.vqvae.quantize‘

    目录 项目场景: 问题描述 原因分析: 解决方案: 复现latent diffusion models论文。 代码地址:

    2024年02月13日
    浏览(48)
  • 论文笔记DIGRESS: DISCRETE DENOISING DIFFUSION FORGRAPH GENERATION

            一些扩散模型的文章: https://zhuanlan.zhihu.com/p/640138441 https://blog.csdn.net/qq_43505867/article/details/130983606 https://blog.csdn.net/qq_51392112/article/details/129326444 目录 Abstract 1 Introduction 2 Diffusion models 3 DISCRETE DENOISING DIFFUSION FOR GRAPH GENERATION 3.1迭代过程与逆去噪迭代 3.2去噪网络参数

    2024年02月04日
    浏览(46)
  • Policy Iteration Adaptive Dynamic Programming Algorithm for Discrete-Time Nonlinear Systems

    本文是第一次对离散非线性系统采用策略迭代的方法分析收敛性和稳定性。反复实验获得 初始的可容许控制策略 ,迭代值函数是单调不增,收敛到HJB方程的最优值。证明任意迭代控制策略使非线性系统稳定。神经网络近似值函数和求最优控制,且分析权重矩阵的收敛性。 根

    2024年03月22日
    浏览(42)
  • C++每日一练:任务分配问题(详解)

    今天这题比较有意思,排序算法还是比较有用的,显然选择排序在这里很容易实现。 提示:以下是本篇文章正文内容,下面案例可供参考 题目描述: 小明手头上有n个问题,每个问题都有一个数值,表示这个问题的难度;正好小明团队有n个人,每个人都有一个数值,表示这

    2023年04月26日
    浏览(39)
  • NEQR: novel enhanced quantum representation

       NEQR利用量子叠加和量子纠缠的特性,将数字图像转换为量子态表示,并通过量子门操作进行处理和操作。相较于传统的经典图像表示方法,NEQR具有更高的图像压缩率和更强的安全性,能够在保持图像质量的同时实现更小的存储空间。此外,NEQR还可以用于实现基于量子计

    2023年04月27日
    浏览(29)
  • 【unity每日一记】资源和场景加载图文详解

    👨‍💻个人主页 :@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏 : unity每日一记 ⭐【Unityc#专题篇】之c#系统化大礼包】 ⭐【unity数据持久化】数据管理类_PlayerPrfs ⭐【unity本站最全系列】unity常用API大全

    2024年02月10日
    浏览(44)
  • 【论文阅读】Deep Graph Contrastive Representation Learning

    作者:Yanqiao Zhu Yichen Xu 文章链接:Deep Graph Contrastive Representation Learning 代码链接:Deep Graph Contrastive Representation Learning 现实世界中,图的标签数量较少,尽管GNNs蓬勃发展,但是训练模型时标签的可用性问题也越来越受到关心。 传统的无监督图表征学习方法,例如DeepWalk和nod

    2024年01月18日
    浏览(54)
  • C++每日一练:小艺照镜子(详解分治法)

    大过节的,不想去看人后脑勺,就做点题来玩。挑了小艺照镜子,百分通过~ 提示:以下是本篇文章正文内容,下面案例可供参考 题目名称: 小艺照镜子 题目描述: 已知字符串str。 输出字符串str中最长回文串的长度。 输入描述: 输入字符串s.(1=len(str)=10000) 示例: 输入 a

    2024年02月02日
    浏览(37)
  • C++每日一练:详解-买铅笔&影分身&三而竭

    这回又换成C++了,Python要用C++也要用,没有哪个正经程序员只会一门语言的,咱可是CSDN认证带V的全栈攻城狮。今天的题目除了买铅笔都还是有点难度的,虽然影分身主要是考验阅读理解能力。 提示:以下是本篇文章正文内容,下面案例可供参考 题目描述 P老师需要去商店买

    2024年02月05日
    浏览(30)
  • 【迎战蓝桥】 算法·每日一题(详解+多解)-- day5

    🤞目录🤞 💖1. 数组中出现次数超过一半的数字 💖2. 二进制中1的个数 💖3. 替换空格 【大家好,我是 爱干饭的猿 ,如果喜欢这篇文章, 点个赞 👍, 关注一下吧, 后续会一直分享题目与算法思路 】 描述 给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长

    2023年04月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包