探索人工智能中西格蒙德函数的威力。了解它如何实现非线性、帮助二元分类并推动人工智能的进步!
Sigmoid 函数是机器学习(ML),尤其是神经网络(NN)中广泛使用的激活函数。它的特点是具有 "S "形曲线,能将任何输入值在数学上映射为介于 0 和 1 之间的输出值。这一特性使它在将模型的原始输出(对数)转换为概率时特别有用,因为概率更容易解释。从历史上看,Sigmoid 是神经网络隐藏层的常用选择,但由于某些局限性,在现代深度学习(DL)架构中,它在很大程度上已被ReLU等函数所取代。
Sigmoid 函数接收任何实数值,并将其压扁到(0,1)的范围内。大的负输入会导致输出接近 0,大的正输入会导致输出接近 1,而 0 的输入会导致 0.5 的输出。这是一个非线性函数,这一点至关重要,因为在没有非线性的神经网络中堆叠多个线性层,只会产生另一个线性函数,从而限制了模型学习图像或文本等数据中复杂模式的能力。Sigmoid 也是可微分的,这是使用基于梯度的优化方法(如反向传播和梯度下降)训练神经网络的必要属性。
Sigmoid 目前主要应用于二元分类模型的输出层。由于其输出自然介于 0 和 1 之间,因此非常适合表示输入属于正分类的概率。
Sigmoid 还可用于多标签分类任务,在这种任务中,输入可能同时属于多个类别(例如,一篇标有 "政治"、"经济 "和 "欧洲 "的新闻文章)。在这种情况下,每个潜在标签都会使用一个单独的 Sigmoid 输出神经元,估算特定标签的相关概率,而与其他标签无关。这与通常使用Softmax函数的多类分类(只适用一个标签,如将图像分类为 "猫"、"狗 "或 "鸟")不同。
了解 Sigmoid 通常需要将其与其他激活函数进行比较:
优势
局限性:
虽然如今在深度网络的隐藏层中已不常见,但在二元分类和多标签分类任务中,Sigmoid 仍然是输出层的标准选择。它也是LSTM和GRU 等循环神经网络(RNN)中门控机制的核心组成部分,用于控制信息流。
Sigmoid 可在所有主要市场上买到。 深度学习框架包括 PyTorch (作为 torch.sigmoid
)和 TensorFlow (作为 tf.keras.activations.sigmoid
).平台,如 Ultralytics HUB 支持利用各种激活函数的模型,使用户能够 训练 和 部署 复杂 计算机视觉 解决方案