当我读到激活函数时,我读到我们不使用阶跃函数的原因是因为它是不可微的,这会导致梯度下降的问题。
我是深度学习的初学者,因为 Relu 几乎是一个线性函数,并且在它接触 x 轴的地方也是不可微的,为什么它的性能比 tanh 或 sigmoid 函数好得多。以及为什么它在深度学习中得到如此广泛的应用。
由于它是不可微的,它不会影响训练吗?
由于 RELU 在接触 x 轴时不可微,不影响训练吗?
数据挖掘
神经网络
深度学习
激活函数
2022-02-10 23:39:03
1个回答
阶跃函数是不连续的,它的一阶导数是狄拉克函数。不连续性导致梯度下降的问题。此外,在尝试最小化函数时,各处的零斜率都会导致问题。对于大于和小于零的值,该函数基本上是饱和的。
相比之下,RELU 是连续的,只有它的一阶导数是不连续的阶跃函数。由于 RELU 函数是连续且定义明确的,因此梯度下降具有良好的表现并导致良好的最小化。此外,对于大于零的大值,RELU 不会饱和。这与 sigmoid 或 tanh 形成对比,后者往往会因大值而饱和。随着 x 向无穷大移动,RELU 保持良好的线性斜率。
饱和的问题是梯度下降方法需要很长时间才能找到饱和函数的最小值。
总结:
- 阶跃函数:在 +/- 大数处不连续且饱和。
- Tanh:连续且定义明确,但在 +/- 大数处饱和。
- Sigmoid:连续且定义明确,但在 +/- 大数处饱和。
- Relu:连续且定义明确。在 + 大数处不饱和。
希望这可以帮助!