当前位置: 首页 >  技术分享 >  VAE 学习笔记

VAE 学习笔记

导读:VAE 是 AE的变体。主要目的是让模型学习数据的分布,最后让解码器(decoder)部分具有生成样本的能力。.VAE可看做高斯混合模型(GMM)的扩展。.GMM中,数据由多个高斯分布来描述:.\[p(x) = \sum{k=1}^{K}P(z{k})P(x|z_{k}) \].

VAE 是 AE的变体。主要目的是让模型学习数据的分布,最后让解码器(decoder)部分具有生成样本的能力。
VAE可看做高斯混合模型(GMM)的扩展。
GMM中,数据由多个高斯分布来描述:

\[p(x) = \sum{k=1}^{K}P(z{k})P(x|z_{k}) \]

其中 \(z \sim P(z^{k}) \), \(x|z^{k} \sim N(\mu^{k}, \sigma^{k})\)
此处,高斯分布的数量是有限的。

因此,这种编码方式编码能力有限。因此需要对这种方式拓展为连续编码。

\[p(x) = \int_{z} p(x|z)p(z)d z \]

其中 \(z\sim N(0,1), x|z \sim N(\mu (z), \sigma (z))\).

求解方式是最大化似然:

\[\max L = \sum_{x} \log p(x) \]

我们引入\(q(z|x)\), 它可以是任意一个概率分布。做如下等价变化。

\[\begin{align} \log p(x) & = \int{z}q(z|x)\log p(x) dz \\ & = \int{z}q(z|x)\log \frac{p(z, x)}{p(z|x)} dz \\ & = \int{z}q(z|x)\log \left(\frac{p(z,x)}{q(z|x)} \frac{q(z| x)}{p(z|x)}\right) dz \\ & = \int{z}q(z|x)\log \left(\frac{p(z,x)}{q(z|x)} \right) dz + \int{z}q(z|x) \left(\frac{q(z| x)}{p(z|x)}\right) dz \\ & = \int{z}q(z|x)\log \left(\frac{p(z,x)}{q(z|x)} \right) dz + KL(q(z| x)||p(z|x)) \\ & \geq \int_{z}q(z|x)\log \left(\frac{p(z,x)}{q(z|x)} \right) dz \end{align} \]

也即是

\[\log p(x) \geq \int_{z}q(z|x)\log \left(\frac{p(z,x)}{q(z|x)} \right) dz \]

我们定义

\[L{b} = \int{z}q(z|x)\log \left(\frac{p(z,x)}{q(z|x)} \right) dz \]

优化目标变为了同时优化\(q(z|x)\) 和 \(p(z|x)\)。

如果仅仅优化\(q(z|x)\), 由于\(\log p(x)\) 与\(q(z|x)\) 无关,那么 \(\log p(x)\) 不变化,它仅仅会增大\(L{b}\), 因此,也缩小了KL. 如果KL缩小为0, 那么调节KL就会增大\(\log p(x)\). 而且最后,因为KL的缩小,最后的 \(q(z|x)\) 可以近似 \(p(z|x)\).

对于\(L
{b}\),我们作进一步分解。

\[\begin{align} L{b} &= \int{z}q(z|x)\log \left(\frac{p(x|z) p(z )}{q(z|x)} \right) dz \\ &= \int{z}q(z|x)\log p(x|z) dz + \int{z} q(z|x) \log \frac{p(z)}{q(z|x)} dz \\ &= -KL(q(z|x)||p(z)) + \int_{z}q(z|x)\log p(x|z) dz \end{align} \]

第一项展开如下(可参考VAE原文附录):

\[\sum{i=1}^{l}(\exp(\sigma{i}) - (1 + \sigma{i}) + (m{i})^{2}) \]

对于第二项,

\[\begin{align} & \max \int{z}q(z|x)\log p(x|z) dz \\ & = \max E{q(z|x)}[\log p(x|z)] \end{align} \]

