论文精读--VAE

自编码器(Auto-Encoder)是学一个特征能够代表输入的图像

而VAE则为数据的隐变量加上先验——将隐变量限制为一个标准正态分布,也就是学一个具有代表性的分布

Abstract

How can we perform efficient inference and learning in directed probabilistic models, in the presence of continuous latent variables with intractable posterior distributions, and large datasets? We introduce a stochastic variational inference and learning algorithm that scales to large datasets and, under some mild differentiability conditions, even works in the intractable case. Our contributions are two-fold. First, we show that a reparameterization of the variational lower bound yields a lower bound estimator that can be straightforwardly optimized using standard stochastic gradient methods. Second, we show that for i.i.d. datasets with continuous latent variables per datapoint, posterior inference can be made especially efficient by fitting an approximate inference model (also called a recognition model) to the intractable posterior using the proposed lower bound estimator.Theoretical advantages are reflected in experimental results.

翻译:

我们如何在有连续潜在变量和难以处理的后续分布的定向概率模型中进行有效的推理和学习?我们引入了一种随机变分推理和学习算法,该算法可扩展到大型数据集,并且在一些温和的可微分性条件下,甚至在难以处理的情况下也能工作。我们的贡献有两个方面。首先,我们展示了对变分下界的重新参数化产生了一个下界估计器,该估计器可以使用标准的随机梯度方法直接优化。其次,我们显示对于每个数据点都有连续潜在变量的独立同分布数据集,可以通过使用提出的下界估计器将近似推理模型(也称为识别模型)拟合到难以处理的后续分布,从而使后验推理变得特别高效。理论优势在实验结果中得到了体现。

总结:

(1)通过对变分下界的重新参数化,可以将其转化为一个可使用标准随机梯度方法直接优化的形式

(2)使用提出的下界估计器可以将近似推理模型拟合到难以处理的后续分布

 Introduction

How can we perform efficient approximate inference and learning with directed probabilistic models whose continuous latent variables and/or parameters have intractable posterior distributions? The variational Bayesian (VB) approach involves the optimization of an approximation to the intractable posterior. Unfortunately, the common mean-field approach requires analytical solutions of expectations w.r.t. the approximate posterior, which are also intractable in the general case. We show how a reparameterization of the variational lower bound yields a simple differentiable unbiased estimator of the lower bound; this SGVB (Stochastic Gradient Variational Bayes) estimator can be used for efficient approximate posterior inference in almost any model with continuous latent variables and/or parameters, and is straightforward to optimize using standard stochastic gradient ascent techniques.

For the case of an i.i.d. dataset and continuous latent variables per datapoint, we propose the AutoEncoding VB (AEVB) algorithm. In the AEVB algorithm we make inference and learning especially efficient by using the SGVB estimator to optimize a recognition model that allows us to perform very efficient approximate posterior inference using simple ancestral sampling, which in turn allows us to efficiently learn the model parameters, without the need of expensive iterative inference schemes (such as MCMC) per datapoint. The learned approximate posterior inference model can also be used for a host of tasks such as recognition, denoising, representation and visualization purposes. When a neural network is used for the recognition model, we arrive at the variational auto-encoder.

翻译:

我们如何在使用具有难以处理的后续分布的连续潜在变量和/或参数的定向概率模型中进行有效的近似推理和学习?变分贝叶斯(VB)方法涉及优化难以处理的后验的近似。不幸的是,常见的均值场方法需要解析地解决关于近似后验的期望,这在一般情况下也是难以处理的。我们展示了如何通过对变分下界的重新参数化得到一个简单、可微分的无偏下界估计器;这个SGVB(随机梯度变分贝叶斯)估计器可以用于几乎任何具有连续潜在变量和/或参数的模型的有效的近似后验推理,并且可以简单地使用标准的随机梯度上升技术进行优化。
对于独立同分布数据集和每个数据点的连续潜在变量的情况,我们提出了AutoEncoding VB(AEVB)算法。在AEVB算法中,我们通过使用SGVB估计器来优化一个识别模型,使我们能够使用简单的祖先采样进行非常有效的近似后验推理,这反过来又使我们能够有效地学习模型参数,而无需每个数据点的昂贵迭代推理方案(如MCMC)。学习的近似后验推理模型也可以用于许多任务,如识别、去噪、表示和可视化目的。当神经网络用于识别模型时,我们得到了变分自编码器。

