激活函数ReLU:
https://www.cnblogs.com/makefile/p/activation-function.html
ReLU缺点:
1,坏死:ReLU强制的稀疏处理会减少模型的有效容积(即屏蔽太多,导致模型无法学习到有效特征)。由于ReLU在x<0是梯度为0,这样导致负的梯度在这个ReLU被置零,而且这个神经元有可能再也不会被任何数据激活,称为神经元“坏死”;
2,无负值:ReLU和sigmoid的一个相同点是结果是正值,没有负值;
batch normalization(BN):神经网络中每层的输入数据加一个标准化处理
https://www.cnblogs.com/guoyaohua/p/8724433.html
https://blog.csdn.net/whitesilence/article/details/75667002
对于每个隐层神经元,把逐渐向非线性函数映射后向取值区间极限饱和区靠拢的输入分布强制拉回到均值为0方差为1的比较标准的正态分布,使得非线性变换函数的输入值落入对输入比较敏感的区域,以此避免梯度消失问题。
因为梯度一直都能保持比较大的状态,所以很明显对神经网络的参数调整效率比较高,就是变动大,就是说向损失函数最优值迈动的步子大,也就是说收敛地快。BN说到底就是这么个机制,方法很简单,道理很深刻。
简单解释Momentum,RMSprop,Adam优化算法: