Tensorflow示例中的损耗函数变分自动编码器

时间:2019-12-20 11:51:32

标签: tensorflow machine-learning computer-vision autoencoder loss-function

我对可变自动编码器的损耗函数有疑问。我遵循tensorflow示例https://www.tensorflow.org/tutorials/generative/cvae创建了一个LSTM-VAE,用于采样窦函数。

我的编码器输入是针对特定范围(随机采样)的一组点(x_i,sin(x_i)),作为解码器的输出,我希望得到类似的值。

在张量流指南中,存在交叉熵,用于将编码器输入与解码器输出进行比较。

cross_ent = tf.nn.sigmoid_cross_entropy_with_logits(logits=x_logit, labels=x)

这很有意义,因为输入和输出被视为概率。但实际上,这些可能的功能代表了我的窦功能。

我不能简单地使用均方误差而不是交叉熵(我尝试过并且效果很好)还是在某种程度上导致体系结构的错误行为?

最诚挚的问候,感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

好吧,当您工作过多而停止正确思考时,就会发生此类问题。为了解决这个问题,考虑一下我要做什么是很有意义的。

p(x | z)是解码器的重建,这意味着通过从z采样以x的概率生成值x。在张量流示例中,使用图像分类/生成,在这种情况下,交叉熵是有意义的。我只是想最小化输入和输出之间的距离。使用mse是一种逻辑。

希望能在某个时候帮助某人。

致谢。