• Reparameterization trick(重参数化技巧)


    “Reparameterization trick”(重参数化技巧)是一种在训练生成模型中处理随机性潜在变量的方法,特别常见于变分自动编码器(VAE)等模型中。这个技巧的目的是使模型可微分(differentiable),以便使用梯度下降等反向传播算法来训练模型,也就是将随机采样的过程转换为可导的运算,从而使得梯度下降算法可以正常工作
    以下是它的基本原理和操作:

    1. 背景:在生成模型中,通常会有一个随机性的潜在变量,例如高斯分布中的均值和方差,用于生成样本。这会导致问题,因为采样操作是不可微的,无法通过反向传播来更新梯度,从而让模型学习这些分布参数。

    2. 重参数化:为了解决这个问题,“Reparameterization trick” 提出将随机采样操作从网络中移动到一个确定性函数中。这个确定性函数通常是一个线性变换,将从标准高斯分布(均值为0,方差为1)中采样的随机噪声与潜在变量的均值和标准差相结合。这个确定性函数是可微分的,因此梯度可以在这个过程中传播。

    3. 具体操作:在实际操作中,首先从标准高斯分布中采样一个随机噪声向量(通常记作𝝐)。然后,通过一个神经网络或其他可微分的映射函数,将这个随机噪声向量与模型的均值和标准差参数相结合,生成最终的潜在变量。这个潜在变量被用于生成样本,同时也与损失函数相关联,使得可以通过反向传播来更新梯度。

    我是在看Variational Bipartite Graph Encoder的时候看到作者有这样一个操作,如下,当时觉得很奇怪。在这里插入图片描述

    上面(3)式子,和VAE的讲解结合起来看看,貌似能理解了。首先 Z 服从 N(μ,σ2)的话,大学概率论都学过,那么ε = ( Z − μ ) σ \frac{(Z-μ)}{σ} σ(Zμ)就服从标准正态分布了,也就是 ε 服从标准正态分布N(0, 1)。
    ε = ( Z − μ ) σ \frac{(Z-μ)}{σ} σ(Zμ)左边的等式变式一下,就有Z = μ + ε × σ了,那么从 N(μ,σ2)采样一个Z,相当于从从标准正态分布N(0, 1)采样一个 ε 。这样就将随机采样的过程转换为可导的运算,可以进行反向传播了。
    我的例子是一个随机变量的正态分布,到了多维正态分布 Z ~ N(μ, Σ) = N(μ, I)的情况应该同理。

    总之,“Reparameterization trick” 允许模型在训练过程中通过随机采样得到的潜在变量,同时保持了可微性,从而使生成模型更容易优化。这个技巧在生成对抗网络(GANs)、变分自动编码器(VAE)和其他生成模型中广泛应用。

  • 相关阅读:
    vscode插件
    闩锁和锁(Latches and Locks)
    应用在冷链运输中的温度传感芯片
    抖音矩阵系统,抖音矩阵系统,抖音矩阵系统。
    XML|DTD声明
    后端连接数据库但是不能读取数据
    百分点科技受邀参加“一带一路”国际合作高峰论坛
    云原生之kubernetes调度约束(scheduler调度器)
    应用场景丨迭代市政综合管廊监测系统建设
    【数据结构】堆排序的实现
  • 原文地址:https://blog.csdn.net/qq_45732909/article/details/133970556