术语表

ReLU(整流线性单元)

探索 ReLU 的强大功能,ReLU 是深度学习中的一个关键激活函数,可帮助高效神经网络学习人工智能和 ML 的复杂模式。

整流线性单元(ReLU是一种基本激活函数,已成为现代深度学习(DL)的基石。它因其简单性和有效性而备受推崇,既能在神经网络(NN)中引入非线性,又能提高计算效率。它的主要作用是确定神经元的输出。其功能简单明了:如果输入是正值,它就将该值原封不动地传递出去;如果输入是零或负值,它就输出零。这一简单规则通过有选择地激活神经元来帮助网络学习复杂的模式,因此成为许多架构中隐藏层的默认选择。

ReLU 如何工作

SigmoidTanh 等更平滑的激活函数不同,ReLU 的行为是片断线性的。这一特性为深度神经网络的训练提供了多项显著优势。

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

ReLU 与其他激活功能的比较

虽然 ReLU 是一个功能强大的默认设置,但了解它的局限性以及它与其他变体的比较也很重要。

  • 垂死的 ReLU 问题:ReLU 的一个主要缺点是,如果神经元的输入持续为负值,它们就会失去活性。这些 "垂死 "神经元的输出永远为零,在训练过程中也不会更新它们的权重,因为流经它们的梯度也是零。
  • Leaky ReLU这个变种通过允许负输入有一个小的、非零的梯度来解决垂死 ReLU 问题。它的输出值不是零,而是输入的 0.01 倍。这可以确保神经元始终保持一定的梯度,使其保持活跃。
  • SiLU(西格玛线性单元)SiLU 也称为 Swish,是一种更平滑的激活函数,在更深的模型中往往优于 ReLU。它被用于高级架构,包括最先进的模型,如Ultralytics YOLO11,尽管它的计算量更大。要在这两种激活函数之间做出选择,通常需要调整超参数,以平衡性能和效率。您可以使用PyTorchTensorFlow 等框架探索不同的激活函数,前者有大量关于 ReLU 的文档,后者也提供了详细的 ReLU 实现指南

人工智能和 ML 的应用

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

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

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

加入 Ultralytics 社区

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

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