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

Tensorflow示例中的损失函数变分自动编码器,tensorflow,machine-learning,computer-vision,autoencoder,loss-function,Tensorflow,Machine Learning,Computer Vision,Autoencoder,Loss Function,我有一个关于变分自动编码器中的损失函数的问题。我按照tensorflow示例创建了一个LSTM-VAE,用于对窦性函数进行采样 我的编码器输入是一组点x_i,sinx_i,用于随机采样的特定范围,作为解码器的输出,我期望类似的值 在tensorflow指南中,交叉熵用于比较编码器输入和解码器输出 cross_ent = tf.nn.sigmoid_cross_entropy_with_logits(logits=x_logit, labels=x) 这是有意义的,因为输入和输出被视为概率。但实

我有一个关于变分自动编码器中的损失函数的问题。我按照tensorflow示例创建了一个LSTM-VAE,用于对窦性函数进行采样

我的编码器输入是一组点x_i,sinx_i,用于随机采样的特定范围,作为解码器的输出,我期望类似的值

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

cross_ent = tf.nn.sigmoid_cross_entropy_with_logits(logits=x_logit, labels=x)
这是有意义的,因为输入和输出被视为概率。但实际上,这些概率函数代表了我的窦函数集

我不能简单地使用均方误差来代替交叉熵吗?我试过了,它工作得很好,或者在某个点上导致了架构的错误行为


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

当你工作太多,思维不正常时,就会出现这样的问题。为了解决这个问题,考虑一下我想做什么是有意义的

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

希望这能在某些方面帮助到别人

问候