门控激活函数:GLU/GTU/Swish/HSwish/Mish/SwiGLU

10 门控激活函数

10.1 GLU:门控线性单元函数Gated Linear Unit

在这里插入图片描述

10.2 GTU:门控Tanh单元函数Gated Tanh Unit

在这里插入图片描述

自门控激活函数(Self-gated activation function)

是一种通过自身机制动态调节信息流动的激活函数,其核心在于模型能够根据输入数据自身的特征自动调整信息传递的强度,无需外部控制信号。 ‌

核心特点

  • ‌动态调节‌:根据输入数据的内在属性(如数值大小、梯度变化等)自动开启或关闭信息传递,增强模型对复杂数据的处理能力。 ‌
  • 非线性特性‌:通过非线性变换实现更复杂的特征提取,提升模型表达能力。 ‌
  • 可微性‌:所有点均可微,便于训练过程中优化参数。 ‌
  • 典型应用
    在深度学习模型中(如Transformer、FFN层),自门控激活函数通过动态调整信息流动,优化长序列处理和复杂语义关系的建模能力。 ‌
  • 与传统激活函数的区别
    传统激活函数(如ReLU)仅对输入信号进行固定阈值处理,而自门控激活函数通过内部机制实现更精细的信息筛选,尤其在处理小数值输入时能起到正则化效果。

10.3 Swish:自门控激活函数

y = x * sigmoid (x)
Swish 的设计受到了 LSTM 和高速网络中 gating 的 sigmoid函数使用的启发。我们使用相同的 gating 值来简化 gating 机制,这称为 self-gating。
self-gating的优点在于它只需要简单的标量输入,而普通的 gating 则需要多个标量输入。这使得诸如 Swish 之类的 self-gated激活函数能够轻松替换以单个标量为输入的激活函数(例如 ReLU),而无需更改隐藏容量或参数数量。

