文章目录

  • 自动编码器 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

  1. 引入 Introduction

    • 动机 Motivation: 作为一个生成器来说,随机采样生成的向量ZZZ很难通过解码器Decoder对应到有意义的数据,导致生成器模型失败。
    • 解决方案 Solution:假定ZZZ服从某分布,通过前半部分预测分布参数,随后从分布中采样得到可能对应有意义数据的ZZZ。
    • 一些事实 Some Facts:ddd维的任意分布可以被一系列ddd维的正态分布和一个将它们映射的一个足够复杂的函数来表示。
  2. 方法和讨论 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)相关推荐

  1. 基于变分自动编码器(Variational Autoencoders)疾病预测系统实战:(Keras实现并可视化训练和验证误差、最后给出topK准确率和召回率)

    基于变分自动编码器(Variational Autoencoders)疾病预测系统实战:(Keras实现并可视化训练和验证误差.最后给出topK准确率和召回率) 本文中使用的VAE算法以病人病史为输入 ...

  2. 基于变分自动编码器(Variational Autoencoders)进行推荐系统的实施、Keras实现并可视化训练和验证误差、最后给出topK准确率和召回率

    基于变分自动编码器(Variational Autoencoders)进行推荐系统的实施.Keras实现并可视化训练和验证误差.最后给出topK准确率和召回率 本著作改编自Dawen等人用于协同过滤目 ...

  3. 详解变分自编码器VAE(Variational Auto-Encoder)

    前言 过去虽然没有细看,但印象里一直觉得变分自编码器(Variational Auto-Encoder,VAE)是个好东西.趁着最近看概率图模型的三分钟热度,我决定也争取把 VAE 搞懂. 于是乎照样 ...

  4. VAE(Variational Autoencoder)的原理

    Kingma, Diederik P., and Max Welling. "Auto-encoding variational bayes." arXiv preprint ar ...

  5. 【论文阅读-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 ...

  6. 从零点五开始的深度学习笔记——VAE(Variational AutoEncoder) (二)概率角度理解VAE结构

    概率角度理解VAE结构 1. 从联合概率分布构造的损失函数开始的一切 1.1 定义 1.2 推导过程 1.3 损失函数的理解 2. 总结 1. 从联合概率分布构造的损失函数开始的一切 一个优秀的生成网 ...

  7. 原创 | 变分自动编码器(VAE)

    1. VAE 概述 变分自动编码器(Variational autoEncoder,VAE)是生成模型的一种.这些方法的主要目标是从对象的学习分布中生成新的采样数据.2014 年,Kingma et ...

  8. 【DL】第 2 章 :变分自动编码器(VAE)

    在本章中,您将: 了解自动编码器的架构设计如何使其完美适用于生成建模 使用 Keras 从头开始构建和训练自动编码器 使用自动编码器生成新图像,但了解这种方法的局限性 了解变分自动编码器的架构以及它如 ...

  9. 自动编码器、变分自动编码器和条件变分自动编码器阅读理解

    文章目录 1 VAEs 1.1 AE: AutoEncoder 1.2 VAE: Variational AutoEncoder 1.3 CVAE: Conditional Variational A ...

最新文章

  1. 腾讯云,搭建Docker环境
  2. Android 高级Drawable资源---复合Drawable----变换Drawable
  3. python初级语法_python语法基础
  4. AG3 hang after click membership search
  5. 报表引擎API开发入门—带参程序数据集
  6. 【codevs1231】最优布线问题
  7. Optimal Marks SPOJ - OPTM(最小割)
  8. leetcode刷题日记-边界着色
  9. paip.vs2010 开发ASP浏览时的设置
  10. mybatis中的动态Sql略解,基础理解,为什么要使用动态sql,动态sql相比于传统sql的区别;仅作笔记,如有错误请及时指出
  11. Window系统: 解决 win xp系统 最新版QQ/TIM安装包 报错误 安装包可能被非法改动导致安装失败 云云.2021-02-15
  12. Android MediaCodec硬解码H264文件
  13. ddr4单颗粒最大_国产内存来了:长鑫发布DDR4/LPDDR4X内存
  14. jvm full gc到底是啥意思
  15. Altium Designer 中英文字典(英文菜单汉化对应表表)
  16. quartz-深度解析
  17. 【Python安装配置教程】
  18. 计算机无法连接iphone,iTunes不识别iPhone?iTunes无法连接iPhone怎么办
  19. 软件测试基础【一篇足矣】
  20. 软件测试肖sir__rf框架之介绍(2)

热门文章

  1. python 处理json多层嵌套_python解析多层嵌套json
  2. springboot酒店宾馆管理系统、、
  3. NSInvocation的使用
  4. MySQL登录时出现 Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: YES) 的原因及解决办法
  5. MCU之按键驱动 -剥离按键驱动和事件处理
  6. javase 双色球选7球 红球在【1-36】之间,选出6个,且不能重复 篮球在【1-16】之间,选出1个
  7. 云曦网络空间安全实验室第一次考试WP
  8. 机智云OTA实践教程
  9. plc远程监控.plc远程通讯
  10. 你的Ubuntu还可以这么美(转自知乎 @知一)