机器学习——循环神经网络(RNN)

相关文章链接:

        机器学习——人工神经网络(NN)

        机器学习——卷积神经网络(CNN)

        机器学习——长短期记忆(LSTM)

        机器学习——决策树(decision tree)

        机器学习——随机森林(Random forest)

        机器学习——梯度提升决策树(GBDT)

        机器学习——XGboost模型

一、概述

循环神经网络(Recurrent Neural Network, RNN)一般是指时间递归神经网络而非结构递归神经网络 (Recursive Neural Network),其主要用于对序列数据进行建模。

RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。理论上,RNN能够对任何长度的序列数据进行处理。但是在实践中,为了降低复杂性往往假设当前的状态只与前面的几个状态相关。

二、与传统神经网络的区别

传统神经网络(包括CNN),输入和输出都是互相独立的。如图像上的猫和狗是分隔开的,但有些任务,后续的输出和之前的内容是相关的。例如:我是中国人,我的母语是____。这是一道填空题,需要依赖之前的输入。

RNN引入“记忆”的概念,也就是输出需要依赖之前的输入序列,并把关键输入记住。循环2字来源于其每个元素都执行相同的任务。它并刚性地记忆所有固定长度的序列,而是通过隐藏状态来存储之前时间步的信息

RNN跟传统神经网络最大的区别在于每次都会将前一次的输出结果,带到下一次的隐藏层中,一起训练。如下图所示:

RNN运行原理

三、基本原理

基本循环神经网络结构:一个输入层、一个隐藏层和一个输出层。

循环网络结构图

x是输入层的值。s表示隐藏层的值,U是输入层到隐藏层的权重矩阵,O是输出层的值。V是隐藏层到输出层的权重矩阵。循环神经网络的隐藏层的值s不仅仅取决于当前这次的输入x,还取决于上一次隐藏层的值s。权重矩阵W就是隐藏层上一次的值作为这一次的输入的权重。

四、RNN的多种结构

RNN有五种结构。

RNN的五种结构

(1)one to one:

最基本的单层网络,输入是x,经过变换Wx+b和激活函数f得到输出y。

 (2)one to n:

(3)n to n:

 (4)n to one:

(5)n to m:

 

五、应用领域

RNN常见应用有:

  1. 机器翻译:寻找相同的意义序列在不同语言中的表达。
  2. 诗歌生成:基于一个主题按照一定的规律输出有逻辑的词语序列。
  3. 生成图像描述:改变两端的信息类型,输入图片,输出句子。
  4. 语言识别、语音生成:声音信号按时间顺序组成的序列。
  5. 股票预测等。

六、缺陷

(1)RNN是一种死板的逻辑,越晚的输入影响越大,越早的输入影响越小,且无法改变这个逻辑。短期的记忆影响较大,但是长期的记忆影响就很小,这就是RNN存在的短期记忆问题,无法处理很长的输入序列。

(2)训练RNN需要投入极大的成本。

由于RNN的短期记忆问题,后来又出现了基于RNN的优化算法—LSTM。

循环神经网络(RNN)是一种神经网络结构,用于处理序列数据。传统的前馈神经网络不同,RNN具有循环连接,使得信息可以在网络中传递并保持记忆。RNN的每个时间步都接收一个输入和一个隐藏状态,然后根据当前输入和前一个时间步的隐藏状态计算当前时间步的输出和新的隐藏状态。这种循环结构使得RNN能够对序列数据进行建模和预测。\[1\] RNN的结构可以通过展开图来表示,其中每个时间步都对应一个神经元。在标准的RNN结构中,隐藏层的神经元之间也存在权重连接,使得前面的隐藏状态可以影响后面的隐藏状态。这种权值共享的特点使得RNN能够处理不同长度的序列数据,并且能够捕捉到序列中的时间依赖关系。\[3\] RNN的训练过程通常使用误差值的反向传播和梯度下降算法来更新权重。然而,前馈神经网络不同,RNN的训练过程需要考虑时间上的依赖关系,因此标准的反向传播算法无法直接应用于RNN。\[2\] 总之,循环神经网络(RNN)是一种具有循环连接的神经网络结构,用于处理序列数据,并能够捕捉到序列中的时间依赖关系。它的训练过程需要考虑时间上的依赖关系,并使用误差值的反向传播和梯度下降算法来更新权重。 #### 引用[.reference_title] - *1* *3* [[深度学习-原理篇]什么是循环神经网络RNNLSTM](https://blog.youkuaiyun.com/keeppractice/article/details/107373069)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [新手你还在苦苦学习神经网络?看完本文相信你必会恍然大悟](https://blog.youkuaiyun.com/m0_37971088/article/details/81167475)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白天数糖晚上数羊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值