探索ReLU、Sigmoid和SiLU等激活函数如何赋能深度学习。了解Ultralytics YOLO26如何利用它们来掌握复杂的视觉模式。
激活函数是 神经网络 (NN) 的一个基本组成部分,它根据一组输入决定神经元的输出。它常被称为“守门员”,决定神经元是应该处于激活状态(即对网络的预测做出贡献)还是非激活状态。如果没有这些数学运算,神经网络将表现得像一个简单的 线性回归 模型,无论其深度如何,都无法掌握复杂的模式。通过引入非线性,激活函数使 深度学习 (DL) 模型能够学习复杂的结构,例如手写数字的曲线或 医学图像分析 中的细微异常。
激活函数的主要作用是将输入信号映射到所需的输出范围,并为网络生成的feature maps引入复杂性。开发者根据层的位和model training过程的目标选择特定的函数。
激活函数的选择直接影响日常运营中部署的AI系统的性能和 推理延迟。
您可以通过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])
区分激活函数与学习管道中的其他数学组件至关重要。
要更深入地了解这些函数如何融入更大的系统,请查阅 PyTorch关于非线性激活的文档,或阅读关于 计算机视觉任务 如何依赖它们进行特征提取的文章。

开启您的机器学习未来之旅