torch.nn.LayerNorm

LayerNorm,全称为层归一化Layer Normalization),是一种在深度学习中常用的归一化技术。它在PyTorch中的实现为torch.nn.LayerNorm。

LayerNorm是什么?

LayerNorm是一种特殊的归一化方法,它在一个小批量的输入上应用层归一化。与批归一化Batch Normalization)和实例归一化Instance Normalization)不同,LayerNorm在每个元素上应用缩放和偏移,而不是对每个通道/平面应用标量缩放和偏移。

LayerNorm的公式为:

y=xE[x]Var[x]+ϵγ+β

其中,E[𝑥]Var[𝑥]是输入𝑥的均值和方差,𝜖是一个小的常数以增加数值稳定性,𝛾和𝛽是可学习的仿射变换参数。

LayerNorm的参数

torch.nn.LayerNorm接受以下参数:

LayerNorm的使用

在PyTorch中,可以很容易地创建和使用LayerNorm。以下是一个例子:

# NLP Example
batch, sentence_length, embedding_dim = 20, 5, 10
embedding = torch.randn(batch, sentence_length, embedding_dim)
layer_norm = nn.LayerNorm(embedding_dim)
# Activate module
layer_norm(embedding)

在这个例子中,我们首先创建了一个随机的嵌入向量,然后创建了一个LayerNorm层,最后将嵌入向量传递给LayerNorm层进行归一化。


本文作者:Maeiee

本文链接:torch.nn.LayerNorm

版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!


喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!