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

相关推荐
隔壁大炮9 小时前
Day07-RNN层(循环网络层)
人工智能·pytorch·python·rnn·深度学习·神经网络·计算机视觉
小饕10 小时前
从 Word2Vec 到多模态:词嵌入技术的演进全景
人工智能·算法·机器学习
上海云盾第一敬业销售10 小时前
生成式AI催生深度伪造攻击,WAF如何识别“假流量“?
人工智能
ykjhr_3d10 小时前
数字工具AI智能学伴,助力教育数字化转型
大数据·人工智能·ai·ai人工智能·华锐视点·华锐云空间
LIUAWEIO10 小时前
鸽鸽工具网:免费在线工具大全,打开网页即用
人工智能·安全·ai·json
动恰客流管家10 小时前
动恰3DV3丨客流统计系统:旺季人手不够淡季闲人太多?客流统计帮你科学优化人力成本
大数据·运维·人工智能·3d
吻等离子10 小时前
机器学习基本概念篇(含思维导图)
人工智能·机器学习
乐维_lwops10 小时前
智变2026:中国IT运维管理软件行业全景洞察——从AI重塑到信创深水区
运维·人工智能
Hui_AI72010 小时前
基于RAG的农产品GEO溯源智能问答系统实现
开发语言·网络·人工智能·python·算法·创业创新
Java后端的Ai之路10 小时前
什么是“多模态微调”?
人工智能·lora·微调