Batch Normalization
原理
假设一个batch的数据shape为(B,L,C)(batchs_size,数据长度,通道数)
或者一个batch的数据shape为(B,H,W,C)(batchs_size,数据高度,数据长度,通道数)
BN就是针对每个维度,将batch_size个样本进行标准化-->(1,L,C)
把数据标准化为均值为0,方差为1
将数据集中在0附近,可以有效的防止梯度消失
可以使用更大的学习率,加快模型收敛
不严格要求权值初始化
不严格要求dropout
不严格要求正则化
为什么要增加和
这两个网络学习的参数?
这么做的目的是增加模型的容纳能力, 那怎么样增加模型的容纳能力呢?
例如:
当,
则
通过学习可以使标准化后的结果存在多种映射,