变分自编码器:工作原理及损失函数解析

释放双眼,带上耳机,听听看~!
本文介绍了变分自编码器的工作原理以及损失函数的解析,包括了变分推断、神经网络的应用,以及优化过程中的损失函数概念。

本文正在参加 人工智能创作者扶持计划

甲方的增量需求,以及神经网络上的约束条件,都可以转化成损失函数的惩罚项。———— 沃·兹基硕德

变分自编码器是一种经典的深度生成模型,在图像生成、协同过滤等任务上有着重要的应用,有着举足轻重的历史地位。

回顾:变分推断的本质

书接上文。在变分推断的介绍中,我们已经明确了变分推断方法的本质:用一个简单分布拟合另一个复杂分布。并且我们已知,变分推断包含一下几个步骤:

  1. 给定观测数据XX,计算隐变量Z的简单分布qϕ(Z)q_phi(Z). 其中ϕphi为分布族q(⋅)q(cdot)的参数,例如正态分布中的均值和方差;二项分布中的正面概率pp.
  2. 根据观测数据XX,计算证据下界ELBO(q)=EZ[log⁡p(X∣Z)]−KL(qϕ(Z)∣∣p(Z))ELBO(q)=E_Z[log p(X|Z)]-KL(q_phi(Z)||p(Z)).
  3. 优化简单分布族的参数ϕphi,使得证据下界最大化. 这一步蕴含两个要素:
    1. 最大化观测变量XX的拟合值(最优重建)
    2. 使隐变量估计简单分布与其先验分布尽可能地接近

正题:变分自编码器的本质

变分自编码器的本质在于,使用神经网络建模隐变量的简单分布qϕ(⋅)q_phi(cdot) 和观测变量的后验概率 p(X∣Z)p(X|Z) ,使用反向传播方法完成证据下界最大化的参数优化过程。

我们首先给出变分自编码器的结构图,然后介绍它具体的工作原理。

变分自编码器:工作原理及损失函数解析的变分自编码器.Encoder和Decoder为神经网络. P_phi(cdot)等价于本文中的q_phi(cdot)” loading=”lazy”>

变分自编码器的工作流程

变分自编码器的工作流程如下:

  1. 输入观测数据XX,使用基于神经网络的Encoder计算隐变量ZZ的分布参数(注意,计算结果不是隐变量本身,因为变分推断中隐变量是随机变量,需要从分布中采样得到)
  2. 使用重参数化技巧采样得到隐变量ZZ(例如上图中的Z=μ+σ⊙ϵZ=mu+sigmaodotepsilon得到隐变量ZZ).重参数化技巧的内涵在于将随机变量的随机性与其分布特征解耦,从而能够实现后者的反向传播优化.
  3. 输入隐变量ZZ,使用基于神经网络的Decoder计算重建的观测数据X^hat{X}
  4. 计算损失函数(即证据下界,ELBOELBO),使用反向传播方法优化Encoder和Decoder.

ELBO的本质:带惩罚项的损失函数

在上文中,我们已经说明了,证据下界ELBOELBO的定义如下:

ELBO(q)=EZ[log⁡p(X∣Z)]−KL(qϕ(Z)∣∣p(Z))ELBO(q)=E_Z[log p(X|Z)]-KL(q_phi(Z)||p(Z))

本质上,等式右侧的第一项,是用于最优化重建观测变量X^hat{X}的损失函数主项,可以用交叉熵、均方根误差等常见的神经网络损失函数代替;第二项是用于使隐变量ZZ的后验分布参数尽可能接近先验分布 的惩罚项,例如先验分布为N(0,1)N(0,1),则该项使得Encoder生成的ZZ的期望尽可能接近0,方差尽可能接近1. 一个经典的ELBO的实现如下:

L(Ω)=CrossEntropy(X,X^)−1/2(logσϕ2−σϕ2−μϕ2+1)L(Omega)=CrossEntropy(X,hat{X})−1/2(logsigma_phi^2−sigma_phi^2−mu_phi^2+1)

其中ΩOmega是变分自编码器的所有可优化参数,μϕmu_phiσϕ2sigma_phi^2分别是隐变量ZZ的期望和方差. 该损失函数适用于标准正态先验分布.

另一个适用于标准二项先验分布的ELBO实现如下:

L(Ω)=CrossEntropy(X,X^)−(pϕlog⁡pϕ+(1−pϕ)log⁡(1−pϕ))L(Omega)=CrossEntropy(X,hat{X})−(p_philog p_phi + (1-p_phi)log(1-p_phi))

其中pϕp_phi是由Encoder计算的Z=1Z=1的概率. ZZ服从二项分布.

参考文献

[1] JKRD.变分推断的本质

[2] David M. Blei, Alp Kucukelbir, & Jon D. McAuliffe (2016). Variational Inference: A Review for Statisticians. CoRR, abs/1601.00670.

[3] DOERSCH C. Tutorial on Variational Autoencoders[J]. stat, 2016, 1050: 13.

本文正在参加 人工智能创作者扶持计划

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

不良条件视觉感知数据集和比赛总结

2023-11-30 9:29:14

AI教程

华为诺亚提出Progressive-Hint Prompting (PHP)引导大模型渐近正确答案

2023-11-30 9:48:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索