【神经网络与深度学习】VAE 在解码前进行重参数化

在 VAE 中,解码之前进行重参数化主要有以下几个重要原因:

可微分性

在深度学习里,模型是通过反向传播算法来学习的,而这需要计算梯度。若直接从潜在变量的分布 (q_{\theta}(z|x))(由编码器输出的均值 (\mu) 和方差 (\sigma^2) 确定的正态分布)中采样得到 (z),这个采样操作是不可微分的。因为采样是一个随机过程,无法通过梯度来优化。

重参数化技巧把采样操作转化为可微分的计算。通过引入一个标准正态分布的随机噪声 (\epsilon \sim N(0, I)),使用公式 (z = \mu + \sigma \cdot \epsilon) 来计算 (z)。这样,在反向传播时就可以计算 (z) 相对于 (\mu) 和 (\sigma) 的梯度,进而更新编码器的参数。

让潜在空间具有连续性和可解释性

  • 连续性:重参数化技巧使得潜在空间是连续的。因为 (z) 是由 (\mu) 和 (\sigma) 以及连续的随机噪声 (\epsilon) 计算得到的,微小的 (\mu) 和 (\sigma) 的变化会导致 (z) 的微小变化。这意味着在潜在空间中相邻的点对应的样本在特征上也是相似的,使得潜在空间具有平滑的结构。
  • 可解释性:在这样连续的潜在空间中,可以进行有意义的操作,如插值和外推。例如,在两个不同样本对应的潜在向量之间进行线性插值,然后将插值得到的潜在向量通过解码器生成新的样本,这些新样本会呈现出从一个样本逐渐过渡到另一个样本的特征,从而使得潜在空间具有可解释性。

提高模型的泛化能力

重参数化有助于 VAE 学习到数据的潜在分布,而不只是记忆训练数据。通过在采样过程中引入随机性(即随机噪声 (\epsilon)),模型在训练时能够接触到更多潜在空间中的样本,从而增强了模型的泛化能力,使其能够更好地生成新的、未见过的数据样本。

便于计算 KL 散度

在 VAE 的训练目标中,需要最小化潜在变量分布 (q_{\theta}(z|x)) 与先验分布 (p(z))(通常是标准正态分布 (N(0, I)))之间的 KL 散度。重参数化使得潜在变量 (z) 的分布可以用参数 (\mu) 和 (\sigma) 来明确表示,方便计算 KL 散度,从而实现对潜在空间分布的约束,使潜在空间的分布更接近先验分布。

重参数化在 VAE 里既是一种"技巧(trick)",同时也是 VAE 实现过程中的关键基本操作,以下从不同角度为你详细解释:

作为"技巧(trick)"的层面

  • 解决不可微问题:在深度学习里,模型借助反向传播算法来更新参数,这就要求所有操作都具备可微性。直接从潜在变量的分布 (q_{\theta}(z|x)) 中采样获取 (z) 属于随机操作,是不可微的。重参数化技巧通过引入标准正态分布的随机噪声 (\epsilon \sim N(0, I)),并运用公式 (z = \mu + \sigma \cdot \epsilon) 来计算 (z),将原本不可微的采样操作转化为可微的计算,从而使模型能够正常进行反向传播和参数更新。这一处理方式并非深度学习中的常规做法,而是为了解决特定问题所采用的巧妙手段,所以可看作是一种技巧。
  • 优化潜在空间结构:重参数化技巧使得潜在空间具备连续性与可解释性。它保证了潜在空间中相邻的点对应的样本在特征上相近,使得在潜在空间中进行插值和外推等操作变得有意义。这种对潜在空间结构的优化并非是模型自然形成的,而是通过重参数化技巧人为实现的,因此也体现了其"技巧"的特性。

作为基本操作的层面

  • VAE 架构的必要组成:在 VAE 的标准架构里,重参数化是必不可少的步骤。编码器输出潜在变量的均值 (\mu) 和方差 (\sigma^2) 后,必须通过重参数化来得到潜在变量 (z),再由解码器根据 (z) 重构数据。缺少重参数化步骤,VAE 就无法正常训练和工作,所以它是 VAE 模型实现过程中的基本操作。
  • 广泛应用与标准化:在 VAE 相关的研究和应用中,重参数化已经成为一种被广泛接受和使用的标准操作。无论是在学术研究还是实际项目里,只要涉及到 VAE 模型,都会采用重参数化技巧。它已经成为了 VAE 模型的一个标志性特征和基本组成部分。
相关推荐
大知闲闲哟8 分钟前
深度学习G2周:人脸图像生成(DCGAN)
人工智能·深度学习
飞哥数智坊26 分钟前
Coze实战第15讲:钱都去哪儿了?Coze+飞书搭建自动记账系统
人工智能·coze
wenzhangli728 分钟前
低代码引擎核心技术:OneCode常用动作事件速查手册及注解驱动开发详解
人工智能·低代码·云原生
潘达斯奈基~1 小时前
大模型的Temperature、Top-P、Top-K、Greedy Search、Beem Search
人工智能·aigc
倔强青铜三2 小时前
苦练Python第18天:Python异常处理锦囊
人工智能·python·面试
倔强青铜三2 小时前
苦练Python第17天:你必须掌握的Python内置函数
人工智能·python·面试
Lifeng666666662 小时前
chatgpt是怎么诞生的,详解GPT1到GPT4的演化之路及相关背景知识
论文阅读·人工智能·语言模型·chatgpt
vv_5012 小时前
深度学习 tensor及其相关操作
人工智能·深度学习·tensor基础操作
whabc1002 小时前
和鲸社区深度学习基础训练营2025年关卡2(1)纯numpy
人工智能·深度学习
PengShuaiD52 小时前
什么是RAG(Retrieval-Augmented Generation)?一文读懂检索增强生成
人工智能·ai·rag