时间序列里的层归一化和残差连接
层归一化(Layer Normalization)和残差连接(Residual Connection)是Transformer模型中的两个关键技术,它们在稳定训练过程和提高模型性能方面起着重要作用。
层归一化 (Layer Normalization)
层归一化是一种归一化技术,用于稳定和加速神经网络的训练。它通过标准化每一层的输入,确保其均值为零,方差为一,从而缓解了梯度消失和梯度爆炸问题。
工作原理
-
输入:
假设输入 ( x ) 的形状为 ( (L, dmodel ),其中 ( L ) 是序列长度,( dmodel ) 是特征维度。 -
计算均值和方差:
-
归一化:
-
缩放和平移:
残差连接 (Residual Connection)
残差连接是一个跳跃连接(skip connection),它在模型中直接添加输入到输出,从而缓解了深层网络中的梯度消失问题。通过残差连接,可以使得梯度直接传播到前面的层,从而稳定训练过程。
工作原理
-
输入:
假设输入 ( x ) 和经过某一层变换后的输出 ( F(x) )。 -
残差连接:
举例说明
假设我们有一个时间序列输入 ( X ),其形状为 ( (4, 3) ),即序列长度为4,每个时间步有3个特征。我们将对自注意力层的输出应用层归一化和残差连接。
输入数据
import numpy as np
# 输入数据
X = np.array([[0.5, 0.6, 0.7], [0.8, 0.9, 1.0], [1.1, 1.2, 1.3], [1.4, 1.5<