本站原创文章,转载请说明来自《老饼讲解-深度学习》www.bbbdata.com
LayerNorm层归一化是神经网络中的一种归一化技术,且是一种适用于RNN神经网络的归一化技术
本文讲解LayerNorm层归一化是什么以及层归一化的具体的计算公式、具体计算流程
本节介绍层归一化是什么,有什么用,以及层归一化的具体计算公式
层归一化简介
LayerNorm层归一化是Jimmy Lei Ba等人于2016的论文《Layer Normalization》提出的一种神经网络中归一化的方法
它的提出主要是因为批归一化BN难以应用于RNN等应用于时间序列的神经网络模型
因为RNN等时间序列神经网络中同一层网络会有不同时刻的输出,基于统计量的BN在落地时不太适合
也就是说,层归一化LN相比批归一化BN的优点是可以适用于RNN等循环神经网络
层归一化及计算公式
层归一化是针对单个样本的单层而言的,如下所示:
层归一化方法如下:
1. 将当层的所有神经元的神经元值N(激活函数之前的值)进行统计学上的归一化
2. 进一步用仿射变换还原神经元值的范围
层归一化的具体公式如下:
(1)
(2)
其中 ,n是节点数
,n是节点数
是待优化的参数,它们都是向量(注意,每个神经元对应的是独立的,并不相同)
解说:即是各个神经元值的均值,是各个神经元值的标准差
公式(1)总的意思就是对当层所有节点进行标准(归一)化
公式(2)则是对各个神经元的输出范围进一步放宽
本节通过一个实例讲解层归一化的具体计算过程
层归一化的计算实例
下面举例说明整个计算过程(注意,层归一化是针对单样本单层的)
层归一化-实例说明
假设本层是一个3输入4输出的层,并在激活前加入了层归一化,输入和相关参数如下
输入值为:
网络权重:
层归一化的参数:
层归一化-实例计算过程
整层的计算过程如下:
一、计算神经元值:
二、计算层归一化值
层归一化计算过程如下:
1. 计算和
2. 计算归一化的值
3. 计算仿射后的值
三、计算激活值
用归一化后的值计算激活值,不妨设激活函数为tanh,则层的输出如下:
End