|
|
|
@ -44,7 +44,27 @@ print(residual_output)
|
|
|
|
|
|
|
|
|
|
残差连接很像人,从心理学上讲,每个人都有对成功的路径依赖。比如说你上次是通过努力背公式,让你考试拿了高分,那你下次考试前,还会努力背公式。亦或者是你发现运动过程中,边运动边听音乐能帮忙你运动更长时间,你下次运动的时候还是会边听音乐边运动。
|
|
|
|
|
|
|
|
|
|
经过两者的相加后,大值之间相加就有可能超过1,小值相加就有可能小与-1,这时候就需要进行一次缩放。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 层归一化
|
|
|
|
|
|
|
|
|
|
缩放规则:均值为0,方差为1。
|
|
|
|
|
|
|
|
|
|
~~~scss
|
|
|
|
|
LayerNorm(x) = γ * (x - μ) / σ + β
|
|
|
|
|
~~~
|
|
|
|
|
|
|
|
|
|
- *x* 是待归一化的输入张量。
|
|
|
|
|
- 𝜇 是输入张量 𝑥 的均值。
|
|
|
|
|
- 𝜎 是输入张量 𝑥 的标准差。
|
|
|
|
|
- 𝛾 和 𝛽 是可学习的参数,通过反向传播和梯度下降算法在训练过程中学习的。。
|
|
|
|
|
|
|
|
|
|
简单理解为,最终值又会进行一轮的缩放,让它们都回到一个相对统一的区间。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 总结
|
|
|
|
|
|
|
|
|
|
多头注意力的输出A矩阵通过残差连接与原始输入x相加,得到相同位置元素的和。这个过程类似于人们对成功经验的依赖。然而,相加后的值可能超出标准范围,因此需要层归一化(LayerNorm)来调整数据分布,使其均值为0,方差为1。层归一化通过可学习参数γ和β,对输入进行缩放和偏移,确保网络的稳定性。
|
|
|
|
|