“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 是为了提高训练稳定性和模型效果,是其架构中一个关键的小改进点。

相关推荐
hsfxuebao24 分钟前
Hermes Agent 实战篇:AI 驱动的技术博客自动发布系统
人工智能
Smoothcloud润云38 分钟前
PyTorch推理服务动态批处理实战:兼顾吞吐与延迟
人工智能·pytorch·python·深度学习·ai·gpu算力
蜗牛互联网41 分钟前
GPT-6 与 Intelligent UI:从回答到可审计操作的产品迁移
java·人工智能·后端
Sayai1 小时前
ComfyUI 一键换衣 2.0:FLUX Fill 服装一致性工作流全模型清单与新版避坑指南(12G 显存实测跑通)
人工智能·aigc·flux·图生图·comfyui
半个落月1 小时前
LangGraph.js 实战:从状态图到分支、循环、检查点与人工中断
javascript·人工智能·langchain
临床数据科学和人工智能兴趣组1 小时前
正则表达式的基础语法的基本符号
开发语言·人工智能·python·正则表达式·r语言·r语言-4.2.1·workbudyy
王中阳Go1 小时前
Go 后端转 AI:非科班怎么补?一张 3 列路线表(可保存)
开发语言·人工智能·后端·python·golang·大语言模型
IT_陈寒1 小时前
Vite热更新失效?你可能也踩了这个坑
前端·人工智能·后端
桃西西呀1 小时前
LangGraph4j之一:客服请求分诊既要循环又要分流,我用 LangGraph4j 把控制流抽成了数据
人工智能·llm·ai编程
leizhen198408092 小时前
中国 AI 反超的临界点,与世界格局正在发生的三重变化(漫画)
人工智能