Logits 详解:与 Softmax 关系、使用场景及注意事项
在深度学习中,logits 是指在模型的最后一层(通常是全连接层)的原始输出值,尚未经过归一化处理。Logits 是一个非常重要的概念,因为它是模型从中预测最终结果的基础,决定了模型对不同类别的'信心'或'倾向性'。
本文将深入探讨:
- Logits 的定义与作用
- Logits 与 Softmax 的关系
- 实际案例:从 Logits 到概率分布
- Logits 的使用场景和注意事项
- 总结与洞见
1. Logits 的定义与作用
什么是 Logits?
Logits 是深度学习模型预测过程中最后一层输出的原始值。它们通常是一个未归一化的实数向量,每个值对应一个类别。Logits 的取值范围可以是正数、负数,甚至非常大或非常小的值。
- 形状:假设模型有 C 个类别,输入一个样本,Logits 的形状为 [C]。
- 特性:
- Logits 不具有概率含义。
- 可能包含正数或负数,甚至可能超出人类直观理解的范围(如 -1000 或 1000)。
作用
Logits 是模型预测的中间结果。它们本身并非最终的预测值,而需要通过激活函数(如 Softmax)进行归一化,转化为概率分布。 模型的优化目标(如交叉熵损失)直接基于 Logits 或其归一化结果进行计算。
2. Logits 与 Softmax 的关系
Softmax 函数
Softmax 是一个将 Logits 转化为概率分布的激活函数,定义如下:
P(y_i) = exp(z_i) / sum(exp(z_j))
其中:
- z_i:Logits 中第 i 个值。
- C:类别数。
- P(y_i):归一化后的概率值,表示模型对第 i 个类别的置信度,满足:sum(P(y_i)) = 1
Logits 与概率的区别
- Logits(未归一化):
- 取值范围:任意实数。
- 无概率意义。
- 仅表示模型对某类别的'倾向性'。
- Softmax 输出(归一化后):
- 取值范围:[0, 1]。
- 满足概率分布的性质,所有值之和为 1。
- 每个值表示模型预测该类别的概率。
3. 实际案例:从 Logits 到概率分布
假设有一个文本分类任务,模型需要将输入的句子分类为三类:
- 类别 A:新闻
- 类别 B:娱乐
- 类别 C:科技
输入:句子 "The new smartphone has amazing features."
模型的 Logits 输出:logits = [2.0, 1.0, 0.1]

