关于循环神经网络RNN的理解

本文详细介绍了循环神经网络(RNN)的工作原理,包括RNN的结构、梯度消失与梯度爆炸问题,以及LSTM如何解决这些问题。重点讨论了RNN的记忆性和序列性,以及Embedding层的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、关于RNN的理解:        

2、RNN会引起梯度消失和梯度爆炸的原因:

3、以及LSTM可以解决梯度消失和爆炸的原理:

4、RNN的长期依赖问题


1、关于RNN的理解:        

        RNN是两种神经网络模型的缩写,一种是递归神经网络(Recursive Neural Network),一种是循环神经网络(Recurrent Neural Network)。循环神经网络是一种用于处理序列数据的神经网络。相比一般的神经网络来说,他能够处理序列变化的数据。比如某个单词的意思会因为上文提到的内容不同而有不同的含义,RNN就能够很好地解决这类问题。

循环神经网络是指一个随着时间序列的推移,重复发生的结构

什么是序列呢?

个人理解为某个事件在特定条件下按照时间或者空间顺序向后推演的过程,序列的演进方向被称为“时间步(time-step)

RNN具有记忆性和序列性,所以可以用来进行挖掘数据中的时序信息以及语义信息,RNN的过程涉及到权值共享的思想。

================================================================

循环神经网络的结构如下图,展开形式如右图。其中W是每个时间步之间的参数矩阵,在这个网络中W值是相同的(权值共享)。U是输入层 X 到隐藏层S的参数矩阵,V是隐藏层到输出层的参数矩阵,O嘛是输出层。

史上最详细循环神经网络讲解(RNN/LSTM/GRU)举个例子,I love you,那么在利用RNN做一些事情时,比如命名实体识别,上图中的代表的就是I这个单词的向量,  代表的是love这个单词的向量,  代表的是you这个单词的向量,以此类推。最后一刻的隐藏状态包含了输入句子中的所有信息。

RNN之所以可以解决序列问题,是因为它可以记住每一时刻的信息,每一时刻的隐藏层不仅由该时刻的输入层X决定,还由上一时刻的隐藏层S决定。也就是说

RNN的某一个S层需要当前层的输入X和前面一个(S-1)层共同来完成,这也就解释了“递归”。

计算公式如下:其中  O(t)代表t时刻的输出,  S(t)代表t时刻的隐藏层的值 

补充:循环神经网络展开后其实是没有环的!! “循环”指的是A内部的权值共享(步骤相同)计算过程。

A内部的计算过程:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值