美文网首页
变分自编码器和条件变分自编码器

变分自编码器和条件变分自编码器

作者: 菜鸟瞎编 | 来源:发表于2019-03-05 19:18 被阅读0次

变分自编码器(一):原来是这么一回事
代码:https://github.com/bojone/vae
http://www.zhiding.cn/techwalker/documents/J9UpWRDfVYHE5TtdTS3ykYaEpv0Jp3VSWOjyRScrjg

变分自编码器是让p(Z|X_k)服从正态分布,方差为1使得自编码器生成的图片与输入不同。于是有了一个想法,可不可以通过控制p(Z|X_k)的方差来控制生产的图片呢?
根据散度的计算公式


计算 两个任意正太分布的散度:
KL(N(u,\sigma ^2)||N(u_1,\sigma_1^2))

= \int \frac{1}{\sqrt{2\Pi \sigma ^{2}}}e^{-\frac{(x-\mu)^{2}}{2\sigma ^{2}}} \left [ \ln \sqrt{\frac{\sigma_1^{2}}{\sigma ^2}} + \frac{(x-u_1)^2}{2\sigma_1^2 } - \frac{(x-u)^2}{2\sigma^2} \right ]dx

=\frac{1}{2}\int \frac{1}{\sqrt{2\Pi \sigma ^{2}}}e^{-\frac{(x-\mu)^{2}}{2\sigma ^{2}}} \left [ \ln \sigma_1^2- \ln\sigma^2 + \frac{(x-u_1)^2}{\sigma_1^2} - \frac{(x-u)^2}{\sigma^2}\right ]dx

u_1为0时N(u_1,\sigma_1^2))为均值为0的正态分布,此时
KL(N(u,\sigma ^2)||N(u_1,\sigma_1^2))

=\frac{1}{2}\int \frac{1}{\sqrt{2\Pi \sigma ^{2}}}e^{-\frac{(x-\mu)^{2}}{2\sigma ^{2}}} \left [ \ln \sigma_1^2- \ln\sigma^2 + \frac{x^2}{\sigma_1^2} - \frac{(x-u)^2}{\sigma^2}\right ]dx

=\frac{1}{2}(\ln\sigma_1^2 - \ln\sigma^2 + \frac{u^2+\sigma^2}{\sigma_1^2} -1)
可以看出当 \sigma_1^2=1时,即为\frac{1}{2}( - \ln\sigma^2 + u^2+\sigma^2 -1)

相关文章

网友评论

      本文标题:变分自编码器和条件变分自编码器

      本文链接:https://www.haomeiwen.com/subject/fnaluqtx.html