如何解决如果我们主要使用 LSTMs 而不是 RNNs 来解决梯度消失问题,为什么我们不能只使用带有 RNNs 的 ReLUs/leaky ReLUs 来代替?
我们都知道当我们使用带有 sigmoid 的深度神经网络时会出现梯度消失问题,如果我们使用 relu ,它可以解决这个问题,但它会产生死神经元问题,然后它会通过leaky relu 解决。如果 RNN 中存在梯度消失问题,为什么我们转向 LSTM。为什么我们不能只使用 relu 来解决它。
解决方法
这不仅仅是消失的梯度,RNN 还发现自己面临梯度爆炸的问题(因为输出不断地再次作为输入重新获得馈送,导致梯度的指数膨胀或收缩)。
您说得对,leaky relu 可能是梯度消失问题的解决方案,但是对于 ReLU 和 Leaky ReLU,会出现梯度爆炸(梯度爆炸)的问题,这在前馈神经网络中并不普遍。因为如果你看到一个相当深的前馈神经网络的深度,它与 RNN 的深度相比仍然很小(几乎没有),RNN 本质上非常深,因此出现了梯度爆炸的问题。这就是我们避免使用 ReLU 并使用 Tanh 激活的原因,如果您可能会问为什么不使用 sigmoid?因为(如果您同时查看 sigmoid 和 Tanh 的梯度图),双曲正切比 sigmoid 具有更好的梯度:
σ′(x)=σ(x)(1−σ(x))≤0.25
tanh′(x)=sech2(x)=2exp(x)+exp(−x))≤1.0
尽管如此,您的直觉是正确的,即带有 RNN 的 ReLU 可以成为那些花哨的 LSTM 和 GRU 的竞争者,但是,我相信许多研究人员尝试过这种组合,但需要付出太多努力(仔细权重初始化,谨慎处理学习率),这是不值得的,并且与 LSTM/GRU 相比没有任何好处。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。