我有一个图像多标签分类问题,我想用tensorflow解决。
我正在尝试为CNN网络构建适当的损失函数和“适当的”最终层。
有什么样的论据
tf.nn.sigmoid_cross_entropy_with_logits(labels, logits)
函数需要吗?
我可以安全地假设:
因此我应该在最后一层跳过ReLU(以确保最终输出可以是负数)。
或许logits有界并代表概率?
我对此并不是100%肯定。
答案 0 :(得分: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中激活了。