这里其实就是auto-encoder的损失。
参考:
李宏毅机器学习 https://www.bilibili.com/video/av15889450/?p=33
https://www.gwylab.com/note-vae.html

内容
  • 【Haxe】(二)字符串与变量的输入输出
    【Haxe】(二)字符串与变量的
    2023-12-06
    前言.每次学习一门新语言,各种手册和教程一上来就是讲变量如何定义,数据结构怎么用,很少有讲输入输出应该怎么写的。我比较喜
  • 《领域驱动设计》:从领域视角深入仓储(Repository)的设计和实现
    《领域驱动设计》:从领域视角深入
    2023-12-04
    一、前言 “.DDD设计的目标是关注领域模型而并非技术来创建更好的软件,假设开发人员构建了一个SQL,并将它传递给基础设
  • JVM调优篇:探索Java性能优化的必备种子面试题
    JVM调优篇:探索Java性能优
    2023-12-04
    JVM内存模型.首先面试官会询问你在进行JVM调优之前,是否了解JVM内存模型的基础知识。这是一个重要的入门问题。JVM
  • 游戏中模型动画的几种实现方式
    游戏中模型动画的几种实现方式
    2023-12-02
    游戏内动画的实现方式一般有这几种:.骨骼动画.顶点动画.材质动画.CPU蒙皮动画.骨骼动画.骨骼动画是一种基于骨骼系统的
  • 云存储解决方案
    云存储解决方案
    2024-01-10
    云存储解决方案.随着互联网技术的不断发展,越来越多的企业开始意识到数据存储和管理的重要性。传统的本地存储方式已经不能满足
  • ***容灾与高可用解决方案
    ***容灾与高可用解决方案
    2024-01-15
    ***容灾与高可用解决方案.在当今数字化时代,***无疑是企业信息技术基础设施中最为关键的一环。因此,***容灾与高可用
  • ***集群架构规划与设计
    ***集群架构规划与设计
    2023-12-16
    ***集群架构规划与设计.概述.随着互联网和大数据技术的快速发展,企业对***的性能和稳定性要求越来越高。为了满足这些需
  • ***安全加固与防护方案
    ***安全加固与防护方案
    2024-01-10
    ***安全加固与防护方案.随着互联网的快速发展,***安全问题日益凸显。一旦***遭受攻击,可能导致数据泄露、服务中断甚
  • ***虚拟化技术咨询服务
    ***虚拟化技术咨询服务
    2023-12-21
    ***虚拟化技术咨询服务.在当今数字化时代,***虚拟化技术越来越受到企业和个人用户的青睐。虚拟化技术通过将物理***划
  • ***监控与报警服务
    ***监控与报警服务
    2023-12-06
    ***监控与报警服务.在当今互联网时代,***监控与报警服务变得至关重要。随着互联网技术的不断发展,***已成为企业运营
  • 高温高压电子元件生产
    高温高压电子元件生产
    2023-12-21
    高温高压电子元件生产.随着科技的不断发展,高温高压电子元件在现代电子设备中扮演着*益重要的角色。在工业、航空航天、汽车等
  • ***迁移与升级解决方案
    ***迁移与升级解决方案
    2024-01-05
    ***迁移与升级解决方案.随着业务的不断扩大和发展,很多企业逐渐意识到原有的***已经不能满足日益增长的需求,因此需要进
  • 定制化电子元件解决方案
    定制化电子元件解决方案
    2024-01-15
    定制化电子元件解决方案.在现代科技发展迅速的时代,电子元件的需求日益增加,同时对于定制化的需求也在不断提升。定制化电子元
  • 全球电子元件市场趋势分析
    全球电子元件市场趋势分析
    2023-12-31
    全球电子元件市场趋势分析.近年来,全球电子元件市场呈现出不断增长的趋势。随着科技的不断发展和智能设备的普及,电子元件市场