Activation Function
探索 ReLU、Sigmoid 和 SiLU 等激活函数如何实现深度学习。了解 Ultralytics YOLO26 如何利用它们掌握复杂的视觉模式。
激活函数是神经网络 (NN) 的基本组成部分,它决定了神经元在给定一组输入时的输出。它常被称为“守门人”,决定神经元是否应该被激活——即是否对网络的预测做出贡献——还是保持未激活状态。如果没有这些数学运算,神经网络的表现将类似于一个简单的线性回归模型,无论其深度如何,都无法捕捉复杂的模式。通过引入非线性,激活函数使深度学习 (DL) 模型能够学习复杂的结构,例如手写数字中的曲线或医学图像分析中的微小异常。
Link to this section核心功能与常见类型#
激活函数的主要作用是将输入信号映射到预期的输出范围,并为网络生成的特征图引入复杂性。开发者会根据层的位置和模型训练流程的目标来选择特定的函数。
- ReLU (修正线性单元): 目前隐藏层中最广泛使用的函数。如果输入为正,它直接输出输入值,否则输出零。这种简洁性加快了计算速度,并有助于缓解梯度消失问题,这是训练深层架构时常遇到的挑战。
- Sigmoid: 该函数将输入值“压缩”到 0 到 1 之间的范围。它经常用于二分类任务的最后一层,例如判断一封邮件是否为垃圾邮件,因为其输出可以被解释为概率分数。
- Softmax: Essential for multi-class problems, Softmax converts a vector of numbers into a probability distribution where all values sum to one. This is standard in image classification challenges like those found in the ImageNet dataset.
- SiLU (Sigmoid Linear Unit): A smooth, non-monotonic function often used in state-of-the-art architectures like YOLO26. SiLU allows for better gradient flow than ReLU in very deep models, contributing to higher accuracy.
Link to this section人工智能的实际应用#
激活函数的选择直接影响日常运营中部署的 AI 系统的性能和推理延迟。
-
零售物体检测: 在自动化结账系统中,物体检测模型识别传送带上的产品。隐藏层使用 ReLU 或 SiLU 等高效函数来快速处理视觉特征。输出层确定类别(例如,“苹果”、“麦片”)和边界框坐标,使系统能够自动汇总账单。这对于零售业 AI 确保速度和客户满意度至关重要。
-
情感分析: 在自然语言处理 (NLP) 中,模型分析客户评论以评估满意度。网络可能会处理文本数据并在最后一层使用 Sigmoid 函数输出 0(负面)到 1(正面)之间的情感分数,帮助企业利用机器学习 (ML) 大规模地理解客户反馈。
Link to this section实现示例#
你可以使用 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])Link to this section区分相关概念#
区分激活函数与学习流程中的其他数学组件非常重要。
- 激活函数与损失函数: 激活函数在正向传播过程中运行,以塑造神经元的输出。损失函数(例如均方误差)则在正向传播结束时计算预测值与实际目标之间的误差。
- 激活函数与优化算法: 虽然激活函数定义了输出结构,但优化器(如 Adam 或 随机梯度下降 (SGD))决定了如何更新模型权重,以最小化由损失函数计算出的误差。
- 激活函数与迁移学习: 激活函数是网络层中固定的数学运算。迁移学习是一种将预训练模型适应于新任务的技术,通常在保留原始架构的激活函数的同时,通过 Ultralytics Platform 在自定义数据集上对权重进行微调。
若想深入了解这些函数如何融入更大的系统,请探索 PyTorch 关于非线性激活函数的文档,或阅读关于计算机视觉任务如何依赖它们进行特征提取的内容。






