术语表

乙状结肠

探索人工智能中西格蒙德函数的威力。了解它如何实现非线性、帮助二元分类并推动 ML 的进步!

Sigmoid 函数是机器学习(ML)深度学习(DL)中常用的激活函数。它是一种数学函数,能生成具有特征性的 "S "形曲线或西格码曲线。它的主要用途是将任何实数值 "压扁 "到 0 和 1 之间的范围内。这种输出通常被解释为概率,这使得 Sigmoid 在以预测结果可能性为目标的模型中特别有用。通过在神经网络(NN)中引入非线性,它可以让模型从数据中学习复杂的模式,而这些模式是无法通过简单的线性变换来实现的。

作用和应用

Sigmoid 函数能够将输入映射到类似概率的输出,因此成为某些类型任务的基石。虽然它在现代深度神经网络的隐藏层中已不太常见,但在特定情况下,它仍然是输出层的标准选择。

主要应用

  • 二元分类:在二元分类问题中,目标是将输入分为两类中的一类(例如,垃圾邮件或非垃圾邮件,疾病存在或不存在)。输出层的 Sigmoid 函数提供一个介于 0 和 1 之间的单一值,代表输入属于正分类的概率。例如,医学图像分析模型可以使用 Sigmoid 输出 0.9 的概率,表示肿瘤恶性的概率为 90%。
  • 多标签分类:与输入只属于一个类别的多类别分类不同,多标签任务允许输入同时与多个标签相关联。例如,像Ultralytics YOLO这样的物体检测模型在分析图像时,可能会同时识别出 "汽车"、"行人 "和 "红绿灯"。在这种情况下,每个输出神经元都会独立应用一个 Sigmoid 函数,给出每个可能标签的概率。您可以了解有关物体检测演变的更多信息。
  • RNN 中的门控机制:西格类函数是循环神经网络(RNN)(如长短期记忆(LSTM)门控循环单元(GRU))门控机制的核心组成部分。这些门使用 Sigmoid 来控制信息流,决定每一步保留或丢弃哪些数据。这种机制对于学习顺序数据中的长期依赖关系至关重要,了解 LSTM 的详细博文对此进行了说明。

与其他激活功能的比较

重要的是要将 Sigmoid 函数与其他激活函数区分开来,以便了解何时使用它。

  • Softmax:Softmax 函数通常用于多类分类问题,即每个输入都属于多个可能类别中的一个。与为每个输出计算独立概率的 Sigmoid 不同,Softmax 计算的是所有类别中总和为 1 的概率分布。例如,对MNIST 数据集中的手写数字进行分类的模型会使用 Softmax 为 0 到 9 的每个数字分配一个概率。
  • ReLU(整流线性单元):ReLU 已成为深度网络隐藏层的事实标准。它的计算效率更高,有助于缓解梯度消失问题--这是 Sigmoid 的一个重要问题,在反向传播过程中,梯度会变得非常小,从而减缓或停止学习过程。您可以在DeepLearning.AI 的这篇文章中了解有关梯度挑战的更多信息。
  • SiLU(西格玛线性单元):SiLU 也被称为 Swish,是从 Sigmoid 衍生出来的一种更现代的激活函数。在更深层次的模型(包括先进的计算机视觉架构)中,它的表现往往优于 ReLU。Ultralytics 模型通常利用先进的激活函数,在速度和准确性之间取得更好的平衡。

现代用法和可用性

虽然如今在隐藏层中已不常见,但在二进制和多标签分类任务中,Sigmoid 仍然是输出层的标准选择。在处理顺序数据的复杂架构中,它也是门控机制的核心组成部分。

Sigmoid 可在所有主要市场上买到。 深度学习框架包括 PyTorch (作为 torch.sigmoid)和 张量流 (作为 tf.keras.activations.sigmoid).平台,如 Ultralytics HUB 支持利用各种激活函数的模型,使用户能够 训练部署 复杂的计算机视觉解决方案。

加入 Ultralytics 社区

加入人工智能的未来。与全球创新者联系、合作和成长

立即加入
链接复制到剪贴板