Python 二进制交叉熵和二进制交叉熵与keras中logits的区别是什么?

Python 二进制交叉熵和二进制交叉熵与keras中logits的区别是什么?,python,machine-learning,keras,lstm,rnn,Python,Machine Learning,Keras,Lstm,Rnn,在keras后端,我们有一个标志,其中包含_logits。普通二进制交叉熵和使用logits的二进制交叉熵有什么区别?假设我使用的是seq2seq模型,我的输出序列类型为100111100011101 如果我在输入和时间步中给出了类似的序列,那么递归LSTM或RNN应该使用什么来从这些数据中学习呢?这取决于丢失函数之前是否有一个sigmoid层 如果有一个乙状结肠层,它会将班级分数压缩成概率,在这种情况下,来自_logits的应该是False。损失函数将把概率转换成logits,因为这是tf.n

在keras后端,我们有一个标志
,其中包含_logits
。普通二进制交叉熵和使用logits的二进制交叉熵有什么区别?假设我使用的是seq2seq模型,我的输出序列类型为
100111100011101


如果我在输入和时间步中给出了类似的序列,那么递归LSTM或RNN应该使用什么来从这些数据中学习呢?

这取决于丢失函数之前是否有一个sigmoid层

如果有一个乙状结肠层,它会将班级分数压缩成概率,在这种情况下,来自_logits的
应该是
False
。损失函数将把概率转换成logits,因为这是
tf.nn.sigmoid\u交叉\u熵与\u logits
所期望的

如果输出已经是logit(即原始分数),则不进行转换

这两种选择都是可能的,选择取决于您的网络体系结构。顺便说一句,如果术语logit看起来很吓人,那么看看哪一个详细讨论了它