什么样的函数可以用作激活函数?

人工智能 神经网络 机器学习 激活函数
2021-10-23 08:01:49

我读到函数仅在可微分时才用作激活函数。那么单位步长激活函数呢?那么,是否有任何其他原因可以将函数用作激活函数(除了可微分)?

2个回答

不完全确定你的问题。你的意思是

Q. 为什么要使用激活函数?

Ans:我们需要在网络中引入非线性。否则,多层网络与单层网络没有区别。(很明显,当我们以矩阵形式写东西时,当我们有两个带权重的层时W1W2,两层和单层没有区别,有权重W2W1.

问:为什么它们需要可微分?

Ans:只是为了我们可以将梯度反向传播回更早的层。请注意,反向传播只不过是微积分中的链式法则。f()是一层中的激活函数,该激活函数的输出为y输入是u=Wx, 在哪里x是上一层的输出并与权重混合W在当前层。当然,最后的损失L将取决于y=f(u)=f(Wx). 说,亏L=g(y)不知何故。训练权重W,我们必须找到梯度LW这样我们就可以调整体重W尽量减少L. LW=g(y)W=g(y)yyuuW. 这些乘积项中的每一个都可以在本地计算,并且在我们应用反向传播时会累积相乘。并注意中期yu=f(u)u只是“导数”f(),因此我们要求激活函数是可微的和“信息丰富的”/非零(至少在大多数情况下)。请注意,ReLU 并非处处可微,这就是为什么研究人员(至少 Yoshua Bengio)在首次尝试采用 ReLU 时担心这一点。你可以查看 Andrew Ng 对 Bengio 的采访。

问:为什么阶跃函数是一个不好的激活函数?

回答:请注意,阶跃函数几乎在任何地方都是可微的,但不是“信息丰富”。对于可微分的地方(平坦区域),导数为零。因此,任何后面的层梯度(信息)在通过阶跃函数激活函数时都会被截断。

激活函数的可微性是可取的,但不是必需的,因为您可以在不可微分点重新构造导数,就像在 ReLU 的情况下一样。

所需属性:

  • 为了利用通用逼近定理,并利用它所承诺的建模能力,激活函数需要是连续的或 Borel 可测量的(如果这个术语令人困惑,只需将其视为常见函数)、可区分的(类似的区分意味着函数在集成另一个函数时并不总是产生 0)和非多项式(非线性)。
  • 此外,随着最近的研究工作,让它单调增加是有益的。

最近对激活函数的理论分析为 ReLU 提供了一些初步的理论保证,例如“具有 ReLU 激活的两层神经网络的收敛分析” https://arxiv.org/abs/1705.09886