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

网站建设阝金手指科杰十二爱站网关键词长尾挖掘工具

网站建设阝金手指科杰十二,爱站网关键词长尾挖掘工具,免费申请靓号,动漫制作专业正规吗变分推断 (Variational Inference) 变分推断属于对隐变量模型 (Latent Variable Model) 处理的一种技巧,其概率图如下所示 我们将 X{x1,...xN}X\{ x_1,...x_N \}X{x1​,...xN​} 看作是每个样本可观测的一组数据,而将对应的 Z{z1,...,zN}Z\{z_1,...,z_N…

变分推断 (Variational Inference)

变分推断属于对隐变量模型 (Latent Variable Model) 处理的一种技巧,其概率图如下所示

在这里插入图片描述
我们将 X={x1,...xN}X=\{ x_1,...x_N \}X={x1,...xN} 看作是每个样本可观测的一组数据,而将对应的 Z={z1,...,zN}Z=\{z_1,...,z_N\}Z={z1,...,zN} 看作是该组数据对应的高维空间下的对应样本点,例如使用 XXX 表示一个班同学的所有成绩,而将 ZZZ 看作是同学的学习能力。对于更复杂的一些情况,例如图像生成任务,使用 XXX 表示数据集中的每张图像,而使用 ZZZ 表示更高维的信息,例如基于类别/语义等控制信息。

对于生成任务,我们经常希望利用观测数据 XXX 建模随机变量 xxx 的真实分布 p(x)p(x)p(x),使用 zzz 来辅助概率推导,那么核心点在于计算两个条件概率分布 p(x∣z)p(x|z)p(xz)p(z∣x)p(z|x)p(zx),通常可以使用一些先验知识假定 p(x∣z)p(x|z)p(xz) 服从某种概率分布(例如对于学习能力为 ggg 的同学成绩假定服从在 ggg 附近的高斯分布),但对于 p(z∣x)p(z|x)p(zx),注意到
p(z∣x)=p(z)p(x∣z)p(x)p(z|x) = \frac{p(z)p(x|z)}{p(x)} p(zx)=p(x)p(z)p(xz)
zzz 是辅助建模的变量,可以假定其服从某已知的分布,但对于归一化项 p(x)p(x)p(x),有
p(x)=∫zp(x,z)dz=∫zp(z)p(x∣z)dzp(x) = \int_z p(x,z)dz = \int_z p(z) p(x|z) dz p(x)=zp(x,z)dz=zp(z)p(xz)dz
由于 zzz 是一个非常高维的信息,p(x)p(x)p(x) 是很难直接计算积分进行处理的,所以 p(z∣x)p(z|x)p(zx) 也是很难处理的,我们通常使用优化的方法来拟合出概率分布 p(z∣x)p(z|x)p(zx)

首先,我们考虑随机变量 zzzxxx 之间的关系,假定 p(x)p(x)p(x) 表示真实的数据分布,即我们观测到的数据 x∼p(x)x\sim p(x)xp(x)q(z∣x)q(z|x)q(zx) 为任一条件概率分布(通常是使用模型拟合出来的分布),有
log⁡p(x)=log⁡p(x,z)−log⁡p(z∣x)=log⁡p(x,z)q(z∣x)−log⁡p(z∣x)q(z∣x)\begin{align} \log p(x) &= \log p(x,z) - \log p(z|x) \nonumber \\&=\log\frac{p(x,z)}{q(z|x)} - \log\frac{p(z|x)}{q(z|x)} \nonumber \end{align} logp(x)=logp(x,z)logp(zx)=logq(zx)p(x,z)logq(zx)p(zx)
对左右两式计算关于隐变量 zzz 的期望,有
left=Ez∼q(z∣x)[log⁡p(x)]=log⁡p(x)∫zq(z∣x)dz=log⁡p(x)right=Ez∼q(z∣x)[log⁡p(x,z)q(z∣x)−log⁡p(z∣x)q(z∣x)]=∫zq(z∣x)log⁡p(x,z)q(z∣x)dz+∫zq(z∣x)log⁡q(z∣x)p(z∣x)dz=∫zq(z∣x)log⁡p(x,z)q(z∣x)dz+KL(q(z∣x)∣∣p(z∣x))\begin{align} \text{left} &= \mathbb E_{z\sim q(z|x)}[\log p(x)] = \log p(x) \int_z q(z|x) dz = \log p(x) \nonumber \\\text{right} &= \mathbb E_{z\sim q(z|x)}[\log\frac{p(x,z)}{q(z|x)} - \log\frac{p(z|x)}{q(z|x)}] = \int_z q(z|x) \log\frac{p(x,z)}{q(z|x)} dz + \int_z q(z|x) \log\frac{q(z|x)}{p(z|x)} dz \nonumber \\ &= \int_z q(z|x) \log\frac{p(x,z)}{q(z|x)} dz + \text{KL}(q(z|x)||p(z|x)) \nonumber \end{align} leftright=Ezq(zx)[logp(x)]=logp(x)zq(zx)dz=logp(x)=Ezq(zx)[logq(zx)p(x,z)logq(zx)p(zx)]=zq(zx)logq(zx)p(x,z)dz+zq(zx)logp(zx)q(zx)dz=zq(zx)logq(zx)p(x,z)dz+KL(q(zx)∣∣p(zx))
其中 ∫zq(z∣x)log⁡p(x,z)q(z∣x)dz\int_z q(z|x) \log\frac{p(x,z)}{q(z|x)} dzzq(zx)logq(zx)p(x,z)dz 被称作是信心下界 (Evidence Lower Bound),简单记作 ELBO,名字来源是由于KL散度满足恒大于等于0的性质,因此有 log⁡p(x)≥ELBO\log p(x)\geq \text{ELBO}logp(x)ELBO,当 q(z∣x)=p(z∣x)q(z|x) = p(z|x)q(zx)=p(zx) 时取等,因此我们有如下公式
log⁡p(x)=ELBO+KL(q(z∣x)∣∣p(z∣x))≥ELBO\begin{align} \log p(x) = \text{ELBO}+\text{KL}(q(z|x)||p(z|x)) \geq \text{ELBO} \end{align} logp(x)=ELBO+KL(q(zx)∣∣p(zx))ELBO
如果我们希望 q(z∣x)q(z|x)q(zx) 逼近真实条件概率分布 p(z∣x)p(z|x)p(zx),在观测数据 xxx 给定的情况下,最小化KL散度等价于最大化ELBO

假定 q(z∣x)q(z|x)q(zx) 表示的概率分布由参数 ϕ\phiϕ 决定(例如使用神经网络表示 qϕq_\phiqϕ,我们一般不改变网络结构,而只针对参数进行优化),那么该拟合问题的优化目标如下所示
ϕ^=arg⁡max⁡ϕELBO\hat{\phi} = \arg\max_\phi \text{ELBO} ϕ^=argϕmaxELBO
如果我们采用随机梯度下降法来进行优化 (Stochastic Gradient Varational Inference),首先要计算 ϕ\phiϕ 的导数
▽ϕELBO=▽ϕ∫zqϕ(z∣x)log⁡p(x,z)qϕ(z∣x)dz=∫z▽ϕqϕ(z∣x)log⁡p(x,z)qϕ(z∣x)dz+∫zqϕ(z∣x)▽ϕlog⁡p(x,z)qϕ(z∣x)dz\begin{align} \triangledown_\phi \text{ELBO} &= \triangledown_\phi \int_z q_\phi(z|x) \log\frac{p(x,z)}{q_\phi(z|x)} dz \nonumber \\ &= \int_z \triangledown_\phi q_\phi(z|x) \log\frac{p(x,z)}{q_\phi(z|x)} dz + \int_z q_\phi(z|x) \triangledown_\phi \log\frac{p(x,z)}{q_\phi(z|x)} dz \nonumber \end{align} ϕELBO=ϕzqϕ(zx)logqϕ(zx)p(x,z)dz=zϕqϕ(zx)logqϕ(zx)p(x,z)dz+zqϕ(zx)ϕlogqϕ(zx)p(x,z)dz
注意到,对于第二项,有
∫zqϕ(z∣x)▽ϕlog⁡p(x,z)qϕ(z∣x)dz=−∫zqϕ(z∣x)▽ϕlog⁡qϕ(z∣x)dz=−∫z▽ϕqϕ(z∣x)dz=−▽ϕ∫zqϕ(z∣x)dz=0\int_z q_\phi(z|x) \triangledown_\phi \log\frac{p(x,z)}{q_\phi(z|x)} dz = - \int_z q_\phi(z|x) \triangledown_\phi \log q_\phi(z|x) dz = - \int_z \triangledown_\phi q_\phi(z|x) dz = - \triangledown_\phi \int_z q_\phi(z|x) dz = 0 zqϕ(zx)ϕlogqϕ(zx)p(x,z)dz=zqϕ(zx)ϕlogqϕ(zx)dz=zϕqϕ(zx)dz=ϕzqϕ(zx)dz=0
因此,有如下等式
▽ϕELBO=∫zqϕ(z∣x)▽ϕlog⁡qϕ(z∣x)log⁡p(x,z)qϕ(z∣x)dz=Ez∼qϕ(z∣x)[▽ϕlog⁡qϕ(z∣x)log⁡p(x,z)qϕ(z∣x)]\begin{align} \triangledown_\phi \text{ELBO} &= \int_z q_\phi(z|x) \triangledown_\phi \log q_\phi(z|x) \log\frac{p(x,z)}{q_\phi(z|x)} dz \nonumber \\ &= \mathbb E_{z\sim q_\phi(z|x)}[\triangledown_\phi \log q_\phi(z|x) \log\frac{p(x,z)}{q_\phi(z|x)}] \end{align} \nonumber ϕELBO=zqϕ(zx)ϕlogqϕ(zx)logqϕ(zx)p(x,z)dz=Ezqϕ(zx)[ϕlogqϕ(zx)logqϕ(zx)p(x,z)]
使用 Monto-Carlo 采样方法计算期望,即 zi∼qϕ(z∣x)(i=1...L)z_i \sim q_\phi(z|x) \;\;(i=1...L)ziqϕ(zx)(i=1...L)
▽ϕELBO≈1L∑i=1L▽ϕlog⁡qϕ(zi∣x)log⁡p(x,zi)qϕ(zi∣x)\triangledown_\phi \text{ELBO} \approx \frac{1}{L} \sum_{i=1}^L \triangledown_\phi \log q_\phi(z_i|x) \log\frac{p(x,z_i)}{q_\phi(z_i|x)} ϕELBOL1i=1Lϕlogqϕ(zix)logqϕ(zix)p(x,zi)
注意到,式子中包含 ▽ϕlog⁡qϕ(zi∣x)\triangledown_\phi \log q_\phi(z_i|x)ϕlogqϕ(zix),以下为 y=log⁡(x)y=\log(x)y=log(x) 的函数图像

在这里插入图片描述
xxx 较小时值的变化范围很大,因此直观上来看 ▽ϕlog⁡qϕ(zi∣x)log⁡p(x,zi)qϕ(zi∣x)\triangledown_\phi \log q_\phi(z_i|x) \log\frac{p(x,z_i)}{q_\phi(z_i|x)}ϕlogqϕ(zix)logqϕ(zix)p(x,zi) 方差较大,对于每个 xxx 都需要大量采样 zzz 才能得到一个较为准确的期望值,实际应用时存在较大困难,因此引入如下重参数化技巧 (Re-parameterization)

重参数化技巧:我们希望解耦随机变量 zzz 中的随机性与 ϕ\phiϕ 之间的关系,使得计算期望时随机变量服从的概率分布 z∼qϕ(z∣x)z\sim q_\phi(z|x)zqϕ(zx) 转变为某个已知的概率分布,我们假定存在某随机变量 ϵ∼pϵ(ϵ)\epsilon \sim p_\epsilon(\epsilon)ϵpϵ(ϵ),满足 z=gϕ(ϵ,x)z = g_\phi(\epsilon, x)z=gϕ(ϵ,x),我们有 ∣qϕ(z∣x)dz∣=∣pϵ(ϵ)dϵ∣\left | q_{\phi }(z|x)dz \right |=\left | p_\epsilon(\epsilon )d\epsilon \right |qϕ(zx)dz=pϵ(ϵ)dϵ,因此,有下式
▽ϕELBO=▽ϕ∫zqϕ(z∣x)log⁡p(x,z)qϕ(z∣x)dz=▽ϕ∫zlog⁡p(x,z)qϕ(z∣x)pϵ(ϵ)dϵ=∫z▽ϕlog⁡p(x,z)qϕ(z∣x)pϵ(ϵ)dϵ=Eϵ∼pϵ[▽ϕlog⁡p(x,z)qϕ(z∣x)]=Eϵ∼pϵ[▽zlog⁡p(x,z)qϕ(z∣x)▽ϕgϕ(ϵ,x)]\begin{align} \triangledown_\phi \text{ELBO} &= \triangledown_\phi \int_z q_\phi(z|x) \log\frac{p(x,z)}{q_\phi(z|x)} dz \nonumber \\ &= \triangledown_\phi \int_z \log\frac{p(x,z)}{q_\phi(z|x)} p_\epsilon(\epsilon) d\epsilon \nonumber \\ &= \int_z \triangledown_\phi \log\frac{p(x,z)}{q_\phi(z|x)} p_\epsilon(\epsilon) d\epsilon \nonumber \\ &= \mathbb E_{\epsilon\sim p_\epsilon}[ \triangledown_\phi\log\frac{p(x,z)}{q_\phi(z|x)}] \nonumber \\ &= \mathbb E_{\epsilon\sim p_\epsilon}[ \triangledown_z\log\frac{p(x,z)}{q_\phi(z|x)} \triangledown_\phi g_\phi(\epsilon,x)] \nonumber \end{align} ϕELBO=ϕzqϕ(zx)logqϕ(zx)p(x,z)dz=ϕzlogqϕ(zx)p(x,z)pϵ(ϵ)dϵ=zϕlogqϕ(zx)p(x,z)pϵ(ϵ)dϵ=Eϵpϵ[ϕlogqϕ(zx)p(x,z)]=Eϵpϵ[zlogqϕ(zx)p(x,z)ϕgϕ(ϵ,x)]

变分自动编码器 (Variational AutoEncoder)

变分自编码器是变分推断与自编码器的一种组合,首先来简单介绍一下自编码器,经验可知,对于图像 x∈RH×W×3x\in \R^{H\times W\times 3}xRH×W×3 等真实数据的高维数据,它们通常在空间中是稀疏分布的,大致分布在高维空间的某个流形上面,因此,我们希望将其投影到某个稠密分布的空间上,使其满足某些性质(例如,在该稠密空间上采样的任一一个点,投影回原始图像空间都能得到一个接近真实的图像),我们使用神经网络来执行不同表示空间的转换操作,如下所示
在这里插入图片描述
AE主要有encoder和decoder两个部分组成,其中encoder和decoder都是神经网络。其中encoder负责将高维输入转换为低维的隐变量,decoder负责将低维的隐变量转换为高维的图像输出,其中输出要跟输入尽可能的相似

通常情况下,网络的拟合能力要强于训练数据的多样性,假如 Autoencoders 中的 encoder 和 decoder 都具有无限的拟合能力,那么理论上我们就可以无损地把任何高维数据都压缩至维度为 1,无损的数据压缩往往会使得隐空间缺乏可解释性。在大多数情况下,空间转化不仅仅是为了降低数据维度,而是在降低数据维度的同时还能在隐空间中保留数据的主要结构信息。我们目前的损失函数只对每个样本点处进行约束,而并没有整个隐空间上给出约束信息,这使得该网络不能在样本点与样本点之间得到较好的插值结果
在这里插入图片描述
上图所示三种颜色表示三个样本点在隐空间上的位置,如果不引入额外的约束,只在样本点的某个小邻域内可以得到合理的图像结果,但大部分位置 Decoder 不能给出一个合理的图像生成结果。我们希望,对隐空间的样本点施加一个噪声的情况下,依旧约束 Decoder 重建出一张与原始图像相似的图片,整体流程如下所示
在这里插入图片描述
注意到对于上述流程中,采样这一步是无法进行反向传播的,采用重参数化技巧解耦 zzz 的随机性和与参数 ϕ\phiϕ 之间的关系。通常假定 z∣x∼N(μ(x),σ2(x)I)z|x \sim \mathcal N (\mu(x), \sigma^2(x)I)zxN(μ(x),σ2(x)I),那么有
z=μ(x)+σ(x)ϵz = \mu(x) + \sigma(x) \epsilon z=μ(x)+σ(x)ϵ
其中 ϵ∼N(0,I)\epsilon \sim \mathcal{N}(0,I)ϵN(0,I),网络结构如下所示
在这里插入图片描述
对于以上网络结构,显然噪声会增加重构的难度,其中噪声强度(方差)通过一个神经网络算出来的,如果不施加额外的约束,网络会倾向于让方差为0,模型会慢慢退化成普通的AutoEncoder,噪声不再起作用。

因此,为了避免模型退化,同时保证有意义的 p(z)p(z)p(z) 分布(方便图像的生成任务),VAE让所有的 p(z∣x)p(z|x)p(zx) 向标准正态分布看齐,如果所有的 p(z∣x)p(z|x)p(zx) 都很接近标准正态分布 N(0,1)\mathcal{N}(0,1)N(0,1),那么有
p(z)=∫xp(z∣x)p(x)dx=∫xN(0,1)p(x)dx=N(0,1)p(z) = \int_x p(z|x) p(x) dx = \int_x \mathcal{N}(0,1) p(x) dx = \mathcal{N}(0,1) p(z)=xp(zx)p(x)dx=xN(0,1)p(x)dx=N(0,1)
然后我们就可以从 N(0,1)\mathcal{N}(0,1)N(0,1) 中采样来生成图像

约束项由 KL 散度给出,有如下结论:对于一维高斯分布 p∼N(μ1,σ12)p~\sim \mathcal{N}(\mu_1,\sigma_1^2)p N(μ1,σ12)q∼N(μ2,σ22)q~\sim \mathcal{N}(\mu_2,\sigma_2^2)q N(μ2,σ22),满足
KL(p∣∣q)=log⁡σ2σ1+σ12+(μ1−μ2)22σ22−12\text{KL}(p||q) = \log\frac{\sigma_2}{\sigma_1} + \frac{\sigma_1^2+(\mu_1-\mu_2)^2}{2\sigma_2^2} - \frac{1}{2} KL(p∣∣q)=logσ1σ2+2σ22σ12+(μ1μ2)221
具体细节可见 高斯分布的KL散度,进一步,假定隐变量各维度是相互独立的,可以给出如下损失函数约束项(对于第 i 个分量)
KL(N(μ(i)(x),σ(i)(x)),N(0,1))=12(μ(i)(x)2+σ(i)(x)2−2log⁡σ(i)(x)−1)\text{KL}(\mathcal{N}(\mu^{(i)}(x),\sigma^{(i)}(x)), \mathcal{N}(0,1)) = \frac{1}{2}(\mu^{(i)}(x)^2+\sigma^{(i)}(x)^2−2\log\sigma^{(i)}(x)−1) KL(N(μ(i)(x),σ(i)(x)),N(0,1))=21(μ(i)(x)2+σ(i)(x)22logσ(i)(x)1)

从数学角度来说,该优化问题可表示为
θ^,ϕ^=arg⁡min⁡θ,ϕKL(qϕ(z∣x)∣∣pθ(z∣x))=arg⁡max⁡θ,ϕELBO=arg⁡max⁡θ,ϕEz∼qϕ(z∣x)[log⁡pθ(x∣z)]−KL(qϕ(z∣x)∣∣pθ(z∣x))\begin{align} \hat{\theta}, \hat{\phi} &= \arg \min_{\theta,\phi} \text{KL}(q_\phi(z|x)||p_\theta(z|x)) \\&= \arg \max_{\theta,\phi} \text{ELBO} \\&= \arg \max_{\theta,\phi} \mathbb{E}_{z\sim q_\phi(z|x)} [\log p_\theta(x|z)] - \text{KL}(q_\phi(z|x)||p_\theta(z|x)) \end{align} θ^,ϕ^=argθ,ϕminKL(qϕ(zx)∣∣pθ(zx))=argθ,ϕmaxELBO=argθ,ϕmaxEzqϕ(zx)[logpθ(xz)]KL(qϕ(zx)∣∣pθ(zx))

参考资料

白板推导机器学习

http://www.khdw.cn/news/35842.html

相关文章:

  • 网站建设开发软件有哪些站长工具seo综合查询推广
  • 发布网站后备案襄阳seo优化排名
  • 小程序自助建站百度移动应用
  • 远程教育网站开发网站生成
  • 网络专业有哪些网店产品seo如何优化
  • 怎么知道一个网站是谁做的品牌推广专员
  • wordpress 摘要图片杭州seo搜索引擎优化
  • 自学网网站怎么做一个自己的网站
  • 房地产网站建设解决方案微博付费推广有用吗
  • 营销型 网站 品牌网站seo快速排名
  • 医院网站怎么做运营新东方一对一辅导价格
  • 做播放器电影网站需要多少钱凡科建站后属于自己的网站吗
  • 医疗机械网站怎么做网络推广网站推广淘宝运营商
  • 做推广便宜的网站建站系统哪个好
  • 西宁市网站建设公司自己的网站怎么推广
  • 日本女做受网站企业网络组建方案
  • 网络营销的工作内容包括哪些优化搜狗排名
  • 做一家电商网站需要多少钱正规的推文平台
  • 公司的网站推广费怎么做分录长沙h5网站建设
  • 泗阳做网站公司世界足球排名最新
  • wordpress谁开发的长春seo优化
  • 做网站容易还是做小程序容易国际军事新闻最新消息
  • 长安网站建设百度指数与百度搜索量
  • 惠州有做网站的吗西安关键词优化软件
  • 做网站开发要学什么语言百度关键词点击排名
  • 广州荔湾网站制作公司百度sem
  • 凡科建站提示网站建设中网站快速优化排名排名
  • 专业营销的网站建设公司做网络推广一个月的收入
  • 郑州做营销型网站公司软文推广平台
  • 做网站要下载的软件大数据培训班需要多少钱