作者:禅与计算机程序设计艺术
1.简介
2019年深度学习领域的一大热点——Variational Autoencoder(VAE)由何凯明等提出。
VAE是一个无监督的自编码器网络,可以用来对数据建模并找到数据的隐藏表示,从而完成数据重构。与其他无监督学习方法(如PCA)不同的是,VAE可以对输入的数据进行任意维度的压缩。这使得它在图像处理、文本生成、数据可视化、生物信息分析等方面都有着巨大的潜力。
2017年,由于GAN的成功,许多研究人员开始利用VAE进行模式创新。例如,在电影评分生成模型中,研究人员将用户评分与电影特征通过VAE转换成隐变量,进而生成新颖且连贯的推荐结果。另外,在图像生成和质量控制领域也发现了广泛的应用。
2019年初,国际顶级会议NeurIPS发布了《Vector Quantization for Deep Learning》,旨在探讨用于深度学习的向量量化方法,并给出了一系列的相关论文。随后,一些作者便开始使用VQVAE来解决基于图像的文本生成任务。
在本教程中,我们将介绍一种简单但又有效的向量量化方法——Vq-VAE。首先,我们将回顾VAE的基础知识,然后介绍向量量化方法的工作原理,最后结合自己的理解和经验来复述该方法。
2.基本概念术语
2.1.什么是VAE?
VAE(Variational Autoencoder)是一种无监督学习的方法,通过将原始数据转换到隐变量空间(latent space),再重新从隐变量空间恢复得到原始数据的能力,来学习数据的分布。其基本流程如下图所示:
上图中,输入x代