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

做网站需要哪些栏目怎样做网站权重

做网站需要哪些栏目,怎样做网站权重,wordpress个人网站模板,网站 目录访问VAE模型及pytorch实现 VAE模型推导部分最小化KL散度推导代码部分损失函数Encoder部分Decoder部分VAE整体架构 VAE问题参考资料 VAE#xff08;变分自编码器#xff09;是一种生成模型#xff0c;结合了自编码器和概率图模型的思想。它通过学习数据的潜在分布#xff0c;可以… VAE模型及pytorch实现 VAE模型推导部分最小化KL散度推导代码部分损失函数Encoder部分Decoder部分VAE整体架构 VAE问题参考资料 VAE变分自编码器是一种生成模型结合了自编码器和概率图模型的思想。它通过学习数据的潜在分布可以生成新的数据样本。VAE通过将输入数据映射到潜在空间中的分布并在训练过程中最大化数据与潜在变量之间的条件概率来实现。其关键思想在于编码器将输入数据编码成潜在分布的参数解码器则从这个分布中采样生成新的数据。这种生成方式不仅能够生成新的数据还能够在潜在空间中进行插值和操作提供了强大的特征学习和数据生成能力。 AE论文Auto-Encoding Variational Bayes VAE论文Semi-supervised Learning with Deep Generative Models VAE模型推导部分 假设 P ( z ) P(z) P(z)是一个正态分布 x ∣ z ∼ N ( μ ( z ) , σ ( z ) ) x|z \sim N(\mu(z),\sigma(z)) x∣z∼N(μ(z),σ(z))是x从z分布中进行采样得到的。 P ( x ) ∫ z P ( z ) P ( x ∣ z ) d z P(x)\int_zP(z)P(x|z)dz P(x)∫z​P(z)P(x∣z)dz 为了最大化 P ( x ) P(x) P(x)我们采用极大似然估计 L ∑ x l o g P ( x ) M a x i m i z i n g t h e l i k e l i h o o d o f t h e o b s e r v e d x L\sum_{x}logP(x)\quad\mathrm{Maximizing~the~likelihood~of~the~observed~x} Lx∑​logP(x)Maximizing the likelihood of the observed x 对 l o g P ( x ) logP(x) logP(x)进一步进行变形 l o g P ( x ) ∫ z q ( z ∣ x ) l o g P ( x ) d z q ( z ∣ x ) c a n b e a n y d i s t r i b u t i o n ∫ z q ( z ∣ x ) l o g ( P ( z , x ) P ( z ∣ x ) ) d z ∫ z q ( z ∣ x ) l o g ( P ( z , x ) q ( z ∣ x ) q ( z ∣ x ) P ( z ∣ x ) ) d z ∫ z q ( z ∣ x ) l o g ( P ( z , x ) q ( z ∣ x ) ) d z ∫ z q ( z ∣ x ) l o g ( q ( z ∣ x ) P ( z ∣ x ) ) d z ≥ ∫ z q ( z ∣ x ) l o g ( P ( x ∣ z ) P ( z ) q ( z ∣ x ) ) d z \begin{aligned} logP(x)\int_{z}q(z|x)logP(x)dz\quad\mathrm{q(z|x)~can~be~any~distribution} \\ \int_{z}q(z|x)log\left(\frac{P(z,x)}{P(z|x)}\right)dz\int_{z}q(z|x)log\left(\frac{P(z,x)}{q(z|x)}\frac{q(z|x)}{P(z|x)}\right)dz \\ \int_{z}q(z|x)log\left(\frac{P(z,x)}{q(z|x)}\right)dz\int_{z}q(z|x)log\left(\frac{q(z|x)}{P(z|x)}\right)dz \\ \geq \int_{z}q(z|x)log\left(\frac{P(x|z)P(z)}{q(z|x)}\right)dz \end{aligned} logP(x)​∫z​q(z∣x)logP(x)dzq(z∣x) can be any distribution∫z​q(z∣x)log(P(z∣x)P(z,x)​)dz∫z​q(z∣x)log(q(z∣x)P(z,x)​P(z∣x)q(z∣x)​)dz∫z​q(z∣x)log(q(z∣x)P(z,x)​)dz∫z​q(z∣x)log(P(z∣x)q(z∣x)​)dz≥∫z​q(z∣x)log(q(z∣x)P(x∣z)P(z)​)dz​ 因为 K L ( q ( z ∣ x ) ∣ ∣ P ( z ∣ x ) ) ∫ z q ( z ∣ x ) l o g ( q ( z ∣ x ) P ( z ∣ x ) ) d z KL\left(q(z|x)||P(z|x)\right)\int_{z}q(z|x)log\left(\frac{q(z|x)}{P(z|x)}\right)dz KL(q(z∣x)∣∣P(z∣x))∫z​q(z∣x)log(P(z∣x)q(z∣x)​)dz是大于0的数所以上述式子大于等于前面那一项。 ​ 对于给定的 P ( x ∣ z ) P(x|z) P(x∣z),让KL尽可能小就是让 L b L_b Lb​最大。同时当 K L KL KL尽可能小也就是说明 q ( z ∣ x ) q(z|x) q(z∣x)和 p ( z ∣ x ) p(z|x) p(z∣x)这两个分布的相似度越高。 ​ 接下来我们就对 L b L_b Lb​进行最大化变形处理变形后左侧为右侧为 L b ∫ z q ( z ∣ x ) l o g ( P ( z , x ) q ( z ∣ x ) ) d z ∫ z q ( z ∣ x ) l o g ( P ( x ∣ z ) P ( z ) q ( z ∣ x ) ) d z ∫ z q ( z ∣ x ) log ⁡ ( P ( z ) q ( z ∣ x ) ) d z ∫ z q ( z ∣ x ) l o g P ( x ∣ z ) d z K L ( q ( z ∣ x ) ∣ ∣ P ( z ) ) E q ( z ∣ x ) [ l o g P ( x ∣ z ) ] \begin{aligned} L_b\int_zq(z|x)log\left(\frac{P(z,x)}{q(z|x)}\right)dz\int_zq(z|x)log\left(\frac{P(x|z)P(z)}{q(z|x)}\right)dz\\ \int_z q(z|x)\log (\frac{P(z)}{q(z|x)})dz\int_zq(z|x)logP(x|z)dz\\ KL(q(z|x)||P(z))E_{q(z|x)}[logP(x|z)] \end{aligned} Lb​​∫z​q(z∣x)log(q(z∣x)P(z,x)​)dz∫z​q(z∣x)log(q(z∣x)P(x∣z)P(z)​)dz∫z​q(z∣x)log(q(z∣x)P(z)​)dz∫z​q(z∣x)logP(x∣z)dzKL(q(z∣x)∣∣P(z))Eq(z∣x)​[logP(x∣z)]​ ​ 如下所示我们需要做的就是最小化 K L ( q ( z ∣ x ) ∣ ∣ P ( z ) ) KL(q(z|x)||P(z)) KL(q(z∣x)∣∣P(z))并最大化 E q ( z ∣ x ) [ l o g P ( x ∣ z ) ] E_{q(z|x)}[logP(x|z)] Eq(z∣x)​[logP(x∣z)]。对于最小化KL我们可以理解为输入一个 x x x,然后通过神经网络调参输出 μ ( x ) , σ ( x ) \mu_(x),\sigma(x) μ(​x),σ(x)也就是让这个数值尽可能和 P ( z ) P(z) P(z)这个分布接近。这部分相当于Encoder部分。 ​ 在Encoder部分结束后对于第2项从已知的 z z z也就是数据的隐式特征表示去采样出 x x x相当于模型的Decoder部分输出一个均值使之尽可能接近原始的 x x x因为对于这种条件概率均值最大的时候就是 x x x 最小化KL散度推导 为了最小化 q ( z ∣ x ) q(z|x) q(z∣x)和 P ( z ) P(z) P(z)的KL散度首先我们先对正态分布的KL散度计算进行推导。参考链接高斯分布的KL散度-CSDN博客 K L ( N ( μ 1 , σ 1 2 ) ∥ N ( μ 2 , σ 2 2 ) ) ∫ x 1 2 π σ 1 e − ( x − μ 1 ) 2 2 σ 1 2 log ⁡ 1 2 π σ 1 e − ( x − μ 1 ) 2 2 σ 1 2 1 2 π σ 2 e − ( x − μ 2 ) 2 2 σ 2 2 d x ∫ x 1 2 π σ 1 e − ( x − μ 1 ) 2 2 σ 1 2 [ log ⁡ σ 2 σ 1 − ( x − μ 1 ) 2 2 σ 1 2 ( x − μ 2 ) 2 2 σ 2 2 ] d x \begin{aligned} \mathrm{KL}\left(\mathcal{N}\left(\mu_{1}, \sigma_{1}^{2}\right) \| \mathcal{N}\left(\mu_{2}, \sigma_{2}^{2}\right)\right) \int_{\mathrm{x}} \frac{1}{\sqrt{2 \pi} \sigma_{1}} \mathrm{e}^{-\frac{\left(x-\mu_{1}\right)^{2}}{2 \sigma_{1}^{2}}} \log \frac{\frac{1}{\sqrt{2 \pi} \sigma_{1}} e^{-\frac{\left(x-\mu_{1}\right)^{2}}{2 \sigma_{1}^{2}}}}{\frac{1}{\sqrt{2 \pi} \sigma_{2}} e^{-\frac{\left(x-\mu_{2}\right)^{2}}{2 \sigma_{2}^{2}}}} d x \\ \int_{x} \frac{1}{\sqrt{2 \pi} \sigma_{1}} e^{-\frac{\left(x-\mu_{1}\right)^{2}}{2 \sigma_{1}^{2}}}\left[\log \frac{\sigma_{2}}{\sigma_{1}}-\frac{\left(x-\mu_{1}\right)^{2}}{2 \sigma_{1}^{2}}\frac{\left(x-\mu_{2}\right)^{2}}{2 \sigma_{2}^{2}}\right] d x \end{aligned}\\ KL(N(μ1​,σ12​)∥N(μ2​,σ22​))​∫x​2π ​σ1​1​e−2σ12​(x−μ1​)2​log2π ​σ2​1​e−2σ22​(x−μ2​)2​2π ​σ1​1​e−2σ12​(x−μ1​)2​​dx∫x​2π ​σ1​1​e−2σ12​(x−μ1​)2​[logσ1​σ2​​−2σ12​(x−μ1​)2​2σ22​(x−μ2​)2​]dx​ 对于第1项由于 σ 1 , σ 2 \sigma_1,\sigma_2 σ1​,σ2​与x无关则可以直接提取到积分外面该积分即为正态分布的全概率公式也就是为1 log ⁡ σ 2 σ 1 ∫ x 1 2 π σ 1 e − ( x − μ 1 ) 2 2 σ 1 2 d x log ⁡ σ 2 σ 1 \log \frac{\sigma_{2}}{\sigma_{1}} \int_{\mathrm{x}} \frac{1}{\sqrt{2 \pi} \sigma_{1}} \mathrm{e}^{-\frac{\left(x-\mu_{1}\right)^{2}}{2 \sigma_{1}^{2}}} \mathrm{dx}\log \frac{\sigma_{2}}{\sigma_{1}}\\ logσ1​σ2​​∫x​2π ​σ1​1​e−2σ12​(x−μ1​)2​dxlogσ1​σ2​​ 对于第2项则是由方差定义式 D ( x ) ∫ x ( x − μ ) 2 f ( x ) d x D(x)\int_x(x-\mu)^2f(x)dx D(x)∫x​(x−μ)2f(x)dx,可知这个积分的结果为 σ 1 2 \sigma_1^2 σ12​ − 1 2 σ 1 2 ∫ x ( x − μ 1 ) 2 1 2 π σ 1 e − ( x − μ 1 ) 2 2 σ 1 2 d x − 1 2 σ 1 2 σ 1 2 − 1 2 -\frac{1}{2 \sigma_{1}^{2}} \int_{\mathrm{x}}\left(\mathrm{x}-\mu_{1}\right)^{2} \frac{1}{\sqrt{2 \pi} \sigma_{1}} \mathrm{e}^{-\frac{\left(\mathrm{x}-\mu_{1}\right)^{2}}{2 \sigma_{1}^{2}}} \mathrm{dx}-\frac{1}{2 \sigma_{1}^{2}} \sigma_{1}^{2}-\frac{1}{2} −2σ12​1​∫x​(x−μ1​)22π ​σ1​1​e−2σ12​(x−μ1​)2​dx−2σ12​1​σ12​−21​ 对于第3项首先将其展开对于 x 2 x^2 x2,由均方值公式 E ( x 2 ) D ( x ) E ( x ) 2 E(x^2)D(x)E(x)^2 E(x2)D(x)E(x)2,后面两项则分别是通过均值公式以及全概率公式进行计算。 1 2 σ 2 2 ∫ x ( x − μ 2 ) 2 1 2 π σ 1 e − ( x − μ 1 ) 2 2 σ 1 2 d x 1 2 σ 2 2 ∫ x ( x 2 − 2 μ 2 x μ 2 2 ) 1 2 π σ 1 e − ( x − μ 1 ) 2 2 σ 1 2 d x σ 1 2 μ 1 2 − 2 μ 1 μ 2 μ 2 2 2 σ 2 2 σ 1 2 ( μ 1 − μ 2 ) 2 2 σ 2 2 \begin{aligned} \frac{1}{2 \sigma_{2}^{2}} \int_{\mathrm{x}}\left(\mathrm{x}-\mu_{2}\right)^{2} \frac{1}{\sqrt{2 \pi} \sigma_{1}} \mathrm{e}^{-\frac{\left(\mathrm{x}-\mu_{1}\right)^{2}}{2 \sigma_{1}^{2}}} \mathrm{dx} \frac{1}{2 \sigma_{2}^{2}} \int_{\mathrm{x}}\left(\mathrm{x}^{2}-2 \mu_{2} \mathrm{x}\mu_{2}^{2}\right) \frac{1}{\sqrt{2 \pi} \sigma_{1}} \mathrm{e}^{-\frac{\left(\mathrm{x}-\mu_{1}\right)^{2}}{2 \sigma_{1}^{2}}} \mathrm{dx} \\ \frac{\sigma_{1}^{2}\mu_{1}^{2}-2 \mu_{1} \mu_{2}\mu_{2}^{2}}{2 \sigma_{2}^{2}}\frac{\sigma_{1}^{2}\left(\mu_{1}-\mu_{2}\right)^{2}}{2 \sigma_{2}^{2}}\\ \end{aligned} 2σ22​1​∫x​(x−μ2​)22π ​σ1​1​e−2σ12​(x−μ1​)2​dx​2σ22​1​∫x​(x2−2μ2​xμ22​)2π ​σ1​1​e−2σ12​(x−μ1​)2​dx2σ22​σ12​μ12​−2μ1​μ2​μ22​​2σ22​σ12​(μ1​−μ2​)2​​ 对上述式子进行汇总 K L ( N ( μ 1 , σ 1 2 ) ∥ N ( μ 2 , σ 2 2 ) ) log ⁡ σ 2 σ 1 − 1 2 σ 1 2 ( μ 1 − μ 2 ) 2 2 σ 2 2 1 2 ( σ 1 2 μ 1 2 − log ⁡ σ 1 2 − 1 ) \begin{aligned} \mathrm{KL}\left(\mathcal{N}\left(\mu_{1}, \sigma_{1}^{2}\right) \| \mathcal{N}\left(\mu_{2}, \sigma_{2}^{2}\right)\right) \log{\frac{\sigma_2}{\sigma_1}-\frac{1}{2}\frac{\sigma_1^2(\mu_1-\mu_2)^2}{2\sigma_2^2}} \\\frac{1}{2}(\sigma_1^2\mu_1^2-\log^{\sigma_1^2}-1) \end{aligned} KL(N(μ1​,σ12​)∥N(μ2​,σ22​))​logσ1​σ2​​−21​2σ22​σ12​(μ1​−μ2​)2​21​(σ12​μ12​−logσ12​−1)​ 代码部分 损失函数 通过上述推导我们知道了需要最小化散度然后最大化那个均值。所以可以得到如下的损失函数。 def loss_fn(recon_x, x, mean, log_var):BCE torch.nn.functional.binary_cross_entropy(recon_x.view(-1, 28*28), x.view(-1, 28*28), reductionsum)KLD -0.5 * torch.sum(1 log_var - mean.pow(2) - log_var.exp())return (BCE KLD) / x.size(0)Encoder部分 class Encoder(nn.Module):def __init__(self, layer_sizes, latent_size):super(Encoder, self).__init__()self.MLP nn.Sequential()for i, (in_size, out_size) in enumerate(zip(layer_sizes[:-1], layer_sizes[1:])):self.MLP.add_module(nameL{:d}.format(i), modulenn.Linear(in_size, out_size))self.MLP.add_module(nameA{:d}.format(i), modulenn.ReLU())# 首先对图像特征进行一些变换处理然后将其展开成一维向量然后通过全连接层得到均值和方差self.linear_means nn.Linear(layer_sizes[-1], latent_size)self.linear_log_var nn.Linear(layer_sizes[-1], latent_size)def forward(self, x):x self.MLP(x)means self.linear_means(x)log_vars self.linear_log_var(x)return means, log_varsDecoder部分 class Decoder(nn.Module):def __init__(self, layer_sizes, latent_size):super(Decoder, self).__init__()self.MLP nn.Sequential()input_size latent_sizefor i, (in_size, out_size) in enumerate(zip([input_size] layer_sizes[:-1], layer_sizes)):self.MLP.add_module(nameL{:d}.format(i), modulenn.Linear(in_size, out_size))if i 1 len(layer_sizes):self.MLP.add_module(nameA{:d}.format(i), modulenn.ReLU())else:self.MLP.add_module(namesigmoid, modulenn.Sigmoid())def forward(self, z):#对输入的z进行全接连操作最后输出一个重构的xx self.MLP(z)return xVAE整体架构 class VAE(nn.Module):def __init__(self, encoder_layer_sizes, latent_size, decoder_layer_sizes):super(VAE, self).__init__()self.latent_size latent_sizeself.encoder Encoder(encoder_layer_sizes, latent_size)self.decoder Decoder(decoder_layer_sizes, latent_size)def forward(self, x):if x.dim() 2:x x.view(-1, 28 * 28)means, log_var self.encoder(x)z self.reparameterize(means, log_var)recon_x self.decoder(z)return recon_x, means, log_var, zdef reparameterize(self, mu, log_var):用于对encoder部分输出的均值方差进行重参数化采样得到隐式表示部分z:param mu::param log_var::return:std torch.exp(0.5 * log_var)eps torch.randn_like(std)return mu eps * stddef inference(self, z):recon_x self.decoder(z)return recon_xVAE问题 vae只是记住图片而不是生成图片 再产生图片时只是通过像素差异进行评估则对于关键点像素和可忽略像素之间的图片两者在vae看来是一致的但是不是理想的产生图片因此出现了GAN 参考资料 VAE 模型基本原理简单介绍_vae模型-CSDN博客 高斯分布的KL散度-CSDN博客 ML Lecture 18: Unsupervised Learning - Deep Generative Model (Part II)
http://www.zqtcl.cn/news/407450/

