一文搞懂激活函数!

作者:aicoting日期:2026/2/27

推荐直接网站在线阅读:aicoting.cn

在深度学习中,激活函数(Activation Function)是神经网络的灵魂。它不仅赋予网络非线性能力,还决定了训练的稳定性和模型性能。那么,激活函数到底是什么?为什么我们非用不可?有哪些经典函数?又该如何选择?

所有相关源码示例、流程图、模型配置与知识库构建技巧,我也将持续更新在Github:AIHub,欢迎关注收藏!

1. 什么是激活函数,为什么需要激活函数

激活函数的核心作用就是为神经网络引入非线性。

  • 为什么需要非线性? 想象一下,如果网络里每一层都是线性的(比如 y=Wx+b),无论堆叠多少层,最终网络都只是一条线性映射。深度堆叠就没有意义了,网络的表达能力非常有限。
  • 激活函数的作用 激活函数在每个神经元输出前进行非线性变换,让网络可以拟合复杂的函数关系,从而解决分类、回归等非线性问题。

直观理解一下,激活函数就像神经网络里的开关或滤镜,它决定了每个神经元应该多大程度地激活,从而使网络具备强大的表达能力。

2. 经典的激活函数

在深度学习中,有几类经典激活函数,每种都有自己的优缺点:

2.1 Sigmoid

公式:

f(x)=11+e−x

添加图片注释,不超过 140 字(可选)

  • 优点:输出范围在 (0,1),可以表示概率
  • 缺点:容易饱和(输入过大或过小时梯度接近0,导致梯度消失)
  • 应用场景:二分类输出层

2.2 Tanh(双曲正切)

公式: f(x)=tanh⁡(x)=ex−e−xex+e−x

添加图片注释,不超过 140 字(可选)

  • 优点:输出在 (−1,1),比 sigmoid 居中,对梯度更友好
  • 缺点:仍可能梯度消失
  • 应用场景:RNN 隐层

2.3 ReLU(Rectified Linear Unit)

公式: f(x)=max(0,x)

添加图片注释,不超过 140 字(可选)

  • 优点:计算简单,导数恒为1(正区间),缓解梯度消失
  • 缺点:负区间可能“死亡”,即神经元永远不激活
  • 应用场景:隐藏层主流激活函数

2.4 Leaky ReLU / Parametric ReLU(PReLU)

公式:

