术语表

GELU(高斯误差线性单位)

了解 GELU 激活函数如何增强 GPT-4 等变压器模型,提高梯度流、稳定性和效率。

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

了解更多

在人工智能和机器学习领域,尤其是在神经网络中,激活函数在使模型学习复杂模式方面发挥着至关重要的作用。高斯误差线性单元(Gaussian Error Linear Unit,简称 GELU)就是这样一种激活函数,因其在各种深度学习任务中的表现而备受瞩目。它旨在为神经网络引入非线性,使其能够为数据中的复杂关系建模。

什么是 GELU?

GELU 是高斯误差线性单元的简称,是神经网络的激活函数。激活函数通过计算加权和并进一步添加偏置来决定是否激活一个神经元。激活函数的目的是在神经元的输出中引入非线性。GELU 是 ReLU(整流线性单元)激活函数的平滑近似,但有一个关键区别:它基于高斯分布的累积分布函数。这使得 GELU 具有概率性,在许多情况下比 ReLU 更有效,尤其是在现代神经网络架构中。

GELU 如何工作

GELU 背后的核心理念是根据输入值随机放弃输入,从而对神经元进行随机正则化。简单地说,对于给定的输入,GELU 会根据其是否大于或小于零来权衡,但与硬切换的 ReLU 不同,GELU 采用的是一种更平滑的概率方法。这种概率性质源自标准高斯分布的累积分布函数(CDF)。该函数主要询问"给定输入'x',它大于从标准高斯分布中提取的值的概率是多少?这个概率会对输入进行缩放,从而产生平滑的非线性激活。这种在零点附近的平滑过渡是 GELU 区别于 ReLU 及其变体(如 Leaky ReLU)的一个关键特征,后者在零点有一个急剧的弯曲。

GELU 的优势

GELU 在神经网络中的有效性得益于它的几个优点:

  • 平滑性与 ReLU 不同,GELU 在包括零点附近在内的整个领域都很平滑。这种平滑性有助于基于梯度的优化,使深度网络更容易训练,并可能带来更好的泛化效果。
  • 正输入非饱和:与 ReLU 类似,GELU 对于正输入也是非饱和的,这有助于缓解梯度消失问题,从而可以训练更深层次的网络。
  • 经验上的成功:GELU 在各种最先进的模型中,尤其是在自然语言处理中常用的基于 Transformer 的架构中,表现出了强大的经验性能。它的概率激活方法已被证明能在许多任务中提高模型的准确性。
  • 缓解 "垂死的 ReLU "问题:ReLU 可能存在 "垂死的 ReLU "问题,即神经元变得不活跃并停止学习,而 GELU 的平滑特性和负输入的非零输出有助于缓解这一问题。

GELU 的应用

GELU 在人工智能的各个领域都有重要应用:

  • 自然语言处理(NLP):GELU 主要用于高级 NLP 模型,包括 BERT(变压器双向编码器表示法)及其后续产品。GELU 能够提高变换器模型的性能,这使它成为最先进的 NLP 研究和应用的主要工具。例如,在高级文本生成机器翻译任务中使用的GPT-3GPT-4 等模型就经常使用 GELU 作为其激活函数。
  • 计算机视觉:传统上,ReLU 及其变体在计算机视觉中更为常见,而 GELU 则越来越多地被视觉模型所采用,尤其是那些集成了视觉转换器(ViT)等转换器架构的模型。对于图像分类物体检测等任务,GELU 可以增强模型学习复杂视觉特征的能力。例如,用于医学图像分析的模型正开始利用 GELU 来提高诊断准确性。
  • 语音识别:与 NLP 类似,GELU 的平滑激活功能已被证明可用于语音识别模型,改善连续数据的处理,提高语音到文本转换的准确性。

GELU vs ReLU

虽然 GELU 和 ReLU 都是旨在提高神经网络性能的非线性激活函数,但它们在方法上有所不同:

  • ReLU(整流线性单元):ReLU 是一种更简单的函数,如果输入为正值,则直接输出,否则输出为零。它的计算效率很高,但可能存在 "垂死的 ReLU "问题,并且在零点时不平滑。您可以在我们的术语表中了解更多有关 ReLU 和相关激活函数(如Leaky ReLU)的信息。
  • GELU(高斯误差线性单元):GELU 是一种更平滑、更复杂的函数,它使用基于高斯分布的概率方法。它在更复杂的模型中,尤其是在变形模型中,往往表现得更好,因为它能提供更细致的激活,并能减轻 "垂死 ReLU "等问题,因为它对负输入的输出不为零。

从本质上讲,ReLU 通常因其简单性和计算效率而受到青睐,而 GELU 则因其具有提供更高精度和更平滑训练的潜力而被选用,尤其是在性能至关重要的深度复杂架构中。两者之间的选择通常取决于具体的应用和所使用的神经网络架构。超参数调整等技术可以帮助确定特定模型和任务的最佳激活函数。

更多资源

为了加深对 GELU 和相关概念的理解,请考虑浏览这些资源:

  • GELU 论文:阅读arXiv上关于 GELU 的原始研究论文 "高斯误差线性单元 (GELU)",深入了解相关技术。
  • 神经网络中的激活函数:维基百科上探索包括 GELU 在内的激活函数的全面概述。
  • 了解激活函数:towardsdatascience.com 上一篇详细解释各种激活函数(包括 GELU)的博文。
  • Ultralytics 术语表:有关人工智能和机器学习术语的更多定义,请访问Ultralytics Glossary
  • Ultralytics YOLOv8:在文档中探索利用高级激活函数的最新模型。 Ultralytics YOLOv8文档。
阅读全部