By:Yang Liu 1.什么是RNN 循环神经网络(Recurrent Neural Network, RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursive neural network)。 2.RNN的结构 经典结构 循环结构: 按时间线展开如下图: Xt:表示t时刻的输入,ot:表示t时刻的输出,St:表示t时刻的记忆 用公式可表示为: 3.RNN的作用 (1)RNN引入定向循环,能够处理那些输入之间前后关联的问题。打破了传统神经网络结构层与层之间全连接,每层节点之间无连接的转态,不在是输入-隐层-输出的模式。 (2)多输入多输出,可用于机器翻译。 (3)单输入多输出,可用于看图说话。 (4)多输入单输出,可用于分类。 如:计算视频中每一帧的分类标签。输入为字符,输出为下一个字符的概率。 4.RNN的特点 (1)隐层节点之间可以互连也可以自连 (2)网络共享权重U、V、W (3)RNN网络中,每一步的输出不是必须的,每一步的输入也不是必须的。 5.RNN的小结 RNN主要用于处理序列数据;例如,如果你想写一个文档,单词的顺序很重要,当前的单词肯定取决于以前的单词。 思想上认为当前的输出与前面的输入也有关系,具体做法是网络会对前面的信息进行记忆,并应用于当前输出的计算中,即隐层之间的节点不再无连接,并且隐层的输入不仅包括输入层的输出,还包括上一时刻隐层的输出。 RNN训练主要采用BP误差反向传播算法、梯度下降算法。 参考文献: (1)https://blog.csdn.net/john_bh/article/details/80353436 (2)https://blog.csdn.net/zhaojc1995/article/details/80572098 (3)https://blog.csdn.net/qq_39422642/article/details/78676567 (4)https://zhuanlan.zhihu.com/p/30844905