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

变分自编码器(一):原来是这么一回事
代码: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)

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容