深度神经网络中的激活函数与批量归一化技术
1. 非饱和激活函数
在深度神经网络中,梯度不稳定问题部分归因于激活函数的选择不佳。以往人们认为生物神经元采用类似Sigmoid的激活函数,那它在神经网络中也会是很好的选择,但实际上其他激活函数在深度网络中表现更佳,尤其是ReLU激活函数。
1.1 ReLU激活函数
ReLU(Rectified Linear Unit)激活函数对于正值不饱和,且计算速度快。然而,它存在“死亡ReLU”问题:在训练过程中,部分神经元会“死亡”,即只输出0。当神经元的权重调整使得其输入的加权和在训练集中所有实例上都为负时,该神经元就会死亡,且由于ReLU函数在输入为负时梯度为0,梯度下降法对其不再起作用。不过,若该神经元不是第一层隐藏层的一部分,它有时可能会“复活”,因为梯度下降法可能会调整其下层神经元,使该死亡神经元的输入加权和再次变为正。
1.2 ReLU的变体
为解决“死亡ReLU”问题,可以使用ReLU的变体:
- Leaky ReLU :定义为$LeakyReLU_{\alpha}(z) = max(\alpha z, z)$,超参数$\alpha$通常设为0.01,它确保了Leaky ReLU不会死亡,只是可能进入长时间的“昏迷”,但有机会最终“苏醒”。研究表明,设置$\alpha = 0.2$(大泄漏)比$\alpha = 0.01$(小泄漏)性能更好。
- 随机泄漏ReLU(RReLU) :在训练期间,$\alpha$在给定范围内随机选取,测试时固定为平均值。RReLU表现良好,还能起到正则化作用,降
超级会员免费看
订阅专栏 解锁全文
935

被折叠的 条评论
为什么被折叠?



