• logits


    作者:王峰
    链接:https://www.zhihu.com/question/60751553/answer/1986650670
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    logit原本是一个函数,它是sigmoid函数(也叫标准logistic函数) [公式] 的反函数: [公式] 。logit这个名字的来源即为logistic unit。

    但在深度学习中,logits就是最终的全连接层的输出,而非其本意。通常神经网络中都是先有logits,而后通过sigmoid函数或者softmax函数得到概率 [公式] 的,所以大部分情况下都无需用到logit函数的表达式。

    什么时候我们会真的需要用到logit函数呢?考虑这样一个问题:如果我们拿到了一个黑盒模型的概率输出,想要用这个模型生成一批数据来distill我们自己的模型,但distill过程往往又需要调节温度项来重新计算概率(大概是这么个形式: [公式] ),此时我们就需要从概率值反推logits了,而反推的过程就如上边的公式所述: [公式] 。所以对于logistic regression来说,logit恰好是输出概率经过logit函数的结果,因此即使我们并没有真正地用到logit函数,也不妨将其称作logit。

    但是,目前大家用得更多的是多分类的softmax函数,而它的反函数其实并不是logit函数,而是log函数 [公式] ,这样再次经过softmax函数: [公式] ,就得到了原来的概率。这里需要注意的是:所有logits共同减去一个数字,其得到的softmax结果是不变的,所以得到的logits并不一定与原始logits一模一样,而是会相差一个常数。

    由此可见,使用logit一词来表示网络最后一层的输出,实际上只适用于logistic regression。而对于现在更多使用的多分类器softmax来说,其反函数应该是log函数,而非logit,继续用logit一词实际上是不恰当的。我个人倾向于使用“分数”或者直接说是最后一个全连接层的输出,这样比较形象,也不至于让初学者摸不到头脑。

  • 相关阅读:
    线上六个性能问题案例分享
    通达OA 前台任意用户登录漏洞复现
    CVE-2019-11043-Nginx PHP 远程代码执行
    CVE-2019-10758-Mongo-express-远程代码执行
    CVE-2017-7529-Nginx越界读取缓存漏洞
    add_header被覆盖 -配置错误
    目录穿越漏洞 -配置错误
    CRLF注入漏洞 -配置错误
    CVE-2019-12409-Apache Solr JMX服务远程代码执行
    CVE-2017-12149-JBoss 5.x/6.x 反序列化
  • 原文地址:https://www.cnblogs.com/yibeimingyue/p/15023171.html
Copyright © 2020-2023  润新知