变分自动编码VAE Auto-Encoding Variational Bayes

原文:Auto-Encoding Variational Bayes

地址:https://arxiv.org/pdf/1312.6114.pdf

1 存在问题

  • 变分贝叶斯(VB)方法涉及到对难处理后验的近似的优化,但公共平均场方法需要期望的解析解w.r.t.(with respect to 的缩写。是 关于;谈及,谈到的意思)近似后验,这在一般情况下也是棘手的,因此对于连续潜变量和/或参数具有难解后验分布的有向概率模型进行有效的推理和学习依旧是难解的问题
  • 论文的解决方法:变分下界的重新参数化,以得到下界的一个简单可微无偏估计;这个SGVB(随机梯度变分贝叶斯)估计器可以用于几乎任何具有连续潜在变量和/或参数的模型的有效近似后验推断,并且可以直接使用标准的随机梯度上升技术进行优化
  • 通过使用SGVB估计器优化识别模型,使推断和学习特别有效,这允许我们执行非常有效的近似后显推断使用简单的祖先采样,这反过来允许我们有效地学习模型参数,不需要对每个数据点使用昂贵的迭代推理方案(如MCMC)。学习的近似后验推理模型也可用于识别、去噪、表示和可视化等任务。当神经网络用于识别模型时,我们得到了变分自编码器

2 方法

  • 本节的策略可用于推导具有连续潜在变量的各种有向图形模型的下界估计量(随机目标函数)。
    • 有一个每个数据点带有潜在变量的i.i.d.数据集,
    • 对(全局)参数执行最大似然(ML)或最大后验(MAP)推断,并对潜在变量进行变分推断。例如,接将这个场景扩展到对全局参数进行变分推断的情况
    • 注意,我们的方法可以应用于在线的非平稳设置,例如流数据,但为了简单起见,这里我们假设一个固定数据集

2.1 问题场景

  • 考虑由N个连续或离散变量组成的独立同分布样本X=xii=1 N
  • 假设数据是由一些随机过程产生的,包括一个未观测到的连续随机变量  𝑧
  • 该过程由两个步骤组成:
    1. 一个值 𝑧𝑖从某些先验分布𝑝𝜃∗(𝑧)生成;
    2. 一个值𝑥𝑖是从某个条件分布𝑝𝜃∗(𝑥|𝑧)生成的。
  • 假定先验𝑝𝜃∗(𝑧)和似然𝑝𝜃∗(𝑥|𝑧)来自分布的参数族𝑝𝜃(𝑧)和𝑝𝜃(𝑥|𝑧),并且它们的概率密度函数pdf几乎在𝜃和𝑧的任何地方都是可微的
  • 不幸的是,这个过程的很多内容都隐藏在我们的视图中:真正的参数𝜃∗以及潜在变量𝑧𝑖的值对我们来说都是未知的
  • 非常重要的是,没有对边际或后验概率做一般的简化假设。相反,我们在这里感兴趣的是一个通用算法,甚至在以下情况下有效地工作:
    1. Intractability(难解):边际似然的积分∫𝑝𝜃𝑧𝑝𝜃𝑥𝑧𝑑𝑧难解,即无法评价或者区分边际似然值,后验密度函数𝑝𝜃(𝑧|𝑥)=𝑝𝜃𝑥𝑧𝑝𝜃𝑧𝑝𝜃𝑥是难解的,所以不能使用EM算法。对于任何合理的平均场VB算法所要求的积分也是棘手的。这些难题相当普遍,并出现在中等复杂似然函数𝑝𝜃𝑥𝑧的情况下,如具有非线性隐层的神经网络
    2. 大数据集:我们有太多的数据,批处理优化成本太高;我们希望使用小批量甚至单个数据点进行参数更新。基于采样的解决方案,例如蒙特卡罗EM,通常太慢,因为它涉及到每个数据点昂贵的采样循环
  • 对于上述场景中三个相关问题,我们感兴趣并提出解决方案:
    1. 对参数𝜃进行有效的近似ML或MAP估计。参数本身也可以是有趣的,例如,如果我们分析某些自然过程。它们还允许我们模拟隐藏的随机过程,并生成与真实数据相似的人工数据
    2. 对给定一个观测值𝑥的参数𝜃的潜在变量𝑧的有效近似后验推断。这对于编码或数据表示任务很有用。
    1. 变量x的有效近似边际推理。这使得我们能够在需要先验x的情况下执行各种推理任务。计算机视觉中常见的应用包括图像去噪、着色和超分辨率
  • 为了解决上述问题,我们引入一个识别模型𝑞𝜑(𝑧|𝑥):一个难以解决的真后验𝜃(𝑧|𝑥)的近似。注意,与平均场变分推断中的近似后验值相比,它不一定是阶乘,它的参数𝜑也不是从某种封闭形式的期望中计算出来的。取而代之的是,我们将介绍一种学习识别模型参数𝜑和生成模型参数𝜃的方法
