您的位置:首页 > 其它

ReLU函数进行Batch Normalization意义分析

2017-08-25 00:27 267 查看
我们都知道,正则化是一种防止训练参数过拟合的一种极为有效的方式。激活函数的主要作用是提升圣经网络的非线性性。之前常用的激活函数,如Sigmoid, tanh函数,由于其饱和区的接近于0,因此需要将其进行正则化,转换为正态分布,将数据大部分规范到线性范围之内,然后通过两个额外的线性转换参数来进行微调,从而避免后续梯度消失问题的产生。

那么就有一个问题了,ReLU这一函数并没有上界,也就是其导数不存在趋近于0的情况,那么为什么在进行图像处理相关的神经网络的时候还是需要将其进行正则化呢?

这是因为,我们前面的讨论过程中,忽略了一个很重要的问题,那就是输入变量的分布。理论上而言,如果输入的数据是不同分布的,那么相当于我们的神经网络还要针对这种不同分布去提升网络参数的适应性,从而使得网络变得难以训练。实践表明,将输入数据规范化为正态分布确实有利于提升网络的整体效果。因此在ReLU函数之后接上了一个Batch Normalization层。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息