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

ReLU(修正线性单元)

探索 ReLU 的强大功能,它是深度学习中的关键激活函数,使高效神经网络能够学习 AI 和 ML 的复杂模式。

线性修正单元(ReLU)是一种基本的激活函数,已成为现代深度学习 (DL) 的基石。它因其简单性和有效性而备受赞誉,它在神经网络 (NN) 中引入了非线性,同时具有很高的计算效率。它的主要作用是确定神经元的输出。该函数非常简单:如果输入为正,则它会不变地传递该值;如果输入为零或负,则它输出零。这个简单的规则通过选择性地激活神经元来帮助网络学习复杂的模式,使其成为许多架构中隐藏层的默认选择。

ReLU 的工作原理

SigmoidTanh等更平滑的激活函数不同,ReLU的行为是分段线性的。此特性为训练深度神经网络提供了几个显着的优势。

  • 计算效率: 该函数的简单条件运算在 GPUCPU 上计算速度非常快,从而减少了训练推理所需的总时间。这是它在大规模模型中得到广泛采用的关键原因。
  • 缓解梯度消失: 训练深度网络的主要挑战之一是梯度消失问题,其中梯度在反向传播期间变得非常小,从而减慢或停止学习过程。由于 ReLU 的导数对于所有正输入都是常数 1,因此它可以保持健康的梯度流,从而使更深的网络能够更有效地学习。有关此概念的概述,请参见关于使用 ReLU 进行深度学习的开创性论文
  • 诱导稀疏性: 通过为所有负输入输出零,ReLU 可以产生稀疏表示,其中只有一部分神经元被激活。 这种神经网络中的稀疏性可以通过降低 过拟合 的可能性来提高模型的效率和鲁棒性。

ReLU 与其他激活函数的比较

虽然 ReLU 是一个强大的默认选项,但重要的是要了解它的局限性以及它与其变体的比较。

  • ReLU死亡问题: ReLU的主要缺点是,如果神经元的输入始终为负,则神经元可能会变得不活动。 这些“死亡”神经元将始终输出零,并且在训练期间永远不会更新其权重,因为流经它们的梯度也为零。
  • Leaky ReLU: 此变体通过允许负输入的较小非零梯度来解决 ReLU 死亡问题。它不是输出零,而是输出一个类似于输入值 0.01 倍的值。这确保神经元始终具有一定的梯度,从而保持它们的活跃状态。
  • SiLU (Sigmoid Linear Unit): SiLU 也被称为 Swish,是一种更平滑的激活函数,在更深的模型中通常优于 ReLU。它用于高级架构,包括像 Ultralytics YOLOv8 这样的最先进模型,尽管它的计算强度更高。它们之间的选择通常涉及超参数调整,以平衡性能和效率。您可以使用像 PyTorch 这样的框架来探索不同的激活函数,该框架具有关于 ReLU 的广泛文档,以及 TensorFlow,它也提供了详细的 ReLU 实现指南

在 AI 和 ML 中的应用

ReLU 是一种重要的激活函数,尤其在用于计算机视觉 (CV)任务的 卷积神经网络 (CNN) 中占据主导地位。它能高效处理非线性,使其成为处理图像数据的理想选择。

  • 医学图像分析: 用于医疗保健领域AI的CNN通常在其隐藏层中使用ReLU。例如,它们处理来自X光片或MRI的复杂视觉信息,以检测肿瘤或骨折等异常情况,从而帮助放射科医生进行诊断(来自PubMed Central的研究示例)。ReLU的效率对于快速分析来自脑肿瘤检测等数据集的大型医学扫描至关重要。
  • 自动驾驶车辆: 自动驾驶车辆的系统,例如Waymo等公司开发的系统,严重依赖带有ReLU的CNN。这些网络执行实时目标检测,以识别行人、其他车辆、交通信号灯和车道标记,从而实现安全导航。ReLU的速度对于自动驾驶应用中所需的低推理延迟至关重要。

虽然 ReLU 在 CNN 中很普遍,但它也用于其他类型的神经网络。现代模型通常使用 ReLU 变体或其他高效激活函数。您可以使用诸如 Ultralytics HUB 之类的平台训练和部署此类模型,并利用 模型训练技巧指南 来获得最佳结果。

加入 Ultralytics 社区

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

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