变分自动编码器(VAE variational autoencoder)
文章目录
- 自动编码器 AutoEncoder
- 变分推断 Variational Inference
- 变分自动编码器 Variational AutoEncoder
- 条件变分自动编码器 Conditional Variational AutoEncoder
- 实验 Experiments
- 声明
禁止转载
自动编码器 AutoEncoder
组成 Components:
- 编码器 Encoder: X→ZX \rightarrow ZX→Z
- 解码器 Decoder: Z→X^Z \rightarrow \hat XZ→X^
- 其中,XXX为训练集输入;ZZZ为隐变量 latent variable
应用场景 Applications:
自动编码器:输入和输出尽可能相似
去噪模型 Denoising: 去除图像噪声(去水印也可)
压缩模型 Compression:将图像使用低维隐变量表示,结果传输后在接收端使用解压缩恢复图像
异常检测 Anomaly detector:根据损失大小检测图像是否和训练集同分布
生成器 Generator:将随机向量映射成有意义的数据
注意 Note: 编码器的降维过程如果使用无非线性激活函数的单层CNN,那么它将等效于PCA
变分推断 Variational Inference
- 引入 Introduction
- 动机 Motivation: 作为一个生成器来说,随机采样生成的向量ZZZ很难通过解码器Decoder对应到有意义的数据,导致生成器模型失败。
- 解决方案 Solution:假定ZZZ服从某分布,通过前半部分预测分布参数,随后从分布中采样得到可能对应有意义数据的ZZZ。
- 一些事实 Some Facts:ddd维的任意分布可以被一系列ddd维的正态分布和一个将它们映射的一个足够复杂的函数来表示。
- 方法和讨论 Methods&Discussion:
数学说明:对于编码器这个过程,条件概率公式可由贝叶斯公式表达,其中P(X)P(X)P(X) 一般是高维数据,计算复杂intractable。
对于上述问题,有两种解决方案:Monte Carlo方法(基于采样的方法?),变分推断方法。变分推断使用另一个分布来近似不可求解的分布,这一过程是通过最小化两个分布之间的KL散度实现的。
KL散度 divergence:
- KL≥0KL \geq 0KL≥0
- KL散度不是对称的,qqq对ppp的KL散度和ppp对qqq的KL散度不同
综上可得下式,对于给定的XXX,左式是固定的,对于右式来说,最小化第一项等同于最大化第二项,并且由于第二项+第一项(KL散度),所以左式恨大于等于第二项,第二项故又称为变分下限variational lower bound,它也是我们需要优化的项。
关于上式为什么选择KL(q∣∣p)KL(q||p)KL(q∣∣p):假定ppp是一个多峰的真实分布,qqq是期待用来近似ppp的可求解分布,则从下图结合KL散度的计算公式可得到解答。
对第二项进行变换得到两项,第一项实际上维感知损失,常见的有交叉熵误差、均方误差等,第二项表示qqq和ppp的散度。
模型的结构如下所示,编码器估计隐变量分布的参数,隐变量的分布一般假定为正态分布,采样得到的隐变量输入给解码器得到输出,但是此时存在一些问题:基于梯度下降的算法无法更新网络参数,因为采样操作在模型中引入了不确定节点,导致无法求解梯度。可以通过重参数的化的方法进行解决,即Z=Σ∗θ+μZ=\Sigma * \theta + \muZ=Σ∗θ+μ,其中θ\thetaθ是服从标准正太分布,通过采样得到,这样就把随机节点移除了。
变分自动编码器 Variational AutoEncoder
- 未重参数化的VAE结构(左)和重参数化之后的VAE结构(右)
- 总结
条件变分自动编码器 Conditional Variational AutoEncoder
- 在编码器和解码器都引入输入
实验 Experiments
- 实验结果
声明
- 第一节中的图片来源于李宏毅老师的课件
- Tutorial on Variational Autoencoders
- https://www.youtube.com/watch?v=uaaqyVS9-rM
变分自动编码器(VAE variational autoencoder)相关推荐
- 基于变分自动编码器(Variational Autoencoders)疾病预测系统实战:(Keras实现并可视化训练和验证误差、最后给出topK准确率和召回率)
基于变分自动编码器(Variational Autoencoders)疾病预测系统实战:(Keras实现并可视化训练和验证误差.最后给出topK准确率和召回率) 本文中使用的VAE算法以病人病史为输入 ...
- 基于变分自动编码器(Variational Autoencoders)进行推荐系统的实施、Keras实现并可视化训练和验证误差、最后给出topK准确率和召回率
基于变分自动编码器(Variational Autoencoders)进行推荐系统的实施.Keras实现并可视化训练和验证误差.最后给出topK准确率和召回率 本著作改编自Dawen等人用于协同过滤目 ...
- 详解变分自编码器VAE(Variational Auto-Encoder)
前言 过去虽然没有细看,但印象里一直觉得变分自编码器(Variational Auto-Encoder,VAE)是个好东西.趁着最近看概率图模型的三分钟热度,我决定也争取把 VAE 搞懂. 于是乎照样 ...
- VAE(Variational Autoencoder)的原理
Kingma, Diederik P., and Max Welling. "Auto-encoding variational bayes." arXiv preprint ar ...
- 【论文阅读-3】生成模型——变分自编码器(Variational Auto-Encoder,VAE)
[论文阅读]生成模型--变分自编码器 1. VAE设计思路:从PCA到VAE 1.1 PCA 1.2 自编码器(Auto-Encoder, AE) 1.3 从AE到VAE 2. VAE模型框架 2.1 ...
- 从零点五开始的深度学习笔记——VAE(Variational AutoEncoder) (二)概率角度理解VAE结构
概率角度理解VAE结构 1. 从联合概率分布构造的损失函数开始的一切 1.1 定义 1.2 推导过程 1.3 损失函数的理解 2. 总结 1. 从联合概率分布构造的损失函数开始的一切 一个优秀的生成网 ...
- 原创 | 变分自动编码器(VAE)
1. VAE 概述 变分自动编码器(Variational autoEncoder,VAE)是生成模型的一种.这些方法的主要目标是从对象的学习分布中生成新的采样数据.2014 年,Kingma et ...
- 【DL】第 2 章 :变分自动编码器(VAE)
在本章中,您将: 了解自动编码器的架构设计如何使其完美适用于生成建模 使用 Keras 从头开始构建和训练自动编码器 使用自动编码器生成新图像,但了解这种方法的局限性 了解变分自动编码器的架构以及它如 ...
- 自动编码器、变分自动编码器和条件变分自动编码器阅读理解
文章目录 1 VAEs 1.1 AE: AutoEncoder 1.2 VAE: Variational AutoEncoder 1.3 CVAE: Conditional Variational A ...
最新文章
- 腾讯云,搭建Docker环境
- Android 高级Drawable资源---复合Drawable----变换Drawable
- python初级语法_python语法基础
- AG3 hang after click membership search
- 报表引擎API开发入门—带参程序数据集
- 【codevs1231】最优布线问题
- Optimal Marks SPOJ - OPTM(最小割)
- leetcode刷题日记-边界着色
- paip.vs2010 开发ASP浏览时的设置
- mybatis中的动态Sql略解,基础理解,为什么要使用动态sql,动态sql相比于传统sql的区别;仅作笔记,如有错误请及时指出
- Window系统: 解决 win xp系统 最新版QQ/TIM安装包 报错误 安装包可能被非法改动导致安装失败 云云.2021-02-15
- Android MediaCodec硬解码H264文件
- ddr4单颗粒最大_国产内存来了:长鑫发布DDR4/LPDDR4X内存
- jvm full gc到底是啥意思
- Altium Designer 中英文字典(英文菜单汉化对应表表)
- quartz-深度解析
- 【Python安装配置教程】
- 计算机无法连接iphone,iTunes不识别iPhone?iTunes无法连接iPhone怎么办
- 软件测试基础【一篇足矣】
- 软件测试肖sir__rf框架之介绍(2)
热门文章
- python 处理json多层嵌套_python解析多层嵌套json
- springboot酒店宾馆管理系统、、
- NSInvocation的使用
- MySQL登录时出现 Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: YES) 的原因及解决办法
- MCU之按键驱动 -剥离按键驱动和事件处理
- javase 双色球选7球 红球在【1-36】之间,选出6个,且不能重复 篮球在【1-16】之间,选出1个
- 云曦网络空间安全实验室第一次考试WP
- 机智云OTA实践教程
- plc远程监控.plc远程通讯
- 你的Ubuntu还可以这么美(转自知乎 @知一)