欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > nn.LayerNorm(n_embd)可学习参数,以及如何参与运算的

nn.LayerNorm(n_embd)可学习参数,以及如何参与运算的

2024/11/29 22:25:18 来源:https://blog.csdn.net/qq_42256930/article/details/143891463  浏览:    关键词:nn.LayerNorm(n_embd)可学习参数,以及如何参与运算的

1 模型的作用是什么

nn.LayerNorm 是一个用于实现层归一化的模块。它的主要作用是对输入的特征进行归一化,以提高模型的训练稳定性和收敛速度。

2 nn.LayerNorm(n_embd)可学习参数是什么

在 nn.LayerNorm 中,主要有两个可学习的参数:

权重(weight):用于缩放归一化后的输出。
偏置(bias):用于平移归一化后的输出。
参数的形状
权重(weight) 和 偏置(bias) 的形状都是与输入特征的最后一个维度相同。在 nn.LayerNorm(n_embd) 中,n_embd 是输入特征的维度,因此:
权重的形状为 (n_embd,)
偏置的形状为 (n_embd,)

import torch
import torch.nn as nn# 定义输入特征的维度
n_embd = 64# 创建 LayerNorm 层
layer_norm = nn.LayerNorm(n_embd)# 打印可学习参数的形状
print("Weight shape:", layer_norm.weight.shape)  # 输出: Weight shape: torch.Size([64])
print("Bias shape:", layer_norm.bias.shape)      # 输出: Bias shape: torch.Size([64])

2 这些可学习的参数是怎么参与计算的

在这里插入图片描述

import torch
import torch.nn as nn# 定义输入特征的维度
n_embd = 4# 创建 LayerNorm 层
layer_norm = nn.LayerNorm(n_embd)# 创建一个输入张量
input_tensor = torch.tensor([[1.0, 2.0, 3.0, 4.0],[5.0, 6.0, 7.0, 8.0]])# 应用 LayerNorm
output_tensor = layer_norm(input_tensor)# 打印输出
print("Input Tensor:\n", input_tensor)
print("Output Tensor:\n", output_tensor)
print("Weight (gamma):\n", layer_norm.weight)
print("Bias (beta):\n", layer_norm.bias)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com