深度学习模型常用激活函数集合

激活函数是深度学习模型中的关键组成部分,用于引入非线性特性,使神经网络能够学习复杂的模式和映射关系;神经网络本质上是一个复合函数。如果没有激活函数,无论网络有多少层,其输出都只是输入的线性组合。激活函数通过引入非线性,使模型能够拟合复杂的非线性数据分布;激活函数决定了神经元在给定输入下的输出值,从而控制神经元是否被激活;一些激活函数(如ReLU)具有稀疏性和计算效率高的特点,有助于加快训练过程;下面是对一些常用激活函数的汇总介绍:
一、激活函数
激活函数一般分为两类,一类是嵌入到某个主干网络层的后面,例如卷积层+BN层的后面;一类是嵌入到模型最后的head层做具体的输出,例如分类、概率输出等;
1.1 嵌入主干网络
1.1.1. Tanh(双曲正切函数)

- 公式:

- 特点:
输出范围为 (-1, 1),是对称版本的Sigmoid函数。相比Sigmoid,梯度下降更快,但也容易出现梯度消失问题。 - 应用场景:
常用于隐藏层。
1.1.2. ReLU(Rectified Linear Unit)

- 公式:

- 特点:
计算简单,能有效缓解梯度消失问题。但可能导致“神经元死亡”(部分神经元永远输出0)。 - 应用场景:
是目前最常用的激活函数之一,广泛应用于卷积神经网络(CNN)和全连接网络。
1.1.3. Leaky ReLU

- 公式:

- (α 是一个小的正数)
- 特点:
解决了ReLU的“神经元死亡”问题,允许负值输入有小的梯度。 - 应用场景:
替代ReLU以避免梯度消失。
1.1.4. ELU(Exponential Linear Unit)

- 公式:

- 特点:
在负值区域平滑过渡,减少梯度消失问题。 - 应用场景:
隐藏层。
1.1.5. Swish

- 公式:

- 特点:
自门控激活函数,由Google提出,在某些任务中表现优于ReLU。 - 应用场景:
新兴的激活函数,适用于多种深度学习任务。
1.1.6. GELU

- 公式:

- 特点:
GELU 是一个连续且平滑的函数,避免了 ReLU 在 x=0x=0 处不可导的问题;GELU 的输出依赖于输入 xx 和其概率分布,具有自适应特性,能够更好地捕捉数据的非线性关系;类似于 ReLU 和 ELU,GELU 在负值区域也有一定的梯度,可以有效缓解梯度消失问题;由于涉及误差函数或双曲正切函数,GELU 的计算成本比 ReLU 稍高; - 应用场景:
GELU 是 Transformer 模型(如 BERT、GPT 等)中的默认激活函数之一,尤其适合处理文本数据,能够提升模型对语义的理解能力;
1.2 嵌入head层
1.2.1. Sigmoid(σ)

- 公式:

- 特点:
输出范围为 (0, 1),适合用作二分类问题的概率输出。但存在梯度消失问题(当输入较大或较小时,导数接近零)。 - 应用场景:
主要用于输出层的二分类任务。
1.2.2. Softmax

- 公式:

