tensorflow - Tensorflow 示例中的损失函数变分自动编码器

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

我有一个关于变分自动编码器中损失函数的问题。我遵循 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)

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

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

致以诚挚的问候并感谢您的帮助!

最佳答案

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

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

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

问候。

关于tensorflow - Tensorflow 示例中的损失函数变分自动编码器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59424850/

相关文章:

python - tf 和 tf.keras 密集层在我的设置中显示出完全不同的行为

python - Tensorflow 加权交叉熵损失函数在 DNN 分类器估计器函数中的位置在哪里?

machine-learning - 以文本格式序列化 svm 模型

algorithm - 从二进制外边界矩阵生成链码

c++ - OpenCV - 仅在绘制单应性时打印对象名称

python - 如何在损失函数中的 keras 张量上使用 numpy 函数?

tensorflow - 将 Tensorflow 模型从对象检测 API 转换为 uff

python - 谁能解释 tf.random_normal 和 tf.truncated_normal 形状参数?

python - 为什么 r2_score 在 train_test_split 和 pipeline cross_val_score 之间有很大不同?

matlab - 连接断开的轮廓边