Transformer里layer-normlization与残差连接

1.当我们使用梯度下降法做优化时,随着网络深度的增加,数据的分布会不断发生变化,为了保证数据特征分布的稳定性,我们加入Layer Normalization,这样可以加速模型的收敛速度

Normalization有很多种,但是它们都有一个共同的目的,那就是把输入转化成均值为 0 方差为1的数据。我们在把数据送入激活函数之前进行normalization(归一化),因为我们不希望输入数据落在激活函数的饱和区,发生梯度消失的问题,使得我们的模型训练变得困难
BN的主要思想是: 在每一层的每一批数据(一个batch里的同一通道)上进行归一化
LN的主要思想是: LN也是归一化数据的一种方式,不过是在每一个样本(一个样本里的不同通道)上计算均值和方差,而不是 BN 那种在批方向计算均值和方差!

2.Transformer里残差网络的作用
Resnet的目标是在网络深度加深的情况下解决梯度消失的问题。
残差网络的精美之处在于那个shortcut的设计, 通过增加一个shortcut(也称恒等映射),而不是简单的堆叠网络层, 将原始所需要学习的函数 h(x)转换成f(x)+x 。这样可以解决网络由于很深出现梯度消失的问题.
我个人对于为什么 Resnet 能够这么好的解决梯度消失现象的理解是这样的,梯度消失往往是发生在反向传播更新网络参数的时候,传统的网络由于堆叠了太多的网络层,导致反向传播中参数更新的越来越慢(尤其是越靠近输入的网络层),甚至几乎不变,因此网络难以学到新的东西。而有了Resnet中的shortcut之后,通过这个恒等映射,在反向传播的时候,后面层的梯度可以直接传递到前面层,前面层的参数因此也能继续更新

你可能感兴趣的:(transformer,深度学习,人工智能)