rnn神经网络 层次_RNN原理解析与实现(Keras)

本文介绍了前馈神经网络的局限性,特别是在处理序列数据时的不足,引出了循环神经网络(RNN)的概念。RNN通过引入时间轴,能够处理具有时间依赖性的数据,如自然语言处理中的语义理解。文中详细解析了RNN的结构,包括基本的RNN单元、不同类型的RNN结构(1 to N、N to 1、N to N、N to M)以及RNN的实现过程。此外,还提到了RNN的变体,如双向RNN、堆叠RNN和LSTM、GRU等。最后,展示了如何使用Keras实现一个简单的RNN模型,并进行了训练。
摘要由CSDN通过智能技术生成

为什么要使用RNN

前馈神经网络

前馈神经网络是一种最简单的神经网络,是目前应用最广泛、发展最迅速的人工神经网络之一。

各神经元分层排列,第一层是输入层;然后是隐藏层,其中隐藏层可能会有多层;最后一层为输出层。

层与层之间是全连接的,每层的节点之间是无链接的。

每层的神经元只与前一层的神经元相连,只接受前一层的输出,并传给下一层,各层间没有反馈。

每一层的神经元之间都是相互独立的,如输入层的神经元是彼此独立的。

常见的前馈神经网络有单层前馈神经网络、多层前馈神经网络(DNN、多层感知器)、CNN等。

前馈神经网络的缺陷

前馈神经网络只能单独处理一个个的输入,前一个输入与后一个输入之间没有任何关系,如果碰到需要处理输入之间关系的数据,它们将无法正确的预测输入值,比如下列样例:

球的轨迹(移动过程点的集合)

现有一个球在平面上移动,我们想要预测球的移动方向。

如果使用前馈网络,那么我们把点集输入模型,但是由于它只能处理单独一个个的输入,那么我们就无法根据上一个的信息来预测下一个点的方向(即球的移动方向)。

只能根据被动的根据所有的输入(点)的来预测方向,不清楚点位于第几步,就无法正确的预测方向。如下图:我们知道球的轨迹,却不清楚此时球位于哪一点的位置。

自然语言处理

如果我们输入一句话我吃苹果,想要预测它的语义,那么它会被拆成一个个词输入模型

如果我们不知道它们的顺序,随机处理它们,那么我们就无法正确的预测出这句话的语义

因为:苹果吃我、苹我吃果和我吃苹果是完全不同的语义

RNN的定义

针对上述需要需要按照顺序处理的数据,在原有全连接神经网络的基础上添加了一个时间轴的概念,即诞生了循环神经网络(RNN)

循环神经网络(RNN)是一类用于处理序列数据的神经网络。RNN拥有记忆模块,可以获取以及计算过的信息,记住执行的顺序。即使是同样的输入,如果输入的顺序不同也会产生不同的输出。

RNN的基本结构

神经网络的结构分为输入层、隐藏层、输出层。输入与输出层是处理数据的输入输出的;而隐藏层则对数据进行计算、预测处理。前馈网络与循环网络(RNN)的主要区别就是在隐藏层。

最简前馈神经网络

前馈网络的隐藏层,如果只有一个神经元,则直接处理;如果有多个神经元&#x

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值