详解VQVAE:Neural Discrete Representation Learning

news2024/9/23 15:21:16

VQVAE:Neural Discrete Representation Learning

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

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

一、问题提出

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

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

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

二、模型

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如下:

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

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

3、learning

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

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

损失函数:

三、实验(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更感性的损失函数。

参考链接(部分内容为更好的理解直接拷过来的,推荐一看):VQ-VAE解读 - 知乎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/67401.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

车辆管理怎么做?这六个车辆管理系统能帮到你!

通过本篇文章,您将了解以下问题:1、6个车辆管理系统盘点 2、企业使用车辆管理系统的价值是什么? 车辆管理系统指集合处理用车、还车、维保,监测油耗、车辆状态等车辆管理相关工作为一体的系统。 随着车辆数据的不断增长,如何快速…

武汉大学数据科学导论 WHU-data-science-introduction-996station GitHub鉴赏官

推荐理由:武汉大学数据科学导论 数据科学导论 声明: 本仓库构建目的为提供一个开源的可浏览的代码仓库,用于完成本人作业 代码作业的目录如下,纸质作业也已上传,下载地址 采用MIT协议,以供学习交流 第一次作业 决策树 第二次作业 Apriori k-means naive-bayes 第三次…

毕业设计 基于stm32与openmv的目标跟踪系统

文章目录0 前言课题简介设计框架3 硬件设计4 软件设计对被测物体的识别判断被测物体所在区域5 最后0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年…

Linux 负载均衡介绍之LVS工作模式-NAT转发模式

Linux 负载均衡介绍之LVS工作模式-NAT转发模式 图示: 工作原理: ①.客户端将请求发往前端的负载均衡器,请求报文源地址是CIP(客户端IP),后面统称为CIP),目标地址为VIP(负载均衡器前端地址,后面统称为VIP)。 ②.负载…

RK3568平台开发系列讲解(视频篇)视频渲染OpenGL ES是什么

🚀返回专栏总目录 文章目录 一、什么是OpenGL ES二、上下文环境三、OpenGL(ES)的用途四、OpenGL 渲染管线五、创建显卡执行程序5.1、创建 Shader5.2、创建 Program沉淀、分享、成长,让自己和他人都能有所收获!😄 📢渲染并不单单是要把画面绘制到屏幕上,更多的是需要…

VirtualBox启动问题记录

很久之前安装过的虚拟机,虚拟机文件是安装在移动硬盘上的,最近在做redis集群试验的时候,打算重新使用一下这个虚拟机,在启动的时候出现了一些问题,特此记录一下,便于后面再出现此问题时不知所措。 实体机操…

ChatGPT 这玩意也太猛了!程序员朋友们,我在此严正呼吁大家:端好饭碗,谨防 AI!

大家周二好呀。 最近几天大火的 ChatGPT 你玩了吗? 如果你不知道它是个什么东西,那么我让它给你来个自我介绍: ​说白了,就是一个可以对话的人工智能。 我开始以为就是一个升级版的“小爱同学”,“小度小度”&#x…

第一个MyBatis程序

目录 一、新建项目 二、设置数据库和MyBatis的配置 🍑配置数据库的连接信息 🍑配置MyBatis XML存放位置和命名规则 三、MyBatis实现查询操作 🍎MyBatis的组成 🍎使用MyBatis实现查询功能 🍎SpringBoot单元测…

TF卡格式化了怎么办?tf卡数据恢复,看这3个方法

现在手机存储卡都很普及,TF卡是最常见的存储卡之一。但是你知道吗?TF卡也会有问题,比如出现误删数据,或者把数据格式化。因为手机内存有限,我们经常会把 TF卡设置为默认的最大空间,这样就可能会出现存储空间…

Java: 字符串indexOf() /substring()/replace() 的使用

需要做的: 获取如下图响应信息html页面中的 fec7f1e4-30e0-41d1-9417-bb4829be51dc 值 一.具体思路: (1)字符串查找 indexOf()其实就是在字符串中查找其子串第一次出现的位置,如果没有找到该子串,则返回-1 四种用…

三面“有赞”Java岗斩获offer:Spring+JVM+并发锁+分布式+算法

年末离职,年初为面试也筹备挺长一段时间,找了不少复习资料,刷了很多题在网上投了很多简历最终面试了有赞,还有幸拿到offer! 本人两年Java开发,本科毕业,计算机专业,勤学好问、积极上…

BM(Boyer-Moore) 算法详解

BM算法(Boyer-Moore) BM算法也叫做精确字符集算法,它是一种从右往左比较(后往前),同时也应用到了两种规则坏字符、好后缀规则去计算我们移动的偏移量的算法。 坏字符规则 BM 算法是从后往前进行比较,此时我们发现比…

ArcGIS基础:不同方法修改栅格数据像元值

【1】:根据值修改栅格值 原始数据如下所示: 是一个栅格数据,分为三种不同的颜色,三种颜色代表三个不同的数值,如下所示: 如下所示,为1、2、3三个不同值。 下面将栅格值为1 的数据的数值替换…

5年测试,面试结束后被HR怼了..(心塞)

前一阵子向朋友诉苦,我在参加字节跳动面试的时候被面试官怼得哑口无言,场面让我一度十分尴尬。印象最深的就是下面几个问题: 根据你以前的工作经验和学习到的测试技术,说说你对质量保证的理解?非关系型数据库和关系型数…

【免杀前置课——Windows编程】十五、网络编程——C/S,B/S模式分别是什么?WinSocket、Socket传输的定义和其特点、实现简易通信(附代码)

网络编程网络编程C/S:客户端/服务器模式:B/S:浏览器/服务器架构模式。WinSocket:Socket传输的定义和其特点实现简易通信服务器端客户端网络编程 网络分为C/S,B/S两种模式。 C/S:客户端/服务器模式: 服务器端: 首先服务器先启动,并根据客户端请求做出相…

Pytest 的高级用法之插件开发

用过pytest的小伙伴应该都知道,pytest之所以功能强大,是因为pytest的插件非常的多。这是插件大多是pytest的使用者所开发的,今天咱们专门来聊聊如何去自己开发Pytest的插件。 一 pytest插件的介绍 pytest框架采用的是插件系统的模式来设计的…

安装VMware

大纲: 一、VMware简介 VMWare虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。 二、VMware摘要笔记 三、VMware安装步骤 1、将VMware Workstation 16 Pro解压后 双击运行第二个应用程序(player)进行…

精品基于springboot的线上跳蚤市场平台

《线上跳蚤市场平台》该项目含有源码、论文等资料、配套开发软件、软件安装教程、项目发布教程等 使用技术: 开发语言:Java 框架:springboot(ssm) 技术:JSP JDK版本:JDK1.8 服务器:tomcat7 数据库&a…

Android 中的权限

1、权限类型 Android 将权限分为不同的类型,包括安装时权限、运行时权限和特殊权限。每种权限类型都指明了当系统授予应用该权限后,应用可以访问的受限数据范围以及应用可以执行的受限操作范围。每项权限的保护级别取决于其类型。 1.1、安装时权限 安…

智慧农业发展,商业计划书撰写,商业模式,ppt亮点

目录 什么是商业模式 中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要_滚动新闻_中国政府网 第五篇 加快数字化发展 建设数字中国 第十五章 打造数字经济新优势 第十六章 加快数字社会建设步伐 第十七章 提高数字政府建设水平 第十八章 营造…