术语表

SiLU(西格玛线性单元)

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

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

SiLU(Sigmoid Linear Unit),又称 Swish 函数,是深度学习(DL)模型,尤其是神经网络(NN)中使用的一种激活函数。它由Google 研究人员提出,与ReLUSigmoid 等传统激活函数相比,能有效提高模型性能,因此广受欢迎。SiLU 因其平滑性和非单调性而备受推崇,这有助于梯度流和模型优化。如需更广泛的了解,请参阅一般激活函数概述

SiLU 如何工作

SiLU 的定义是输入与输出的乘积。 乙状结肠 函数应用于输入。本质上 SiLU(x) = x * sigmoid(x).这种表述方式使 SiLU 成为一种自我门控机制,其中的西格码分量决定了线性输入的程度。 x 是通过的。当 sigmoid 输出接近 1 时,输入几乎保持不变(类似于正值的 ReLU),而当它接近 0 时,输出被抑制为零。与 ReLU 不同,SiLU 具有平滑和非单调的特性(即使输入增加,输出也会减少),这些特性来自于它的 乙状结肠功能详情 组成部分。这一概念在 Swish 原纸.

SiLU 的优势

SiLU 具有多项优势,有助于提高其在深度学习模型中的有效性:

  • 平滑性与 ReLU 不同,SiLU 是一个平滑函数,这意味着它的导数是连续的。这种平滑性有利于反向传播过程中基于梯度的优化算法,使训练更加稳定。
  • 非单调性:该函数的形状在输入负值时会略微下降,然后再上升到零,这可能有助于网络呈现更复杂的模式。
  • 避免梯度消失在深度网络中,Sigmoid 函数会受到梯度消失问题的严重影响,而 SiLU 则能缓解这一问题,尤其是在正输入时,它的线性表现与 ReLU 相似。
  • 提高性能:经验研究表明,在不同的任务和数据集中,用 SiLU 取代 ReLU 可以提高模型的准确性,尤其是在深度架构中。

与其他激活功能的比较

SiLU 有别于其他常见的激活函数:

  • ReLU: 再卢 计算起来更简单 (max(0, x)),且对正值呈线性关系,但存在 "垂死 ReLU "问题,即神经元对负值输入会失去活性。参见 再学习单元解释.SiLU 输出平滑,负值不为零,因此避免了这一问题。
  • 西格码 Sigmoid将输入映射到 0 和 1 之间的范围,但存在饱和和梯度消失的问题,因此与 SiLU 相比,它不太适合深度网络的隐藏层。
  • Leaky ReLU: Leaky ReLU允许负输入有一个小的、非零的梯度,从而解决了垂死 ReLU 问题。SiLU 提供了另一种更平滑的曲线。
  • GELU: GELU(高斯误差线性单元)是另一种平滑激活函数,其性能通常与 SiLU 相似。一般认为 SiLU 在计算上比 GELU 稍为简单。

SiLU 的应用

SiLU 用途广泛,已成功应用于使用深度学习模型的各个领域:

实施情况

SiLU 可随时用于主要的深度学习框架:

Ultralytics HUB等平台支持训练模型,并利用 SiLU 等高级组件探索模型的各种部署选项DeepLearning.AI等组织的持续研究和资源有助于从业人员有效利用这些功能。

阅读全部