【Deep Learning笔记】循环神经网络

在这里插入图片描述

循环神经元(Recurrent Neuron)

循环神经元是在T时间内将神经元的输出发送回给它。如果你看图,输出将返回输入t次。展开的神经元看起来像连接在一起的t个不同的神经元。这个神经元的基本优点是它给出了更广义的输出。

循环神经网络(RNN)

循环神经网络特别用于顺序数据,其中先前的输出用于预测下一个输出。在这种情况下,网络中有循环。隐藏神经元内的循环使他们能够存储有关前一个单词的信息一段时间,以便能够预测输出。隐藏层的输出在t时间戳内再次发送到隐藏层。展开的神经元看起来像上图。只有在完成所有的时间戳后,循环神经元的输出才能进入下一层。发送的输出更广泛,以前的信息保留的时间也较长。

然后根据展开的网络将错误反向传播以更新权重。这被称为通过时间的反向传播(BPTT)。

消失梯度问题(Vanishing Gradient Problem)

激活函数的梯度非常小的情况下会出现消失梯度问题。在权重乘以这些低梯度时的反向传播过程中,它们往往变得非常小,并且随着网络进一步深入而“消失”。这使得神经网络忘记了长距离依赖。这对循环神经网络来说是一个问题,长期依赖对于网络来说是非常重要的。

这可以通过使用不具有小梯度的激活函数ReLu来解决。

激增梯度问题(Exploding Gradient Problem)

这与消失的梯度问题完全相反,激活函数的梯度过大。在反向传播期间,它使特定节点的权重相对于其他节点的权重非常高,这使得它们不重要。这可以通过剪切梯度来轻松解决,使其不超过一定值。

发布了650 篇原创文章 · 获赞 190 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_43838785/article/details/104441941