tf.nn.sigmoid_cross_entropy_with_logits 它是不是共享权重?

Posted

技术标签:

【中文标题】tf.nn.sigmoid_cross_entropy_with_logits 它是不是共享权重?【英文标题】:tf.nn.sigmoid_cross_entropy_with_logits does it share weights?tf.nn.sigmoid_cross_entropy_with_logits 它是否共享权重? 【发布时间】:2018-07-11 21:12:06 【问题描述】:

我打算用

tf.nn.sigmoid_cross_entropy_with_logits 

用于创建 N 个二元分类模型。我希望这些 N 个模型是独立的二元模型而不共享权重?我可以使用这个功能来实现它吗?

【问题讨论】:

我认为我没有清楚地理解您的问题,您能否为模型的其余部分添加示例代码?请注意,sigmoid 层没有权重,它只是其输入的函数 【参考方案1】:

是的,你可以,这个函数只是将 sigmoid 应用于给定的 logits,然后计算交叉熵损失。它根本没有权重。

【讨论】:

【参考方案2】:

如果我正确理解您的问题,如果您有多个模型,则需要为每个模型设置单独的损失函数,以便分别优化每个模型。在这种情况下,您应该为每个模型设置单独的 sigmoid_cross_entropy_with_logits。每个模型都会将自己的 logits 放入这个函数中,然后使用优化器将其最小化。

【讨论】:

是的,你是对的。再做一个小的澄清。如果我的每个模型都只是二元分类器,那么我是否使用 sigmoid_cross_entropy_with_logits 或 softmax_cross_entropy_with_logits 作为损失函数都没关系。或者,如果我使用 tf.nn.softmax 或 tf.nn.sigmoid。我说的对吗? 是的,你是对的。如果它只是二进制分类 sigmoid 就可以了。

以上是关于tf.nn.sigmoid_cross_entropy_with_logits 它是不是共享权重?的主要内容,如果未能解决你的问题,请参考以下文章