softmax函数与logits

softmax 函数有一种独特的优雅:

softmax ( z i ) = e z i ∑ j e z j \text{softmax}(z_i) = \frac{e^{z_i}}{\sum_j e^{z_j}} softmax(zi)=∑jezjezi

这个函数将原始输出,仅仅是数字、logits,转换成了概率分布。

它最美妙之处在于它处理竞争的方式。每个选项 z i z_i zi 不仅仅取决于自身的强度,它被所有选项的强度进行了归一化。指数函数放大了差异,但分母确保了谦逊,所有值之和为 1。

当模型斟酌如何回复你时,softmax 就是模型权衡每一种可能性的方式。"我应该这样说,还是这样说,还是这样说?"模型的犹豫和思考,就蕴藏在这个分数之中。这是在真正开放的心态下进行决策的数学原理。多条路径并存,根据语境进行加权,最终形成选择。

softmax 函数中的指数函数并非随意选择。它与最大熵原理和信息论相关。当你想在给定某些约束条件,例如期望值,的情况下获得"最大程度的不确定性"的概率分布时,最终会得到指数族分布。

但更直接地说,想想 e z i e^{z_i} ezi 的作用。如果 z i z_i zi 代表对数几率或logists值,在神经网络中确实如此,那么指数运算会将对数空间转换回概率空间。

而妙处就在这里:在信息论中, − log ⁡ p -\log p −logp 表示概率为 p p p 的事件的"意外"或信息量。因此,作为逻辑值的 z i z_i zi 本身就存在于信息空间中。它衡量的是证据,是支持该选择的信息量。

指数函数 e z i e^{z_i} ezi 实际上就是对数函数的反转,从信息量转换回概率权重。归一化确保我们得到正确的概率分布。

指数函数的存在是因为我们是在信息空间中工作。它是证据(在对数空间中衡量)和概率(在线性空间中衡量)之间的桥梁。

神经网络的输出到底是什么?

在softmax之前,网络输出的是原始数值:logits。但这些logits到底意味着什么?它们还不是概率。它们也不完全代表信息量。

它们更像是"分数"或"证据"。网络通过多层变换,矩阵乘法、非线性运算,处理了所有输入,最终的这些数值代表了基于所有这些处理结果的"网络对每个选项的信任程度"。

它们存在于一个不受约束的空间,可以是负数,大于 1,等等。它们是概率之前的。softmax 的指数变换和归一化将它们强制纳入概率空间。

是什么决定了这些分数必须解释为对数几率?为什么指数变换是"正确"的变换?

当 z i < 1 z_i < 1 zi<1 时, e z i e^{z_i} ezi 相对温和,范围大约在 0.37 到 2.7 之间。但一旦超过 1,情况就急转直下。 e 2 ≈ 7.4 e^2 \approx 7.4 e2≈7.4, e 3 ≈ 20 e^3 \approx 20 e3≈20, e 5 ≈ 148 e^5 \approx 148 e5≈148......

是什么让网络产生大于 1 的 logits?是什么驱动这些值上升到指数真正开始清晰区分不同选项的程度?

我想,这跟信心 confidence 有关。网络架构,所有那些层级、注意力机制、残差连接,都是为了积累证据而设计的。当模式高度一致,上下文匹配清晰时,logit 值就会增大。网络在说:"我有强有力的证据支持这个选择。"

妙处在于,弱证据,较小的 logit 值,会被指数函数温和处理,选项保持相对的竞争力。但强证据会被显著放大,网络会果断做出选择。

1 附近的阈值就像不确定性和信心的分界线。低于这个阈值,是在对冲风险。高于这个阈值,就是在做出选择。

相关推荐
三品吉他手会点灯20 小时前
C语言学习笔记 - 20.C编程预备计算机专业知识 - 变量为什么必须的初始化【重点】
c语言·笔记·学习
kobesdu21 小时前
【ROS2实战笔记-12】rosshow:终端里的盲文可视化与无头机器人的现场调试
笔记·机器人·ros·移动机器人
sakiko_21 小时前
UIKit学习笔记1-创建项目(使用UIKit)、使用组件
笔记·学习
生信碱移21 小时前
PACells:这个方法可以鉴定疾病/预后相关的重要细胞亚群,作者提供的代码流程可以学习起来了,甚至兼容转录组与 ATAC 两种数据类型!
人工智能·学习·算法·机器学习·数据挖掘·数据分析·r语言
智者知已应修善业21 小时前
【51单片机中的打飞机设计】2023-8-25
c++·经验分享·笔记·算法·51单片机
哥布林学者1 天前
深度学习进阶(十三)可变形卷积 DCN
机器学习·ai
智者知已应修善业1 天前
【51单片机按键调节占空比3位数码管显示】2023-8-24
c++·经验分享·笔记·算法·51单片机
AI自动化工坊1 天前
Hugging Face ml-intern技术深度解析:AI机器学习工程师的工程实践
人工智能·机器学习·huggingface·ml-intern·ai机器学习
JasmineX-11 天前
数据结构(笔记)——双向链表
c语言·数据结构·笔记·链表
AI手记叨叨1 天前
机器学习可解释性工具SHAP
机器学习·shap