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

Sigmoid 函数

探索 Sigmoid 函数在 AI 中的强大功能。了解它如何实现非线性、辅助二元分类并推动 ML 进步!

西格莫德函数是一种基本的 激活函数,广泛应用于 机器学习(ML)深度学习(DL)领域广泛使用。在数学上表示为 逻辑函数,其特点是 明显的 "S "形曲线,即所谓的 Sigmoid 曲线。Sigmoid 的主要功能是将任何 这种压扁特性使它对需要预测未来的模型特别有用。 对于需要预测 因为输出结果可以直接 直接解释为特定事件发生的可能性。通过在神经网络中引入非线性 神经网络 (NN) 中引入非线性,西格莫德函数允许 模型学习复杂的数据模式,从而超越简单的 线性回归

人工智能的核心应用

西格莫德函数在特定的网络架构和任务中发挥着至关重要的作用,尤其是当输出结果 需要将输出解释为独立概率的情况。虽然在深度网络的隐藏层中,新函数已经取代了它,但在一些关键应用中,它仍然是输出层的标准函数。 网络的隐藏层中,但在一些关键应用中,它仍然是输出层的标准函数。

  • 二进制分类:在一些任务中,目标是将输入信息分为两个相互排斥的类别之一,例如 确定一封电子邮件是 "垃圾邮件 "还是 "非垃圾邮件 "时,Sigmoid 函数是最后一层的理想选择。 最后一层的理想选择。它输出一个介于 0 和 1 之间的标量值,代表正类的概率。 例如,在医学图像分析中,一个 模型可能输出 0.95,表示有 95% 的信心认为检测到的异常是恶性的。
  • 多标签分类:与输入只属于一个类别的多类别任务不同,多标签任务允许输入同时拥有 同时拥有多个标签。例如 物体检测模型,如 Ultralytics YOLO11可能需要在单张图像中detect 人"、"自行车 "和 "头盔"。在这里,Sigmoid 独立应用于每个输出节点,使模型能够预测每个类别的存在或不存在,而不会强迫概率相加为一。 强迫概率相加为一。
  • 递归神经网络 (RNN) 门控Sigmoid 是高级序列模型门控机制的重要组成部分,例如 长短期记忆(LSTM) 网络。在这些架构中,"遗忘门 "和 "输入门 "使用 Sigmoid 来输出 值介于 0(完全遗忘/阻塞)和 1(完全记忆/通过)之间,从而有效调节信息流随时间的变化。 信息流。有关 LSTM 的经典 关于 LSTM 的研究中进行了深入解释。

与相关激活函数的比较

要有效地设计神经架构,必须将 Sigmoid 与其他激活函数区分开来,因为每种激活函数都有不同的作用。 每个激活函数都有不同的作用。

  • Softmax:虽然这两个函数都与概率有关,但 Softmax 用于类别互斥的多类分类。 互斥。Softmax 可以确保所有类别的输出总和正好为 1,从而形成一个概率分布。 分布。相比之下,Sigmoid 会独立处理每个输出,因此适用于二元或多标签任务。 任务。
  • ReLU(整流线性单元):ReLU 是现代深度网络隐藏层的首选激活函数。与 Sigmoid 不同,它 在 0 和 1 处达到饱和,从而导致 梯度消失问题。 反向传播过程中的梯度消失问题,ReLU 则不同。 更自由地流动。正如斯坦福 CS231n 课程笔记中所指出的,这可以加速训练和收敛。 斯坦福 CS231n 课程笔记所述
  • Tanh(双曲切线):Tanh 函数与 Sigmoid 函数类似,但它将输入映射到-1 到 1 的范围内。 零为中心,因此在旧架构和某些 RNN 的隐藏层中,Tanh 通常比 Sigmoid 更受青睐,因为它有助于后续层的数据居中。 因为它有助于后续层的数据居中。

实施实例

下面的Python 代码段演示了如何使用 PyTorch.这是一种常见的操作 用于将原始模型输出(对数)转换为可解释的概率。

import torch
import torch.nn as nn

# Raw outputs (logits) from a model for a binary or multi-label task
logits = torch.tensor([0.1, -2.5, 4.0])

# Apply the Sigmoid activation function
sigmoid = nn.Sigmoid()
probabilities = sigmoid(logits)

# Output values are squashed between 0 and 1
print(probabilities)
# Output: tensor([0.5250, 0.0759, 0.9820])

了解何时使用 Sigmoid 是构建有效人工智能系统的关键。虽然由于梯度饱和,它在深层隐藏 梯度饱和所带来的限制,但它对独立概率建模的能力使其在损失函数计算和最终输出层中保持相关性。 损失函数计算和最终输出层 中的重要性。

加入Ultralytics 社区

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

立即加入