- 特点:
将多个类别的输出转化为概率分布,常用于多分类任务。 - 应用场景:
输出层的多分类问题。
二、总结
激活函数的选择取决于具体任务和网络结构:
- 分类问题:Sigmoid(二分类)、Softmax(多分类)。
- 回归问题:通常不使用激活函数或选择线性激活函数。
- 隐藏层:ReLU及其变体(Leaky ReLU、ELU等)是最常用的选择。
通过合理选择激活函数,可以显著提升模型的性能和训练效率。
相关文章:
深度学习模型常用激活函数集合
激活函数是深度学习模型中的关键组成部分,用于引入非线性特性,使神经网络能够学习复杂的模式和映射关系;神经网络本质上是一个复合函数。如果没有激活函数,无论网络有多少层,其输出都只是输入的线性组合。激活函数通过…...
WebAssembly 3.0发布:浏览器端高性能计算迎来新突破!
“WebAssembly 3.0来了,浏览器端的高性能计算将彻底改变!”2025年,WebAssembly(Wasm)迎来了重大更新——WebAssembly 3.0正式发布。这次更新不仅支持多线程和SIMD指令集,还优化了内存管理,让浏览…...
ERP对制造业务有何价值?
ERP 的定义 在定义 ERP 之前,我们先从其首字母缩写说起,ERP 代表企业资源规划。我们可以将 ERP 定义为一种企业软件,它帮助组织管理日常业务。从根本上讲,ERP 将客户管理、人力资源、商业智能、财务管理、库存以及供应链功能整合…...
MySQL5.7 创建用户并授予超管权限脚本
记录MySQL5.7 创建新用户并授予超管权限脚本 用户与密码可任意设置 创建用户并设置密码 CREATE USER zhangsan % identified by 123456oo;修改用户密码 UPDATE USER set authentication_stringpassword("Abc123!") where user"zhangsan ";授予用户超管权…...
芝加哥学派(Chicago School):金融与经济学的创新力量(中英双语)
芝加哥学派:金融与经济学的创新力量 在经济学和金融学的历史上,有一个学派的影响力不容忽视,那就是芝加哥学派(Chicago School)。芝加哥学派不仅在学术界广受推崇,也深刻影响了全球的经济政策和金融市场。…...
Pytorch实现论文之一种基于扰动卷积层和梯度归一化的生成对抗网络
简介 简介:提出了一种针对鉴别器的梯度惩罚方法和在鉴别器中采用扰动卷积,拟解决锐梯度空间引起的训练不稳定性问题和判别器的记忆问题。 论文题目:A Perturbed Convolutional Layer and Gradient Normalization based Generative Adversarial Network(一种基于扰动卷积层…...
哈希表(C语言版)
文章目录 哈希表原理实现(无自动扩容功能)代码运行结果 分析应用 哈希表 如何统计一段文本中,小写字母出现的次数? 显然,我们可以用数组 int table[26] 来存储每个小写字母出现的次数,而且这样处理,效率奇高。假如我们想知道字…...
3.5 使用Tokenizer编解码文本:从原理到企业级实践
使用Tokenizer编解码文本:从原理到企业级实践 一、Tokenizer核心原理:文本到数字的魔法转换 1.1 分词算法三大流派 # 不同分词算法对比 tokenization_methods = {"WordPiece": "BERT/ELECTRA", "BPE": "GPT/RoBERTa",...
多表关联查询的优化
文章目录 前言1. 数据库设计优化:深入实践**1.1 规范化与反规范化的决策树****1.2 索引设计的实战技巧** **2. SQL 优化:进阶技巧****2.1 JOIN 顺序与执行计划****2.2 分页查询的深度优化** **3. MyBatis Plus 高级用法****3.1 动态 SQL 规避 N1 查询***…...
亚马逊企业购大客户业务拓展经理张越:跨境电商已然成为全球零售电商领域中熠熠生辉的强劲增长点
2024年12月26日-27日,由中国产业海外发展协会上合-海湾双链专委会指导、极新主办的「重度垂直2024极新AIGC峰会」先后在深圳、香港两地顺利开幕。本届峰会以AI的垂直应用与出海为核心主题,旨在深入探讨AI技术在全球范围内的融合应用与发展趋势࿰…...
VirtualBox 中使用 桥接网卡 并设置 MAC 地址
在 VirtualBox 中使用 桥接网卡 并设置 MAC 地址,可以按照以下步骤操作: 步骤 1:设置桥接网卡 打开 VirtualBox,选择你的虚拟机,点击 “设置” (Settings)。进入 “网络” (Network) 选项卡。在 “适配器 1” (Adapt…...
idea无法联网,离线安装插件
插件地址:https://plugins.jetbrains.com/ JetBrains Marketplace 如果无法进入,可以试试 配置hosts 3.163.125.103 plugins.jetbrains.com ip 变了,可以查询个最新的: https://tool.chinaz.com/speedtest/plugins.jetbrai…...
网络安全中的机器学习
当涉及到网络安全时,技术一直是保护系统免受攻击和数据泄露的关键。在这篇论文中,我将介绍一些当前在网络安全领域使用的关键技术,包括加密,身份验证和防火墙。 首先,加密是网络安全中最常见的技术之一。加密是指使用算…...
halcon 条形码、二维码识别、opencv识别
一、条形码 函数介绍 create_bar_code_model * 1.创建条码读取器的模板 * 参数一:通用参数的名称,针对条形码模型进行调整。默认值为空 * 参数二:针对条形码模型进行调整 * 参数三:条形码模型的句柄。 create_bar_code_model (…...
springcloud的组件及作用
Spring Cloud是一个用于构建分布式系统的工具集,它提供了一系列组件来简化微服务架构的开发和部署。以下是一些关键的Spring Cloud组件及其作用: 1. 服务注册与发现 Eureka:Eureka是Spring Cloud中的核心组件之一,用于实现服务注…...
Mybatis <if>、<when>标签判断是否等于单个字符串写法
Mybatis 、标签判断是否等于单个字符串写法 问题描述 当在mybatis sql语句中,需要在标签中判断是否等于单个字符串,例如: <choose><when test"timeUnits d">AND T.NO_POWER_SD > TRUNC(SYSDATE) - TO_NUMBER(#{…...
平板作为电脑拓展屏
有线串流(速度更快) spacedesk 打开usb对安卓的连接 用usb线直接连接电脑和平板 无线串流(延迟高,不推荐) todesk pc和手机端同时下载软件,连接后可以进行远程控制或扩展屏幕 spacedesk 连接到同一个…...
Mac访问局域网Jenkins
主要修改两个文件 第一个是 ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist 第二个 ⚠️注意如果是使用 brew 安装的 Jenkins 可以在终端执行brew info jenkins查看你安装 Jenkins 的路径,执行完看控制台 比如我的是 ~ % brew info jenkins >…...
【算法与数据结构】字典树(Trie)详解
目录 一,字典树的定义 二,字典树的代码实现 完整代码详细注释: 测试用例测试结果: 三,处理其他字符 四,内存优化与扩展 1. 内存优化 2. 扩展功能 五,扩展功能支持通配符匹配 六&…...
【JavaEE进阶】MyBatis通过注解实现增删改查
目录 🍃前言 🍀打印日志 🌴传递参数 🎋增(Insert) 🚩返回主键 🎄删(Delete) 🌲改(Update) 🌳查(Select) 🚩起别名 🚩结果映射 🚩开启驼…...
Deepseek 怼CHATGPT实况
提示词: 用犀利的语言批评ChatGPT 深度思考(R1) 嗯,用户让我用犀利的语言批评ChatGPT。首先,我需要理解他们的动机。可能他们遇到了ChatGPT的某些问题,比如回答不准确或者缺乏深度,所以想表达不满。也有…...
【RK3588嵌入式图形编程】-SDL2-构建模块化UI
构建模块化UI 文章目录 构建模块化UI1、概述2、创建UI管理器3、嵌套组件4、继承5、多态子组件6、总结在本文中,将介绍如何使用C++和SDL创建一个灵活且可扩展的UI系统,重点关注组件层次结构和多态性。 1、概述 在前面的文章中,我们介绍了应用程序循环和事件循环,这为我们的…...
Simulink Ststeflow教程 — 2 创建和编辑状态
目录 2.1 创建和编辑状态 2.1.1 状态的创建 2.1.2 创建连接节点 2.1.3 转移 2.1.5 默认转移 在Stateflow模型中,将包含有状态的Stateflow框图称状态图而将不包含任何状态的Stateflow框图称为流程图。其中,状态图是Stateflow最常用的一种形式&#x…...
Fiddler笔记
文章目录 一、与F12对比二、核心作用三、原理四、配置1.Rules:2.配置证书抓取https包3.设置过滤器4、抓取App包 五、模拟弱网测试六、调试1.线上调试2.断点调试 七、理论1.四要素2.如何定位前后端bug 注 一、与F12对比 相同点: 都可以对http和https请求进行抓包分析…...
线上就医全流程医药机构接入文档接口代码-医保就医接口php-demo版本
2025年2月18日11:28:03 国密算法开发库推荐 lpilp/guomi 我测试过php 7.2 - 8.0都可以兼容,如果有能力可以自己开发 目前已经开发了核心的接口的测试demo,并且封装了工具类直接写业务逻辑即可,并且已经有线上项目在使用,如果需要demo代码可…...
Linux升级Anacodna并配置jupyterLab
在使用 Anaconda 的过程中,随着项目和需求的发展,可能需要升级 Anaconda 的 Base 环境中的 Python 版本。本文将详细介绍如何安全地进行升级,包括步骤、代码示例与最终流程图。 升级 Python 一、环境准备 在进行任何升级之前,建…...
com.typesafe.config
com.typesafe.config 是 Typesafe Config 库的核心包,主要用于 统一、灵活地管理应用程序配置,支持从多种格式(如 HOCON、JSON、Java Properties)加载配置,并提供类型安全的访问接口。以下是其核心功能的详细解析&…...
Recall(召回率)和 Precision(精确率) 的区别和F1分数
Recall与Precision 的区别 一 、概念 Recall(召回率)和 Precision(精确率)是信息检索、数据挖掘以及机器学习等领域中评估模型或算法性能的两个重要指标,特别是在分类问题中。 Precision(精确率ÿ…...
智能选路+NAT实验 作业
拓扑图 配置ip 防火墙安全区域划分 用户配置 dns透明...
Vue 项目登录的基本流程
Vue 用户登录的基本流程包括以下6个步骤: 步骤: 1. 创建登录表单 在前端,首先要创建一个登录表单,用户输入账号(用户名、邮箱、手机号等)和密码。 示例:Login.vue <template><div…...
