术语表

SiLU(西格玛线性单元)

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

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

了解更多

西格玛线性单元(SiLU),又称 Swish 函数,是神经网络(NN)中使用的激活函数。激活函数是将非线性引入网络的关键元件,使其能够从数据中学习复杂的模式。SiLUGoogle 大脑的研究人员开发,因其在各种深度学习任务中的有效性而广受欢迎,在深度模型中的表现往往优于 ReLU 等旧函数。

相关性和优势

SiLU 的重要意义在于其独特的属性,可以改善模型性能和训练动态。与广泛使用的ReLU函数不同,SiLU 是平滑和非单调的。这意味着它的输出并不严格地随输入而增加,从而可以对更复杂的函数进行建模。这种平滑性有助于基于梯度的优化,防止在训练过程中出现突变。包括Swish 原始论文在内的研究表明,用 SiLU 代替 ReLU 可以提高ImageNet 等高难度数据集的分类准确性,尤其是在深度网络中。它的自门控机制有助于调节信息流,有可能缓解梯度消失等问题。

与其他激活功能的比较

与其他常见的激活函数相比,SiLU 具有不同的特性:

  • ReLU(整流线性单元)更简单,计算效率高,但可能存在 "垂死的 ReLU "问题,即神经元变得不活跃。ReLU 是单调的,在零点不平滑。
  • Leaky ReLULeaky ReLU 是 ReLU 的一种改进,通过允许负输入有一个小的、非零的梯度来解决垂死神经元问题。与 ReLU 一样,Leaky ReLU 也是单调的。
  • GELU(高斯误差线性单元)另一种平滑激活函数,常用于变压器模型。GELU 根据输入量的大小来加权,而不是像 ReLU 那样只根据符号来选通。SiLU 可以看作是一种平滑的替代函数,有时根据经验会有更好的表现。您可以查看一般激活函数概览,了解更多比较信息。

SiLU 的应用

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

  • 物体检测:现代物体检测模型,包括与以下方面相关的架构 Ultralytics YOLO的相关架构,通常都采用 SiLU 或类似的高级激活函数,以提高识别和定位图像或视频中物体的准确性。这提高了从自动驾驶到零售分析等应用中的性能,有助于获得更好的模型评估见解
  • 自然语言处理(NLP):SiLU 可用于转换器架构和其他NLP模型,以完成文本分类、机器翻译和情感分析等任务。其特性可帮助模型捕捉复杂的语言模式,提高理解和生成能力。探索更多NLP 应用
  • 图像分类在专为图像分类设计的深度卷积神经网络(CNN)中,SiLU 可以取代 ReLU 层,这通常会带来更好的收敛性和最终准确性,尤其是随着网络深度的增加。这在处理COCO 等数据集时非常重要。

SiLU 可随时用于主要的深度学习框架,如 PyTorch (作为 torch.nn.SiLU有记录 这里)和 TensorFlow (作为 tf.keras.activations.swish有记录 这里).平台,如 Ultralytics HUB 支持 培训部署 使用此类先进组件的机型。

阅读全部