术语表

乙状结肠

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

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

了解更多

Sigmoid 函数是机器学习(ML),尤其是神经网络(NN)中广泛使用的激活函数。它的特点是具有 "S "形曲线,能将任何输入值在数学上映射为介于 0 和 1 之间的输出值。这一特性使它在将模型的原始输出(对数)转换为概率时特别有用,因为概率更容易解释。从历史上看,Sigmoid 是神经网络隐藏层的常用选择,但由于某些局限性,在现代深度学习(DL)架构中,它在很大程度上已被ReLU等函数所取代。

西格莫德如何工作

Sigmoid 函数接收任何实数值,并将其压扁到(0,1)的范围内。大的负输入会导致输出接近 0,大的正输入会导致输出接近 1,而 0 的输入会导致 0.5 的输出。这是一个非线性函数,这一点至关重要,因为在没有非线性的神经网络中堆叠多个线性层,只会产生另一个线性函数,从而限制了模型学习图像或文本等数据中复杂模式的能力。Sigmoid 也是可微分的,这是使用基于梯度的优化方法(如反向传播梯度下降)训练神经网络的必要属性。

乙状结肠的应用

Sigmoid 目前主要应用于二元分类模型的输出层。由于其输出自然介于 0 和 1 之间,因此非常适合表示输入属于正分类的概率。

  1. 医学诊断:医学图像分析中,一个模型可能会分析扫描图像(如脑肿瘤数据集)的特征,并使用 Sigmoid 输出层来预测特定病症(如恶性肿瘤)出现的概率。输出超过某一阈值(通常为 0.5),则表示预测结果为阳性。这种概率输出有助于临床医生了解模型的可信度。请参阅放射学人工智能研究中的示例。
  2. 垃圾邮件检测:自然语言处理(NLP)中,Sigmoid 函数可用于文本分类模型的最后一层,例如识别电子邮件是否为垃圾邮件。该模型处理电子邮件的内容,并(通过 Sigmoid)输出该电子邮件是垃圾邮件的概率。这是NLP 应用中常见的典型二元分类问题。

Sigmoid 还可用于多标签分类任务,在这种任务中,输入可能同时属于多个类别(例如,一篇标有 "政治"、"经济 "和 "欧洲 "的新闻文章)。在这种情况下,每个潜在标签都会使用一个单独的 Sigmoid 输出神经元,估算特定标签的相关概率,而与其他标签无关。这与通常使用Softmax函数的多类分类(只适用一个标签,如将图像分类为 "猫"、"狗 "或 "鸟")不同。

乙状结肠与相关激活功能

了解 Sigmoid 通常需要将其与其他激活函数进行比较:

  • ReLU(整流线性单元)如果输入为正,ReLU 将直接输出,否则输出为零。它在计算上更简单,而且避免了正输入时的梯度消失问题,因此成为大多数现代网络(包括许多 Ultralytics YOLO模型,如 YOLOv8.Leaky ReLU等变体解决了 ReLU 的 "垂死神经元 "问题。
  • Tanh(双曲正切)Tanh 在数学上与 Sigmoid 相关,但将输入缩小到(-1,1)范围内。它的输出以零为中心,与 Sigmoid 的非零中心输出(0 到 1)相比,有时有助于优化。不过,和 Sigmoid 一样,它也存在梯度消失问题。
  • 软最大值用于多类分类问题的输出层。与 Sigmoid(为二元或多标签任务提供独立概率)不同,Softmax 输出所有类别的概率分布,确保概率总和为 1。
  • SiLU(西格玛线性单元)/ Swish一种最新的激活函数,将输入乘以输入的西格码。在更深的模型中,它的性能往往优于 ReLU,并被用于EfficientNet和一些YOLO 变种等架构中。它展示了 Sigmoid 作为新函数中的一个组件是如何继续发挥作用的。有关SiLU 的实现,请查看PyTorch 文档。

优势与局限

优势

  • 概率解释:0,1)输出范围直观地表示二进制分类中的概率。
  • 平滑梯度与突变函数(如阶跃函数)不同,Sigmoid 具有平滑、定义明确的导数,有利于基于梯度的学习。

局限性:

  • 梯度消失对于非常高或非常低的输入值,Sigmoid 函数的梯度会变得非常小(接近于零)。在反向传播过程中,这些微小的梯度会在许多层中相乘,导致前几层的梯度消失,从而有效地停止学习。这也是它不太适合深度隐藏层的主要原因。
  • 非零中心输出:输出范围(0,1)不以零为中心。与以零为中心的函数(如 Tanh)相比,这有时会减慢梯度下降算法的收敛速度。
  • 计算成本:与 ReLU 等简单函数相比,指数运算使其计算成本略高。

现代用法和可用性

虽然如今在深度网络的隐藏层中已不常见,但在二元分类和多标签分类任务中,Sigmoid 仍然是输出层的标准选择。它也是LSTMGRU循环神经网络(RNN)中门控机制的核心组成部分,用于控制信息流。

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

阅读全部
OSZAR »