Zubnet AI学习Wiki › Activation Function
基础

Activation Function

别名:ReLU、GELU、SiLU、Swish
应用于神经元输出的数学函数,为网络引入非线性。没有激活函数,无论多少层深的神经网络都只能学习线性关系。ReLU、GELU和SiLU/Swish是现代架构中最常见的激活函数。

为什么重要

激活函数是深度学习能够工作的根本原因。一叠线性变换不过是一个大的线性变换而已。层与层之间的激活函数让网络能够学习复杂的非线性模式——那些使神经网络强大的曲线、边缘和微妙关系。

深度解析

ReLU(修正线性单元)是最简单的:f(x) = max(0, x)。对负输入输出零,正输入原样通过。ReLU通过为正输入提供恒定为1的梯度,解决了困扰早期激活函数(sigmoid、tanh)的梯度消失问题。它的简单性和有效性使其成为十多年来的默认选择。

超越ReLU

GELU(高斯误差线性单元)现在是Transformer中的标准(被BERT、GPT和大多数LLM使用)。与ReLU在零点的硬截断不同,GELU在零附近平滑渐变,提供更好的梯度流。SiLU/Swish(x · sigmoid(x))类似,用于LLaMA等一些架构中。GELU和SiLU之间的实际差异很小——在Transformer规模的模型中,两者都优于ReLU。

GLU变体

现代LLM经常在前馈层中使用门控线性单元(GLU)及其变体(SwiGLU、GeGLU)。这些将两个并行的线性投影相乘,有效地让网络控制哪些信息可以通过。SwiGLU(用于LLaMA、Mistral和许多其他模型)将SiLU激活与门控相结合,以略多的参数为代价,始终优于标准前馈层。

相关概念

← 所有术语
AGI →