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

激活函数

探索ReLU、Sigmoid和SiLU等激活函数如何推动深度学习发展。Ultralytics 运用这些函数来掌握复杂的视觉模式。

激活函数是神经网络(NN)的核心组件,它根据输入数据集决定神经元的输出结果。常被称为"守门人"的激活函数,决定着神经元是否处于活跃状态——即参与网络预测——或保持休眠。若缺乏这些数学运算,神经网络将仅表现为简单的线性回归模型,无法捕捉复杂模式,无论其深度如何。通过引入非线性特性,激活函数使深度学习(DL)模型能够学习复杂结构,例如手写数字的曲线或医学图像中的细微异常。 模式。通过引入非线性特性,激活函数使深度学习(DL)模型能够学习复杂结构,例如手写数字中的曲线特征或医学图像分析中的细微异常。

核心功能与常见类型

激活函数的主要作用是将输入信号映射到期望的输出范围,并为网络生成的特征图引入复杂性。开发者会根据层的位置和模型训练过程的目标来选择特定的函数。

  • ReLU(整流线性单元) 当前最广泛应用于隐藏层的激活函数。当输入为正值时直接输出该值,否则输出为零。这种简洁性不仅加速了计算过程,还有助于缓解梯度消失问题——这是训练深度网络架构时常遇到的挑战。
  • S形函数该函数将输入值"压缩"到0到1的区间内。它常用于二元分类任务的最终层,例如判断邮件是否为垃圾邮件,因为其输出可被解释为概率评分
  • Softmax多分类问题中的核心算法,它将数值向量转换为概率分布,其中所有值之和为1。这是图像分类任务ImageNet 中的任务)的标准处理方式。
  • SiLU(S形线性单元) 一种平滑的非单调函数,常用于YOLO26等前沿架构。 在深度模型中,SiLU相较于ReLU能实现更优的梯度流, 从而提升预测精度

人工智能在现实世界中的应用

激活函数的选择直接影响日常运营中部署的人工智能系统的性能和推理延迟

  1. 零售物体检测:在自动结账系统中, 物体检测模型识别传送带上的商品。 隐藏层采用ReLU或SiLU等高效函数快速处理视觉特征。输出层确定物体类别(如"苹果"、"谷物")及边界框坐标,使系统能够自动结算账单。这对零售业人工智能至关重要,可确保交易速度与顾客满意度。
  2. 情感分析: 在自然语言处理(NLP)领域,模型通过分析客户评论来评估满意度。神经网络可处理文本数据,并在最终层运用Sigmoid函数输出介于0(负面)与1(正面)之间的情感评分,助力企业借助机器学习(ML)技术大规模理解客户反馈。

实施实例

您可以通过PyTorch可视化工具直观了解不同激活函数如何转换数据。 PyTorch 库可直观展示不同激活函数对数据的转换效果。以下代码片段演示了 ReLU(将负值归零)与Sigmoid(压缩数值)之间的差异。

import torch
import torch.nn as nn

# Input data: negative, zero, and positive values
data = torch.tensor([-2.0, 0.0, 2.0])

# Apply ReLU: Negatives become 0, positives stay unchanged
relu_output = nn.ReLU()(data)
print(f"ReLU:    {relu_output}")
# Output: tensor([0., 0., 2.])

# Apply Sigmoid: Squashes values between 0 and 1
sigmoid_output = nn.Sigmoid()(data)
print(f"Sigmoid: {sigmoid_output}")
# Output: tensor([0.1192, 0.5000, 0.8808])

区分相关概念

区分激活函数与学习管道中的其他数学组件至关重要。

  • 激活函数与损失函数 激活函数在前向传播过程中运作,用于塑造神经元的输出。损失函数(如均方误差)则在前向传播结束时计算预测值与实际目标值之间的误差。
  • 激活函数与优化算法 激活函数定义输出结构,而优化器(如 Adam 随机梯度下降) 则决定如何更新模型权重以 最小化损失函数计算的误差。
  • 激活函数与迁移学习 激活函数是网络层内固定的数学运算。迁移学习是一种技术,Ultralytics 将预训练模型适应新任务,通常保留原始架构的激活函数,同时在定制数据集上微调权重。

若想深入了解这些函数如何融入更庞大的系统,请查阅 PyTorch 关于非线性激活函数PyTorch 或阅读 计算机视觉任务 如何依赖它们进行特征提取的相关内容。

加入Ultralytics 社区

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

立即加入