1. 归一化操作的对象?
归一化是指对于输入到网络中的初始数据进行归一化
2. 归一化的作用是什么?
作用只有一个!
为了更容易train,让模型更好更快的收敛----而关键就在于梯度的传播
那怎么让梯度传播的更好呢?
就是消除量纲!
(1)让各个变量的变化区间长度相同,防止等高线椭圆导致的优化时之字形路线,所以收敛就更好更快了
(2)让各个变量的取值不是太跑偏(过大或者过小),因为过大或者过小可能不利于激活函数的激活,(或者导致W矩阵的值/输入输出值过大?占内存?)
还有就是在深度网络中,由于链式法则的累积效应,梯度过大或者过小会导致梯度爆炸或者消失,而梯度又是与输入值有关(原因可参考sigmoid激活函数的梯度反向传播推导部分),所以输入值保持在一个不大不小的区间比较好
一般会归一化到[0,1]或者[-1,1], 但是是否是以零对称对于激活函数的影响其实不大,因为还会经过liner层的计算才会输入到ReLU中,范围就不一定是以0为中心了。