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

发布时间:2024年01月24日

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

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 函数。
文章来源:https://blog.csdn.net/qq_60245590/article/details/135796689
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。