假设z满足一个分布p,由参数θ来描述;x是一个条件概率,是从z中抽样产生一个x

也就是z + θ抽样出x,x + Φ尝试推断出z 

Method

The strategy in this section can be used to derive a lower bound estimator (a stochastic objective function) for a variety of directed graphical models with continuous latent variables. We will restrict ourselves here to the common case where we have an i.i.d. dataset with latent variables per datapoint, and where we like to perform maximum likelihood (ML) or maximum a posteriori (MAP) inference on the (global) parameters, and variational inference on the latent variables. It is, for example,straightforward to extend this scenario to the case where we also perform variational inference on the global parameters; that algorithm is put in the appendix, but experiments with that case are left to future work. Note that our method can be applied to online, non-stationary settings, e.g. streaming data, but here we assume a fixed dataset for simplicity.

翻译:

本节中的策略可以用来为具有连续潜在变量的各种有向图形模型导出一个下界估计器(一个随机目标函数)。在这里,我们将自己限制在一个常见的情况下,即我们有一个具有每个数据点的潜在变量的独立同分布数据集,并且我们希望对(全局)参数进行最大似然(ML)或最大后验概率(MAP)推理,对潜在变量进行变分推理。例如,将这个场景扩展到我们也对全局参数进行变分推理的情况是直接的;该算法放在附录中,但对这种情况的实验留待将来进行。请注意,我们的方法可以应用于在线、非平稳设置,例如流数据,但为了简单起见,这里我们假设一个固定数据集。

Problem scenario

我们想得到的是给定x的情况下学得一个具有代表性的分布z,因此利用贝叶斯公式展开

其中x的分布是对这样一个式子的积分,但实际上x与z都是高维的,严格来写积分形式的话可能要写很多层积分号,这对我们来说是Intractable难解决的,从而无法得到given x的z

能不能用神经网络近似pθ(z|x)?我们使用另一个model,它的参数由Φ表示,得到了一个分布q,我们希望这个分布q能与p尽可能的接近

The variational bound

分布相近,那必然是用KL散度去衡量

对∑z来说,log(pθ(x))是无关的,而对qΦ(z|x)求和=1,所以提出来是常数放右边,而KL散度是非负的,因此最大化右边的式子(记作L(θ,Φ;x))就可以最小化KL散度,也就代表L(θ,Φ;x)是log(pθ(x))的下界

 前面是given z后得到的x确实等于输入的x的概率的期望(reconstruction loss重建误差)

后面是希望qΦ分布跟先验分布z尽量接近(regularization loss正则误差)

第二行的式子可以写成期望的形式,也就代表着我们可以用蒙特卡洛法估计,把[ ]中的式子视作FC,同时假设Φ与FC是无关的

对FC在qΦ上的期望求梯度得到第一行中间的式子,然后通过采样求平均当作它的期望

to be more specific:是求梯度的推导,其中已经假设了Φ是无关的,所以可以直接放到f(x)之后

但是根据作者实验和前人报道,这样的estimator并不好,会有很高的方差,导致训练不稳定

The SGVB estimator and AEVB algorithm

&& The reparameterization trick

 刚才我们用了一个很强的假设:Φ与FC无关,但其实是有关的,因此在推导梯度时不能直接放f(x)也就是fθ(z)的后面,而是应该分别求导,得到的后面一项是之前熟悉的期望形式,那么前一项呢?

为了解决前一项,作者引入了reparameterization trick(重参数化):引入一个辅助的随机变量ε,这个随机变量与θ、Φ、x、z都没关系,是独立的。用它来表达我们在产生z过程中所有的随机性,一次可以把z写成gθ(ε,x)

ε有个非常好的特性:它与θ,也就是Φ,是没有任何关系的,之后还是采样求平均得到期望

这样就可以把损失函数的梯度估计出来了

在原来的形式中,我们使用Φ和x产生distribution,然后从这个分布中抽样出一个z,得到f;抽样是没办法传递梯度的

