我读到函数仅在可微分时才用作激活函数。那么单位步长激活函数呢?那么,是否有任何其他原因可以将函数用作激活函数(除了可微分)?
什么样的函数可以用作激活函数?
人工智能
神经网络
机器学习
激活函数
2021-10-23 08:01:49
2个回答
不完全确定你的问题。你的意思是
Q. 为什么要使用激活函数?
Ans:我们需要在网络中引入非线性。否则,多层网络与单层网络没有区别。(很明显,当我们以矩阵形式写东西时,当我们有两个带权重的层时和,两层和单层没有区别,有权重.
问:为什么它们需要可微分?
Ans:只是为了我们可以将梯度反向传播回更早的层。请注意,反向传播只不过是微积分中的链式法则。说是一层中的激活函数,该激活函数的输出为输入是, 在哪里是上一层的输出并与权重混合在当前层。当然,最后的损失将取决于. 说,亏不知何故。训练权重,我们必须找到梯度这样我们就可以调整体重尽量减少. 但. 这些乘积项中的每一个都可以在本地计算,并且在我们应用反向传播时会累积相乘。并注意中期只是“导数”,因此我们要求激活函数是可微的和“信息丰富的”/非零(至少在大多数情况下)。请注意,ReLU 并非处处可微,这就是为什么研究人员(至少 Yoshua Bengio)在首次尝试采用 ReLU 时担心这一点。你可以查看 Andrew Ng 对 Bengio 的采访。
问:为什么阶跃函数是一个不好的激活函数?
回答:请注意,阶跃函数几乎在任何地方都是可微的,但不是“信息丰富”。对于可微分的地方(平坦区域),导数为零。因此,任何后面的层梯度(信息)在通过阶跃函数激活函数时都会被截断。
激活函数的可微性是可取的,但不是必需的,因为您可以在不可微分点重新构造导数,就像在 ReLU 的情况下一样。
所需属性:
- 为了利用通用逼近定理,并利用它所承诺的建模能力,激活函数需要是连续的或 Borel 可测量的(如果这个术语令人困惑,只需将其视为常见函数)、可区分的(类似的区分意味着函数在集成另一个函数时并不总是产生 0)和非多项式(非线性)。
- 此外,随着最近的研究工作,让它单调增加是有益的。
最近对激活函数的理论分析为 ReLU 提供了一些初步的理论保证,例如“具有 ReLU 激活的两层神经网络的收敛分析” https://arxiv.org/abs/1705.09886。
其它你可能感兴趣的问题