实用指南:神经网络常用激活函数公式

news/2025/11/8 22:59:43/文章来源:https://www.cnblogs.com/ljbguanli/p/19203239

实用指南:神经网络常用激活函数公式

激活函数是神经网络的核心组件,负责为模型引入非线性能力深度学习中最常用的激活函数及其核心公式、特性与适用场景,按机制分类整理:就是,使其能够拟合复杂的数据分布(若没有激活函数,多层神经网络会退化为单层线性模型)。以下

一、饱和激活函数(传统经典型)

“饱和” 指函数输出会趋近于固定值(如 0 或 1),早期神经网络中广泛使用,但因梯度消失挑战逐渐被非饱和函数替代。

1. Sigmoid 函数

  • 核心公式\sigma(x) = \frac{1}{1 + e^{-x}}
  • 输出范围:(0, 1)
  • 特性
    • 将任意输入映射到 (0,1) 区间,可模拟 “概率”(如二分类任务的输出层);
    • 缺点:输入绝对值较大时(x \to \pm\infty),导数趋近于 0,导致梯度消失;输出非零均值(均值约 0.5),会导致后续层输入偏移,影响训练效率。
  • 适用场景:二分类任务的输出层(配合交叉熵损失)。

2. Tanh 函数(双曲正切函数)

  • 核心公式\tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} = 2\sigma(2x) - 1
  • 输出范围:(-1, 1)
  • 特性
    • 是 Sigmoid 的 “零中心化” 版本(输出均值接近 0),解决了 Sigmoid 的输入偏移问题;
    • 缺点:仍存在梯度消失问题(x \to \pm\infty)时导数趋近于 0)。
  • 适用场景:早期 RNN(如 LSTM)的隐藏层,或对输出范围有对称需求的场景。

二、非饱和激活函数(现代主流型)

“非饱和” 指函数在正区间(或部分区间)导数恒定(如 1),从根本上缓解了梯度消失问题,是当前 CNN、Transformer 等模型的首选。

1. ReLU 函数(Rectified Linear Unit,修正线性单元)

  • 核心公式\text{ReLU}(x) = \max(0, x)
  • 输出范围[0, +\infty)
  • 特性
    • 优点:计算极快(仅需判断正负);x > 0 时导数为 1,完全避免梯度消失;稀疏激活 ( x < 0 时输出为 0,减少神经元冗余);
    • 缺点:存在死亡 ReLU 问题(若训练中某神经元输入长期为负,其权重会永久冻结,无法更新)。
  • 适用场景:CNN、Transformer 的隐藏层(当前最广泛采用的激活函数)。

2. Leaky ReLU 函数(带泄漏的 ReLU)

  • 核心公式\text{Leaky ReLU}(x) = \begin{cases} x & \text{if } x > 0 \\ \alpha x & \text{if } x \leq 0 \end{cases}
  • 其中 \alpha是人工设定的小正数(通常取0.01或0.02)。
  • 输出范围(-\infty, +\infty)
  • 特性
    • 解决了 “死亡 ReLU 问题”(x < 0时仍有微小梯度\alpha,允许权重更新);
    • 缺点\alpha是固定超参数,无法自适应数据分布。
  • 适用场景:替代 ReLU,尤其适用于可能出现大量负输入的网络(如深层 CNN)。

3. ELU 函数(Exponential Linear Unit,指数线性单元)

  • 核心公式\text{ELU}(x) = \begin{cases} x & \text{if } x > 0 \\ \alpha (e^x - 1) & \text{if } x \leq 0 \end{cases}
  • 其中 \alpha> 0 是超参数(通常取1.0)。
  • 输出范围(-\alpha, +\infty)
  • 特性
    • 兼具 Leaky ReLU 的优点(x < 0 时非零输出,避免死亡神经元);
    • 输出更接近零均值(x \to -\infty时输出趋近于-\alpha),降低后续层输入偏移;
    • 缺点:计算复杂度高于 ReLU(需计算指数),训练速度略慢。
  • 适用场景:对训练稳定性要求高的深层网络。

4. Swish 函数

  • 核心公式\text{Swish}(x) = x \cdot \sigma(\beta x)其中 \sigma是 Sigmoid 函数,\beta是可学习参数(或固定为 1.0)。
  • 输出范围(-\infty, +\infty)
  • 特性
    • 非线性更强(由 Sigmoid 的平滑特性引入),在深层模型(如 ResNet、Transformer)中表现常优于 ReLU;
    • 处处可导(无 ReLU 的 “折点”),梯度传播更平滑;
    • 缺点:计算复杂度高于 ReLU(需计算 Sigmoid)。
  • 适用场景:大型 CNN、Transformer 的隐藏层(Google 提出,在 ImageNet 等任务中验证实用)。

5. GELU 函数(Gaussian Error Linear Unit,高斯误差线性单元)

  • 核心公式\text{GELU}(x) = x \cdot \Phi(x)其中\Phi(x)是标准正态分布的累积分布函数(CDF),近似计算式为:\text{GELU}(x) \approx 0.5x \left[1 + \tanh\left(\sqrt{\frac{2}{\pi}} (x + 0.044715x^3)\right)\right]
  • 输出范围(-\infty, +\infty)
  • 特性
    • 本质是 “概率加权的 ReLU”(将x乘以其大于 0 的概率\Phi(x)),更符合生物神经元的随机激活特性;
    • 平滑性优于 ReLU,梯度传播更稳定,在 Transformer 模型中表现极佳;
  • 适用场景:Transformer(如 BERT、GPT)的隐藏层(当前 Transformer 的默认激活函数)。

