1 VAE 介绍

在机器学习笔记:auto encoder_UQI-LIUWJ的博客-CSDN博客 中,我们知道了auto-encoder。但是auto-encoder有一个不足之处,就是因为auto-encoder不是一个概率模型,所以没法从学习的模型中生成新的数据,或者说我们train了一个模型,得到的输出是固定不变的。

在这种情况下VAE就诞生了:它可以

1)从原始数据中学习特征表示向量z

2)可以从模型中生成新的数据

作用(2)是auto-encoder中所不具备的

2 decoder介绍

训练完成后,decoder可以是这样的:

我们知道z的先验概率,decoder又学习了一个从z到x的条件概率,那么我们就可以求得x的概率,然后进行采样即可

更进一步说,decoder需要学习到x|z的均值和方差,这样才可以预测p(x|z)

2.1 decoder 训练

那么,如何训练这个模型呢?基本想法是最大化数据的概率

其中的计算可以由下获得:

  • 是由decoder获得

  • 是由z的先验概率求得(我们这里认为z满足高斯分布)
  • 至于,我们可以由encoder获得

3 encoder 与 decoder

于是我们有:

4 目标函数推导

 (贝叶斯法则)

(分子分母同乘)

(log的规则)

而我们知道,x最终的分布和z是无关的。因此有:

于是:

(取期望)

(KL散度见:NTU 课程 CE7454:信息论概述_UQI-LIUWJ的博客-CSDN博客 )

而因为KL散度是大于等于0的,所以我们可以去掉最后一项,这样可以得到一个下界:

分别是encoder学习的效果和decoder学习的效果

5 VAE举例

从 encoder的输出(均值,方差)到decoder的输入的过程,是一个采样的过程;decoder的输出也是一个采样的过程,因此每一次VAE的输出都不一样。这样就可以生成不同的新数据了

6 VAE的流程

6.1 training

我们一步一步再看一遍:

通过最大化的概率,对encoder和decoder的参数进行优化

6.2 generating data

机器学习笔记:VAE相关推荐

  1. 李弘毅机器学习笔记:第十三章—CNN

    李弘毅机器学习笔记:第十三章-CNN 为什么用CNN Small region Same Patterns Subsampling CNN架构 Convolution Propetry1 Propet ...

  2. 2021李宏毅机器学习笔记--22 Generative Adversarial Network 01

    @[TOC](2021李宏毅机器学习笔记–22 Generative Adversarial Network 01(GAN,生成式对抗网络)) 摘要 GAN是建立于神经网络的基础上的,其核心思想是&q ...

  3. 机器学习笔记之前馈神经网络(一)基本介绍

    机器学习笔记之前馈神经网络--基本介绍 引言 从机器学习到深度学习 频率学派思想 贝叶斯学派思想 深度学习的发展过程 引言 从本节开始,将介绍前馈神经网络. 从机器学习到深度学习 在机器学习笔记开始- ...

  4. 一份520页的机器学习笔记!附下载链接

    点击上方"视学算法",选择"星标"公众号 第一时间获取价值内容 近日,来自SAP(全球第一大商业软件公司)的梁劲(Jim Liang)公开了自己所写的一份 52 ...

  5. 700 页的机器学习笔记火了!完整版开放下载

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 作者       梁劲(Jim Liang),来自SAP(全球第一大商业软件公司). 书籍特点       条理清晰 ...

  6. 机器学习笔记十四:随机森林

    在上一篇机器学习笔记十三:Ensemble思想(上)中,简要的提了一下集成学习的原理和两种主要的集成学习形式.  而在这部分要讲的随机森林,就算是其中属于bagging思路的一种学习方法.为了篇幅,b ...

  7. 机器学习笔记七:损失函数与风险函数

    一.损失函数 回顾之前讲过的线性回归模型,我们为了要学习参数使得得到的直线更好的拟合数据,我们使用了一个函数 这个函数就是比较模型得到的结果和"真实值"之间的"差距&qu ...

  8. 吴恩达机器学习笔记55-异常检测算法的特征选择(Choosing What Features to Use of Anomaly Detection)

    吴恩达机器学习笔记55-异常检测算法的特征选择(Choosing What Features to Use of Anomaly Detection) 对于异常检测算法,使用特征是至关重要的,下面谈谈 ...

  9. Python机器学习笔记:sklearn库的学习

    自2007年发布以来,scikit-learn已经成为Python重要的机器学习库了,scikit-learn简称sklearn,支持包括分类,回归,降维和聚类四大机器学习算法.还包括了特征提取,数据 ...

最新文章

  1. HTML让文字在界面居中,HTML怎么让文字居中
  2. 搜狗浏览器收藏夹在哪_是时候换个快速安全的浏览器了,这一次它一定不负众望...
  3. Java进阶:ReentrantLock和Condition基本使用
  4. Spring的事务属性
  5. 高并发C/S的TCP版本golang实现
  6. 2012年最后一天,终于盼到公司发报卡了
  7. 2023年多播ABR市场将达8亿美元
  8. 详解GaussDB(DWS) explain分布式执行计划
  9. 在linux中 如何创建磁盘配额,如何在Linux系统中配置磁盘配额?
  10. python定义一个circle类、根据圆的半径_定义一个“圆”类Circle,该圆类的数据成员包括:圆心点位置及圆的半径...
  11. iSPRINT:Google 最高能的创新加速课程,产品一次就成的助推器!
  12. 【优化算法】粒子群工具箱函数优化算法【含Matlab源码 1126期】
  13. 信息安全与密码学概论
  14. 【源码】广义逻辑分布(GLO)库
  15. xxl子任务_XXL-JOB(1) 分布式任务系统选型和XXL-JOB介绍
  16. 2022北京冬奥会开幕式视觉盛宴技术揭晓
  17. Latex排版技巧汇总
  18. 动网论坛8.2经典注入漏洞利用
  19. clamav完整查杀linux病毒实战
  20. 合租限女生是性别歧视吗? | Alfred数据室

热门文章

  1. SpringMVC学习笔记四:数据绑定
  2. 《github一天一道算法题》:插入排序
  3. DSP/BIOS实时操作系统中PIP对象多任务间传递数据示例程序
  4. Java多线程详解[狂神说Java]
  5. matlab绘图标题含有n=变量的方法(类似c语言)
  6. 如何选购晨检机器人_扫地机器人好不好用?如何选购?答案在这
  7. php cgi漏洞,CGI漏洞攻击合集上
  8. swift 同步 网络请求_IOS开发中异步网络请求上实现同步逻辑
  9. netcore更新dll要停止_使 .NET Core 应用程序容器化
  10. php制作表格生成器,php表格生成图片.doc