敬请关注 YOLO Vision 2025!
2025年9月25日
英国夏令时 10:00 - 18:00
混合活动
Yolo Vision 2024
词汇表

激活函数

了解激活函数在神经网络中的作用、其类型以及在 AI 和机器学习中的实际应用。

激活函数是一种应用于神经网络 (NN)中神经元或节点的数学函数。它的主要作用是根据神经元的加权输入来确定其输出。简单来说,它决定了一个神经元是否应该被“激活”或“触发”,如果是,那么它传递到下一层的信号强度应该是多少。这种机制对于将非线性引入网络至关重要,使其能够从数据中学习复杂的模式和关系。如果没有激活函数,无论神经网络有多少层,它的行为都将类似于一个简单的线性回归模型,从而严重限制了其解决复杂现实问题的能力。

激活函数的类型

激活函数有很多种类型,每种都有其独特的属性。函数的选择会显著影响模型的性能和训练效率。

  • Sigmoid:此函数将任何输入值映射到 0 到 1 之间的范围。它在历史上很受欢迎,但由于梯度消失问题,现在在深度学习模型的隐藏层中不太常见,这会减慢训练速度。它仍然用于二元分类任务的输出层。
  • Tanh(双曲正切):类似于 Sigmoid,但它将输入映射到 -1 到 1 之间的范围。因为它的输出以零为中心,所以它通常比 Sigmoid 帮助模型更快地收敛。它经常用于循环神经网络 (RNN)。您可以在像 PyTorchTensorFlow 这样的框架中找到它的实现。
  • ReLU(修正线性单元):这是现代神经网络中最广泛使用的激活函数,尤其是在卷积神经网络 (CNN)中。如果输入为正,则直接输出输入;否则输出零。它的简单性和效率有助于缓解梯度消失问题,从而加快训练速度。
  • Leaky ReLU:ReLU 的一种变体,当输入为负时,允许一个小的、非零梯度。这旨在解决“ReLU 死亡”问题,即神经元可能变得不活动并停止学习。
  • SiLU(Sigmoid 线性单元):一种平滑的非单调函数,已在 Ultralytics YOLO 等最先进的模型中广受欢迎。通过结合线性和非线性的优点,它通常优于深度模型上的 ReLU。
  • Softmax:专门用于神经网络的输出层,用于多类图像分类任务。它将原始分数(logits)的向量转换为概率分布,其中每个值表示输入属于特定类别的概率。

人工智能与机器学习应用

激活函数是几乎所有依赖神经网络的 AI 应用的基础。

  • 计算机视觉:在目标检测等任务中,CNN 在其隐藏层中使用 ReLUSiLU 等函数来处理视觉信息。例如,自动驾驶汽车的感知系统使用这些函数从摄像头数据中实时识别行人、其他车辆和交通标志。
  • 自然语言处理 (NLP):在机器翻译中,LSTM 在其门控机制中使用 SigmoidTanh 函数来控制信息在网络中的流动,从而帮助记住句子前面部分的上下文。在 Christopher Olah 的“理解 LSTM”中可以找到全面的概述。

与相关术语的比较

区分激活函数和神经网络中的其他关键概念非常重要:

  • 损失函数: 损失函数量化了模型预测值与实际目标值之间的差异(即“误差”)。其目标是通过衡量模型的性能来指导训练过程。虽然激活函数决定了前向传递期间神经元的输出,但损失函数评估了传递结束时的整体模型输出,以计算用于在反向传播期间更新权重的误差。
  • 优化算法: 这些算法(例如,Adam 优化器随机梯度下降 (SGD))定义了如何根据计算出的损失更新模型的权重。 它们使用从损失函数导出的梯度来调整参数并最小化误差。 激活函数会影响这些梯度的计算,但本身不是优化方法。 请参阅Google Developers 提供的优化算法概述
  • 归一化技术:批量归一化 这样的方法旨在通过归一化层的输入来稳定和加速训练过程。归一化发生在应用激活函数之前,有助于在整个网络中保持一致的数据分布。您可以在原始的批量归一化论文中阅读更多内容。

理解激活函数对于设计、训练和优化有效的机器学习 (ML)模型至关重要。正确的选择可以显著影响模型性能和训练动态。您可以使用 Ultralytics HUB 等工具探索不同的模型及其组件,这有助于构建和部署 AI 模型

加入 Ultralytics 社区

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

立即加入
链接已复制到剪贴板