相关文章:

  • 如何介绍自己做的网站建设三库一平台
  • 郑州网站商城建设iframe 一直网站底部
  • 1688网站怎么样百度一下你知道
  • 做电商图的设计网站蚌埠网页设计培训
  • 江苏省建设工程质量监督站网站手机网站 案例
  • 优而思 网站科技自立自强是国家强盛之基
  • 去哪里购买网站空间专门做家居的网站
  • 网站信息安全建设方案公众号网站建设
  • 网站的设计方案淘宝大数据查询平台
  • 深圳营销型网站建设 龙华信科网站项目有需要什么技术支持
  • 开源网站模板cms网店推广实训总结
  • 常见的电子商务网站有哪些建设校园门户网站信息意义
  • 象山经济开发区建设有限公司网站足球比赛直播app
  • 国外做mg动画的网站大全网站打不开 别的电脑能打开
  • 手机怎么创网站西宁企业做网站
  • 网站主机多大wordpress连接错误
  • 3d建站电商平台网站开发过程是什么
  • 优化核心系列网站wordpress下拉刷新
  • 深圳建站定制公司国外试用网站空间
  • 网站建设的原则有哪些内容建设网站的详细步骤
  • wordpress网站换字体宣传电脑的网站开发
  • 移动网站设计上机考试修改wordpress域名
  • 个体户 建设网站房子已交房 建设局网站查不到
  • 在自己的电脑建设空间网站百中搜优化软件
  • 专业房产网站建设公司wordpress导入项目
  • 网站安全建设必要性企业vi设计是什么意思
  • 建站工具有哪些社区兰州市城乡建设局网站通知公告
  • 深圳市移动端网站建设wordpress get_category_parents
  • 多用户商城(c2c)网站制作方案招聘网站如何做推广
  • 微信云网站用什么做做网站卖产品