“hidden act“:“gelu“在bert中作用

在 BERT 中,"hidden_act": "gelu" 表示隐藏层(如前馈网络中的激活函数)使用的是 GELU(Gaussian Error Linear Unit) 激活函数。


一、GELU 激活函数是什么?

GELU(Gaussian Error Linear Unit)是一个非线性激活函数,它的数学定义如下:

其中 Φ(x)\Phi(x)Φ(x) 是标准正态分布的累积分布函数(CDF):

BERT 实际中使用的是一个近似形式:


二、GELU 的作用与优势

GELU 主要用于 Transformer 中的 前馈网络层(Feedforward Layer),具体在 BERT 的实现里,它出现在以下位置:

python 复制代码
# 假设这是 transformer 的一层
x = Linear1(hidden_states)
x = GELU(x)
x = Linear2(x)
相较于 ReLU 的优势:
激活函数 是否平滑 是否零点处连续 对负数的处理方式
ReLU 不连续 直接置 0
GELU 连续 以概率方式缩放

GELU 的"以概率方式决定激活强度"的方式,能够保留部分负值信息,使得信息流更平滑,更利于深层网络的训练。


三、在 BERT 中使用 GELU 的原因

  1. 提升模型表现:GELU 提供更细腻的非线性表达能力,实验表明 BERT 使用 GELU 比 ReLU 效果更好。

  2. 连续性和平滑性:避免 ReLU 的硬剪断问题,有助于梯度稳定传播。

  3. 更自然的概率解释:它模拟了"保留输入的概率是基于其大小"的机制,这在自然语言建模任务中非常有用。


四、总结

  • "hidden_act": "gelu" 是 BERT 中用于前馈子层的激活函数设置。

  • GELU 是一种比 ReLU 更平滑的激活函数,能更好地捕捉输入的非线性关系。

  • BERT 使用 GELU 是为了提高训练稳定性和模型效果,是其架构中一个关键的小改进点。

相关推荐
智驱力人工智能2 分钟前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
qq_160144875 分钟前
亲测!2026年零基础学AI的入门干货,新手照做就能上手
人工智能
Howie Zphile6 分钟前
全面预算管理难以落地的核心真相:“完美模型幻觉”的认知误区
人工智能·全面预算
人工不智能5778 分钟前
拆解 BERT:Output 中的 Hidden States 到底藏了什么秘密?
人工智能·深度学习·bert
盟接之桥11 分钟前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
kfyty72511 分钟前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
h64648564h28 分钟前
CANN 性能剖析与调优全指南:从 Profiling 到 Kernel 级优化
人工智能·深度学习
心疼你的一切28 分钟前
解密CANN仓库:AIGC的算力底座、关键应用与API实战解析
数据仓库·深度学习·aigc·cann
数据与后端架构提升之路30 分钟前
论系统安全架构设计及其应用(基于AI大模型项目)
人工智能·安全·系统安全
忆~遂愿33 分钟前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能