在使用reparameterised trick之后,所有抽样中的随机性全在ε上,所以梯度就可以回传了

回到当初的分岔口,如果我们不用第二行的期望形式,而是第三行的期望+KL散度,我们发现KL散度也有一些很好的性质

 假设qΦ与pθ都属于高斯分布,其中一项最后化简可以化为均值和方差的形式,另一项则化为:

 两项合并得到由均值和方差表示的KL散度,对后一项的期望直接求MSE算输入x与z生成的x的差异

The Whole model architecture

 Experiments

比较lower bound的提升,VAE收敛更快,lower bound更大,且更多的潜在变量并不会导致更多的过拟合,这可以通过lower bound的正则化效应来解释

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

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

相关文章

鸿蒙linux内核的L1设备服务开发详解

鸿蒙linux内核的L1设备服务开发详解 ​ 鸿蒙基于linux内核的L1设备的系统基于面向服务架构,提供了服务开发、服务的子功能开发、对外接口的开发、以及多服务进程、进程间服务调用的开发能力。现对此基座下的服务进行剖析并以实例方式进行讲解。 一、简介 在L1设备…

git忽略某些文件(夹)更改方法

概述 在项目中,常有需要忽略的文件、文件夹提交到代码仓库中,在此做个笔录。 一、在项目根目录内新建文本文件,并重命名为.gitignore,该文件语法如下 # 以#开始的行,被视为注释. # 忽略掉所有文件名是 a.txt的文件. a.txt # 忽略所有生成的 java文件, *.java # a.j…

Time Travel

题目链接 解题思路 由于所有边集中的边加起来的总和至多为,无向图即,可以存下所以直接对所有边集中的边进行建边,同时对于每条边,记录其所在边集号对于每个边集,由大到小维护其能通过的时间点然后从1号跑最短路到当前…

Flutter开发框架

Flutter 技术栈是指用于构建应用程序的一系列技术和工具,这些技术和工具都是围绕 Flutter 框架组织的。Flutter 是由谷歌开发的开源 UI 开发工具包,用于从单一代码库开发跨平台应用程序,包括 Android、iOS、Web、以及桌面应用程序&#xff08…

操作系统功能

▶1.进程管理 简单地说,进程是程序的执行过程。程序是静态的,它仅仅包含描述算法的代码;进程是动态的,它包含了程序代码、数据和程序运行的状态等信息。进程管理的主要任务是对CPU资源进行分配,并对程序运行进行有效的…

高级语言期末2011级A卷(软件学院)

1.编写函数&#xff0c;判定正整数m和n&#xff08;均至少为2&#xff09;是否满足&#xff1a;数m为数n可分解的最小质因数&#xff08;数n可分解的最小质因数为整除n的最小质数&#xff09; 提示&#xff1a;判定m为质数且m是n的最小因数 #include <stdio.h> #include…

DiffiT | 英伟达提出用于图像生成的扩散ViT架构DiffiT,达成新SOTA!

本文首发于AIWalker&#xff0c;欢迎关注。 https://arxiv.org/abs/2312.02139 https://github.com/NVlabs/DiffiT 扩散模型以其强大的表达能力和高样本质量在许多领域得到了新的应用。对于样本生成&#xff0c;这些模型依赖于通过迭代去噪生成图像的去噪神经网络。然而&#…

坚持刷题|二叉树展开为链表

文章目录 题目考察点代码实现实现总结扩展问题用递归的方式实现在展开二叉树为链表的过程中&#xff0c;递归和迭代两种方法各有什么优缺点&#xff1f;可能的扩展问题 Hello&#xff0c;大家好&#xff0c;我是阿月。坚持刷题&#xff0c;老年痴呆追不上我&#xff0c;今天刷&…

LTD营销枢纽2023年度功能升级回顾

在过去的2023年&#xff0c;我们的团队致力于不断进步和创新。经过一年的不懈努力&#xff0c;我们共发布了50次的系统升级&#xff0c;引入了16种全新的解决方案与业务应用&#xff0c;并实施了1363项各类细致优化。 这些更新和改进不仅在我们的营销枢纽系统现有功能的基础上实…

Groovy(第二节) Groovy之HelloWorld

