在Keras后端,with_logits中有一个标志K.binary_crossentropy。普通二进制交叉熵和带有logits的二进制交叉熵有什么区别?假设我使用的是seq2seq模型,我的输出序列是100111100011101类型。
如果在输入和时间步中给出类似的序列,递归lstm或rnn应该使用什么来从这些数据中学习?

最佳答案

这取决于在失功之前是否有乙状结肠层。
如果有一个乙状结肠层,它将把班级分数压缩成概率,在这种情况下from_logits应该是False。loss函数将把概率转换成logits,因为这是tf.nn.sigmoid_cross_entropy_with_logits所期望的。
如果输出已经是logit(即原始分数),passfrom_logits=True,则不会进行转换。
这两个选项都是可能的,而且选择取决于您的网络体系结构。顺便说一下,如果logit这个词看起来很吓人,那么看看this question这个词,它会详细讨论这个问题。

08-24 23:47