自学内容网 自学内容网

深度学习:循环神经网络—RNN的原理

传统神经网络存在的问题?  

无法训练出具有顺序的数据。模型搭建时没有考虑数据上下之间的关系。

RNN神经网络

RNN(Recurrent Neural Network,循环神经网络)是一种专门用于处理序列数据的神经网络。在处理序列输入时具有记忆性,可以保留之前输入的信息并继续作为后续输入的一部分进行计算。

RNN的工作原理

隐藏状态更新

输出计算

RNN特点:引入了隐状态h(hidden state)的概念,隐状态h可以对序列形的数据提取特征,接着再转换为输出。

        将初始隐藏状态 h0​ 与参数矩阵 W 相乘,将第一个词向量 x1​ 与参数矩阵U 相乘,两个结果相加,并加上偏置 b。重复上述步骤,将 h1​ 与 W 相乘,将 x2 与 U相乘,相加后加上偏置 b,再通过激活函数 f得到 h2。

        将隐藏状态 ht与一个参数矩阵 V 相乘,然后加上一个偏置 c

        在计算时,每一步使用的参数U、W、b都是一样的,也就是说每个步骤的参数都是共享的,

        RNN结构中输入是x1, x2, .....xn,输出为y1, y2, ...yn,也就是说,输入和输出序列必须要是等长的

RNN的局限:

记忆能力有限, 梯度消失和梯度爆炸,难以捕捉到长期依赖关系

原因是:梯度会随着时间的推移不断下降减少,而当梯度值变得非常小时,就不会继续学习。​


原文地址:https://blog.csdn.net/mohanyelong/article/details/142794171

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!