目录 为什么要学习 Groovy? 入门非常容易 用 Groovy 编写的 Hello World 运行 Groovy 示例

PHP函数 “password_hash“ 哈希密码

哈希函数是一种将输入转换为固定长度字符串的方法&#xff0c;这个过程是不可逆的&#xff0c;也就是无法从哈希值还原出原始输入。通过将密码进行哈希处理&#xff0c;即使数据库泄露&#xff0c;攻击者也无法简单地获取到用户密码。 在PHP中&#xff0c;我们可以使用 "…

35岁程序员,深入理解JVM的核心知识点

网络&#xff1a;分层模型、TCP、UDP、HTTP、HTTPS 分层模型 应用层&#xff1a;负责处理特定的应用程序细节&#xff0c;如 HTTP、FTP、DNS运输层&#xff1a;为两台主机提供端到端的基础通信&#xff0c;如 TCP、UDP网络层&#xff1a;控制分组传输、路由选择等&#xff0c…

【大数据架构(1)】Lambda Architecture – Realtime Data Processing 论文重点翻译

文章目录 1. INTRODUCTION2. LAMBDA ARCHITECTUREA) BATCH LAYERB) SPEED LAYERC) SERVICE LAYER 3. LIMITATIONS OF THE TRADITIONAL LAMBDAARCHITECTURE4. A PROPOSED SOLUTION1. 架构说明2. 前后架构改进对比 1. INTRODUCTION Lambda架构背后的需求是由于虽然MR能够处理大数…

SpringBoot+PDF.js实现按需分片加载预览(包含可运行示例源码)

SpringBootPDF.js实现按需分片加载预览 前言分片加载的效果前端项目前端项目结构前端核心代码前端项目运行 后端项目后端项目结构后端核心代码后端项目运行 项目运行效果首次访问分片加载 项目源码 前言 本文的解决方案旨在解决大体积PDF在线浏览加载缓慢、影响用户体验的难题…

C 程序结构

在我们学习 C 语言的基本构建块之前&#xff0c;让我们先来看看一个最小的 C 程序结构&#xff0c;在接下来的章节中可以以此作为参考。 C Hello World 实例 C 程序主要包括以下部分&#xff1a; 预处理器指令函数变量语句 & 表达式注释 让我们看一段简单的代码&#x…

Fabric V2.5 通用溯源系统——区块链部分设计

本节对Fabric V2.5 通用溯源系统的区块链部分做一个简单的介绍,包括目录结构、文件作用、设计思路。此节内容免费发布在TrueTechLabs Fabric学习交流QQ群。 购买专栏前请认真阅读:《Fabric项目学习笔记》专栏介绍 TrueTechLabs Fabric学习交流QQ群: 一、区块链部分文件目录简…

基于Python校园鲜花水果商城系统(Django框架)开题答辩常规问题和如何回答(答辩指导)

博主介绍&#xff1a;黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者&#xff0c;CSDN博客专家&#xff0c;在线教育专家&#xff0c;CSDN钻石讲师&#xff1b;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程&#xff…

React最常用的几个hook

React最常用的几个Hook包括&#xff1a;useState、useEffect、useRef以及useContext。 useState&#xff1a; 用于在函数组件中添加状态管理。它返回一个数组&#xff0c;第一个元素是当前状态的值&#xff0c;第二个元素是更新状态的函数。在使用时&#xff0c;可以通过解构赋…

代码库管理工具Git介绍

阅读本文同时请参阅-----免费的Git图形界面工具sourceTree介绍 Git是一个分布式版本控制系统&#xff0c;它可以帮助开发者跟踪和管理代码历史。Git的命令行工具是使用Git的核心方式&#xff0c;虽然它可能看起来有些复杂&#xff0c;但是一旦掌握了基本命令&#xff0c;你…

【C++私房菜】序列式容器的迭代器失效问题

目录 一、list的迭代器失效 二、vector的迭代器失效 1、空间缩小操作 2、空间扩大操作 三、总结 在C中&#xff0c;当对容器进行插入或删除操作时&#xff0c;可能会导致迭代器失效的问题。所谓迭代器失效指的是&#xff0c;原先指向容器中某个元素的迭代器&#xff0c;在…