当前位置: 首页 > news >正文

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

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

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

第一阶段:启蒙与起源 (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 (展望):未来将向动态、自适应和专用化方向演进。

http://www.jsqmd.com/news/1138236/

相关文章:

  • Bayes、决策树、SVM 图像分类对比:6类垃圾数据集上66.13% vs 52.17% vs 52.04%
  • 调整才4天就想结束?AI休整期,谁在偷偷回血
  • DVWA命令注入漏洞检测与利用实战一课一得
  • STM32-BOOT的三种启动方式
  • PgBouncer 的 statement 模式详解
  • 【Resume agent】仿超级简历模版,实现AI 面试
  • 如何快速上手kail_dnn_adapter:从安装到运行的完整指南
  • Autoware 离线建图 vs. 在线SLAM:3种场景下的NDT方案选型与性能实测
  • 反激式开关电源 PCB 设计 3 大陷阱:从变压器封装到市电测试的安全避坑指南
  • 2026免费视频去水印方法:电脑手机在线无需下载工具教程
  • 毕设项目 深度学习火焰检测识别(源码+论文)
  • 【Java实习面试算法冲刺】链表
  • 飞马SLAM100 手持激光雷达:13分钟快速模式点云解算实战(附SLAM-GO-POST 3.0配置)
  • 国产打印机二十年突围:从被专利封堵到全链路自主可控的产业逻辑
  • 构建股票预测系统的完整流程
  • 怎么样在遍历列表时动态判断阈值是否被满足并返回相应文本
  • Java毕设选题推荐:基于 SpringBoot 的月嫂排班护理服务系统的设计与实现 基于前后端分离的母婴月子健康档案管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • STAR RNA-seq比对工具:从零开始掌握转录组数据分析的终极指南
  • 数据库工程:Explain执行计划对比实战指南‌
  • 国内高校毕业生最适用的AI论文软件有哪些?
  • Rive渲染器实战:解决跨平台高性能动画渲染难题
  • SO101复现 更新ing
  • 向 Hermes Agent 提交 Bug 修复:从诊断到 CEO 亲自加固的完整记录
  • Meta开发的AI编程助手,真的懂你吗?
  • SFML跨平台多媒体开发实战:构建高性能应用的架构深度解析
  • 2026 降AIGC网站实测盘点:亲测好用,毕业季生存手册
  • Python 知识1
  • FastDFS V6.16发布:支持单服务器多实例部署,新增监控工具!
  • vba检查SolidWorks工程图是否已插入指定名称的图块的实例
  • 3步掌握专业级AI图像增强:让模糊图片秒变高清