循环神经网络(RNN, Recurrent Neural Networks)——无非引入了环,解决时间序列问题
2023-09-14 09:11:55 时间
摘自:http://blog.csdn.net/heyongluoyao8/article/details/48636251
不同于传统的FNNs(Feed-forward Neural Networks,前向反馈神经网络),RNNs引入了定向循环,能够处理那些输入之间前后关联的问题。定向循环结构如下图所示:
该tutorial默认读者已经熟悉了基本的神经网络模型。如果不熟悉,可以点击:Implementing A Neural Network From Scratch进行学习。
什么是RNNs
RNNs的目的使用来处理序列数据。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNNs之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。理论上,RNNs能够对任何长度的序列数据进行处理。但是在实践中,为了降低复杂性往往假设当前的状态只与前面的几个状态相关,下图便是一个典型的RNNs:
相关文章
- 处理医学时间序列中缺失数据的3种方法
- Matlab用深度学习循环神经网络RNN长短期记忆LSTM进行波形时间序列数据预测|附代码数据
- 【Kotlin】函数式编程 ③ ( 早集合与惰性集合 | 惰性集合-序列 | generateSequence 序列创建函数 | 序列代码示例 | take 扩展函数分析 )
- oracle创建表,序列,触发器,自动生成唯一主键详解数据库
- Oracle中创建序列的技巧(oracle序列创建)
- 利用Oracle循环序列实现快速增量(oracle循环序列)
- 值Oracle取序列值的简单操作(oracle取序列)
- 使用Oracle中的序列伪列获取定制ID(oracle中的序列伪列)
- 在Oracle中使用序列实现声明的功能(oracle中声明序列)
- C语言使用普通循环方法和递归求斐波那契序列示例代码
- C++实现二叉树遍历序列的求解方法
- python基础教程之序列详解