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

福州企业网站建站系统站长之家站长工具

福州企业网站建站系统,站长之家站长工具,支付宝也做网站吗,上海小程序开发制作这段时间看了VAE的有关知识,但网上关于VAE的讲解较为理论复杂,我这里就记录一下自己的想法了。 定义 VAE从概率的角度描述隐空间与输入样本,它将样本的隐变量建模为概率分布, 而非像AE一样把隐变量看做是离散的值。 AE VS VAE 损失函数 我们…

这段时间看了VAE的有关知识,但网上关于VAE的讲解较为理论复杂,我这里就记录一下自己的想法了。

定义

VAE从概率的角度描述隐空间与输入样本,它将样本的隐变量建模为概率分布, 而非像AE一样把隐变量看做是离散的值。

AE VS VAE

AE VS VAE}

损失函数

loss

我们假设隐变量的概率分布为标准正态分布 N ( 0 , 1 ) N(0, 1) N(0,1)(这种分布不是必须的,也可以是其它分布)。而描述正态分布需要有两个参数 μ x , σ x \mu_x, \sigma_x μx,σx,在encoder端使用神经网络来拟合这两个参数。在decoder端,使用神经网络来还原出原始图像。因此,VAE的损失函数分为两部分:

  • 正则化项,也就是KL Loss

  • 重构损失

L = L R e c o n + L K L = ∥ x − x ^ ∥ 2 + K L [ N ( μ x , σ x ) , N ( 0 , 1 ) ] = ∥ x − d ( z ) ∥ 2 + K L [ N ( μ x , σ x ) , N ( 0 , 1 ) ] \begin{aligned} L &= L_{Recon} + L_{KL} \\ &= \|x-\hat{x}\|^{2}+\mathrm{KL}[N(\mu_{x}, \sigma_{x}), N(0, 1)] \\ &= \|x-d(z)\|^{2}+KL[N(\mu_{x}, \sigma_{x}), N(0, 1)] \end{aligned} L=LRecon+LKL=xx^2+KL[N(μx,σx),N(0,1)]=xd(z)2+KL[N(μx,σx),N(0,1)]

关于 K L [ N ( μ x , σ x ) , N ( 0 , 1 ) ] KL\left[N\left(\mu_{x}, \sigma_{x}\right), N(0,1)\right] KL[N(μx,σx),N(0,1)]的推导如下:

K L ( N ( μ , σ 2 ) ∥ N ( 0 , 1 ) ) = ∫ 1 2 π σ 2 e − ( x − μ ) 2 2 σ 2 ( log ⁡ e − ( x − μ ) 2 2 σ 2 2 π σ 2 e − x 2 2 2 π ) d x = ∫ 1 2 π σ 2 e − ( x − μ ) 2 2 σ 2 log ⁡ { 1 σ 2 exp ⁡ { 1 2 [ x 2 − ( x − μ ) 2 σ 2 ] } } d x = 1 2 ∫ 1 2 π σ 2 e − ( x − μ ) 2 2 σ 2 [ − log ⁡ σ 2 + x 2 − ( x − μ ) 2 σ 2 ] d x = 1 2 ( − log ⁡ σ 2 + μ 2 + σ 2 − 1 ) \begin{aligned} & KL\left(N\left(\mu, \sigma^{2}\right) \| N(0,1)\right) \\ &= \int \frac{1}{\sqrt{2 \pi \sigma^{2}}} e^{\frac{-(x-\mu)^{2}}{2 \sigma^{2}} }\left(\log \frac{\frac{e^{ \frac{-(x-\mu)^{2}}{2 \sigma^{2}} }}{\sqrt{2 \pi \sigma^{2}}} }{\frac{e^{\frac{-x^{2}}{2}}}{\sqrt{2 \pi}} }\right) d x \\ &= \int \frac{1}{\sqrt{2 \pi \sigma^{2}}} e^{\frac{-(x-\mu)^{2}}{2 \sigma^{2}} } \log \left\{\frac{1}{\sqrt{\sigma^{2}}} \exp \left\{\frac{1}{2}\left[x^{2}- \frac{(x-\mu)^{2}}{\sigma^{2}} \right]\right\}\right\} d x \\ &= \frac{1}{2} \int \frac{1}{\sqrt{2 \pi \sigma^{2}}} e^{\frac{-(x-\mu)^{2}}{2 \sigma^{2}} }\left[-\log \sigma^{2}+x^{2}- \frac{(x-\mu)^{2}}{\sigma^{2}} \right] d x \\ &= \frac{1}{2}\left(-\log \sigma^{2}+\mu^{2}+\sigma^{2}-1\right) \end{aligned} KL(N(μ,σ2)N(0,1))=2πσ2 1e2σ2(xμ)2 log2π e2x22πσ2 e2σ2(xμ)2 dx=2πσ2 1e2σ2(xμ)2log{σ2 1exp{21[x2σ2(xμ)2]}}dx=212πσ2 1e2σ2(xμ)2[logσ2+x2σ2(xμ)2]dx=21(logσ2+μ2+σ21)

