Ultralytics YOLO27:
获取 YOLO 许可
返回 Ultralytics 术语表

Activation Function

激活函数是神经元应用于加权输入的非线性函数,让网络能够学习曲线模式。本文比较常见的激活函数。

激活函数是神经网络(NN)中的神经元对输入加权求和后应用的函数,用于生成神经元的输出。激活函数的核心作用是引入非线性:没有它,任意堆叠的层都会折叠成单个线性变换,增加网络深度也毫无作用。有了激活函数,网络就能表示弯曲的决策边界,例如手写数字的笔画,或摄像头画面中行人的轮廓。激活函数有两种作用。在隐藏层中,ReLU、SiLU 和 GELU 等函数可以帮助网络构建特征。在输出层中,sigmoid 和 softmax 等函数会将原始分数转换为概率。

网络为何需要非线性#

没有激活函数的层会计算 Wx + b。两个这样的层会得到 W₂(W₁x + b₁) + b₂,这等于 (W₂W₁)x + (W₂b₁ + b₂),也就是另一个单独的线性层。在两层之间加入激活函数,就能避免这种折叠;通用逼近定理表明,只要非线性单元数量足够,一个隐藏层就能逼近有界域上的任意连续函数。

激活函数的导数与函数形状同样重要,因为反向传播会逐层将这些导数相乘。Sigmoid 的导数不会超过 0.25,而 tanh 的导数在输入较大时会趋近于零,因此梯度经过多个饱和层后会逐渐缩小,这就是梯度消失问题。对于所有正输入,ReLU 的导数都恰好为 1,这也是它让超深网络变得易于训练的主要原因之一。

常见激活函数#

  • ReLU:max(0, x)。计算开销低,正输入的梯度为 1,负输入则精确输出零。自 2012 年 AlexNet 问世以来,它一直是 CNN 默认的隐藏层激活函数,但始终只接收负输入的神经元会停止学习。
  • Leaky ReLU:将负输入乘以较小的斜率,例如 0.01 或 0.1,因此每个神经元都能保留梯度。
  • SiLU(Swish):x · σ(x),一种平滑曲线,负输入时会略微低于零。它常用于高效 CNN 和实时检测器。
  • GELU:x · Φ(x),其中 Φ 是标准正态累积分布函数。它是 BERT、GPT-2 和视觉 Transformer 中的标准激活函数。
  • Tanh:将输入压缩至 −1 到 1,并以零为中心。它用于构造 GRU 等循环网络的隐藏状态。
  • Sigmoid:将输入压缩至 0 到 1,适合二分类和多标签输出,也适用于循环单元的门控。
  • Softmax:将一整组分数转换为总和为 1 的概率分布,适用于单标签分类和注意力权重。
  • SwiGLU:一种门控层,会将经过 SiLU 激活的投影与第二个可学习投影相乘。它取代了许多近期大型语言模型(LLM)前馈层中的普通激活函数。

PyTorch 在 torch.nn 中将每种逐元素函数都作为模块提供,因此可以轻松地对相同输入进行比较:

import torch
from torch import nn

x = torch.tensor([-3.0, -1.0, 0.0, 1.0, 3.0])

# Common activations, each applied element-wise to the same inputs
activations = {
    "ReLU": nn.ReLU(),
    "Leaky ReLU": nn.LeakyReLU(0.1),
    "SiLU": nn.SiLU(),
    "GELU": nn.GELU(),
    "Tanh": nn.Tanh(),
    "Sigmoid": nn.Sigmoid(),
}
for name, act in activations.items():
    print(f"{name:>10}: {[round(v, 3) for v in act(x).tolist()]}")

对于 −3、−1、0、1 和 3 这些输入,ReLU 会输出 [0.0, 0.0, 0.0, 1.0, 3.0],Leaky ReLU 会输出 [-0.3, -0.1, 0.0, 1.0, 3.0]。SiLU 会输出 [-0.142, -0.269, 0.0, 0.731, 2.858],GELU 会输出 [-0.004, -0.159, 0.0, 0.841, 2.996]:两者都会保留较小的负值,并在输入较大时趋近于 ReLU。Tanh 会输出 [-0.995, -0.762, 0.0, 0.762, 0.995],sigmoid 会输出 [0.047, 0.269, 0.5, 0.731, 0.953];当输入为 ±3 时,两者都会趋于平坦,此时它们的梯度已经很小。

如何选择激活函数#

隐藏层通常遵循相应架构系列的惯例,输出层则根据任务选择。每个输入恰好属于一个类别时适合使用 softmax;标签可以同时出现时适合使用 sigmoid;回归输出不使用任何激活函数,以便输出任意数值。硬件也可能限制选择:一些边缘加速器只能原生运行 ReLU、Leaky ReLU 和 Hard-Swish 等简单函数。YOLO26会在每个 Conv 块的卷积和批次归一化之后应用 SiLU;它使用独立的 sigmoid 对每个检测类别打分,因此同一个边界框的类别分数不必加总为 1;在其分类模型中,模型会对 1,000 个 ImageNet类别应用 softmax。

  • 损失函数:前向传播过程中,激活函数决定每个神经元输出的形状;损失函数则根据标签对网络的最终预测进行评分。出于数值稳定性的考虑,库通常会将最后一个激活函数融合进损失函数,例如 CrossEntropyLoss 会将 softmax 融合进去。
  • 批次归一化:批次归一化或层归一化会使用统计数据和可学习参数,将激活值重新缩放到稳定范围。它通常紧邻激活函数并位于其前面,本身不会引入非线性。
  • 激活值:作为复数名词时,activations 指一层生成的输出值。“非线性”和较早使用的“传递函数”都是激活函数的同义词。训练期间,框架会将每层的激活值保存在内存中,以供反向传播使用;因此,梯度检查点会通过丢弃部分激活值,并在反向传播期间重新计算这些激活值来节省内存。

Explore solutions

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来