激活函数的“生”与“死”:我们如何一步步拯救了神经元?

激活函数是神经网络的核心组件,它的发展史几乎就是一部深度学习如何一步步走向更“深”、更“好”的微观史。它的核心任务是为网络引入非线性,否则多层网络会塌缩成单一的线性变换。

下面以时间和技术流派为线索,梳理激活函数的演变历程。

第一阶段:启蒙与起源 (1940s - 1980s)

这个阶段的模型是生物神经元的简化数学表达,激活函数是简单的阈值或S型曲线。

  • 阶跃函数
    源于1943年的MP神经元模型,输出仅为0或1。它简洁但不可导,无法用于梯度学习,后来主要作为理论基石和感知机模型的判别函数。

  • Sigmoid
    因其S形平滑曲线,在20世纪末成为绝对主流。它将输入压缩到(0, 1)之间,可解释为概率或神经元的发放率,与生物神经元有相似之处。但它的致命伤是梯度消失:当输入很大或很小时,梯度近乎为零,导致深层网络无法训练。

  • Tanh (双曲正切)
    可看作Sigmoid的放大平移版,输出范围在(-1, 1),以0为中心。这通常能让后层的学习更容易些,但它本质上仍是饱和函数,无法根除梯度消失问题。

第二阶段:深度学习的救星与非饱和函数 (2010前后)

深度网络的训练瓶颈,催生了非饱和激活函数的革命。

  • ReLU (2010)
    由Hinton等人提出,是深度学习史上最重要的突破之一。公式极其简单:f(x) = max(0, x)

    • 优点:在正区间导数恒为1,完美解决了梯度消失;计算简单,收敛快;单侧抑制带来了稀疏性,类似生物神经元的特性。

    • 缺点“死亡ReLU”问题,即某些神经元可能在训练中永远失活,梯度永远为0。

  • Leaky ReLU / PReLU (2013/2015)
    为修复“死亡ReLU”,在负区间引入一个微小斜率:f(x) = max(αx, x)。Leaky ReLU的α是固定小值,PReLU则将其作为可学习的参数,表达更灵活。

  • ELU (2016)
    结合了ReLU的优点和负区间的指数饱和:f(x) = x (if x>0) ; α(e^x-1) (if x≤0)。输出均值更接近0,对噪声更鲁棒,但指数运算稍增计算量。

第三阶段:自搜索与自门控的进化 (2017后)

此阶段的核心思想是让网络自己学习或调整激活函数的形态。

  • Swish (2017)
    由谷歌大脑用神经架构搜索发现:f(x) = x * sigmoid(βx)
    Swish是平滑、非单调的。在负区间,它能允许小部分负梯度流过,而不是一刀切地置零,这在深层模型上常优于ReLU。β为常数或可学习。

  • GELU (2016, 大流行于2018后)
    Transformer模型的默认选择。它并非经验发现,而是结合了dropout和ReLU思想的概率化激活函数。公式为f(x) = x * Φ(x),即用标准正态分布的累积分布函数作为门控。
    它可视为Swish的思想之源,其非单调性和平滑性对大型语言模型和视觉模型效果显著。

第四阶段:回归简单与专用化探索 (近期)

在极致追求效率和大模型时代,出现了有趣的回归和分化。

  • 回归简单:SwiGLU 系列
    这是LLaMA、PaLM等现代大模型的核心选择。它利用门控线性单元SwiGLU(x) = Swish(xW) ⊙ (xV)。本质上是用Swish门控线性变换。这种机制被认为能提供更丰富的梯度和更好的信息筛选能力。

  • 特殊领域的专用函数

    • 周期性激活 (如SIREN, 2020):用正弦函数sin(x)作为激活,能很好地表示高频细节,专用于隐式神经表示。

    • 更平缓的函数 (如Mish, 2019)x * tanh(softplus(x)),在一些视觉任务中平滑超越Swish和ReLU。

发展脉络总结

整个历史由几条核心主线推动:

  1. 解决梯度消失:从Sigmoid/Tanh的饱和区,到ReLU的正区恒1梯度,是根本性飞跃。

  2. 修复神经元“死亡”:Leaky ReLU、ELU等都在试图让负区间能传递信息。

  3. 追求平滑与非单调性:Swish、GELU接棒,证明了在负区间保留一个微小的非零响应,能让网络学习到更复杂的模式。

  4. 架构即激活:SwiGLU的兴起表明,激活函数正与网络架构(门控机制)深度融合。

  5. 专用化与效率:针对特定任务设计,并在大模型时代兼顾计算效率。

一张表看清关键发展:

激活函数公式核心主要贡献主要问题
Sigmoidσ(x) = 1/(1+e^{-x})早期非线性,概率化输出梯度消失,非零中心
Tanhtanh(x)零中心化输出梯度消失
ReLUmax(0, x)解决梯度消失,计算简单神经元死亡
Leaky ReLUmax(0.01x, x)缓解神经元死亡负区斜率固定
ELU{x if x>0; α(e^x-1) if x≤0}零均值输出,鲁棒计算稍复杂
Swishx · σ(βx)平滑非单调,可自搜索计算相对ReLU复杂
GELUx · Φ(x)概率化解释,Transformer标配计算相对复杂
SwiGLUSwish(xW) ⊙ (xV)现代LLM核心,门控机制参数量增加

未来,激活函数很可能进一步与网络结构、硬件特性、甚至自适应学习机制紧密结合,向着动态化和专用化的方向演进。

  • 从A到B (启蒙):从生物启发到Sigmoid/Tanh这类平滑饱和函数。

  • 从B到C (革命):ReLU的出现,以简单粗暴的方式解决了深层网络的梯度问题,是关键性飞跃。

  • 从C到D (进化):ReLU的“死亡”问题引出了各种变体。进一步,Swish/GELU这类平滑非单调函数被证明效果更优。

  • 从D到E (融合):激活函数与网络架构深度融合,SwiGLU这类门控机制成为现代大模型的核心。

  • 从E到F (展望):未来将向动态、自适应和专用化方向演进。