gpt4 book ai didi

deep-learning - 使用 KL 散度时,变分自动编码器为每个输入 mnist 图像提供相同的输出图像

转载 作者:行者123 更新时间:2023-12-01 11:16:20 24 4
gpt4 key购买 nike

当不使用 KL 散度项时,VAE 几乎完美地重建了 mnist 图像,但在提供随机噪声时无法正确生成新图像。

当使用 KL 散度项时,VAE 在重建和生成图像时给出相同的奇怪输出。

enter image description here

这是损失函数的pytorch代码:

def loss_function(recon_x, x, mu, logvar):
BCE = F.binary_cross_entropy(recon_x, x.view(-1, 784), size_average=True)
KLD = -0.5 * torch.sum(1 + logvar - mu.pow(2) - logvar.exp())
return (BCE+KLD)

recon_x 是重建图像,x 是 original_image,mu 是均值向量,而 logvar 是包含方差对数的向量。

这里出了什么问题?提前致谢 :)

最佳答案

一个可能的原因是两个损失之间的数字不平衡,您的 BCE损失计算为批次的平均值(参见 size_average=True),而 KLD一个是相加的。

关于deep-learning - 使用 KL 散度时,变分自动编码器为每个输入 mnist 图像提供相同的输出图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50607516/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com