循环神经网络(RNN):原理、实现与应用
1. 序贯数据与RNN概述
序贯数据预测问题并不都与时间序列相关。例如,自然语言句子的自动补全,预测句子中的下一个单词更多是识别已写但未完成句子的最可能结尾,而非预测未来。为简化讨论,我们通常将RNN的输入视为按时间顺序排列,但实际上RNN可应用于任何序贯数据。RNN旨在解决预测序列中下一个值或符号的问题,无论该序列代表什么。RNN可用于序列预测,且能处理可变长度的输入数据。
2. 前馈网络的局限性
2.1 简单前馈网络预测销售
解决销售预测问题的一个初步想法是使用带有线性输出单元的全连接前馈网络。我们将本月的图书销售额(可选地,还有其他商品的销售额)进行标准化处理,然后将这些数值提供给网络,期望网络能利用这些数据学习输出下个月的图书需求。然而,这种方法可能效果不佳,因为提供给网络的信息有限。销售数据可能具有季节性,网络需要访问多个历史数据点才能捕捉到季节性模式。
2.2 利用历史数据的前馈网络
另一种尝试是将历史值整理成输入向量并提供给前馈网络,该网络输出下个月图书销售的预测值。这似乎是一个更有前景的方法,但除非我们创建一个无限宽的输入层,否则网络仍无法访问所有历史数据,这显然不切实际。一种解决方法是计算遥远历史数据点的移动平均值,并将其作为输入提供给网络。此外,还可以跟踪观察到的最大值和最小值,并将它们作为输入提供给网络。更好的方法是让网络学习历史数据的内部表示,这是RNN的一个关键特性。
3. 循环神经网络(RNN)
3.1 RNN的基本结构
一个简单的RNN可以通过将全连接层的输出连接到同一层
超级会员免费看
订阅专栏 解锁全文
3367

被折叠的 条评论
为什么被折叠?



