在接下来的TensorFlow函数中,我们必须在最后一层中输入人工神经元的激活。我能理解。但我不明白为什么叫logits?这不是一个数学函数吗?
loss_function = tf.nn.softmax_cross_entropy_with_logits(
logits = last_layer,
labels = target_output
)
在接下来的TensorFlow函数中,我们必须在最后一层中输入人工神经元的激活。我能理解。但我不明白为什么叫logits?这不是一个数学函数吗?
loss_function = tf.nn.softmax_cross_entropy_with_logits(
logits = last_layer,
labels = target_output
)
当前回答
以下是一个简明的答案,供将来的读者参考。Tensorflow的logit被定义为不应用激活函数的神经元输出:
logit = w*x + b,
X:输入,w:权重,b:偏差。就是这样。
以下内容与这个问题无关。
关于历史课程,请阅读其他答案。向Tensorflow“创造性地”令人困惑的命名惯例致敬。在PyTorch中,只有一个CrossEntropyLoss,它接受未激活的输出。卷积、矩阵乘法和激活都是同一层次的运算。设计更加模块化,更少混乱。这也是我从Tensorflow转向PyTorch的原因之一。
其他回答
它们基本上是你能从网络中得到的最完整的学习模型,在它被压缩到只适用于我们感兴趣的类之前。看看一些研究人员是如何使用它们来训练基于深度网络学习的浅神经网络的:https://arxiv.org/pdf/1312.6184.pdf
这有点像在详细学习一门学科时,你会学到很多次要的东西,但在教学生时,你会试图把它压缩到最简单的情况。如果这个学生现在试图教,这将是相当困难的,但他能够很好地描述它,足以使用语言。
logit (/ o . oʊdʒɪt/ LOH-jit)函数是数学,特别是统计学中使用的s型“逻辑”函数或逻辑变换的逆函数。当函数的变量表示概率p时,logit函数给出log-odds,或p/(1 - p)的对数。
请看这里:https://en.wikipedia.org/wiki/Logit
以下是一个简明的答案,供将来的读者参考。Tensorflow的logit被定义为不应用激活函数的神经元输出:
logit = w*x + b,
X:输入,w:权重,b:偏差。就是这样。
以下内容与这个问题无关。
关于历史课程,请阅读其他答案。向Tensorflow“创造性地”令人困惑的命名惯例致敬。在PyTorch中,只有一个CrossEntropyLoss,它接受未激活的输出。卷积、矩阵乘法和激活都是同一层次的运算。设计更加模块化,更少混乱。这也是我从Tensorflow转向PyTorch的原因之一。
Logits是一个重载的术语,可以有很多不同的含义:
在数学中,Logit是一个将概率([0,1])映射到R ((-inf, inf))的函数。
概率0.5对应logit为0。负logit对应概率小于0.5,正到>等于0.5。
在ML中,它可以是
原始向量(非规格化)的预测即一种分类 生成模型,然后通常将其传递给规范化 函数。如果模型正在解决一个多类分类 问题是,对数通常成为softmax函数的输入。的 然后,Softmax函数生成一个(标准化)概率向量 每个可能的类都有一个值。
logit有时也指sigmoid函数的元素逆。
(FOMOsapiens)。
如果你检查数学Logit函数,它将真实空间从[0,1]区间转换为无穷大[-inf, inf]。
Sigmoid和softmax正好相反。它们将[-inf, inf]实空间转换为[0,1]实空间。
这就是为什么在机器学习中,我们可以在sigmoid和softmax函数之前使用logit(因为它们是匹配的)。
这就是为什么“我们可以称”机器学习中位于sigmoid或softmax函数前面的任何东西为logit。
这是G. Hinton使用这个术语的视频。