深圳Yolo 视觉
深圳
立即加入
词汇表

Softmax

探索 AI 中的 Softmax 函数。了解它如何使用 Ultralytics YOLO26 和神经网络将 logits 转换为多类别分类的概率。

Softmax 是人工智能领域的一个关键数学函数,特别是在许多分类算法中作为最后一步。它将一个原始数值向量(通常称为 logits)转换为一个概率向量。这种转换确保了所有输出值都是正数且总和恰好为一,从而有效地创建了一个有效的概率分布。由于这一特性,Softmax 是多类别分类神经网络输出层中使用的标准激活函数,在这种分类中,系统必须从两个以上互斥的选项中选择一个类别。

软磁技术

在典型的深度学习 (DL)工作流程中,网络的各层执行复杂的矩阵乘法和加法运算。最后一层在激活之前的输出由原始分数组成,这些分数被称为logits。这些值可以从负无穷到正无穷,因此很难直接将其解释为置信度。

Softmax 通过执行两个主要操作来解决这个问题:

  1. 指数运算:它计算每个输入数字的指数。这一步确保所有值都是非负的(因为 $e^x$ 始终为正),并惩罚远低于最大值的值,同时突出最大的分数。
  2. 归一化:它将这些指数化值求和,然后将每个单独的指数值除以这个总和。这个归一化过程对数值进行缩放,使其代表整体的一部分,从而使开发人员能够将其解释为百分比置信度分数。

实际应用

输出清晰概率的能力使Softmax在各个行业和 机器学习 (ML)任务中不可或缺。

  • 图像分类:在计算机视觉中,模型使用 Softmax 对图像进行分类。例如, 当 Ultralytics YOLO26 分类模型分析 一张照片时,它可能会为“金毛寻回犬”、“德国牧羊犬”和 “贵宾犬”等类别生成分数。Softmax 将这些分数转换为概率(例如 0.85、0.10、0.05),表明图像包含金毛寻回犬的可能性很高。 这对于从自动化照片整理到 医疗 AI 中的医学诊断等应用都至关重要。
  • 自然语言处理 (NLP):Softmax 是大型语言模型 (LLMs) 中文本生成的引擎。当像Transformer这样的模型生成句子时,它会通过计算词汇表中每个词的分数来预测下一个词(token)。Softmax 将这些分数转化为概率,使模型能够选择最有可能的下一个词,从而实现流畅的机器翻译和对话式 AI。
  • 强化学习:强化学习中的智能体通常使用 Softmax 来选择动作。智能体可能不会总是选择价值最高的动作,而是利用概率来探索不同的策略,在机器人控制或游戏等环境中平衡探索与利用。

Python 代码示例

以下示例演示了如何加载预训练的YOLO26分类模型并访问通过Softmax生成的概率分数。

from ultralytics import YOLO

# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")

# Run inference on a sample image
results = model("https://ultralytics.com/images/bus.jpg")

# The model applies Softmax internally. Access the top prediction:
# The 'probs' attribute contains the probability distribution.
top_prob = results[0].probs.top1conf.item()
top_class = results[0].names[results[0].probs.top1]

print(f"Predicted Class: {top_class}")
print(f"Confidence (Softmax Output): {top_prob:.4f}")

区分Softmax与相关概念

尽管Softmax在多类别场景中占主导地位,但将其与模型训练和架构设计中使用的其他数学函数区分开来很重要:

  • SigmoidSigmoid函数也将值缩放到0到1之间,但它独立处理每个输出。这使得Sigmoid非常适合二分类(是/否)或多标签分类,其中类别不是互斥的(例如,一张图像可以同时包含“人物”和“背包”)。Softmax强制概率之和为一,使得类别之间相互竞争。
  • ReLU (Rectified Linear Unit): ReLU 主要用于网络的隐藏层以引入非线性。与 Softmax 不同,ReLU 不会将输出限制在特定范围(它对负输入简单地输出零,对正输入输出其本身),并且不生成概率分布。
  • Argmax:尽管Softmax提供了所有类别的概率,但Argmax函数通常与Softmax结合使用,以选择具有最高概率的单一索引。Softmax提供“软”置信度,而Argmax提供“硬”最终决策。

高级集成

在现代ML管道中,Softmax通常在损失函数内部隐式计算。例如,交叉熵损失 (Cross-Entropy Loss)将Softmax和负对数似然结合到一个数学步骤中,以提高训练期间的数值稳定性。像Ultralytics Platform这样的平台会自动处理这些复杂性,使用户无需手动实现这些数学运算即可训练出鲁棒模型。

让我们一起共建AI的未来!

开启您的机器学习未来之旅