适用人群 本论文适用于以下专业读者: 计算机视觉和机器学习领域的研究人员和学者。 对生成对抗网络(GANs)在视频生成任务上的应用感兴趣的工程师和开发者。 探索深度学习在视频处理和动作识别中应用的数据科学家。 人工智能领域的学生和教育工作者,特别是那些专注于视频内容生成和析的。 使用场景及目标 研究与开发:研究人员可以使用DVD-GAN模型来探索视频生成的新方法,提高视频合成和预测的质量和效率。 教育应用:作为教学案例,帮助学生理解GANs在视频处理领域的应用,以及如何评估生成模型的性能。 工业应用:在娱乐、虚拟现实、游戏开发等行业中,利用DVD-GAN生成的视频内容创造新的用户体验。 数据析:数据科学家可以使用DVD-GAN来模拟视频数据,用于增强现有数据集,或进行数据增强以改善机器学习模型的训练。 技术评估:研究人员和开发人员可以利用论文中提到的评估指标(如IS和FID)来比较不同模型生成的视频质量。 论文的目标是通过展示DVD-GAN在复杂视频数据集上的应用,推动视频生成技术的发展,并为未来在更大规模和更复杂数据集上的模型训练和评估提供基准。通过这项研究,作者希望强调在大型和复杂的视频数据集上训练生成模型的重要性,并期待DVD-GAN能成为未来研究的参考点。
### 自动编码器 (VAE) 介绍 自动编码器(Variational Autoencoder, VAE)是一种基于概率理论构建的深度生成模型,最初由 Diederik P. Kingma 和 Max Welling 提出于2013年的论文《Auto-Encoding Variational Bayes》中[^3]。该模型旨在克服传统自动编码器的一些局限性,并提供了一种新的方式来理解和操作数据的潜在结构。 #### 工作原理 与传统的自动编码器不同的是,VAE 不仅关注于重建输入数据的能力,更进一步地尝试捕捉并建模这些数据背后的潜在布特性。为此,VAE 对潜在量 \( z \) 施加了一个先验布(通常采用标准正态布),并通过优化所谓的“证据下界”(ELBO),即 Evidence Lower Bound 来确保所学得的潜在表示能够很好地匹配预设的先验布[^2]。 具体而言,整个流程可以为两部- **编码阶段**:给定观测样本 \( x \),编码网络负责将其转换成参数化的高斯布形式,从而允许从中抽取随机样本作为对应的隐含特征向量 \( z \)[^5]。 - **解码阶段**:随后,解码网络接收上述得到的 \( z \),进而预测可能对应的真实观察值 \( \hat{x} \),以此完成对原始输入的有效近似重现。 这种设计使得 VAE 能够自然地支持连续型潜在空间内的平滑插值以及新样本的生成等功能。 ```python import torch from torch import nn import torch.nn.functional as F class VAE(nn.Module): def __init__(self): super(VAE, self).__init__() # Encoder layers self.fc1 = nn.Linear(784, 400) self.fc21 = nn.Linear(400, 20) # Mean of latent space self.fc22 = nn.Linear(400, 20) # Log variance of latent space # Decoder layers self.fc3 = nn.Linear(20, 400) self.fc4 = nn.Linear(400, 784) def encode(self, x): h1 = F.relu(self.fc1(x)) return self.fc21(h1), self.fc22(h1) def reparameterize(self, mu, logvar): std = torch.exp(0.5*logvar) eps = torch.randn_like(std) return mu + eps*std def decode(self, z): h3 = F.relu(self.fc3(z)) return torch.sigmoid(self.fc4(h3)) def forward(self, x): mu, logvar = self.encode(x.view(-1, 784)) z = self.reparameterize(mu, logvar) return self.decode(z), mu, logvar # Loss function definition would follow here... ``` 这段简单的 PyTorch 实现展示了如何定义一个基本版本的 VAE 架构及其核心组件——重参化技巧的应用,用于从潜在布中抽样而不破坏梯度传播机制。 #### 应用场景 自问世以来,VAEs 在多个领域展现出了广泛的应用潜力,尤其是在图像、音频乃至文本等多媒体内容创作方面取得了显著成就。例如,在最新的图形合成工具如 DALL·E 3 或 Stable Diffusion 中都可以看到 VAE 的身影;而在 ICLR 2024 时间检验奖项授予这项开创性的研究成果,则再次证明了其重要性和持久影响力[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值