术语表

SiLU(西格玛线性单元)

探索 SiLU(Swish)激活函数如何在物体检测和 NLP 等人工智能任务中提升深度学习性能。

西格玛线性单元(Sigmoid Linear Unit,通常称为 SiLU)是神经网络中使用的一种激活函数,因其效率和性能而广受欢迎。它是一种自门控函数,优雅地结合了Sigmoid函数和整流线性单元 (ReLU)函数的特性。SiLU 在论文"搜索激活函数"中被提出,最初被称为 Swish。SiLU 具有平滑性和非单调性等独特特性,因此在深度模型中往往优于 ReLU 等传统激活函数,从而在模型训练过程中获得更高的精度和更快的收敛速度。

SiLU 如何工作

SiLU 的定义是将输入值乘以其 sigmoid 值。这种自门控机制允许函数从正输入时的线性平滑过渡到大负输入时的近零值,这有助于调节网络中的信息流。SiLU 的一个主要特点是它的非单调性;当输入较小的负值时,它可能会略低于零,然后再回升到零。这一特性被认为可以提高神经网络的表现力,创造出更丰富的梯度景观,防止出现梯度消失问题,而这一问题可能会减缓或停止深度架构的学习过程。SiLU 曲线的平滑性也是一大优势,因为它能确保梯度下降优化算法的梯度平滑。

SiLU 与其他激活功能的比较

与其他常用的激活函数相比,SiLU 具有多项优势,是现代深度学习(DL)架构的理想选择。

  • ReLU(整流线性单元)与 ReLU 不同,SiLU 是一个平滑、连续的函数。这种平滑性有助于反向传播过程。此外,SiLU 还避免了 "垂死的 ReLU "问题,即神经元如果持续接受负输入,就会永久失去活性。
  • Leaky ReLULeaky ReLU 允许负输入的梯度较小且不为零,从而也解决了垂死神经元的问题,而 SiLU 的平滑、非单调曲线有时能为深度网络带来更好的泛化和优化效果。
  • Sigmoid 函数Sigmoid 函数是 SiLU 的核心组成部分,但它们的应用却大不相同。Sigmoid 通常用于二元分类任务的输出层,或作为RNN 中的门控机制。相比之下,SiLU 是为隐藏层设计的,已被证明可以提高卷积神经网络 (CNN) 的性能。
  • GELU(高斯误差线性单元)SiLU 经常被拿来与 GELU 进行比较,后者是另一种平滑激活函数,尤其在变压器模型中表现出色。这两种函数具有相似的形状和性能特征,如何在它们之间做出选择,往往取决于超参数调整的经验结果。

人工智能和机器学习的应用

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

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

实施

SiLU 可随时用于主要的深度学习框架,因此很容易将其纳入新的或现有的模型中。

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

加入 Ultralytics 社区

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

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