经常性的神经网络(RNN)是一种在苹果Siri和Google的语音搜索等应用程序中使用的强大类型人工神经网络(ANN)。它们通过内部记忆保留过去输入的独特能力使它们非常适合诸如股票价格预测,文本生成,转录和机器翻译等任务。与输入和输出是独立的传统神经网络不同,RNN输出取决于序列中的先前元素。此外,RNN在跨网络层共享参数,从而在梯度下降期间优化了重量和偏差调整。
上图说明了基本的RNN。在股票价格预测方案中,使用[45、56、45、49、50,...]之类的数据,每个输入(x0至XT)都包含了过去的值。例如,X0为45,X1为56,这些值有助于预测下一个序列元素。
在RNN中,信息通过循环循环,使输出成为当前输入和先前输入的函数。
输入层(x)处理初始输入,将其传递到中间层(a),其中包含具有激活功能,权重和偏见的多个隐藏图层。这些参数在隐藏的层上共享,创建一个单个循环图层,而不是多个不同的层。 RNNS通过时间(BPTT)而不是传统的反向传播来计算梯度。由于共享参数,BPTT在每个时间步长汇总错误。
与具有单个输入和输出的FeedForward网络不同,RNN提供的输入和输出长度具有灵活性。这种适应性使RNN可以处理各种任务,包括音乐生成,情感分析和机器翻译。存在四种主要类型:
卷积神经网络(CNN)是馈电网络处理空间数据(如图像),通常在计算机视觉中使用。简单的神经网络与图像像素依赖性抗争,而CNN则凭借其卷积,恢复,汇总和完全连接的层在这一领域中表现出色。
关键差异:
简单的RNN面临与梯度有关的两个主要挑战:
解决方案包括减少隐藏层或使用LSTM和GRU等高级体系结构。
简单的RNN遭受短期内存限制。 LSTM和GRU通过在长时间内保留信息来解决此问题。
本节详细介绍了一个使用LSTM和GRU预测万事达卡股价的项目。该代码利用Pandas,Numpy,Matplotlib,Scikit-Learn和TensorFlow等库。
(此处省略了原始输入中的详细代码示例。
MinMaxScaler
进行扩展,然后重塑模型输入。混合CNN-RNN网络越来越多地用于需要空间和时间理解的任务。本教程提供了对LSTM和GRU等高级体系结构提供的RNN,其局限性和解决方案的基本理解。该项目证明了LSTM和GRU在股票价格预测中的应用,在此特定情况下强调了GRU的出色表现。完整的项目可在Datacamp Workspace上找到。
切记替换https://www.php.cn/link/cc6a6632b380f3f6a1c54b1222cd96c2
和https://www.php.cn/link/8708107b2ff5de15d0244471ae041fdb
假定图像URL是正确且可访问的。
以上是经常性神经网络教程(RNN)的详细内容。更多信息请关注PHP中文网其他相关文章!