ps.关于LayerNorm:本文的图基本是基于李沐的讲解,沐神讲的是两种norm都对应一个切面,BatchNorm是纵切面,LayerNorm是横切面,但是LayerNorm的代码实现基本都是dim=-1,这样就不再是一个切面而是一条直线,本文决定以代码为准 # 2、实现LayerNorm # 1) 调用pytorch api layer_norm_op = torch.nn.LayerNorm(4, ...
关于BatchNorm和LayerNorm的实现细节:BatchNorm: 核心步骤:针对特征的特定维度,计算每个维度在所有样本和batch中的均值和方差。 数据处理:对二维数据进行展平,得到一个一维tensor,然后扩展为的形状以便利用广播机制进行归一化。 挑战:不同样本的seq_len差异可能导致无效元素对均值和方差的计算产生干扰。