语境
我想知道为什么 LSTM 单元中有 sigmoid 和 tanh 激活函数。
我的直觉是基于流动的tanh(x)*sigmoid(x)
和导数tanh(x)*sigmoid(x)
在我看来,作者想要选择这样的函数组合,因为我们可以使用标准化数据和权重,所以导数可能会在 0 附近产生很大的变化。另一件事是,对于正值,输出将变为 1,对于负值,输出将变为 0,这很方便。
另一方面,我们在遗忘门中使用 sigmoid 似乎很自然,因为我们希望更好地关注重要数据。我只是不明白为什么输入门中不能只有一个 sigmoid 函数。
其他来源
我在网上找到的是这篇文章,作者声称:
为了克服梯度消失的问题,我们需要一种方法,其二阶导数可以在变为零之前维持 > 很长一段时间。Tanh 是一个很好的函数,它具有上述所有属性。
但是,他没有解释为什么会这样。
另外,我在这里找到了相反的说法,作者说激活函数的二阶导数应该为零,但是,没有证据证明这一说法。
问题
加起来:
- 为什么我们不能在输入门上放置一个只有 sigmoid 的信号?
tanh(x)*sigmoid(x)
为什么输入和输出门都有信号?