©PaperWeekly 原创 · 作者|苏剑林
单位|追一科技
研究方向|NLP、神经网络
GELU,全称为 Gaussian Error Linear Unit,也算是 RELU 的变种,是一个非初等函数形式的激活函数。它由论文 Gaussian Error Linear Units (GELUs) [1] 提出,后来被用到了 GPT 中,再后来被用在了 BERT 中,再再后来的不少预训练语言模型也跟着用到了它。
随着 BERT 等预训练语言模型的兴起,GELU 也跟着水涨船高,莫名其妙地就成了热门的激活函数了。
▲ GELU函数图像
在 GELU 的原始论文中,作者不仅提出了 GELU 的精确形式,还给出了两个初等函数的近似形式,本文来讨论它们是怎么得到的。
GELU函数
GELU 函数的形式为:
其中 是标准正态分布的累积概率函数,即:
这里 。然后原论文还提了两个近似:
以及:
现在仍然有不少 Transformer 架构模型的实现都是用近似(4)作为 GELU 函数的实现。不过很多框架已经有精确的 计算函数了,所以初等函数近似形式的价值可能不会很大,因此大家就当是一道数学分析练习题吧。
用啥近似
显然,要找 GELU 的近似形式,就相当于找 近似,这也等价于找 的近似。
▲ erf函数图像
首先,我们要解决第一个问题:用什么函数来近似。从