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

uniapp做网站WordPress前端发布文章

uniapp做网站,WordPress前端发布文章,完整网站开发需要多久,集团网站 wordpress在网上看到的VAE解释#xff0c;发现有两种版本#xff1a; 按照原来论文中的公式纯数学推导#xff0c;一般都是了解生成问题的人写的#xff0c;对小白很不友好。按照实操版本的#xff0c;非常简单易懂#xff0c;比如苏神的。但是却忽略了论文中的公式推导#xff…在网上看到的VAE解释发现有两种版本 按照原来论文中的公式纯数学推导一般都是了解生成问题的人写的对小白很不友好。按照实操版本的非常简单易懂比如苏神的。但是却忽略了论文中的公式推导导致论文中公式一点不懂。 下面是我对VAE的理解 1 VAE生成模型的数学描述 我们见到的生成模型一般都有这几个步骤 采样一个随机噪声为啥要随机噪声因为随机噪声我们是能获得的调用一个torch.randn()就可以。)输入神经网络一通计算最后输出了图片。 这个过程应该怎么用数学描述呢在VAE论文中是这样的 作者的意思是整个模型分为两步 从一个先验分布中采样一个值z对应之前的第一步从一个后验分布中生成一个值x对应之前的第二步 模型可以描述为 p θ ( x ) ∫ p θ ( z ) p θ ( x ∣ z ) d z p_θ(x) ∫ p_θ(z)p_θ(x|z) dz pθ​(x)∫pθ​(z)pθ​(x∣z)dz 这里解释几点: 1. 生成模型为什么是一个概率密度呢我希望直接有表达式比如采样了一个噪声z那么图片 X g(z)这样多好 其实有了概率密度可以直接在里面采样。这里是推导过程大家都这么写。在实际操作的时候所有的p都会变成一个已知的分布否则无法计算的。比如假如生成模型的表达式是 p θ ( x ) 一些公式 p_\theta(x) 一些公式 pθ​(x)一些公式 这些公式计算后发现是一个高斯分布 N ( μ , σ ) N(\mu, \sigma) N(μ,σ)那么操作的时候可以写为 x μ σ ε x \mu \sigma \varepsilon xμσε 其中 ϵ \epsilon ϵ是随机采样的噪声。所以说两种形式必须都能看懂才行。 2. 上面的式子含义是什么 上面的式子中 p θ ( x ) p_\theta(x) pθ​(x)是x的概率密度它的含义是生成模型生成了值为x的样本的概率是多少。 PS 本文中所有的概率都应该是概率密度。但是为了便于理解就当作概率来写了。 式子的右边是一个全概率公式意思是计算生成样本x的概率应该根据生成z的概率和从z中计算出x的概率计算。 上面的式子其实涵盖了采样通过采样的z计算x的过程。 2 VAE的损失函数 对生成函数建模后 下面考虑如何从z中计算x。下面先说明下实际操作是怎样的然后结合着理解文中的数学公式。 这里借用了VAE原文中的图。z可以理解为噪声空间x可以理解为生成的图片空间。这里训练分为两步。 首先从样本中获得一个值x然后通过神经网络计算出对应的z的分布(虚线)从z的分布中采样出一个z根据z重新计算出x(实线) 损失函数包含两项 重建的x和原始的x之间的差值z的分布尽可能接近标准正态因此使用了z的分布和标准正态的KL散度。 使用2的原因是最终我们需要从标准正态中采样一个z而不是从样本中计算z因此让z的分布接近标准正态是为了采样时效果更好。 以上的过程非常符合直觉遗憾的是这两项是通过数学推导出来的VAE背景的论文中都会包含数学推导看懂数学推导的大概意思是必不可少的。下面是推导过程 VAE损失函数的数学推导 首先VAE模型的目标是最大化似然函数。这里可以理解为有一个分布中参数 θ \theta θ是未知的但是有一组采样结果 x 1 , x 2 , . . . , x n x_1, x_2, ..., x_n x1​,x2​,...,xn​是已知的似然函数表示了采样出这组结果的概率但是包含了参数 θ \theta θ。通过最大似然函数可以计算出 θ \theta θ的取值。 似然函数的其他内容可以看这篇文章 文章地址 这里和我们的情况很像已有的数据可以看成是从一个分布中采样出来的我们需要求解的是这个分布的参数。 在我们的问题中似然函数可以表示为 log ⁡ p θ ( x ( 1 ) , ⋅ ⋅ ⋅ , x ( N ) ) ∑ i 1 N log ⁡ p θ ( x ( i ) ) \log p_θ(x^{(1)}, · · · , x^{(N)}) \sum^N_{i1} \log p_θ(x^{(i)}) logpθ​(x(1),⋅⋅⋅,x(N))i1∑N​logpθ​(x(i)) 用更加通俗的话来说就是模型生成一个数据xi的概率是p(xi), 那么生成出所有数据的概率是p(x1)乘到p(xi)。但是p中有一个参数是未知的x1到xi是已知的。现在这个参数应该取什么值才能让模型生成出x1到xi的概率最大呢 求和其实用处不大下面对某一个数据xi的损失函数进行计算 log ⁡ p θ ( x ( i ) ) D K L ( q φ ( z ∣ x ( i ) ) ∣ ∣ p θ ( z ∣ x ( i ) ) ) L ( θ , φ ; x ( i ) ) \log p_θ(x^{(i)}) D_{KL}(q_{φ}(z|x^{(i)})||p_{θ}(z|x^{(i)})) L(θ, φ; x^{(i)}) logpθ​(x(i))DKL​(qφ​(z∣x(i))∣∣pθ​(z∣x(i)))L(θ,φ;x(i)) 其中 L ( θ , φ ; x ( i ) ) E q φ ( z ∣ x ) [ − log ⁡ q φ ( z ∣ x ) log ⁡ p θ ( x , z ) ] L(θ, φ; x^{(i)}) E_{q_φ(z|x)} [− \log q_{φ}(z|x) \log p_θ(x, z)] L(θ,φ;x(i))Eqφ​(z∣x)​[−logqφ​(z∣x)logpθ​(x,z)] 上面这串到底怎么来的本来就一个 p θ p_\theta pθ​好好的怎么多了一个 q ϕ q_{\phi} qϕ​?? q ϕ q_{\phi} qϕ​其实就是encoder也就是如何把x反向映射到z上。简单来说整个VAE的训练过程是 在p(z)中采样一个z (采样一个噪声)通过 q ϕ ( z ∣ x ) q_{\phi}(z|x) qϕ​(z∣x) 计算出x对应的z通过 p θ ( x ∣ z ) p_{\theta}(x|z) pθ​(x∣z) 计算出z对应的x 这里 p ( x ∣ y ) p(x|y) p(x∣y)有两种理解方式 给定y之后x的概率是多少给定y之后如何计算x 由于有两个神经网络所以自然有两个参数。这里p, q其实没什么区别主要是参数的区别。 OK, 那么上面那个KL散度里面两个分布是怎么回事呢 其实这个也挺魔幻的大概就是如果我计算出了 θ \theta θ p θ ( z ) p_{\theta}(z) pθ​(z)和 p θ ( x ∣ z ) p_{\theta}(x|z) pθ​(x∣z)就都是已知的那么其实 p θ ( z ∣ x ) p_{\theta}(z|x) pθ​(z∣x)也是已知的 (根据贝叶斯公式)encoder q ϕ ( z ∣ x ) q_{\phi}(z|x) qϕ​(z∣x) 同时也描述了这个关系。那么这两个关系应该是接近的 换句话说我知道了噪声z的分布同时我有一个样本x那么我有两种方式计算x对应的z。 神经网络decodeer输入z输出x再加上贝叶斯公式就能告诉我们应该如何通过x计算z。神经网络encoder输入x输出z天然的告诉了我们如何通过x计算z。 这两个过程应该是一致的才行。比如给了一个x, 那么神经网络1贝叶斯计算的z分布应该和encoder计算出来的是一样的才行。 好吧那么似然函数是怎么变成KL散度ELBO的呢 推导过程如下 K L ( q ϕ ( z ∣ x ) ∣ ∣ p θ ( z ∣ x ) ) ∫ q ϕ ( z ∣ x ) log ⁡ q ϕ ( z ∣ x ) p θ ( z ∣ x ) d z ∫ q ϕ ( z ∣ x ) log ⁡ q ϕ ( z ∣ x ) d z − ∫ q ϕ ( z ∣ x ) log ⁡ p θ ( z ∣ x ) d z E q ϕ ( z ∣ x ) [ log ⁡ q ϕ ( z ∣ x ) ] − ∫ q ϕ ( z ∣ x ) log ⁡ p θ ( z , x ) d z ∫ q ϕ ( z ∣ x ) log ⁡ p θ ( x ) d z E q ϕ ( z ∣ x ) [ log ⁡ q ϕ ( z ∣ x ) ] − E q ϕ ( z ∣ x ) [ log ⁡ p θ ( z , x ) ] E q ϕ ( z ∣ x ) log ⁡ p θ ( x ) − E L B O log ⁡ p θ ( x ) \begin{split} KL(q_{\phi}(z|x)||p_{\theta}(z|x)) \displaystyle\int q_{\phi}(z|x)\log\frac{ q_{\phi}(z|x)}{p_{\theta}(z|x)}dz\\ \displaystyle\int q_{\phi}(z|x)\log q_{\phi}(z|x)dz-\int q_{\phi}(z|x)\log p_{\theta}(z|x)dz\\ \mathbb{E}_{q_{\phi}(z|x)}[\log q_{\phi}(z|x)]-\int q_{\phi}(z|x)\log p_{\theta}(z,x)dz\int q_{\phi}(z|x)\log p_{\theta}(x)dz\\ \mathbb{E}_{q_{\phi}(z|x)}[\log q_{\phi}(z|x)]-\mathbb{E}_{q_{\phi}(z|x)}[\log p_{\theta}(z,x)]\mathbb{E}_{q_{\phi}(z|x)}\log p_{\theta}(x)\\ -ELBO\log p_{\theta}(x)\\ \end{split} KL(qϕ​(z∣x)∣∣pθ​(z∣x))​∫qϕ​(z∣x)logpθ​(z∣x)qϕ​(z∣x)​dz∫qϕ​(z∣x)logqϕ​(z∣x)dz−∫qϕ​(z∣x)logpθ​(z∣x)dzEqϕ​(z∣x)​[logqϕ​(z∣x)]−∫qϕ​(z∣x)logpθ​(z,x)dz∫qϕ​(z∣x)logpθ​(x)dzEqϕ​(z∣x)​[logqϕ​(z∣x)]−Eqϕ​(z∣x)​[logpθ​(z,x)]Eqϕ​(z∣x)​logpθ​(x)−ELBOlogpθ​(x)​ 经过变换就可以获得似然函数如何表示为KL散度ELBO的了。 VAE损失函数的数学推导续 重写表示了似然函数之后其实只需要关心ELBO即可因为KL散度是恒大于0并且非常难计算因此最大化似然函数其实是最大化ELBO罢了。 下面重新改下ELBO E L B O − E q ϕ ( z ∣ x ) [ log ⁡ q ϕ ( z ∣ x i ) ] E q ϕ ( z ∣ x ) [ log ⁡ p θ ( z , x i ) ] − E q ϕ ( z ∣ x ) [ log ⁡ q ϕ ( z ∣ x i ) ] E q ϕ ( z ∣ x ) [ log ⁡ p θ ( z ) p θ ( x i ∣ z ) ] − E q ϕ ( z ∣ x ) [ log ⁡ q ϕ ( z ∣ x i ) ] E q ϕ ( z ∣ x ) [ log ⁡ p ( z ) ] E q ϕ ( z ∣ x ) [ log ⁡ p θ ( x i ∣ z ) ] − K L ( q ϕ ( z ∣ x i ) ∣ ∣ p ( z ) ) E q ϕ ( z ∣ x ) [ log ⁡ p θ ( x i ∣ z ) ] \begin{array}{rl} ELBO -\mathbb{E}_{q_{\phi}(z|x)}[\log q_{\phi}(z|x_i)]\mathbb{E}_{q_{\phi}(z|x)}[\log p_{\theta}(z,x_i)]\\ -\mathbb{E}_{q_{\phi}(z|x)}[\log q_{\phi}(z|x_i)]\mathbb{E}_{q_{\phi}(z|x)}[\log p_{\theta}(z)p_{\theta}(x_i|z)]\\ -\mathbb{E}_{q_{\phi}(z|x)}[\log q_{\phi}(z|x_i)]\mathbb{E}_{q_{\phi}(z|x)}[\log p(z)]\mathbb{E}_{q_{\phi}(z|x)}[\log p_{\theta}(x_i|z)]\\ -KL(q_{\phi}(z|x_i)||p(z))\mathbb{E}_{q_{\phi}(z|x)}[\log p_{\theta}(x_i|z)] \end{array} ELBO​−Eqϕ​(z∣x)​[logqϕ​(z∣xi​)]Eqϕ​(z∣x)​[logpθ​(z,xi​)]−Eqϕ​(z∣x)​[logqϕ​(z∣xi​)]Eqϕ​(z∣x)​[logpθ​(z)pθ​(xi​∣z)]−Eqϕ​(z∣x)​[logqϕ​(z∣xi​)]Eqϕ​(z∣x)​[logp(z)]Eqϕ​(z∣x)​[logpθ​(xi​∣z)]−KL(qϕ​(z∣xi​)∣∣p(z))Eqϕ​(z∣x)​[logpθ​(xi​∣z)]​ 可以看出新的ELBO具有两部分 后面一部分可以看作从 x - q - z - x 的过程这是因为z符合的是q的分布似然函数需要最大。因此我们最小化了重构损失这和目标1是一致的。前面一部分可以看作是encoder生成的z必须和z的原始分布相近在实际中就是encoder通过x计算出的z必须符合正态分布。和我们之前的目标2是一致的 通过不断努力我们终于从直觉上以及数学上解释了VAE的损失函数构成 Quiz: 在VAE中重构损失reconstruction loss常采用哪种度量方式 A. 均方误差MSE B. 交叉熵损失 C. Hinge损失 D. Huber损失 VAE的主要组成部分有哪些 A) 编码器和解码器 B) 编码器和分类器 C) 解码器和分类器 D) 编码器和优化器 在VAE中隐变量latent variable是从哪个分布中采样的 A) Bernoulli分布 B) 伽马分布 C) 正态分布 D) 均匀分布 VAE通过什么技术来实现隐变量的采样 A) 反向传播 B) 梯度下降 C) 重参数化技巧Reparameterization trick D) 动量法 VAE的目标函数由哪两个主要部分组成 A) 生成对抗损失和重构损失 B) 重构损失和KL散度 C) 交叉熵损失和KL散度 D) 生成对抗损失和交叉熵损失 在VAE中KL散度Kullback-Leibler divergence用于什么 A) 测量真实数据分布和生成数据分布之间的差异 B) 测量编码器输出和隐变量标准正态分布之间的差异 C) 测量编码器输出和解码器输出之间的差异 D) 测量真实数据分布和隐变量标准正态分布之间的差异 在训练VAE的过程中编码器的输出通常是什么 A) 一个隐变量的确定值 B) 一个隐变量的分布参数均值和方差 C) 一个图像 D) 一个分类标签 VAE中的解码器负责什么任务 A) 将隐变量分布转换为编码器输出 B) 将隐变量样本转换为重构数据 C) 将数据转换为隐变量分布参数 D) 将数据转换为分类标签 为什么在VAE中使用重参数化技巧 A) 为了简化编码器的计算 B) 为了让梯度能够通过随机采样传播 C) 为了提高生成数据的质量 D) 为了减少模型的计算复杂度 变分自编码器VAE主要用于以下哪种任务 A. 图像分类 B. 图像生成 C. 文本翻译 D. 语音识别 答案 AACCBBBBBA
http://www.w-s-a.com/news/479249/

