一、什么是序列数据
例如:
1.例如股票中的走势,涨跌数据:
2.视频中连续图像:
3.文本序列:
二、什么是循环神经网络:
1. 循环神经网络的定义
循环神经网络(Recurrent Neural Network, RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursive neural network)
循环神经网络:隐藏层的节点之间有连接,是主要用于对序列数据进行分类,预测等处理的神经网络。
2. RNN序列处理
RNN对序列数据处理方式如下,其中灰色部分为隐藏层,绿色部分为输入层,蓝色部分为输出层
3. 最基本的RNN结构
4. 基本RNN计算过程
其中**函数tanh是为了对括号内计算得到的数值进行规范化,如希望规范化至(-1,1)之间,则使用tanh函数。
softmax函数作用:归一化,将一个含有任意实数的k维向量压缩到另一个k维向量中,使得每个元素的范围都在0到1之间,且所有元素的和为1,以满足概率的形式。
关于softmax函数会带来的数值上下溢问题可以参考我的另一份学习笔记:https://blog.csdn.net/weixin_44031260/article/details/103159252
5.RNN的参数共享
共享参数表示RNN的每一步都在做同一件事,只是输入的参数不同而已,这种模式大大降低了网络中需要学习的参数从而有利于改善学习的效率。
然而标准RNN对段信息间隔的效果好,当相关信息间隔较长时,考虑引入LSTM模型以处理序列数据的长期依赖。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:RNN(Recurrent Neural Network)循环神经网络学习笔记 - Python技术站