为什么我们通常在神经网络中使用范围有限的激活函数?例如
- 激活函数有范围
- 激活函数有范围
Q1)假设我使用其他一些非线性激活函数,例如,没有任何如此有限的范围,那么在训练这样的神经网络时可能存在哪些潜在问题?
Q2)假设我使用作为神经网络中的激活函数,我正在对层进行规范化(以避免值不断乘以更高的值),那么这样的神经网络会起作用吗?(这再次参考了我在标题中发布的问题“为什么我们通常在神经网络中使用只有有限范围的激活函数?”)
为什么我们通常在神经网络中使用范围有限的激活函数?例如
Q1)假设我使用其他一些非线性激活函数,例如,没有任何如此有限的范围,那么在训练这样的神经网络时可能存在哪些潜在问题?
Q2)假设我使用作为神经网络中的激活函数,我正在对层进行规范化(以避免值不断乘以更高的值),那么这样的神经网络会起作用吗?(这再次参考了我在标题中发布的问题“为什么我们通常在神经网络中使用只有有限范围的激活函数?”)
激活函数的主要目标是增加非线性但同时
使用您的示例功能-
我们将实现非线性,但对于大值,梯度会非常大,并且会减慢训练速度
我相信你猜到了,所以你问了下一个问题。如果我将数据标准化怎么办-
规范化有助于将两个不同的特性置于同一级别。但是相同特征的较大值仍然会比较小的值更大
但是由于梯度变平,这种函数在两个极端都停止了学习。此外,它们需要高计算量我们有没有上限的 RELU。这是所有提到的点的一个很好的权衡
据我所知,以这种方式选择第一次激活的原因可以追溯到神经元的电学特性。神经元必须有一个最小电势才能传输输入信号。这可以通过阶跃函数在数学上表示,其中任何高于阈值的值都等于 1,否则为零。我们只需要知道电位是否小于或大于给定阈值 - 如果开关打开或关闭 - 所以不需要知道它打开或关闭的“多少”。
Sigmoid 函数在某种意义上是阶跃函数的可微分版本。并且 tanh 也有相同的结构,但只是向下移动了一点。但现代激活并没有限制:ReLU 及其变体 Leaky ReLU 和 elu 没有上限。
但是它们都有一个共同的属性,那就是它们是单调递增的——随着输入的增加,它们要么增加,要么保持不变。所以我想只要你选择的函数共享这个属性,你就可以了(它收敛的速度是另一个问题)。您的 f(x) = x^2 示例没有此属性,例如 -0.5 和 0.5 具有相同的值,我认为这会导致问题。这与神经元如何工作的想法背道而驰,但当然我们在构建神经网络时不受生物学的限制。