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

SiLU (Sigmoid Linear Unit)

探索 SiLU (Swish) 激活函数如何提升深度学习在目标检测和自然语言处理等人工智能任务中的性能。

Sigmoid 线性单元,通常称为 SiLU,是神经网络中使用的一种激活函数,因其效率和性能而广受欢迎。它是一种自门控函数,优雅地结合了 Sigmoid修正线性单元 (ReLU) 函数的属性。 SiLU 在论文“寻找激活函数”中被引入,最初被称为 Swish。其独特的属性(例如平滑性和非单调性)使其在深度模型中通常优于传统的激活函数(如 ReLU),从而在模型训练期间实现更好的准确性和更快的收敛。

SiLU 的工作原理

SiLU 的定义是将输入值乘以其 Sigmoid 函数。这种自门控机制使得该函数能够平滑地从正输入的线性状态过渡到大负输入的接近于零的状态,这有助于调节信息在网络中的流动。SiLU 的一个关键特性是非单调性;对于小的负输入,它可以略微低于零,然后再上升回零。据信,这种特性通过创建更丰富的梯度图景并防止梯度消失问题(可能会减慢或停止深度架构中的学习过程)来提高神经网络的表达能力。SiLU 曲线的平滑性也是一个显著的优势,因为它确保了梯度下降优化算法的平滑梯度。

SiLU 与其他激活函数的比较

SiLU 相对于其他常用的激活函数具有多个优势,使其成为现代深度学习 (DL)架构的引人注目的选择。

  • ReLU(修正线性单元): 与 ReLU 不同,ReLU 在零处有突变,并且对于所有负输入都有恒定的零梯度,而 SiLU 是一个平滑的连续函数。这种平滑性有助于反向传播过程。此外,SiLU 避免了“ReLU 死亡”问题,即神经元如果持续接收负输入,可能会永久失效。
  • Leaky ReLU: 虽然 Leaky ReLU 也通过允许负输入的较小非零梯度来解决神经元死亡问题,但 SiLU 的平滑、非单调曲线有时可以导致非常深度网络中更好的泛化和优化。
  • Sigmoid: Sigmoid 函数是 SiLU 的核心组成部分,但它们的应用差异很大。Sigmoid 通常用于二进制分类任务的输出层或作为RNN 中的门控机制。相比之下,SiLU 专为隐藏层而设计,并且已被证明可以提高卷积神经网络 (CNN)的性能。
  • GELU(高斯误差线性单元) SiLU通常与GELU进行比较,GELU是另一种平滑的激活函数,已显示出优异的性能,尤其是在Transformer模型中。这两个函数具有相似的形状和性能特征,它们之间的选择通常取决于超参数调优的经验结果。

在 AI 和机器学习中的应用

效率和性能的平衡使 SiLU 成为各种先进模型中的热门选择。

  • 目标检测: 包括 Ultralytics YOLO 版本在内的高级目标检测模型在其隐藏层中采用 SiLU。例如,在依赖于实时检测的自动驾驶汽车等应用中,SiLU 帮助模型更有效地从传感器数据中学习复杂特征,从而提高行人、交通标志和其他车辆的检测准确性。这种改进的特征学习对于安全性和可靠性至关重要,尤其是在像 COCO 这样的大规模数据集上进行训练时。
  • 图像分类: SiLU 是高效且强大的分类模型(如 EfficientNet 系列模型)中的关键组件。在 医学图像分析等领域,SiLU 保持梯度流的能力有助于模型学习细微的纹理和模式。这对于诸如从 MRI 扫描中分类肿瘤或从胸部 X 光片中识别疾病等任务非常有利,在这些任务中,高精度至关重要。

实施

SiLU 在主要的深度学习框架中很容易获得,因此可以轻松地将其整合到新的或现有的模型中。

诸如 Ultralytics HUB 这样的平台支持训练模型和探索使用 SiLU 等高级组件的模型的各种部署选项。来自 DeepLearning.AI 等组织的持续研究和资源有助于从业者有效地利用这些功能。激活函数的选择仍然是设计有效的神经网络架构的关键部分,而 SiLU 代表了该领域向前迈出的重要一步。

加入 Ultralytics 社区

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

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