【问题标题】:Loss function variational Autoencoder in Tensorflow exampleTensorflow 示例中的损失函数变分自动编码器
【发布时间】:2020-04-12 22:39:03
【问题描述】:

我有一个关于变分自动编码器中的损失函数的问题。我按照 tensorflow 示例 https://www.tensorflow.org/tutorials/generative/cvae 创建了一个 LSTM-VAE,用于对正弦函数进行采样。

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

在 tensorflow 指南中,有用于比较编码器输入和解码器输出的交叉熵。

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

这是有道理的,因为输入和输出被视为概率。但实际上这些可能的函数代表了我的窦函数的集合。

我不能简单地使用均方误差而不是交叉熵(我试过了,效果很好)或者在某些时候导致架构的错误行为?

最好的问候和感谢您的帮助!

【问题讨论】:

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


    【解决方案1】:

    嗯,当你工作太多而停止正确思考时,就会出现这样的问题。为了解决这个问题,考虑一下我要做什么是有意义的。

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

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

    问候。

    【讨论】:

      猜你喜欢
      • 2018-03-04
      • 1970-01-01
      • 2021-04-12
      • 2018-09-13
      • 1970-01-01
      • 2018-12-12
      • 1970-01-01
      • 2021-03-09
      • 2018-07-05
      相关资源
      最近更新 更多