术语表

乙状结肠

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

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

了解更多

西格莫德函数是机器学习(ML)深度学习(DL)中广泛使用的激活函数。它的特点是曲线呈 "S "形,数学上称为西格莫德曲线。Sigmoid 函数的主要作用是将任何实数值作为输入,并将其压制成介于 0 和 1 之间的输出值。 这一特性使其特别适用于将模型输出转换成概率分数,代表特定结果或类别成员的可能性。

西格莫德如何工作

Sigmoid 函数将输入值映射到范围(0,1)。大的正输入值会导致接近 1 的输出,大的负输入值会导致接近 0 的输出,而 0 的输入值会导致 0.5 的输出。这种变换既平滑又可微分,这意味着我们可以计算任意点的梯度。这种可微分性对于使用梯度下降等优化算法训练神经网络(NN)至关重要,因为这些算法依赖于反向传播过程中计算出的梯度来更新模型权重。

机器学习中的应用

西格米函数在 ML 中有多种重要应用:

  1. 二元分类:在二元分类问题(输出为两个类别之一,如是/否、垃圾邮件/非垃圾邮件)中,Sigmoid 函数通常用于逻辑回归或神经网络等模型的最终输出层。介于 0 和 1 之间的输出值被解释为输入属于正类的概率。然后应用阈值(通常为 0.5)做出最终分类决定。
  2. 多标签分类:多标签分类法与多类别分类法不同,多类别分类法是指每个输入只属于一个类别(通常由Softmax 处理),而多标签分类法允许输入同时属于多个类别。Sigmoid 可以独立应用于每个输出神经元,给出特定标签出现的概率。
  3. 门控机制西格米函数是LSTM(长短期记忆)GRU(门控递归单元)等递归神经网络门控机制的基本组成部分。这些门控制信息流,决定保留或丢弃哪些信息,而西格莫函数 0 到 1 的输出范围自然代表了门 "打开 "或 "关闭 "的程度。
  4. 物体检测可信度:在某些对象检测模型中,如早期版本的 Ultralytics YOLO的早期版本中,输出层使用 Sigmoid 函数(或类似的逻辑函数)来预测置信度分数--即物体出现在提议的边界框内的概率以及边界框的准确度。您可以在Ultralytics 模型部分探索各种YOLO 模型

真实案例

  • 医疗诊断概率:根据患者数据训练的模型可以使用 Sigmoid 输出层,根据患者的症状和测试结果预测其患有某种疾病的概率(0 和 1 之间)。这有助于医生做出决策。了解医疗图像分析中如何使用人工智能以及医疗保健领域更广泛的人工智能解决方案
  • 情感分析:在确定一段文字(如产品评论)表达的是积极情绪还是消极情绪时,Sigmoid 函数可以输出情绪为积极情绪的概率。了解有关情感分析的更多信息。

与其他激活功能的比较

虽然西格莫德函数具有重要的历史意义,但由于某些局限性,在深度网络的隐藏层中,西格莫德函数经常被其他激活函数所取代。

  • Sigmoid 与ReLU(整流线性单元)ReLU(及其变种,如Leaky ReLU)通常是隐藏层的首选,因为对于正输入,它不会像 Sigmoid 那样受到梯度消失问题的严重影响,而且计算成本更低。不过,ReLU 的输出范围从 0 到无穷大,因此不适合直接输出概率。
  • Sigmoid 与Tanh(双曲切线)Tanh 也是 S 形,但将输入映射到范围(-1,1)。它的输出以零为中心,与 Sigmoid 的非零中心输出(0 到 1)相比,有时会在训练过程中加快收敛速度。不过,Tanh 也存在梯度消失问题。
  • Sigmoid 与SoftmaxSoftmax 用于多类分类问题。相比之下,Sigmoid 对每个输出神经元都进行了独立处理,适用于二元或多标签任务,在这些任务中,输出的总和不需要为 1。框架,如 PyTorch等框架提供了所有这些常见激活函数的实现。

局限性

  1. 梯度消失对于非常高或非常低的输入值,Sigmoid 函数的梯度会变得非常小(接近于零)。在深度网络的反向传播过程中,这些微小的梯度会多次相乘,导致初始层的梯度变得非常小。这实际上阻止了这些层的权重更新,阻碍了学习过程。
  2. 非零中心输出:Sigmoid 的输出总是介于 0 和 1 之间,这意味着它不是零居中的。这可能会减慢梯度下降的收敛速度,因为对于一个层中的所有权重来说,权重更新往往会一致地向正或负方向移动。
  3. 计算成本:与 ReLU 相比,Sigmoid 计算中涉及的指数函数计算成本更高。

尽管存在这些局限性,但 Sigmoid 函数仍然是一个非常有价值的工具,尤其是对于二元分类任务中的输出层以及 LSTM 和 GRU 等特定架构而言。您可以在Ultralytics HUB 等平台上使用各种激活函数管理和训练模型。

阅读全部