相关文章:

  • 缩短网址做钓鱼网站如何确保网站安全
  • 网店网站开发怎样用ps做企业网站
  • 南京门户网站建设做网站一般注册哪几类商标
  • 企业咨询管理服务wordpress seo tdk
  • 做网站前期创建文件夹flash 开发的网站
  • 天津网站制作培训搭建网站的工具
  • 江西网站建设价格低网上卖产品怎么推广
  • 做aelogo动效有什么好的网站建立网站站点的步骤
  • 无锡网站推广公司排名网站赚钱平台
  • 网站物理结构利用公共dns做网站解析
  • 苍南做网站微信建设网站哪家好
  • 华中农业大学基因编辑在线设计网站网站蓝色配色
  • 洛阳建设工程信息网站怎么在服务器建立网站
  • 陕西省建设部官方网站微信小程序怎么关闭这个功能
  • 唐河县住房和城乡建设局网站公司需要做网站
  • 体现网站特色免费个人域名网站
  • ps国外教程网站seo优化是什么职业
  • 什么是网站单页适合女生做的网站
  • 环境文化建设方案网站企业英语网站
  • 南通网站关键词推广响应式网站建设流程
  • 湖北响应式网站建设企业做漫画网站 漫画哪找
  • 东莞建设通网站中小企业网站的建设实践报告
  • 合肥网站建设电话wordpress 点击量
  • 公司网站制作注意什么wordpress如何邀请人看
  • 做渲染的网站太原做网站兼职
  • 网站开发实施方案怎么设置wordpress底栏文字
  • 网站建设朝阳学前端有必要找培训机构吗
  • 自适应网站好处wordpress ftp验证
  • 网站建设的时间免费ppt模板的网站
  • 建个人网站一般多少钱ppt下载网站哪个好