f(x)={x,x>0αx,x≤0(α≈0.01)

添加图片注释,不超过 140 字(可选)

  • Leaky ReLU: 对负区间引入一个小斜率,避免神经元死亡
  • PReLU: 斜率可学习,更灵活

2.5 Softmax

公式: Softmax(xi)=exi∑jexj Softmax 输出的是一组归一化的概率,在图中使用 柱状图 (bar chart) 展示每个输入元素对应的概率值。

  • 作用:多分类输出概率分布
  • 应用场景:分类任务输出层

2.6 ELU(Exponential Linear Unit)

公式: f(x)={xif x>0α(ex−1)if x≤0

添加图片注释,不超过 140 字(可选)

  • 特点:负区间平滑非零,避免 ReLU 死区问题。
  • 优点: 输出均值更接近 0,梯度更稳定。
  • 常用于: 深层 CNN、MLP。

2.7 SELU(Scaled Exponential Linear Unit)

公式: f(x)=λ⋅ELU(α,x)

其中 λ≈1.05,α≈1.67。

添加图片注释,不超过 140 字(可选)

  • 特点:在特定初始化下能实现自归一化,保持激活均值和方差稳定。
  • 优点: 无需 BatchNorm。
  • 常用于: 自归一化神经网络(Self-Normalizing NN)。

2.8 GELU(Gaussian Error Linear Unit)

公式: f(x)=x⋅Φ(x)≈0.5x(1+tanh⁡[2/π(x+0.044715x3)])

其中 Φ(x)是标准正态分布 CDF。

添加图片注释,不超过 140 字(可选)

  • 特点:在 ReLU 的基础上引入概率思想,让激活与输入大小平滑相关。
  • 优点: 更平滑、更稳定,效果普遍优于 ReLU。
  • 常用于: Transformer(BERT、GPT、ViT)。

2.9 SiLU(Swish)

公式: f(x)=x⋅σ(x)

添加图片注释,不超过 140 字(可选)

  • 特点:与 GELU 类似,是一种平滑版 ReLU。
  • 优点: 梯度连续,优化更稳定。
  • 常用于: EfficientNet、Transformer。

2.10 GLU(Gated Linear Unit)

GLU/SwiGLU 在实际中是门控形式(two linear branches),是向量上的逐元素操作;为了在一维上可视化,我用简化的标量形式来画图 —— 把两条分支都用相同的输入值(即把 a=x, b=x),因此 GLU(x)=x∗sigmoid(x) SwiGLU(x)=x∗SiLU(x) 。这能直观展示门控机制的形状差异。

公式:

f(x)=(xW1)⊙σ(xW2)

添加图片注释,不超过 140 字(可选)

其中第二个分支作为门控信号。

特点:通过门控机制控制信息流,增强非线性表达。 优点: 适合序列建模、控制性强。 常用于: Transformer FFN、语言模型。

2.11 SwiGLU(Swish-Gated Linear Unit)

公式:

f(x1,x2)=x1⋅Swish(x2)=x1⋅(x2⋅σ(x2))

添加图片注释,不超过 140 字(可选)

  • 特点:GLU 的改进版,把 Sigmoid 门换成 Swish 门。
  • 优点: 表达力更强、梯度更平滑,性能优于 ReLU/GELU。
  • 常用于: LLaMA、PaLM、GPT-NeoX 等现代 LLM。

3. 怎么选择激活函数

选择激活函数时,可以根据以下几个原则:

  1. 隐藏层
  • 优先使用 ReLU 或其变种(Leaky ReLU, ELU, PReLU)
  • 优点:计算快、缓解梯度消失
  1. 输出层
  • 二分类:Sigmoid
  • 多分类:Softmax
  • 回归:线性或无激活函数
  1. 网络结构和任务需求
  • RNN 中常用 tanh 或 ReLU
  • 深层网络推荐使用残差连接 + ReLU
  • 如果担心 ReLU 死神经元,可尝试 Leaky ReLU 或 ELU

小技巧:

如果不确定用哪个激活函数,隐藏层可以先用 ReLU,输出层按任务选择;训练中注意梯度情况,如果梯度消失或爆炸,再考虑替换或调整激活函数。

激活函数虽然只是神经元里的一小步,但却是深度学习的一大步。没有它,深度学习就不会有今天的辉煌。它让神经网络从“线性堆叠”变成了真正的“非线性智能体”,能够处理复杂的视觉、语言和跨模态任务。

所以,学习神经网络,一定要对激活函数有清晰的理解。它不仅是数学符号上的非线性,更是模型智慧的来源。

最新的文章都在公众号aicoting更新,别忘记关注哦!!!

📚推荐阅读

一文搞懂深度学习中的表征学习理论!

一文搞懂深度学习中的信息论!

一文搞懂深度学习的反向传播与优化理论!

一文搞懂深度学习中的张量与自动微分!

一文彻底搞懂深度学习和机器学习的区别!

一文搞懂神经元模型是什么!

作者:aicoting

分享是一种信仰,连接让成长更有温度。

我们下次不见不散!


一文搞懂激活函数!》 是转载文章,点击查看原文


相关推荐


【Python练习五】Python 正则与网络爬虫实战:专项练习(2道经典练习带你巩固基础——看完包会)
纯.Pure_Jin(g)2026/2/18

第一题 题目: 使用正则完成下列内容的匹配 匹配陕西省区号 029-12345匹配邮政编码 745100匹配邮箱 lijian@xianoupeng.com匹配身份证号 62282519960504337X 代码: import re # 1. 匹配陕西省区号 029-12345 pattern_area = r'^029-\d{5}$' # 精确匹配 029- 开头,后接5位数字 test_area = '029-12345' print("区号匹配:", re.match(pattern_


Claude Code Agent Teams:3个AI同时写代码,底层原理和主流框架对比
易安说AI2026/2/10

大家好,我是易安,AI超级个体,大厂程序员二孩奶爸。 Claude Opus 4.6 带来了 Agent Teams 功能,可以让多个 Claude Code 实例并行工作。我用它做了个小项目,踩了一些坑,也顺便把底层原理和市面上几个主流多 Agent 框架做了个对比。这篇文章干货比较多,建议收藏。 Agent Teams 到底是什么 简单说就是一个 Lead Agent 可以 spawn 出多个 Teammate Agent,每个 Teammate 是一个完全独立的 Claude Code 会


abigen使用教程 - go版本
Warson_L2026/2/1

在 Web3 后端开发中,abigen 是一个至关重要的工具。它能根据 Solidity 合约生成的 ABI(应用二进制接口)自动生成 Go 语言代码,让你像调用普通 Go 函数一样调用智能合约。 以下是详细的 abigen 使用教程。 第一步:安装 abigen 工具 abigen 是 go-ethereum 项目的一部分。你可以通过以下命令安装: # 安装最新版 abigen go install github.com/ethereum/go-ethereum/cmd/abigen@lat


Verifier-state pruning in BPF
mounter6252026/1/22

The BPF verifier works, on a theoretical level, by considering every possible path that a BPF program could take. As a practical matter, however, it needs to do that in a reasonable amount of time. At the 2025 Linux Plumbers Conference, Mahé Tardy an


Spring设计模式与依赖注入详解
callNull2026/1/14

📚 前言 这是我之前写 项目时的一些理解和感悟, 我喊了AI帮我润色了一下语言文字,发出来了,希望对大家有用 在学习Spring框架时,经常会遇到@Configuration、@Bean、@Service、@Resource等注解,以及各种设计模式的应用。本文通过具体的代码示例(MailConfig和MailService),深入浅出地解释这些概念,帮助理解Spring的核心机制。 🎯 核心问题 问题1:为什么需要@Configuration和@Bean? 问题2:为什么没有注解的类也能被@


多模态大模型有哪些模态?
智泊AI2026/1/6

“多模态”中的“模态”(modality),即指各类数据形式或信息来源。在多模态大模型中,典型模态涵盖以下类别: 更多AI大模型学习视频及资源,都在智泊AI。 文本模态‌: 涵盖自然语言文本、经语音识别转换的文本内容等。 图像模态‌: 指视觉图像数据,例如照片、插画、艺术作品等。 视频模态‌: 包含动态影像序列,如短视频、影视片段、监控录像等。 音频模态‌: 指声学信号数据,如人声、音乐、环境音效等。 其他模态‌: 还包括如环境传感器读数、生理信号、指纹、虹膜等非传统信息形式。 多模态模型的


旮旯c语言三个任务
宇宙超级无敌暴龙战士2025/12/29

#include <stdio.h> // 任务1:计算数组元素和 int getArrSum(int arr[], int len) { int sum = 0; for (int i = 0; i < len; i++) { sum += arr[i]; } return sum; } // 任务2:获取数组最大值 int getArrMax(int arr[], int len) { int max = arr[0]; f


python+django/flask+vue基于spark的西南天气数据的分析与应用系统
Q_Q5110082852025/12/19

目录 项目介绍本项目具体实现截图开发技术大数据类设计开发的基本流程是:论文大纲结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 项目介绍 系统功能 数据采集与清洗:系统通过爬虫技术从多个天气预报网站抓取西南地区的实时天气数据,并通过Spark SQL对数据进行并行计算,提取关键气象指标,并进行多维度分析,如空气质量、降水量、风速等。 数据处理与分析:系统利用Spark对天气数据进行分布式存储与处理,通过数据分析,实时展示西南地区的空气质量、温度变化、降水量、风


Flutter的核心优势
小a彤2025/12/11

欢迎大家加入开源鸿蒙跨平台开发者社区,一起共建开源鸿蒙跨平台生态。#### Flutter:开发效率神器详解 Flutter作为Google推出的跨平台开发框架,凭借其高效的开发体验和出色的性能表现,成为众多开发者的首选。其核心优势在于"一次编写,多端运行"的核心理念,同时提供超过2000个现成的Widget组件库和强大的工具链,显著提升开发效率达30%-50%。 Flutter的核心优势 跨平台一致性 Flutter使用自绘引擎(Skia)直接渲染UI,完全避免了平台原生控件的依赖,确


LLM 扫盲:什么是 Tokens?
mCell2025/12/2

同步至个人网站:LLM扫盲: 什么是tokens LLM 基础:什么是 Tokens? GPT 5.1 发布已经有一段时间了,LLM(大语言模型)的能力边界再一次被拓宽。对于应用开发者而言,虽然模型越来越智能,但 API 的计费逻辑和底层限制依然没有变:Token 始终是那个核心计量单位。 很多人对 Token 有误解,认为它等同于字符(Character)或单词(Word)。这种误解往往导致两个问题:一是预估 API 成本时出现较大偏差,二是无法精确控制 Prompt 的上下文长度,导致模型

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 XYZ博客