ReLU相比 sigmoid的优势 (3)
避免梯度消失
函数在输入取绝对值非常大的正值或负值时会出现饱和现象——在图像
上表现为变得很平,此时函数会对输入的微小变化不敏感——从而造成梯度消失;
的导数始终是一个常数——负半区为 ,正半区为 所以不会发生梯
度消失现象
减缓过拟合
在负半区的输出为 。一旦神经元的激活值进入负半区,那么该激活值就
不会产生梯度!不会被训练,造成了网络的稀疏性——稀疏激活。
这有助于减少参数的相互依赖,缓解过拟合问题的发生。
加速计算
的求导不涉及浮点运算,所以速度更快。
为什么 ReLU 不是全程可微/可导也能用于基于梯度的学习?
虽然从数学的角度看 在 点不可导,因为它的左导数和右导数不相等;
但是在实现时通常会返回左导数或右导数的其中一个,而不是报告一个导数不存在的
错误。从而避免了这个问题。
Tanh 定义域是负无穷到正无穷,值域是[-1,1]
正则化
Batch Normalization(批标准化)
是一种正则化方法(减少泛化误差),主要作用有:
加速网络的训练(缓解梯度消失,支持更大的学习率)。
防止过拟合。
降低了参数初始化的要求。
动机
训练的本质是学习数据分布。如果训练数据与测试数据的分布不同会降低模型的泛化
能力。因此,应该在开始训练前对所有输入数据做归一化处理。
而在神经网络中,因为每个隐层的参数不同,会使下一层的输入发生变化,从而导致
每一批数据的分布也发生改变;致使网络在每次迭代中都需要拟合不同的数据分布,
增大了网络的训练难度与过拟合的风险。
L1/L2 范数的作用、异同
评论0