LeakyReLU的negative slope(负斜率)指什么,为何框架参数设为正值?
首先明确结论:官方文档没有表述错误,是你对这个术语的指代逻辑理解有偏差。
negative slope 是深度学习领域约定俗成的缩略说法,它指的是负输入区间对应的函数斜率,不是说这个斜率本身是负数——你相当于把修饰的对象搞混了,它是「(负输入段的)斜率」,不是「(负的)斜率」。
你对照LeakyReLU的函数定义就能一眼明白:
def leaky_relu(x, negative_slope=0.01): if x > 0: return x else: return negative_slope * x
- 正输入区间(x>0)的斜率固定为1
- 负输入区间(x≤0)的斜率就是参数
negative_slope的取值,这就是这个参数名字的由来。
要求这个参数非负完全是设计需要:LeakyReLU就是要给负输入留一个很小的正梯度,解决普通ReLU容易出现的神经元死亡问题。要是这个参数真设成负数,x越小(越负)输出反而越大,完全背离设计初衷,还会导致训练不稳定。
内容的提问来源于stack exchange,提问作者user25004
相关产品推荐
相关产品推荐

