深圳尤洛视觉
深圳
立即加入
词汇表

Leaky ReLU

探索 Leaky ReLU 激活函数在 AI 和 ML 中的强大功能。解决 ReLU 死亡问题,并提高 CV、NLP、GAN 等领域的模型性能!

Leaky Rectified Linear Unit(Leaky ReLU)是一种激活函数,应用于神经网络(NN),是对标准Rectified Linear Unit(ReLU)函数的直接改进。它的设计目的是解决“ReLU 死亡”问题,即神经元在训练过程中可能变得不活跃并停止学习。通过为负输入值引入一个小的非零斜率,Leaky ReLU 确保神经元始终具有梯度,从而在深度学习(DL)模型中实现更稳定和一致的训练。这种简单的修改已被证明在各种架构中有效,有助于提高模型性能和训练动态。

Leaky ReLU 如何解决神经元死亡问题

Leaky ReLU 背后的主要动机是解决神经元死亡问题。在标准 ReLU 函数中,神经元的任何负输入都会导致输出为零。如果一个神经元持续接收负输入,它将始终输出零。因此,在反向传播期间流经该神经元的梯度也将为零。这意味着神经元的权重不再更新,并且它实际上停止参与学习过程——它“死亡”。

Leaky ReLU 通过在单元不活跃时允许一个小的正梯度来解决这个问题。对于负输入,它不是输出零,而是输出一个乘以小常数(“leak”)的值。这确保了神经元永远不会有零梯度,使其能够恢复并继续学习。这种方法最初在关于卷积网络中 Rectified 激活的实证评估的论文中详细说明。

实际应用

Leaky ReLU 促进更稳定训练的能力使其在人工智能(AI)的多个领域中具有价值。

  • 生成对抗网络 (GANs): Leaky ReLU 经常用于生成对抗网络 (GANs)的判别器网络中。GANs 涉及生成器和判别器之间的微妙平衡,而标准 ReLU 产生的梯度消失可能会破坏这种训练的稳定性。正如Google 开发者博客上关于 GANs 的文章中所述,Leaky ReLU 持续存在的非零梯度有助于两个网络更有效地学习,从而生成更高质量的合成数据
  • 对象检测模型: 早期但有影响力的对象检测模型,包括某些版本的YOLO,都采用了 Leaky ReLU。在深度卷积神经网络 (CNN)中,死亡神经元会阻止模型学习关键特征。Leaky ReLU 有助于确保所有神经元保持活跃,从而提高模型在各种数据集(如COCO)中检测对象的能力。虽然许多现代架构(如Ultralytics YOLO11)现在使用更高级的函数,但 Leaky ReLU 是建立其基础的关键组成部分。

Leaky ReLU 与其他激活函数

Leaky ReLU 是旨在改进原始 ReLU 的几种激活函数之一。了解它与其他激活函数的关系有助于为给定任务选择合适的函数。

  • ReLU: 主要区别在于,对于负输入,ReLU 完全不激活,而 Leaky ReLU 则保持一个较小的恒定梯度。
  • SiLU 和 GELU: 诸如 SiLU (Sigmoid Linear Unit)GELU (Gaussian Error Linear Unit) 等较新的激活函数提供平滑、非单调的曲线,有时可以提高准确性。这些函数通常出现在 Transformer 等高级模型中。但是,与 Leaky ReLU 的简单线性运算相比,它们的计算复杂度更高。详细的激活函数概述可以提供进一步的比较。
  • 参数化 ReLU (PReLU): PReLU 是一种变体,其中泄漏系数在训练期间学习,使其成为模型的参数,而不是固定的超参数。

激活函数的最佳选择通常取决于特定的架构、数据集(例如 Ultralytics 数据集 上提供的那些数据集)以及 超参数调整 的结果。Leaky ReLU 仍然是一个强大的选择,因为它简单、计算开销低且在防止神经元死亡方面有效。

主要的深度学习框架(如PyTorchTensorFlow)提供了简单的实现,如其官方文档中PyTorch 的 LeakyReLUTensorFlow 的 LeakyReLU所示。这种可访问性使开发人员可以使用Ultralytics HUB等平台轻松地进行实验并将其集成到他们的模型中。

加入 Ultralytics 社区

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

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