Batch Normalization、Layer Normalization、Instance Normalization、Group Normalization、Switchable Normalization比较
深度神经网络难训练一个重要的原因就是深度神经网络涉及很多层的叠加,每一层的参数变化都会导致下一层输入数据分布的变化,随着层数的增加,高层输入数据分布变化会非常剧烈,这就使得高层需要不断适应低层的参数更新。为了训练好模型,我们需要谨慎初始化网络权重,调整学习率等。 本篇博客总结几种归一化办法,并给出相应计算公式和代码。 归一化层,目前主要有这几个方法, Batch Normalization (2015年)、 Layer Normalization (2016年)、 Instance Normalization (2017年)、 Group Normalization (2018年)、 Switchable Normalization (2018年); 将输入的图像shape记为[ N , C hannel, H eight, W idth],这几个方法主要的区别就是在, batch Norm :在batch上,对NHW做归一化,对小batchsize效果不好; layer Norm :在通道方向上,对CHW归一化,主要对RNN作用明显; instance Norm :在图像像素上,对HW做归一化,用在风格化迁移; Group Norm :将channel分组,然后再做归一化; Switchable Norm :将BN、LN、IN结合,赋予权重