- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在tensorflow中,有一种叫做softmax_cross_entropy_with_logits
的方法和 sampled_softmax_loss
.
我阅读了 tensorflow 文档并在 google 上搜索了更多信息,但我找不到不同之处。在我看来,两者都使用 softmax 函数计算损失。
sampled_softmax_loss
计算损失loss = tf.reduce_mean(tf.nn.sampled_softmax_loss(...))
softmax_cross_entropy_with_logits
计算损失loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(P, Q))
对我来说,计算 softmax 损失与计算 softmax 交叉熵相同(例如 cross_entropy(softmax(train_x))
)
有人能告诉我为什么有两种不同的方法以及在哪种情况下我应该使用哪种方法吗?
最佳答案
如果你的目标词汇量(或者换句话说,你想要预测的类的数量)真的很大,那么很难使用常规的 softmax,因为你必须计算字典中每个词的概率。通过使用 sampled_softmax_loss
,您只需考虑词汇表的子集 V 即可计算损失。
仅当我们采样(我们的 V)小于词汇量时,采样的 softmax 才有意义。如果您的词汇量(标签数量)很小,则使用 sampled_softmax_loss
没有意义。
您可以在本文中查看实现细节: http://arxiv.org/pdf/1412.2007v2.pdf
您还可以看到使用它的示例 - 在此 example 中的序列到序列翻译
关于python - 在Tensorflow中,sampled_softmax_loss和softmax_cross_entropy_with_logits有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35241251/
我注意到 tf.nn.softmax_cross_entropy_with_logits为 logits 参数请求“未缩放的对数概率”。但是,我没有看到有人建议在提交给这个函数之前对他们的 NN 预测
我想知道 TensorFlow 的 softmax_cross_entropy_with_logits 是否有等效的 PyTorch 损失函数? 最佳答案 is there an equivalent
是tf.nn.softmax_cross_entropy_with_logits考虑批量大小? 在我的 LSTM 网络中,我输入不同大小的批处理,我想知道在优化之前是否应该对批处理大小的误差进行标准化
tf.nn.softmax_cross_entropy_with_logits 和 tf.losses.log_loss 之间的主要区别是什么?这两种方法都接受 1-hot 标签和 logits 来计
当使用神经网络进行分类时,据说: 您通常希望使用 softmax 交叉熵输出,因为这可以为您提供每个可能选项的概率。 在只有两个选项的常见情况下,您需要使用 sigmoid,除了避免冗余输出 p 和
我正在制作一台计算机,使用 softmax 函数从 MNist 数据集中预测手写数字。奇怪的事情发生了。成本随着时间的推移而降低,最终变为 0.0038 左右……(我使用 softmax_crosse
我最近遇到了 tensorflow softmax_cross_entropy_with_logits,但我无法弄清楚与 sigmoid_cross_entropy_with_logits 相比在实现
在 tensorflow API docs他们使用名为 logits 的关键字。它是什么?很多方法都是这样写的: tf.nn.softmax(logits, name=None) 如果logits只是
对于一项作业,我应该为其一部分编写一个单层神经网络。我认为我的大部分内容都是正确的,但是当我尝试使用 tf.nn.softmax_cross_entropy_with_logits 方法时,我收到一条
我在使用 tf.layers 和 tf.nn.softmax_cross_entropy_with_logits 的 tensorflow 模型上恢复和执行推理时遇到问题。一旦我记忆起保存的文件,我就
你能指导如何解决这个问题吗? with tf.name_scope('loss'): #cross_entropy = None val = tf.nn.softmax_cross_e
我已阅读 docs of both functions ,但据我所知,对于函数 tf.nn.softmax_cross_entropy_with_logits(logits, labels, dim=
错误是ValueError: Only call softmax_cross_entropy_with_logits with named arguments (labels=..., logits=
我尝试按照 tensorflow 教程实现 MNIST CNN 神经网络,并找到这些实现 softmax 交叉熵的方法给出了不同的结果: (1) 不好的结果 softmax = tf.nn.softm
我正在关注此处的多层感知器示例:https://github.com/aymericdamien/TensorFlow-Examples我对函数 tf.nn.softmax_cross_entropy
我是一名优秀的程序员,十分优秀!