术语表

软磁

了解 Softmax 如何在人工智能分类任务中将分数转化为概率,为图像识别和 NLP 的成功提供动力。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

Softmax 是神经网络(NN)输出层常用的一个关键激活函数,尤其适用于多类分类问题。它的主要作用是将前一层生成的原始分数向量(通常称为对数)转换为多个潜在类别的概率分布。每个输出值都代表了输入属于特定类别的概率,重要的是,这些概率总和为 1,使得输出很容易解释为互斥结果的置信度。

Softmax 的工作原理

从概念上讲,Softmax 函数采用神经网络层的原始输出分数并对其进行转换。首先,它对每个分数进行指数化处理,使所有数值都为正值,从而更加突出较大的分数。然后,它将每个指数化分数除以所有指数化分数的总和,从而对这些指数化分数进行归一化处理。这一归一化步骤可确保所得数值介于 0 和 1 之间,且总和为 1,从而有效地创建出不同类别的概率分布。通常会选择概率值最高的类别作为模型的最终预测结果。这一过程是处理分类任务的深度学习(DL)模型的基础。

主要特点

  • 概率分布:输出表示每个类别的概率,总和为 1。
  • 多类聚焦:专为输入只能属于几个可能类别之一(相互排斥)的情况而设计。
  • 输出解释:使模型输出直观,代表每个类别的置信度。
  • 可微分性:平滑且可微分,可在模型训练过程中与梯度下降等基于梯度的优化算法有效结合使用。

Softmax 与相关激活函数的比较

必须将 Softmax 与其他激活函数区分开来:

  • 西格码虽然 Sigmoid 也能输出介于 0 和 1 之间的值,但它通常用于二元分类(一个输出神经元)或多标签分类(多个输出神经元,每个输出代表一个独立的概率,总和不一定等于 1)。Softmax 用于相互排斥的分类。更多详情可参考斯坦福 CS231n 笔记等资料。
  • ReLU(整流线性单元)ReLU 及其变体(如Leaky ReLUSiLU)主要用于神经网络的隐藏层,以引入非线性。它们不会产生适合最终分类层的概率类输出。DeepLearning.AI 提供解释神经网络中激活函数的课程

人工智能和机器学习的应用

Softmax 广泛应用于各种人工智能机器学习 (ML)领域:

考虑因素

虽然 Softmax 功能强大,但它对非常大的输入分数非常敏感,有可能导致数值不稳定(溢出或下溢)。现代深度学习框架,如 PyTorchTensorFlow等现代深度学习框架都采用了数值稳定版本的 Softmax 来缓解这些问题。了解其行为对于有效的模型训练和解释至关重要,Ultralytics HUB等平台通常可以帮助管理实验和部署。

阅读全部