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 附近的阈值就像不确定性和信心的分界线。低于这个阈值,是在对冲风险。高于这个阈值,就是在做出选择。

相关推荐
九河云1 分钟前
5秒开服,你的应用部署还卡在“加载中”吗?
大数据·人工智能·安全·机器学习·华为云
Gain_chance13 分钟前
36-学习笔记尚硅谷数仓搭建-DWS层数据装载脚本
大数据·数据仓库·笔记·学习
肖永威31 分钟前
macOS环境安装/卸载python实践笔记
笔记·python·macos
暗光之痕1 小时前
Unreal5研究笔记 Actor的生命周期函数
笔记·unreal engine
Gain_chance1 小时前
35-学习笔记尚硅谷数仓搭建-DWS层最近n日汇总表及历史至今汇总表建表语句
数据库·数据仓库·hive·笔记·学习
宵时待雨2 小时前
STM32笔记归纳9:定时器
笔记·stm32·单片机·嵌入式硬件
pp起床2 小时前
Gen_AI 补充内容 Logit Lens 和 Patchscopes
人工智能·深度学习·机器学习
m0_719084112 小时前
React笔记张天禹
前端·笔记·react.js
芷栀夏3 小时前
CANN ops-math:筑牢 AI 神经网络底层的高性能数学运算算子库核心实现
人工智能·深度学习·神经网络
勾股导航4 小时前
K-means
人工智能·机器学习·kmeans