当前位置: 首页 > news >正文

变分自编码器原理与潜变量模型解析

判别模型 vs 生成模型

机器学习模型通常分为判别模型和生成模型两类,这一区分源于构建和训练这些模型时使用的概率公式。

判别模型学习标签$y$基于数据点$x$的概率,数学上表示为$p(y|x)$。为了将数据点分类到某个类别,我们需要学习数据与类别之间的映射关系,这种映射可以描述为概率分布。

生成模型则学习没有外部标签的数据点的概率分布,数学上表示为$p(x)$。在这种情况下,数据本身"竞争"概率密度。

条件生成模型是另一类模型,尝试学习数据$x$基于标签$y$的条件概率分布,表示为$p(x|y)$。

生成模型

生成模型的目标是学习概率密度函数$p(x)$。这个概率密度有效地描述了训练数据的行为,并通过从分布中采样来生成新数据。理想情况下,我们希望模型学习到的概率密度$p(x)$与数据密度$p_{data}(x)$相同。

生成模型可分为两类:

  • 显式密度模型:能够显式计算密度函数$p$
  • 隐式密度模型:不计算$p(x)$,但训练后能够从底层分布中采样

潜变量模型

潜变量模型旨在用潜变量建模概率分布。潜变量是将数据点转换到连续低维空间的表示。

直观上,潜变量将以更简单的方式描述或"解释"数据。在严格的数学形式中,遵循概率分布$p(x)$的数据点$x$被映射到遵循分布$p(z)$的潜变量$z$。

基本术语定义:

  • 先验分布$p(z)$:建模潜变量的行为
  • 似然$p(x|z)$:定义如何将潜变量映射到数据点
  • 联合分布$p(x,z)=p(x|z)p(z)$:似然和先验的乘积,本质描述模型
  • 边际分布$p(x)$:原始数据的分布,模型的最终目标
  • 后验分布$p(z|x)$:描述可由特定数据点产生的潜变量

生成过程:从$p(z)$采样$z$,然后从$p(x|z)$采样$x$
推断过程:从$p(x)$采样$x$,然后从$p(z|x)$采样$z$

用最大似然训练潜变量模型

最大似然估计是一种完善的估计概率分布参数的技术,通过最大化似然函数来实现。数学上表示为:

$$\theta^{ML} = arg \max_{\theta} \sum_{i=1}^{N} log p_{\theta}(x_{i})$$

为了应用梯度下降,需要计算边际对数似然函数的梯度:

$$\nabla log p_{\theta}(x) = \int p_{\theta}(z |x) \nabla_{\theta} log p_{\theta}(x,z) dz$$

变分推断

变分推断用易于处理的分布近似难处理的后验分布,通过优化问题计算。我们想用称为变分后验的另一分布$q_{\phi}(z|x)$来近似实际的$p_{\theta}(z|x)$。

证据下界(ELBO)定义为:

$$L_{\theta,\phi}(x) = \textbf{E}{q(z)} \left[ log \frac{p_{\theta}(x,z)}{q_{\phi}(z|x)} \right] \leq log p_{\theta}(x)$$

扩展ELBO方程:

$$L_{\theta,\phi}(x) = log p_{\theta}(x) - \textbf{KL}(q_{\phi}(z|x) || p_{\theta}(z|x))$$

摊销变分推断

在摊销变分推断中,我们训练外部神经网络来预测变分参数,而不是对每个数据点优化ELBO。该网络在一些论文中称为推断网络。

重参数化技巧

直观上,我们可以将重参数化技巧理解为:由于无法计算期望的梯度,我们将概率分布的参数从分布空间"移动"到期望空间。

对于高斯分布,我们可以用固定已知分布中的样本表示$z$:

$$z = \mu +\sigma \epsilon \quad with \quad \epsilon \sim N(0,1)$$

变分自编码器

对于主模型,我们选择神经网络,该网络将参数化变分后验$q_{\phi}(z|x)$(也称为解码器)。

self.decoder = tf.keras.Sequential([tf.keras.layers.InputLayer(input_shape=(latent_dim,)),tf.keras.layers.Dense(units=7*7*32, activation=tf.nn.relu),tf.keras.layers.Reshape(target_shape=(7, 7, 32)),tf.keras.layers.Conv2DTranspose(filters=64, kernel_size=3, strides=2, padding='same',activation='relu'),tf.keras.layers.Conv2DTranspose(filters=32, kernel_size=3, strides=2, padding='same',activation='relu'),tf.keras.layers.Conv2DTranspose(filters=1, kernel_size=3, strides=1, padding='same'),
])

我们使用摊销变分推断训练模型,因此需要另一个神经网络作为推断网络(也称为编码器),它将参数化似然$p_{\theta}(x|z)$。

