有哪些RELU
好多的ReLU函数,我该怎么去选择呢?????????????
下面这些可能会有所帮助
标准ReLU
标准 ReLU 函数:
$$
f(x) = max(0, x)
$$
好处:收敛快、计算简单。
问题:当输入为负时,输出恒为 0 → 神经元可能“死掉”(梯度始终为 0,无法更新)。
LReLU
公式:
$$
f(x) = max(\alpha x, x)
$$
其中
𝛼
是一个 固定的小常数(通常取 0.01)。
特点:负数区域仍然有一个很小的斜率,不会完全归零。
好处:缓解神经元死亡问题,但超参数 𝛼
需要人为设置。
PReLU
PReLU 的公式如下:
$$
f(x) = max(\alpha x, x)
$$
看起来和 Leaky ReLU (LReLU) 一样,但最大不同点是:
𝛼 不是固定的常数,而是一个需要学习的参数,和网络权重一起通过反向传播更新。
RReLU
公式:
$$
f(x) = max(\alpha x, x)
$$
不同之处在于:
训练时:
𝛼不是固定的,而是 从一个区间 $[l,\mu]$(例如 0.1–0.3)随机采样。
测试时:
取 $\alpha = \frac{l+u}{2}$ 作为固定值。
好处:
引入随机性,相当于一种正则化(regularization),能减少过拟合。
更适合小数据集的训练。
对比
激活函数 | 负区间斜率 | 取值方式 | 特点 |
---|---|---|---|
ReLU | 0 | 固定 | 可能“神经元死亡” |
LReLU | 小常数 (如 0.01) | 手动设定 | 缓解死亡问题 |
PReLU | 区间内随机取值 | 训练中自动优化 | 更灵活,性能往往优于 LReLU |
RReLU | 可学习参数 | 训练时随机,测试时均值 | 正则化效果,适合小数据集 |
总结
- 浅层网络在分类器时,
sigmoid
函数及其组合通常效果更好。 - 由于梯度消失问题,有时要避免使用
sigmoid
和tanh
函数。 relu
函数是一个通用的激活函数,目前在大多数情况下使用。- 如果神经网络中出现死神经元,那么
prelu
函数就是最好的选择。 relu
函数只能在隐藏层中使用。- 通常,可以从
relu
函数开始,如果relu
函数没有提供最优结果,再尝试其他激活函数。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 lnpbqc!