变分自编码器的损失函数有两个组成部分。第一个分量是重建损失,对于图像数据,它是输入图像和输出图像之间的像素级差异。第二个组件是 Kullback-Leibler 散度,它是为了使潜在空间中的图像编码更“平滑”而引入的。这是损失函数:
我正在使用变分自动编码器对着名艺术品的数据集进行一些实验。我的问题涉及缩放损失函数的两个组成部分,以便操纵训练过程以获得更好的结果。
在这里,您可以看到损失函数的两个组成部分。观察到 Kullback-Leibler 散度的数量级明显小于重建损失的数量级。还要注意“我的著名”画作已经无法辨认。该图像显示了输入数据的重建。
在第二种情况下,我用 0.1 缩放了 KL 项。现在我们可以看到重建看起来好多了。
问题
通过缩放损失函数的分量来训练网络在数学上是否合理?还是我在优化中有效地排除了 KL 项?
如何从梯度下降的角度理解这一点?
公平地说,我们是在告诉模型“我们更关心图像重建而不是‘平滑’潜在空间”?
我相信我的网络设计(卷积层、潜在向量大小)能够学习参数以创建适当的重建,因为具有相同参数的卷积自动编码器能够完美地重建。
这是一个类似的问题。
图片参考: https ://towardsdatascience.com/understanding-variational-autoencoders-vaes-f70510919f73