术语表

激活功能

了解激活函数在神经网络中的作用、类型以及在人工智能和机器学习中的实际应用。

激活函数是应用于神经网络(NN)中神经元或节点的数学函数。它的主要作用是根据神经元的加权输入决定神经元的输出。简单地说,它决定神经元是否应该被 "激活 "或 "启动",如果是,则决定神经元进入下一层时信号的强度。这种机制对于在网络中引入非线性至关重要,使其能够从数据中学习复杂的模式和关系。如果没有激活函数,神经网络无论有多少层,都会表现得像一个简单的线性回归模型,严重限制了它解决复杂现实世界问题的能力。

激活功能的类型

激活函数有很多种,每种都有独特的性质。函数的选择会极大地影响模型的性能和训练效率。

  • 乙状结肠:该函数将任何输入值映射到 0 和 1 之间的范围。它在历史上很流行,但由于梯度消失问题,现在在深度学习模型的隐藏层中已不常用,因为这可能会减慢训练速度。在二进制分类任务中,输出层仍在使用该函数。
  • Tanh(双曲切线):与 Sigmoid 类似,但它将输入映射到-1 和 1 之间的范围。由于其输出是以零为中心的,因此它通常比 Sigmoid 能帮助模型更快地收敛。它常用于循环神经网络(RNN)。你可以在PyTorchTensorFlow 等框架中找到它的实现。
  • ReLU(整流线性单元):这是现代神经网络中使用最广泛的激活函数,尤其是在卷积神经网络(CNN)中。如果输入为正,它将直接输出,反之则输出为零。它的简单性和高效性有助于缓解梯度消失问题,从而加快训练速度。
  • Leaky ReLU:ReLU 的一种变体,当输入为负值时,允许有一个非零的小梯度。这是为了解决 "垂死 ReLU "问题而设计的,在这种情况下,神经元会变得不活跃并停止学习。
  • SiLU(西格玛线性单元):一种平滑的非单调函数,在Ultralytics YOLO 等先进模型中颇受欢迎。它结合了线性和非线性的优点,在深度模型中的表现往往优于 ReLU。
  • Softmax:专门用于神经网络输出层的多类图像分类任务。它将原始分数(logits)向量转换为概率分布,其中每个值代表输入属于特定类别的概率。

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

激活函数是几乎所有依赖神经网络的人工智能应用的基础。

  • 计算机视觉:在物体检测等任务中,CNN 在其隐藏层中使用ReLUSiLU等函数来处理视觉信息。例如,自动驾驶汽车的感知系统就使用这些功能,实时从摄像头数据中识别行人、其他车辆和交通标志。
  • 自然语言处理 (NLP):在机器翻译中,LSTM在其门控机制中使用SigmoidTanh函数来控制网络中的信息流,帮助记忆句子早期部分的上下文。Christopher Olah 撰写的 "Understanding LSTMs "一文对 LSTM 进行了全面介绍。

与相关术语的比较

必须将激活函数与神经网络中的其他关键概念区分开来:

  • 损失函数损失函数量化模型预测值与实际目标值之间的差异("误差")。其目的是通过衡量模型的表现来指导训练过程。激活函数在前向传递过程中决定神经元的输出,而损失函数则在传递结束时评估模型的整体输出,计算用于在反向传播过程中更新权重的误差。
  • 优化算法这些算法(如亚当优化算法、随机梯度下降算法(SGD))定义了如何根据计算的损失更新模型权重。它们使用从损失函数中得出的梯度来调整参数并最小化误差。激活函数会影响梯度的计算,但并不是优化方法本身。请参阅Google Developers 提供的优化算法概述
  • 归一化技术 批量归一化(Batch Normalization)等方法旨在通过归一化层的输入来稳定和加速训练过程。归一化发生应用激活函数之前,有助于在整个网络中保持一致的数据分布。您可以在批量归一化原始论文中阅读更多内容。

了解激活函数对于设计、训练和优化有效的机器学习 (ML)模型至关重要。正确的选择会对模型性能和训练动态产生重大影响。您可以使用Ultralytics HUB 等工具探索不同的模型及其组件,这些工具有助于构建和部署人工智能模型

加入 Ultralytics 社区

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

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