Tensorflow:sigmoid_cross_entropy_with_logits

Xyz*_*Xyz 2 statistics machine-learning tensorflow

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

我正在尝试为CNN网络构建适当的损失函数和"适当的"最终层.

什么样的论据

tf.nn.sigmoid_cross_entropy_with_logits(labels, logits)
Run Code Online (Sandbox Code Playgroud)

功能期望?

我可以安全地假设:

  • 标签是二进制值为{0,1}的向量
  • logits是与具有相同dimmension的向量,具有来自整个值的标签[-∞,∞[

因此,我应该在最后一层跳过ReLU(以确保最终输出可以是负数).

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

我不是百分百肯定的.

Phi*_*ock 6

你是对的.你的标签虽然可以是0到1之间的任何实数,即使它是或者通常是.但理论上(偶尔也会练习)这里的标签可以是[0,1]范围内的任何实数.

关于logits的问题:没有激活.你是对的.

sigmoid_cross_entropy_with_logits使用逻辑丢失,如:z*-log(sigmoid(x))+(1-z)*-log(1-sigmoid(x)),x为您的logit.你基本上已经在sigmoid-part中激活了.