三、输出层专用激活函数

此类函数需配合特定损失函数,满足任务的输出约束(如概率、多分类、回归)。

1. Softmax 函数(多分类输出)

  • 核心公式(对K分类任务,输入为向量\mathbf{z} = [z_1, z_2, ..., z_K]):\text{Softmax}(z_i) = \frac{e^{z_i}}{\sum_{j=1}^K e^{z_j}} \quad (i=1,2,...,K)
  • 输出范围:每个输出值\in (0,1),且所有输出之和为 1(概率分布)。
  • 特性:将多维度输入映射为 “类别概率”,配合交叉熵损失解决多分类问题。

2. Linear 函数(回归任务输出)

  • 核心公式\text{Linear}(x) = x
  • 输出范围(-\infty, +\infty)(无约束)。
  • 特性:无非线性,直接输出模型预测值,配合MSE(均方误差)损失克服回归任务(如房价预测、股价预测)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/960048.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实用指南:神经网络常用激活函数公式

实用指南:神经网络常用激活函数公式pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monac…

单片机进入 B. 中断无限循环异常消除方法

单片机进入 B. 中断无限循环异常消除方法pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "M…

Kotlin 协程之 Flow 操作符大全 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

202511做题记录

202511 做题记录加粗斜体表示思考时被卡了的部分。 打 \(*\) 的表示做过的重新想(做)一遍。 打 \(^?\) 的表示看了题解。 打 ~ 的表示还没做 / 还没写上来。 特别的,\(^!\) 和 \(*^?\) 都表示做过一遍还是不会 �…

Paper Reading:Neural Prototype Trees for Interpretable Fine-grained Image Recognition

本文提出了一种面向细粒度图像识别的本质可解释深度学习模型——神经原型树(ProtoTree),将原型学习与决策树结构相结合。首先使用卷积神经网络(CNN)将输入图像映射为潜在特征表示;然后通过一个二叉决策树进行层次…

2025.11 NOIP 集训模拟赛选记

希望能学到点儿东西吧。 Public NOIP Round #8 【NOIP Round #8】位集 【NOIP Round #8】偷塔 【NOIP Round #8】降雨 【NOIP Round #8】矩阵 Public NOIP Round #7 【NOIP Round #7】填写数字 【NOIP Round #7】排列计…

从指令遵循到价值对齐:医疗大语言模型的进阶优化、对齐与工具集成综合技能白皮书

从指令遵循到价值对齐:医疗大语言模型的进阶优化、对齐与工具集成综合技能白皮书pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font…

Mrakdown - YQR

Mrakdown标题# **粗体 *斜体 ***粗斜 ~~删除引用 ---或***分割 ----图 超链接列表 1,代码

20232322 2025-2026-1 《网络与系统攻防技术》实验四实验报告

一.实验内容恶意代码的文件类型识别,脱壳与字符串提取。 使用IDA Pro静态或动态分析所给exe文件,找到输出成功信息的方法。 分析自制恶意代码样本并撰写报告。 取证分析实践。二.实验目的掌握恶意代码的分析技术,像…

高级语言程序设计第四节个人作业

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/gjyycx 这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/gjyycx/homework/14577 学号:102500426 姓名:康凯帆 Fan.: 11-08 22:34:19Fan.: 11-0…

Vue3 项目首屏加载性能优化全攻略 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025.11.8 测试

2025.11.8 测试T1 刚开场想到贪心方向,然后一直在证明 然后证了1个多小时,证明没证出来,但思路理清了 就是有一种情况,就是最小值和某个非最大值搭配,不会写,但举了几个例子都不会出现这种情况成为最优解 然后就…

C# 变量详解:从基础概念到高级应用 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

CF285G AGC003D

给定 \(n, k\),问有多少个长度为 \(n\) 的排列 \(p\),满足恰好有 \(k\) 个 \(i\) 使得 \(|p_i - i| = 1\)(称这个 \(i\) 为好的)。 \(k \le n \le 1000\)令 \(g(k)\) 表示恰好有 \(k\) 个好的 \(i\) 的排列数。 这…

用 Kubernetes 原生机制取代 Nacos 注册中心:可行性、代价与边界

我在使用k8s部署 Java 分布式应用时发现,k8s自带服务发现功能,而且K8s提供的Service、DNS、ConfigMap 等级制似乎能完全替代Nacos的注册中心和配置中心。 Kubernetes 的 Service + Endpoints + CoreDNS 机制,本质上…

获取设置开发授权激活统信uos

获取设置开发授权激活统信uos申请开发授权

AtCoder Beginner Contest 431 ABCDEF 题目解析

A - Robot Balance 题意 一个机器人由一个头部零件与一个身体零件组成。如果头部零件的重量大于身体零件的重量,机器人就会摔倒。 目前,高桥有一个头部零件和一个身体零件,头部零件的重量为 \(H\) 克,身体零件的重…

基于单片机的智能洗碗机设计 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

实用指南:AI学习日记——深度学习

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

赫尔曼黑塞《德米安》—生活之难,难在直面内心的自己

《德米安》开篇的第一句话: 我所渴望的, 无非是试着依我内心自发的本性去生活。为何如此之难?生活的难,似乎是刻在人生里的底色。生老病死的必然,悲欢起落的无常,得到时的辗转,失去时的拉扯。我们总轻易遗忘快乐…