Swish 激活函数的主要优点如下:
「无界性」有助于防止慢速训练期间,梯度逐渐接近 0并导致饱和;(同时,有界性也是有优势的,因为有界激活函数可以具有很强的正则化,并且较大的负输入问题也能解决);
导数恒 > 0;
平滑度在优化和泛化中起了重要作用。
在这里插入图片描述
Swish在原点附近不是饱和的,只有负半轴远离原点区域才是饱和的,而ReLu在原点附近也有一半的空间是饱和的。而我们在训练模型时,一般采用的初始化参数是均匀初始化或者正态分布初始化,不管是哪种初始化,其均值一般都是0,也就是说,初始化的参数有一半处于ReLu的饱和区域,这使得刚开始时就有一半的参数没有利用上。特别是由于诸如BN之类的策略,输出都自动近似满足均值为0的正态分布,因此这些情况都有一半的参数位于ReLu的饱和区。相比之下,Swish好一点,因为它在负半轴也有一定的不饱和区,所以参数的利用率更大。[FROM 苏剑林 https://kexue.fm/archives/4647]

10.3.1 hswish

激活函数 h-swish是MobileNetV3相较于V2的一个创新,是在谷歌大脑2017年的论文Searching for Activation Functions中swish数的基础上改进而来,用于替换V2中的部分ReLU6。
优点: 与 swish相比 hard swish减少了计算量,具有和 swish同样的性质。
缺点: 与 relu6相比 hard swish的计算量仍然较大。

10.4 Mish:自门控激活函数

在这里插入图片描述
里面是softplus

Mish优点:

  • 和Swish一样
  • 比 ReLU慢
  • Cannot 100% guarantee
  • Could pair with Ranger Optimizer(2019,Hinton)
  • 比Swish稳定。
  • 补充:
    1.无上界有下界:无上界是任何激活函数都需要的特征,因为它避免了导致训练速度急剧
    下降的梯度饱和,因此加快训练过程。无下界有助于实现强I正则化效果(适当的拟合模
    型)。(这个性质类似于ReLU和Swish的性质,其范围是[≈0.31,[])
    2.非单调函数:这种性质有助于保持小的负值,从而稳定网络梯度流。大多数常用的激活
    函数,如ReLU[f(x)=max(0,x)], Leaky ReLU[f(x)=max (0, x),1],由于其差分为0,
    不能保持负值,因此大多数神经元没有得到更新。
    3.无穷阶连续性和光滑性:Mish函数是光滑函数,具有较好的泛化能力和结果的有效优化
    能力,可以提高结果的质量。
    在这里插入图片描述

10.5 SwiGLU:自门控激活函数

在这里插入图片描述

10.5.1 为什么现在的大模型要高精度跑GeLU或SwiGLU,而不是改回ReLU跑低精度?

现在大模型往往是bf16或fp8跑矩阵乘法,但是激活函数都会用fl32来确保精度。

主要原因是,常用的激活函数如GeLU和SwiGLU都很复杂,低精度掉点非常显著

GeLU和SwiGLU的优势在于它们提供了更平滑、更丰富的非线性特征表达。
根据Shazeer(2020)的研究,SwiGLU相比于ReLU在Transforme架构+下能降低约1-2%的困惑
度,这种性能差距虽然看似不大,但对动辄几十亿甚至千亿参数的LLM+而言,能带来的性能收益
非常明显。
至于的"低精度下掉点严重"的现象,确实存在。英特尔实验室在FP8+超低精度训练LLaMA+2-7B时
就发现,SwiGLU激活函数在长时间训练后会出现非常严重的数直不稳定,具体表现为训练后期loss
剧烈上升甚至训练发散。分析显示这是由于SwiGLU的门控机飞制极易放大激活输出中的少数离群
值,这在FP8这种低精度下非常致命,最终导致梯度爆炸。
但值得注意的是,在稍高一些的精度(如BF16+)下,GeLU和SwiGLU并不会表现出明显的性能下
降或者数值问题。谷歌的PaLM+、Meta的LLaMA训练时都使用BF16精度,几乎无性能损失(与
FP32相比误差在统计波动范围内)。也就是说BF16精度已经足以支撑GeLU/SwiGLU这类激活函数
的稳定训练与推理。

那么问题来了,既然ReLU在低精度上数值更稳定(毕竟只涉及简单的截断操作,没有复杂的指数或
高阶函数),为什么大家还是不用呢?我认为ReLU的劣势主要体现在两个方面:

  • 第一是早期观念上的误区,认为ReLU容易出现负值梯度为零导致的"神经元死亡"(deadReLU)
    现象;但实际上在Transformer这种带有LayerNorm+的架构里,ReLU死亡现象并不明显,这一点最
    近已经逐渐被学术界重新证实。
  • 第二个因素更关键:业界刚刚开始注意到ReLU的潜在优势,比如激活值高稀疏性带来的效率提
    升。大船掉头需要时间。Mirzadeh(2023)等人发现,使用ReLU激活后模型推理时可以跳过大量
    的零值运算,FLOPs甚至可以减少30%~50%。他们在大模型微调实验中验证过,使用ReLU或其变
    种(如ReGLU,Squared ReLU)替换原始的GeLU/SWiGLU,模型性能几乎不受影响,但推理效率
    却能明显提高。

这种"回归简单激活函数"的思潮,已经在低资源推理场景(如BitNet)得到了实际验证。BitNet就通
过ReLU搭配1-bit权重和8-bit激活,成功实现了Transformer模型的超低精度训练和部署,且性能与
标准FP16模型几乎持平。
所以综合来看,目前大模型仍广泛使用GeLU/SwiGLU激活函数更多是历史延续及微小性能增益的综
合结果,BF16精度足够支撑它们的正常表现。只有在追求极致低精度部署(如FP8或更低)或更极
端的效率优化场景下,ReLU才开始重新受到关注。

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

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

相关文章

Linux内核IPv4多播路由深度解析:从数据结构到高效转发

多播路由是网络通信的核心技术之一,Linux内核通过精密的多层设计实现了高性能的IPv4多播路由功能。本文将深入剖析其核心实现机制,揭示其高效运转的秘密。一、核心数据结构:路由系统的基石1. 多播路由表(struct mr_table&#xff…

ffmpeg-7.1.1 下载安装 windows 版,MP4 转 m3u8 切片,遇到报错 Unrecognized option ‘vbsf‘的解决办法

工作中偶尔会需要造指定大小的文档文件,不要求内容,可以随意填充任意无毒内容,所以打算用ts文件填充,现记录下过程。一、下载 ffmpeg废话不多说,上链接,https://ffmpeg.org/会跳转新页面,向下拉…

Linux网络编程:网络基础概念(下)

目录 前言: 一、网络传输基本流程 1.1、认识MAC地址 1.2、认识IP地址 二、socket编程预备 2.1、端口号 2.2、传输层的代表 2.3、网络字节序 2.4、sockaddr 结构 总结: 前言: 大家好,上一篇文章,我们说到了…

亚马逊广告进阶指南:如何优化流量实现新品快速起量

“新品上架如何快速获取精准流量?”“如何降低ACOS同时提升转化率?”“竞品流量拦截有哪些高效方法?”“关键词广告和ASIN广告如何协同投放?”“人工投放效果不稳定,AI工具真的能解决问题吗?”如果你也在思…

路径平滑优化算法--Clothoid 路径平滑

路径平滑优化算法–Clothoid 路径平滑 文章目录路径平滑优化算法--Clothoid 路径平滑0 为什么选 Clothoid?1 数学基础:严谨推导(Mathematical Foundation)可视化解释1.1 曲率线性假设1.2 切向角(Heading Angle&#…

PCB学习笔记(一)

文章目录一、PCB的制作过程了解1.1 覆铜板一、核心作用:制作印制电路板(PCB)二、不同类型覆铜板的针对性用途三、延伸应用1.2 覆铜板和信号线的关系一、覆铜板不是“全是铜”,原始结构是“绝缘基材铜箔”二、信号线就是铜&#xf…

【19】C# 窗体应用WinForm ——【列表框ListBox、复选列表框CheckedListBox】属性、方法、实例应用

文章目录9 复选列表框CheckedListBox10. 列表框ListBox10.1 实例:买菜10.2 实例:购菜 应用二WinForm 是 Windows Form 的简称,是基于 .NET Framework 平台的客户端(PC软件)开发技术,是 C# 语言中的一个重要…

新注册企业信息查询“数据大集网”:驱动企业增长的源头活水

商贸繁荣的齐鲁大地上,“赶大集”曾是千年传承的民间智慧。而今天,一场以新注册企业信息为核心的“数据大集”正悄然重塑商业生态——数据大集网,以“聚天下好数,促万企互联”为使命,将分散的企业信息转化为精准商机&a…

项目目标如何拆解,才能提高执行效率和效果

项目目标要有效拆解以提高执行效率和效果,需要遵循以下关键步骤:明确整体目标、划分阶段性目标和里程碑、具体化任务细分并设定优先级、分配明确的责任人和时间节点、持续跟踪与反馈调整。其中,划分阶段性目标和里程碑尤为重要,通…

spring-ai-alibaba动态 Prompt 最佳实践

Spring AI Alibaba 使用 Nacos 的配置中心能力来动态管理 AI 应用的 Prompt。以此来实现动态更新 Prompt 的功能。 环境准备 Nacos: 具备配置中心能力的 Nacos,本例中使用 Nacos 3.0.2。Nacos 2.X 亦可, spring-ai版本1.0.0 ,spring-ai-al…

基于词频统计、关键词提取、情感分析与AI大模型自动生成系统的设计与实现

文章目录有需要本项目的代码或文档以及全部资源,或者部署调试可以私信博主一、研究背景与项目意义二、项目目标与研究内容三、系统架构与功能模块1. AI对话生成模块2. 分词与关键词提取模块3. 情感分析模块4. 行为预测模块5. 系统管理模块6. 可视化展示模块四、技术…

JVM工具

首先,JDK 自带了很多监控工具,都位于 JDK 的 bin 目录下,其中最常用的是 jconsole 和 jvisualvm 这两款视图监控工具。 一、jps(Java Process Status) 用于查看有权访问的虚拟机的进程,并显示他们的进程号 -v:列出虚拟…

VisionPro系列讲解 - 03 Simulator 模拟器使用

一、VisionOS Simulator 简介 VisionOS Simulator 模拟器是专为 VisionOS 操作系统开发的调试和测试工具。它允许开发者在没有实际硬件设备的情况下,在计算机上模拟 VisionOS 环境,进行应用的开发、调试和优化。该模拟器帮助开发者快速验证应用的功能和界…

huggingface是什么?2025-07-30

huggingface被我看做是ai模型的试用空间 体验了一下image edit的功能,去除背景的功能不错 models 模型库 dataset 目前对我来说没用 spaces huggingface的spaces是什么? 演示空间吧。 令人震惊的背景移除能力H200是什么?

mysql索引下推和索引失效

索引下推:ICP过滤的条件可以不限于用于索引查找(index lookup)的字段。只要存储引擎在扫描当前索引时能够访问到该字段的值,就可以用它来过滤。索引可以分为聚簇索引和非聚簇索引没有索引下推:当使用聚簇索引的时候&am…

【电赛学习笔记】MaixCAM 的OCR图片文字识别

前言 本文是对MaixPy官方文档 MaixCAM MaixPy 实现 OCR 图片文字识别 - MaixPy 的项目实践整理与拓展,侵权即删。 功能介绍 OCR是MaixCAM中功能强大的数字文字识别模块,可以做到轻松的识别各种数字与文字。 OCR官方例程解析 工程源码 from maix im…

如何在生成式引擎优化(GEO)中取得成功

如果你希望您的内容出现在 AI Overviews、ChatGPT 和 Gemini 中?以下是设置 GEO 广告系列的方法。 任何好的 GEO 活动的第一步是创造一些东西实际上想要链接到或引用。 GEO 策略组件 想象一些你合理预期不会直接在 ChatGPT 或类似系统中找到的体验: 例如…

WPFC#超市管理系统(3)商品管理

超市管理系统6. 商品管理6.1 添加商品6.1 商品管理主界面6.3 修改商品6. 商品管理 将前文中的GoodsView全部改成和数据库一致的ProductView新增枚举类型商品类型ProductType.cs namespace 超市管理系统.Enums {public enum ProductType{水果类,休闲食品类,粮油类,饮料类,日用…

openwrt中br-lan,eth0,eth0.1,eth0.2

CPU是QCA9558 有两个以太网接口 这个好像没有外接交换机直接印出来的 openwrt中br-lan,eth0,eth0.1,eth0.2 https://blog.csdn.net/f2157120/article/details/119460852 这个哥用的是 链接: DomyWifi DW33D 路由器 CPU是QCA9558 有两个以太网接口 因为CPU没集成千兆交换&…

RAG实战指南 Day 29:RAG系统成本控制与规模化

【RAG实战指南 Day 29】RAG系统成本控制与规模化 开篇 欢迎来到"RAG实战指南"系列的第29天!今天我们将深入探讨RAG系统的成本控制与规模化部署策略。当RAG系统从原型阶段进入生产环境时,如何经济高效地扩展系统规模、控制运营成本成为关键挑…