自然语言处理(二十):Transformer规范化层

自然语言处理笔记总目录


Transformer介绍

class LayerNorm(nn.Module):
    def __init__(self, features, eps=1e-6):
        super(LayerNorm, self).__init__()
        
        self.a = nn.Parameter(torch.ones(features))
        self.b = nn.Parameter(torch.zeros(features))
        
        self.eps = eps
        
    def forward(self, x):
        mean = x.mean(-1, keepdim=True)
        std = x.std(-1, keepdim=True)
        return self.a * (x - mean) / (std + self.eps) + self.b
features = d_model = 512
eps = 1e-6

x = out_ff
ln = LayerNorm(features, eps)
out_ln = ln(x)

print(out_ln)
print(out_ln.shape)
tensor([[[ 1.0770, -0.6208, -1.2395,  ...,  1.1024,  0.3222,  0.5800],
         [ 2.2096, -1.9746, -1.5469,  ...,  1.2817, -0.2125, -0.6497],
         [ 0.9288, -0.8752, -0.3243,  ...,  1.5745, -1.0322, -0.6040],
         [ 1.8319, -1.5223, -1.3482,  ...,  1.2740,  0.2436, -0.1593]],

        [[ 0.7412,  0.9555,  0.9595,  ...,  1.9401,  0.2870,  0.2000],
         [ 1.0884,  0.0552,  1.5058,  ...,  1.9323, -0.6559,  0.4910],
         [ 1.1891, -0.1268,  1.1255,  ...,  1.3577, -0.4844,  0.3856],
         [ 1.3812,  0.1356,  1.3354,  ...,  1.8673, -0.9188,  0.1349]]],
       grad_fn=<AddBackward0>)
torch.Size([2, 4, 512])
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GeniusAng丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值