GELU (Hendrycks and Gimpel 2016)用多种实现;其精确版本定义为
G
E
L
U
(
x
)
=
x
⋅
ϕ
(
x
)
GELU(x)=x\cdot \phi(x)
GELU(x)=x⋅ϕ(x),其中
ϕ
(
x
)
\phi(x)
ϕ(x)是标准高斯分布的累积分布函数。
在实际应用中,常常采用计算成本较低的近似形式:
GELU
(
x
)
≈
0.5
⋅
x
⋅
(
1
+
tanh
[
2
π
⋅
(
x
+
0.044715
⋅
x
3
)
]
)
\text{GELU}(x) \approx 0.5 \cdot x \cdot \left(1 + \tanh\left[\sqrt{\frac{2}{\pi}} \cdot \left(x + 0.044715 \cdot x^3\right)\right]\right)
GELU(x)≈0.5⋅x⋅(1+tanh[π2⋅(x+0.044715⋅x3)])(原始的GPT-2模型也是使用这个近似形式进行训练的)。