【学习笔记】Week3_Batch Normalization_why does Batch Norm work?

1、Batch Norm(批量归一化)能提高模型的泛化能力

    Covariate Shift(协变量转变)问题:

    对于已学习的 X → Y 的映射、如果 X 的分布改变、则可能需要重新训练模型

    

2、Neural Network(神经网络)中的 Covairate Shift 问题

    隐藏层的输出值始终是变化的、Batch Norm 的作用是减小这种变化、通过保持 Mean(均值)与方 Variance(方差)不变

    弱化了前后两层参数之间的耦合、使每层神经元能够自行学习,更加独立于其他层的神经元、从而使整个训练过程变快

    

3、Batch Norm 还具有少许的正则化 的效果

    通过像隐藏层添加噪声(每次只在一个 mini-batch 上训练)、使下一层的神经元不会对上一层的某个神经元有过多的依赖、类似于 Dropout

    因为添加的噪声很小、所以正则化效果并不明显、如果想具有明显的正则化效果,可以与 Dropout 一起使用

    如果 mini-batch size 很大(例如512)、会减小这种噪声,同时减小正则化效果

    不要将 Batch Norm 视为一种正则化手段、而是对隐藏层的运算进行归一化从而提高训练速度


猜你喜欢

转载自blog.csdn.net/MegaZhan/article/details/80078234
今日推荐