gpt4 book ai didi

machine-learning - 人工神经网络-为什么隐藏层通常使用 sigmoid 激活函数而不是 tanh-sigmoid 激活函数?

转载 作者:行者123 更新时间:2023-11-30 09:08:59 28 4
gpt4 key购买 nike

为什么隐藏层中主要选择 log-sigmoid 激活函数而不是 tanh-sigmoid 激活函数?另外,如果我使用 Z 分数归一化,我可以在隐藏层中使用 sigmoid 激活函数吗?

最佳答案

古代历史

使用 sigmoid 函数的动机历史上是出于物理动机。第一个神经网络,在很早的时候,实际上使用了阶跃函数

enter image description here

其动机是,这就是神经元在大脑中的工作方式,至少在当时是这样理解的。在某个固定的激活能量下,神经元“激活”,从不活动 (0) 变为事件 (1)。然而,这些网络很难训练,而且标准范式也是物理驱动的,例如“经常使用的神经元会获得更强的连接”。这适用于非常小的网络,但根本无法扩展到更大的网络。

梯度下降和 sigmoid 的出现

在 80 年代,当人们发现可以使用梯度下降来训练神经网络时,神经网络发生了一场轻微的革命。这使得网络能够扩展到更大的规模,但它也意味着步骤激活的结束,因为它是不可微分的。然而,考虑到阶跃激活的悠久历史及其合理的物理动机,人们对于完全放弃它犹豫不决,因此用 sigmoid 函数来近似它,该函数具有其许多特征,但在 0 附近可微。

后来,人们开始使用 tanh 函数,因为它以零为中心,在某些情况下提供了更好的特性。

革命

然后在 2000 年,《自然》杂志上发表了一篇开创性的论文,建议使用 ReLU激活函数:

enter image description here

这是由早期激活函数的问题引起的,但最重要的是速度以及它不受 vanishing gradient problem 影响的事实。 。从那时起,基本上所有顶级神经网络研究都在使用 ReLU 激活或其细微变化。

唯一的异常(exception)可能是循环网络,其中输出作为输入反馈。在这些情况下,使用 ReLU 等无界激活函数会很快导致结果爆炸,而在这些情况下人们仍然使用 sigmoid 和/或 tanh。

关于machine-learning - 人工神经网络-为什么隐藏层通常使用 sigmoid 激活函数而不是 tanh-sigmoid 激活函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45113646/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com