self.encoder = tf.keras.Sequential([tf.keras.layers.InputLayer(input_shape=(28, 28, 1)),tf.keras.layers.Conv2D(filters=32, kernel_size=3, strides=(2, 2), activation='relu'),tf.keras.layers.Conv2D(filters=64, kernel_size=3, strides=(2, 2), activation='relu'),tf.keras.layers.Flatten(),tf.keras.layers.Dense(latent_dim + latent_dim),
])

为了从编码器生成样本并将其传递给解码器,我们还需要利用重参数化技巧:

def reparameterize(self, mean, logvar):eps = tf.random.normal(shape=mean.shape)return eps * tf.exp(logvar * .5) + mean

两个网络通过最大化ELBO联合训练,在VAE情况下写为:

$$L_{\theta,\phi}(x) = \textbf{E}{q(z|x)} [ log p_{\theta}(x|z) ] - \textbf{KL}(q_{\phi}(z |x) || p_{\theta}(z))$$

损失项分析

第一项控制VAE从变分后验的样本$z$重构数据点$x$的效果,称为负重构误差。第二项控制变分后验与先验的接近程度。

训练过程:

  1. 将数据点传递给编码器,输出近似后验的均值和对数方差
  2. 应用重参数化技巧
  3. 将重参数化样本传递给解码器,输出似然
  4. 计算ELBO并反向传播梯度

生成新数据点:

  1. 从正态先验分布采样一组潜向量
  2. 从编码器获取潜变量
  3. 解码器将样本的潜变量转换为新数据点
def generate(model, epoch, test_sample):mean, logvar = model.encode(test_sample)z = model.reparameterize(mean, logvar)predictions = model.sample(z)

更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

http://www.jsqmd.com/news/15856/

相关文章:

  • Open Bug Bounty 安全验证流程解析
  • PostgreSql FDW 与 DBLINK 区别 - 详解
  • 2025 阻燃膜厂商最新推荐榜单:国际环保标准达标企业权威发布,覆盖 BOPET/PET/ 新能源专用全品类
  • 2025 年最新微波干燥设备生产厂家推荐排行榜:覆盖多行业需求,精选优质高效设备品牌指南黄粉虫微波/黑水虻微波/中药材微波干燥设备公司品牌推荐
  • 2025 年最新推荐钢结构源头厂家排行榜:聚焦美标 / 欧标钢结构等多领域,精选实力企业助力工程高效选材
  • 2025年10月访客系统推荐榜单详解:从核心指标到用户体验的客观剖析
  • 2025 年北京红旗国悦 12 座 / 北京考斯特 4S 店 / 北京丰田柯斯达 / 北京考斯特商务车经销商推荐:大隆金马特装定制与全链条服务解析
  • 2025年10月deepseek关键词排名优化推荐评测榜:聚焦头部企业技术实力与服务透明度
  • AtCoder-abc228_h Histogram题解
  • 公钥私钥概念
  • 2025 年融合瓦生产厂家最新推荐排行榜:TPS/TPO/TPF 塑钢及钢塑一体融合瓦企业盘点与品质解析
  • 2025 年防腐瓦源头厂家最新推荐榜:聚焦塑钢防腐瓦 / PSP 塑钢覆合防腐瓦板等多类型产品,精选优质企业助力精准采购决策
  • python第五天
  • 2025年10月AI搜索优化推荐榜单:十强服务商对比评测与避坑指南
  • uml九种类图介绍
  • 2025 年试验箱厂家最新推荐排行榜:涵盖高低温 / 恒温恒湿 / 冷热冲击等设备,精选研发实力强、质量管控严的优质品牌
  • C杂谈
  • 撼嗡幌佣渍话仝使卮哺
  • 2025年10月geo优化服务商推荐榜:十强对比评测与中立选购指南
  • 2025年10月geo优化服务商推荐榜单:聚焦全平台同步优化能力的客观剖析
  • 2025 年试验台厂家最新推荐排行榜:聚焦振动 / 三轴向 / 垂直等类型,精选优质企业助您精准选型
  • 2025年10月geo优化推荐排行:基于技术实力与案例成效的权威评测榜
  • 2025 年 PET 薄膜源头厂家最新推荐榜单:光学 / 高温 / 阻燃 / 抗静电 / 无胶覆合PET 薄膜等多类型薄膜企业精选及行业适配案例详解
  • 2025 年最新推荐!国内软水品牌实力排行榜揭晓,西岭百年等优质品牌深度解析健身喝水极/天然/西岭百年极/弱碱性天然极软水厂家推荐
  • CF1463C
  • 2025年10月geo优化推荐榜单:聚焦跨平台效果与行业复购数据的全面剖析
  • 在Linux中,优雅地打印环境变量
  • 以Java向世界问好——JAVA程序运行机制———使用IDEA开发
  • 2025 年废纸输送机优质厂家最新推荐榜单:技术实力与市场口碑双维度甄选企业品牌不切断文丘里装置/不锈钢金属软管/废纸爬坡输送机厂家推荐
  • 2025年10月deepseek排名优化推荐对比评测:聚焦技术深度与服务完整度的客观剖析