电子商务网站设计成功的要素网站素材模板 站长
- GELU的公式
x · Φ(x)为什么和高斯分布有关?- 为什么说GELU与Dropout适配,这个“随机概率”从何而来?
1. GELU为什么和高斯分布有关?
GELU的全称是 Gaussian Error Linear Unit(高斯误差线性单元)。它的核心思想与ReLU(max(0, x))类似,都是想以一种“门控”的方式来决定神经元是否被激活。但它的方式更加平滑和概率化。
ReLU的思路是:
如果输入x > 0,就全部通过;如果x <= 0,就全部掐死(输出为0)。这是一个确定性的二值决策。
GELU的思路是:
我不做绝对的决定。我认为输入x是受到随机噪声污染的(这个噪声通常假设服从标准正态分布,即高斯分布)。神经元最终的输出,应该是输入x乘以“这个神经元在当前噪声下被保留(而非被丢弃)的概率”。
这个“被保留的概率”是多少呢?它取决于输入x的大小。
- 如果x很大(非常正),那么即使有噪声,它也很可能仍然是正数,因此它被保留的概率就非常高(接近1)。
- 如果x很小(非常负),那么即使有噪声,它也很可能仍然是负数,因此它被保留的概率就非常低(接近0)。
- 如果x在0附近,那么噪声的正负就会起决定性作用,因此被保留的概率就在0.5左右。
那么,这个“噪声”和“概率”怎么用数学表示呢?
- 噪声:我们假设噪声
u服从标准正态分布,即u ~ N(0, 1)。 - 被保留的条件:当噪声
u大于-x时,x + u > 0,神经元被激活。- 因为
x + u > 0=>u > -x
- 因为
- 被保留的概率:因此,神经元被保留的概率就是
P(u > -x)。
根据标准正态分布的对称性,P(u > -x) = P(u <= x)。而 P(u <= x) 正是标准正态分布的累积分布函数(Cumulative Distribution Function, CDF),也就是公式中的 Φ(x)。
所以,GELU的最终输出就是:
GELU(x) = x * P(神经元被保留) = x * P(u <= x) = x * Φ(x)
结论: GELU公式中的 Φ(x) 就是标准正态分布的CDF,它直接计算了输入x被“保留”的概率。这就是GELU与高斯分布最核心、最直接的关系。
2. 为什么说GELU与Dropout适配?它的“随机概率”在哪?
首先,要澄清一个常见的误解:GELU函数本身是确定性的。 你输入一个确定的x,就会输出一个确定的 x * Φ(x) 值。它本身不会像Dropout那样在训练时随机“关闭”神经元。
那为什么网上会有GELU与dropout适配那种说法呢?这种说法源于对GELU设计思想和数学动机的比喻性解释。
GELU的设计理念是“概率性门控”:
它的行为就像是随机的Dropout,但以一种平滑、确定的方式融入了这种概率思想。我们可以把它和Dropout/Sigmoid做一个对比:
| 特性 | Dropout | Sigmoid (用于门控,如LSTM) | GELU |
|---|---|---|---|
| 随机性 | 是,训练时随机伯努利分布 | 否,确定性函数 | 否,确定性函数 |
| 决策方式 | 随机硬门控(0或1) | 确定性软门控(0到1之间) | 确定性软门控,但基于概率思想 |
| 输出 | x * m (m是0或1的掩码) | x * σ(x) | x * Φ(x) |
GELU可以看作是Dropout和Sigmoid门控的一种“平滑融合”:
- 它像Dropout:因为它将输出建模为
输入 * 被保留的概率。这个“概率”是它的核心。 - 它不像Dropout:因为它没有真正的随机性,这个概率是通过输入x计算出来的一个固定值。
- 它像Sigmoid门控:因为它使用了一个0到1之间的值(Φ(x))来缩放输入。
- 它不像Sigmoid:因为它依赖的不是Sigmoid函数,而是正态分布的CDF,其形状和数学动机都来源于概率论。
为什么这种“适配”是好的?
- 平滑性:
Φ(x)是处处光滑的函数,这比ReLU的硬截断(在x=0处不可导)更有利于梯度下降的优化过程,模型训练更稳定。 - 概率解释:这种设计让激活函数具有了概率意义,与神经网络本身的不确定性建模理念更契合。尤其是在Transformer这类模型中,这种平滑的概率式门控表现得非常出色。
- 自适应:它不是简单地将所有负值置零,而是给它们一个小的、非零的梯度。对于绝对值较大的负值,梯度几乎为0(类似被丢弃了);对于接近零的负值,则有一定的梯度可以更新。这是一种自适应的、更精细的“丢弃”策略。
所谓的“随机概率”
这个“随机”并不是指函数本身会随机输出,而是指它的数学推导过程和设计灵感来源于一个随机噪声模型(u ~ N(0,1))。我们是在用一个确定的函数 Φ(x) 来模拟或等价于那个随机过程的期望结果。
您可以这样理解:
GELU(x) = x * Φ(x) ≈ E[x * I(u > -x)] (I是指示函数,当条件满足时为1,否则为0)
也就是说,GELU的输出,在数学上等价于先对输入x加上一个随机噪声,然后进行ReLU激活,最后再对这个过程求期望值(平均结果)。
总结
- 与高斯分布的关系:GELU公式中的
Φ(x)就是标准正态分布的累积分布函数,它来源于“输入x加上高斯噪声后大于0的概率”这一设计思想。 - 与Dropout的“适配”:这是一种基于设计理念的类比。GELU以一种确定的、平滑的方式(通过
Φ(x))实现了类似Dropout的概率门控效果,即用“被保留的概率”来加权输入。它本身没有随机性,但其数学形式是对一个随机过程的期望值的计算结果。
