【NLP 38、激活函数 ④ GELU激活函数】

news/2025/2/25 5:54:35

别盲目,别着急,慢慢走,没事的

                                                —— 25.2.24

一、定义与数学表达式

GELU(Gaussian Error Linear Unit,高斯误差线性单元)是一种结合概率分布的非线性激活函数,其核心思想是通过输入值服从标准正态分布的概率来决定激活程度。数学表达式为:
GELU(x)=x⋅Φ(x)
其中,Φ(x) 是标准正态分布的累积分布函数(CDF):

实际应用中,常使用近似公式简化计算:

该近似公式在保持性能的同时显著降低计算复杂度


二、核心特点

非线性建模能力:通过高斯分布概率引入非线性,增强模型对复杂数据的拟合能力。

连续可导性:在整个定义域内可微,避免梯度消失问题,适合反向传播优化。

自门控特性:输入值越大,激活概率越高,类似“软开关”机制。

输出范围:(−∞,+∞),适用于需要线性输出的场景


三、优势对比

特性GELUReLUSigmoid/Tanh
梯度消失问题有效缓解部分区域梯度为0易出现梯度消失
输出范围全实数域[0,+∞)(0,1)或(−1,1)
计算复杂度较高(近似公式可优化)较高(涉及指数运算)
应用场景Transformer、NLP、CV计算机视觉、简单任务二分类输出层

四、实际应用 

Transformer架构:BERT、GPT-2/3等模型均采用GELU作为隐藏层激活函数,显著提升语言建模性能。

计算机视觉:在图像分类、目标检测任务中,GELU的非线性特性优于ReLU。

推荐系统:处理用户行为序列数据时,GELU的随机正则化特性增强模型泛化能力。


五、代码实现

1.torch.nn.GELU()

torch.nn.GELU(): PyTorch 中实现高斯误差线性单元(GELU)激活函数的类。其核心功能是通过高斯分布的累积分布函数(CDF)对输入张量进行非线性变换

数学表达式为:GELU(x)=x⋅Φ(x)

参数名称类型是否必填说明
approximatestr近似算法选择,可选值为 'none'(精确计算)或 'tanh'(近似计算,默认为 'none')。
import torch
import torch.nn as nn

# 定义GELU层(默认使用精确计算)
gelu_layer = nn.GELU()

# 输入张量
x = torch.randn(32, 128)

# 前向传播
output = gelu_layer(x)
print(output.shape)  # 输出形状与输入一致

2.torch.nn.functional.gelu()

torch.nn.functional.gelu(): PyTorch 中实现高斯误差线性单元(GELU)激活函数的函数。其核心功能是通过高斯分布的累积分布函数(CDF)对输入张量进行非线性变换,

数学表达式为:GELU(x)=x⋅Φ(x)

参数名称类型是否必填说明
approximatestr近似算法选择,可选值为 'none'(精确计算)或 'tanh'(近似计算,默认为 'none')。
import torch
import torch.nn.functional as F

# 输入张量
x = torch.randn(32, 128)

# 应用GELU激活函数
output = F.gelu(x)
print(output.shape)  # 输出形状与输入一致


http://www.niftyadmin.cn/n/5865059.html

相关文章

牛客周赛 Round 82(思维、差分、树状数组、大根堆、前后缀、递归)

文章目录 牛客周赛 Round 82(思维、差分、树状数组、大根堆、前后缀、递归)A. 夹心饼干B. C. 食堂大作战(思维)D. 小苯的排列计数(差分、树状数组)E. 和和(大根堆,前缀和)F. 怎么写线性SPJ &…

小程序高度问题背景scss

不同的机型&#xff0c;他的比例啥的都会不一样&#xff0c;同样的rpx也会有不同的效果。所以这里选择了取消高度。 <view class"box-border" :style"{padding-top: ${navHeight}px,}"><!-- 已登录 --><view v-if"userStore.userInfo&…

Image Collections操作

在Google Earth Engine&#xff08;GEE&#xff09;中处理影像集合&#xff08;Image Collections&#xff09;是遥感数据分析的核心操作。以下是详细的步骤和示例代码&#xff0c;涵盖影像集合的常见操作&#xff1a; 1. 影像集合基础 影像集合是GEE中存储多幅影像的数据结构…

文件上传-Windows点空格点绕过

[题目信息]&#xff1a; 题目名称题目难度文件上传-Windows点空格点绕过1 [题目考点]&#xff1a; Windowsw文件特性考察[Flag格式]: SangFor{UDOaJfziTs4c-dceIyGxa53-Ybrg9dtF}[环境部署]&#xff1a; docker-compose.yml文件或者docker tar原始文件。 docker-compose u…

数据同步的中间件

以下是10个支持MySQL、HBase、ClickHouse、HDFS等不同数据库之间数据同步的GitHub项目推荐&#xff1a; 项目名称语言主要特点支持的数据库GitHub链接DataXPython阿里巴巴开源的数据同步工具&#xff0c;支持多种数据库和文件系统。MySQL、ClickHouse、HDFS等GitHub链接Apache…

STM32-智能小车项目

项目框图 ST-link接线 实物图&#xff1a; 正面&#xff1a; 反面&#xff1a; 相关内容 使用L9110S电机模块 电机驱动模块L9110S详解 | 良许嵌入式 一、让小车动起来 新建文件夹智能小车项目 在里面复制19-串口打印功能 重命名为01-让小车动起来 新建文件夹motor&…

Spring Cloud Gateway 网关的使用

在之前的学习中&#xff0c;所有的微服务接口都是对外开放的&#xff0c;这就意味着用户可以直接访问&#xff0c;为了保证对外服务的安全性&#xff0c;服务端实现的微服务接口都带有一定的权限校验机制&#xff0c;但是由于使用了微服务&#xff0c;就需要每一个服务都进行一…

云电脑接入DeepSeek?探讨ToDesk云电脑、海马云、顺网云的AI潜能

目录 前言一、云电脑相比实体电脑部署DeepSeek的优势二、DeepSeek云电脑实操1、ToDesk云电脑2、海马云3、顺网云 三、DeepSeek R1模型与云电脑适配性分析1、基本配置分析2、文本推理测试 四、云电脑选型看点1、跨平台兼容性2、文件存储3、关键技术4、安全与隐私5、用户体验 五、…