我有一个图像多标签分类问题,我想用 tensorflow 解决它。

我正在尝试为 CNN 网络构建适当的损失函数和“适当的”最后一层。

什么样的论点

tf.nn.sigmoid_cross_entropy_with_logits(labels, logits)

功能期望?

我可以安全地假设:
  • 标签是具有二进制值 {0,1} 的向量
  • logits 是与标签具有相同维度的向量,其值来自整个 ]-∞, ∞[

  • 因此我应该在最后一层跳过 ReLU(以确保最终输出可以为负)。

    或者,logits 是有界的并代表概率?

    我不是 100% 确定这一点。

    最佳答案

    你是对的。您的标签可以是 0 到 1 之间的任何实数,即使它可能是或通常是。但在理论上(偶尔也有实践),这里的标签可以是 [0,1] 范围内的任何实数。
    关于 logits:没有激活。你是对的。sigmoid_cross_entropy_with_logits 函数使用逻辑损失为:
    machine-learning - Tensorflow:sigmoid_cross_entropy_with_logits-LMLPHPx 是你的 logit。您基本上已经在该 sigmoid -part 中激活了。

    关于machine-learning - Tensorflow:sigmoid_cross_entropy_with_logits,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42354269/

    10-12 18:09
    查看更多