循环神经网络RNN

 

在我们开始了解RNN之前,我们先回顾一下前馈神经网络

 

循环神经网络RNN_第1张图片

 

前馈神经网络接收前一层的输入,并传递给下一层,但是同一层之间没有反馈。前馈神经网络的传播是单向的,但是,某些任务需要能够更好的处理序列信息,即前面的输入和后面的输入有关系,比如语音识别、自然语音处理等等。

 

    循环神经网络(英文名Recurrent Neural Networks,简称 RNN)是一种通过隐藏层节点周期性的连接,来捕捉序列化数据中动态信息的神经网络,可以对序列化的数据进行分类。

循环神经网络RNN_第2张图片

 

和其他前向神经网络不同,RNN 可以保存一种上下文的状态,甚至能够在任意长的上下文窗口中存储、学习、表达相关信息,而且不再局限于传统神经网络在空间上的边界,可以在时间序列上有延拓。

 

RNN 广泛应用在和序列有关的场景,如一帧帧图像组成的视频,一个个片段组成的音频,和一个个词汇组成的句子。 

为了便于我们对RNN结构的理解和分析,我们将RNN结构进行展开,如下图所示:

循环神经网络RNN_第3张图片

 

我们可以发现,Xt-1输入后会得到一个权重计算的结果,这个结果一方面会返回到下一层,另一方面会返回到相邻的同一层,并且和Xt进行权重计算。从中我们可以看出,RNN可以被看作是同一个神经网络的多次赋值,每个神经网络模块会把消息传递给下一个。

 

RNN适用的场景

RNN适用的场景无外乎主要有两个:

1.不太长的相关信息和位置信息

2.适用于需要连接前面短期内的信息到当前的任务上

 

你可能感兴趣的:(深度学习,神经网络,人工智能,深度学习)