【DeepLearning-2】预归一化(Pre-Normalization)策略

2.1层归一化(Layer Normalization)在 PreNorm 类中的数学原理:

【DeepLearning-2】预归一化(Pre-Normalization)策略_第1张图片

2.2代码实现: 

class PreNorm(nn.Module):
    def __init__(self, dim, fn):
        super().__init__()
        self.norm = nn.LayerNorm(dim)
        self.fn = fn 
    
    def forward(self, x, **kwargs):
        return self.fn(self.norm(x), **kwargs)

层归一化:

  • self.norm = nn.LayerNorm(dim)

前向传播(forward 方法):

  • def forward(self, x, **kwargs): 在前向传播过程中,PreNorm 类首先对输入 x 应用层归一化,然后将归一化后的结果传递给 fn 函数或模块。
  • return self.fn(self.norm(x), **kwargs): 这行代码先对 x 应用层归一化,然后将归一化的结果传递给 fn。这里的 **kwargs 允许传递额外的参数给 fn 函数。

你可能感兴趣的:(人工智能)