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一词实际上是不恰当的。我个人倾向于使用“分数”或者直接说是最后一个全连接层的输出,这样比较形象,也不至于让初学者摸不到头脑。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2019-07-17 matlab运行程序时出现failed to start a parallel pool
2019-07-17 matlab之数组反序输出
2018-07-17 简单装饰器
2018-07-17 带函数参数的装饰器(复杂装饰器)的例子