当前位置: 首页 > 面试题库 >

什么是logits,softmax和softmax_cross_entropy_with_logits?

贾沛
2023-03-14
问题内容

我正在这里浏览tensorflowAPI文档。在tensorflow文档中,他们使用了名为的关键字logits。它是什么?API文档中的许多方法都将其编写为

tf.nn.softmax(logits, name=None)

如果写的是什么是那些logitsTensors,为什么保持一个不同的名称,如logits

另一件事是,我无法区分两种方法。他们是

tf.nn.softmax(logits, name=None)
tf.nn.softmax_cross_entropy_with_logits(logits, labels, name=None)

它们之间有什么区别?这些文档对我来说还不清楚。我知道是什么tf.nn.softmax呢。但是没有其他。一个例子将非常有帮助。


问题答案:

Logits只是意味着函数在较早的图层的未缩放输出上运行,并且理解单位的相对缩放是线性的。特别是,这意味着输入的总和可能不等于1,这意味着值 不是
概率(输入可能为5)。

tf.nn.softmax仅产生将softmax函数应用于输入张量的结果。softmax“压缩”输入,以便sum(input) = 1:这是一种规范化的方法。softmax的输出形状与输入相同:它只是将值标准化。softmax的输出 可以 解释为概率。

a = tf.constant(np.array([[.1, .3, .5, .9]]))
print s.run(tf.nn.softmax(a))
[[ 0.16838508  0.205666    0.25120102  0.37474789]]

相比之下,tf.nn.softmax_cross_entropy_with_logits在应用softmax函数之后计算结果的交叉熵(但是以数学上更仔细的方式将其全部合并在一起)。它类似于以下结果:

sm = tf.nn.softmax(x)
ce = cross_entropy(sm)

交叉熵是一个汇总指标:跨元素求和。tf.nn.softmax_cross_entropy_with_logits形状[2,5]张量的输出是一定形状的[2,1](将第一维视为批次)。

如果要进行优化以最小化交叉熵 ,并且
要在最后一层之后进行软最大化,则应tf.nn.softmax_cross_entropy_with_logits自己使用,而不是自己进行处理,因为它以数学上正确的方式涵盖了数值不稳定的拐角情况。否则,您最终会在这里和那里添加少量epsilon,从而对其进行破解。

编辑于2016-02-07:
如果您具有单类标签,而一个对象只能属于一个类,则现在可以考虑使用tf.nn.sparse_softmax_cross_entropy_with_logits,这样就不必将标签转换为密集的一键热阵列。在0.6.0版本之后添加了此功能。



 类似资料:
  • 问题内容: 我做了 我试图弄清楚输出,可以看到很多共享库都按预期映射到了内存映射段。 到最后有类似的东西 是什么和意味着什么?是vsyscall内存的内核部分吗?如果有人可以在这个问题上有所启发,那就太好了。 问题答案: 该 vsyscall 和 VDSO 段用于加速Linux的某些系统调用的机制。例如,通常是通过此机制调用的。引入的第一个机制是 vsyscall ,它是作为执行特定系统调用的一种

  • 问题内容: 有人能说明一下JVM选项是什么和是谁?具体来说,何时/为什么要更改?如何确定合适的尺寸? 这就是文档所说的: -XX:ReservedCodeCacheSize = 32m保留的代码缓存大小(以字节为单位)-最大代码缓存大小。[Solaris 64位,amd64和-server x86:2048m;在1.5.0_06和更早版本中,Solaris 64位和and64:1024m。] 问题

  • 问题内容: 我是CSS的初学者,而前几天我在看一些CSS代码时,发现了以下几行。在我以前学习CSS的教程中,我从未见过像这些行这样的内容。有人可以向我解释这些内容吗?或者给我一个可以学习实现这些内容的资源? 问题答案: 这些是相关渲染引擎(适用于Chrome,Safari;适用于Firefox,适用于Opera,适用于Internet Explorer)提供的供应商前缀属性。通常,在W3最终澄清/

  • 什么是BIOS 系统开机启动 BIOS,即微机的基本输入输出系统(BasicInput-Output System),是集成在主板上的一个ROM芯片,其中保存有微机系统最重要的基本输入/输出程序、系统信息设置、开机上电自检程序和系统启动自举程序。在主板上可以看到BIOSROM芯片,请参见微机主板图。一块主板性能优越与否,很大程度上取决于板上的BIOS管理功能是否先进。 一、BIOS中断例程 即BI

  • 我做了 我试图理解输出的意义。我可以看到许多共享库按照预期映射到内存映射段。 接近尾声的时候会有类似的东西 vdso和vsyscall是什么意思?vsyscall是内存的内核部分吗?如果有人能解释一下这个问题,那就太好了。

  • 本文向大家介绍什么是KVC和KVO?相关面试题,主要包含被问及什么是KVC和KVO?时的应答技巧和注意事项,需要的朋友参考一下 KVC(Key-Value-Coding)内部的实现:一个对象在调用setValue的时候,(1)首先根据方法名找到运行方法的时候所需要的环境参数。(2)他会从自己isa指针结合环境参数,找到具体的方法实现的接口。(3)再直接查找得来的具体的方法实现。KVO(Key-Va