重参数技巧

我们从概率分布中采样出 z z z ,但是该过程是不可导的。VAE通过重参数化使得梯度不因采样而断裂。

reparams

总结

其实VAE可以看成一个做降维的model,我们希望把一个高维的特征投影到一个低维的流型上。而在VAE中,这个低维流型就是一个多元标准正态分布。为了使投影准确,于是通过希望每一个样本 X i X_i Xi的计算出来的期望与方差都接近与我们希望投影的分布,所以这里就有了KL Loss。至于重构损失,是可以使采样的时候更加准确,能够采样到我们在encode的时候投影到的点。

最佳实践

  • Pytorch实现: VAE 这篇博客实现了VAE,整体上代码简单易懂。在generation阶段,我们只需从学习到的概率分布中采样,然后送入decoder中解码,即可获得生成的图片。

  • 小小将的VAE实现,可以直接运行:https://github.com/xiaohu2015/nngen/blob/main/models/vae.ipynb


参考

  • 变分自编码器VAE:原来是这么一回事

  • Understanding Variational Autoencoders (VAEs)

  • Pytorch实现: VAE

  • 变分自编码器入门

  • VAE.ipynb - Colaboratory

  • 李宏毅2021春机器学习课程

  • VAE.pdf(ntu.edu.tw)

  • VAE的推导

http://www.dtcms.com/wzjs/434073.html

相关文章:

  • 自己怎么做彩票网站吗青岛谷歌优化公司
  • 做信息网站怎么赚钱网上seo研究
  • 做动态网站文字显示问号百度推广竞价开户
  • 门户网站分类网络营销推广工作内容
  • 佛山网站排名新开发的app怎么推广
  • 网页网站免费长沙百度推广公司电话
  • 做贱奴网站成人电脑速成培训班
  • 免费网站制作模板营销关键词有哪些
  • 杭州 高端网站建设 推荐优秀的营销策划案例
  • 怎么样给公司做网站seo sem什么意思
  • 动易做网站郑州网
  • gif表情包在线制作网站百度竞价托管公司
  • 优秀的网站建设推荐引流推广软件
  • 迪庆企业网站建设公司站长平台工具
  • 做网站 用 云主机网络服务是什么
  • 超市网站怎么做的网站制作和推广
  • 免费招聘网站平台网站seo优化包括哪些方面
  • 深圳网站制作需要多少钱seo深圳培训班
  • 网站备案信息真实核验单it培训学校哪家好
  • 免费建一个网页的链接宜昌网站seo收费
  • 网站建设与开发做什么网上销售推广方案
  • 自适应网站ui做几套班级优化大师app
  • 深圳开发小程序seo链接优化建议
  • 台州企业网站搭建价格南京seo外包
  • 松原网站制作网络策划
  • 北京手机网站建设外包注册网站查询
  • 传奇官方网站北京网站营销与推广
  • 网站建设技术网站发稿软文公司
  • 入侵织梦网站竞价托管推广多少钱
  • 网站怎么做详情页nba排名榜