深度学习4. 循环神经网络 – Recurrent Neural Network | RNN

这篇具有很好参考价值的文章主要介绍了深度学习4. 循环神经网络 – Recurrent Neural Network | RNN。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

循环神经网络 – Recurrent Neural Network | RNN

为什么需要 RNN ?独特价值是什么?

RNN 的基本原理

RNN 的优化算法

RNN 到 LSTM – 长短期记忆网络

从 LSTM 到 GRU

RNN 的应用和使用场景

总结

百度百科+维基百科


循环神经网络 – Recurrent Neural Network | RNN

为什么需要 RNN ?独特价值是什么?

卷积神经网络和普通的算法大部分都是输入和输出的一一对应,也就是一个输入得到一个输出。不同的输入之间是没有联系的。

但是在某些场景中,一个输入就不够了!

为了填好下面的空,取前面任何一个词都不合适,我们不但需要知道前面所有的词,还需要知道词之间的顺序。

这种需要处理「序列数据 – 一串相互依赖的数据流」的场景就需要使用 RNN 来解决了。

典型的集中序列数据:

  1. 文章里的文字内容
  2. 语音里的音频内容
  3. 股票市场中的价格走势
  4. ……

RNN 之所以能够有效的处理序列数据,主要是基于他的比较特殊的运行原理。下面给大家介绍一下 RNN 的基本运行原理。

RNN 的基本原理

传统神经网络的结构比较简单:输入层 – 隐藏层 – 输出层。如下图所示:

深度学习4. 循环神经网络 – Recurrent Neural Network | RNN,2023 AI,深度学习,rnn,人工智能

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

深度学习4. 循环神经网络 – Recurrent Neural Network | RNN,2023 AI,深度学习,rnn,人工智能

下面用一个具体的案例来看看 RNN 是如何工作的:

假如需要判断用户的说话意图(问天气、问时间、设置闹钟…),用户说了一句“what time is it?”我们需要先对这句话进行分词:

深度学习4. 循环神经网络 – Recurrent Neural Network | RNN,2023 AI,深度学习,rnn,人工智能

然后按照顺序输入 RNN ,我们先将 “what”作为 RNN 的输入,得到输出「01」

深度学习4. 循环神经网络 – Recurrent Neural Network | RNN,2023 AI,深度学习,rnn,人工智能

然后,我们按照顺序,将“time”输入到 RNN 网络,得到输出「02」。

这个过程我们可以看到,输入 “time” 的时候,前面 “what” 的输出也产生了影响(隐藏层中有一半是黑色的)。

深度学习4. 循环神经网络 – Recurrent Neural Network | RNN,2023 AI,深度学习,rnn,人工智能

以此类推,前面所有的输入都对未来的输出产生了影响,大家可以看到圆形隐藏层中包含了前面所有的颜色。如下图所示:

深度学习4. 循环神经网络 – Recurrent Neural Network | RNN,2023 AI,深度学习,rnn,人工智能

当我们判断意图的时候,只需要最后一层的输出「05」,如下图所示:

深度学习4. 循环神经网络 – Recurrent Neural Network | RNN,2023 AI,深度学习,rnn,人工智能

RNN 的缺点也比较明显

深度学习4. 循环神经网络 – Recurrent Neural Network | RNN,2023 AI,深度学习,rnn,人工智能

通过上面的例子,我们已经发现,短期的记忆影响较大(如橙色区域),但是长期的记忆影响就很小(如黑色和绿色区域),这就是 RNN 存在的短期记忆问题。

  1. RNN 有短期记忆问题,无法处理很长的输入序列
  2. 训练 RNN 需要投入极大的成本

由于 RNN 的短期记忆问题,后来又出现了基于 RNN 的优化算法,下面给大家简单介绍一下。

RNN 的优化算法

RNN 到 LSTM – 长短期记忆网络

RNN 是一种死板的逻辑,越晚的输入影响越大,越早的输入影响越小,且无法改变这个逻辑。

LSTM 做的最大的改变就是打破了这个死板的逻辑,而改用了一套灵活了逻辑——只保留重要的信息。

简单说就是:抓重点!(很多核心算法就是改权重:抓大放小)

深度学习4. 循环神经网络 – Recurrent Neural Network | RNN,2023 AI,深度学习,rnn,人工智能

举个例子,我们先快速的阅读下面这段话:

深度学习4. 循环神经网络 – Recurrent Neural Network | RNN,2023 AI,深度学习,rnn,人工智能

当我们快速阅读完之后,可能只会记住下面几个重点:

深度学习4. 循环神经网络 – Recurrent Neural Network | RNN,2023 AI,深度学习,rnn,人工智能

 

LSTM 类似上面的划重点,他可以保留较长序列数据中的「重要信息」,忽略不重要的信息。这样就解决了 RNN 短期记忆的问题。

从 LSTM 到 GRU

Gated Recurrent Unit – GRU 是 LSTM 的一个变体。他保留了 LSTM 划重点,遗忘不重要信息的特点,在long-term 传播的时候也不会被丢失。

深度学习4. 循环神经网络 – Recurrent Neural Network | RNN,2023 AI,深度学习,rnn,人工智能

GRU 主要是在 LSTM 的模型上做了一些简化和调整,在训练数据集比较大的情况下可以节省很多时间。

RNN 的应用和使用场景

只要涉及到序列数据的处理问题,都可以使用到,NLP 就是一个典型的应用场景。

深度学习4. 循环神经网络 – Recurrent Neural Network | RNN,2023 AI,深度学习,rnn,人工智能

文本生成:类似上面的填空题,给出前后文,然后预测空格中的词是什么。

机器翻译:翻译工作也是典型的序列问题,词的顺序直接影响了翻译的结果。

语音识别:根据输入音频判断对应的文字是什么。

生成图像描述:类似看图说话,给一张图,能够描述出图片中的内容。这个往往是 RNN 和 CNN 的结合。

深度学习4. 循环神经网络 – Recurrent Neural Network | RNN,2023 AI,深度学习,rnn,人工智能

 

视频标记:他将视频分解为图片,然后用图像描述来描述图片内容。

总结

RNN的独特价值在于:它能有效的处理序列数据。比如:文章内容、语音音频、股票价格走势…

之所以他能处理序列数据,是因为在序列中前面的输入也会影响到后面的输出,相当于有了“记忆功能”。但是 RNN 存在严重的短期记忆问题,长期的数据影响很小(哪怕他是重要的信息)。

于是基于 RNN 出现了 LSTM 和 GRU 等变种算法。这些变种算法主要有几个特点:

  1. 长期信息可以有效的保留
  2. 挑选重要信息保留,不重要的信息会选择“遗忘”

RNN 几个典型的应用如下:

  1. 文本生成
  2. 语音识别
  3. 机器翻译
  4. 生成图像描述
  5. 视频标记

循环神经网络(Recurrent Neural Network, RNN)

是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接形成闭合回路的递归神经网络(recursive neural network)。

对循环神经网络的研究始于二十世纪80-90年代,并在二十一世纪初发展为重要的深度学习(deep learning)算法 ,其中双向循环神经网络(Bidirectional RNN, Bi-RNN)和长短期记忆网络(Long Short-Term Memory networks,LSTM)是常见的的循环神经网络。

循环神经网络具有记忆性、参数共享并且图灵完备(Turing completeness),因此能以很高的效率对序列的非线性特征进行学习。循环神经网络在自然语言处理(Natural Language Processing, NLP),例如语音识别、语言建模、机器翻译等领域有重要应用,也被用于各类时间序列预报或与卷积神经网络(Convoutional Neural Network,CNN)相结合处理计算机视觉问题。

循环神经网络(RNN)是一类神经网络,其中节点之间的连接形成一个有向图沿着序列。这允许它展示时间序列的时间动态行为。与前馈神经网络不同,RNN可以使用其内部状态(存储器)来处理输入序列。这使它们适用于诸如未分段,连接手写识别或语音识别等任务。

术语“递归神经网络”被不加选择地用于指代具有类似一般结构的两大类网络,其中一个是有限脉冲而另一个是无限脉冲。两类网络都表现出时间动态行为。有限脉冲递归网络是一种有向无环图,可以展开并用严格的前馈神经网络代替,而无限脉冲循环网络是一种无法展开的有向循环图。

有限脉冲和无限脉冲周期性网络都可以具有额外的存储状态,并且存储可以由神经网络直接控制。如果存储包含时间延迟或具有反馈循环,则存储也可以由另一个网络或图表替换。这种受控状态称为门控状态或门控存储器,并且是长短期存储器网络(LSTM)和门控循环单元的一部分。文章来源地址https://www.toymoban.com/news/detail-674816.html

到了这里,关于深度学习4. 循环神经网络 – Recurrent Neural Network | RNN的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深度学习笔记之循环神经网络(十)基于循环神经网络模型的简单示例

    本节我们将前面介绍的几种 循环神经网络 —— RNN,LSTM,GRU text{RNN,LSTM,GRU} RNN,LSTM,GRU 关于实例中的一个演示,但重点并不仅在于这些模型,这里以 示例 的形式对 One-hot text{One-hot} One-hot 向量 重新进行认知 。 自然语言 ( Natural Language ) (text{Natural Language}) ( Natural Language ) 是人类

    2024年02月07日
    浏览(52)
  • 深度学习实践——循环神经网络实践

    系列实验 深度学习实践——卷积神经网络实践:裂缝识别 深度学习实践——循环神经网络实践 深度学习实践——模型部署优化实践 深度学习实践——模型推理优化练习 代码可见于:https://download.csdn.net/download/weixin_51735061/88131380?spm=1001.2014.3001.5503 **方法:**实验主要通过pyt

    2024年02月15日
    浏览(38)
  • 【AI】深度学习——循环神经网络

    神经元不仅接收其他神经元的信息,也能接收自身的信息。 循环神经网络(Recurrent Neural Network,RNN)是一类具有短期记忆能力的神经网络,可以更方便地建模长时间间隔的相关性 常用的参数学习可以为BPTT。当输入序列比较长时,其计算时间和空间要求随时间线性增长,可以

    2024年02月07日
    浏览(140)
  • 机器学习&&深度学习——循环神经网络RNN

    👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习深度学习—语言模型和数据集 📚订阅专栏:机器学习深度学习 希望文章对你们有所帮助 在之前介绍了n元语法模型,其中单词xt在时间步t的概率仅取决于前n-1个单词。对于时间步t-(n-1)之前

    2024年02月13日
    浏览(54)
  • 深度学习(2)---循环神经网络(RNN)

     1. 在深度学习中,序列数据(Sequence data)是指具有 前后顺序关联 的数据。常见的时间序列数据、文本数据(单词序列或字符序列)、语音数据等。这种数据不仅十分常见,而且往往具有很高的应用价值,比如我们可以通过过去的天气数据来预测未来的天气状况,通过以往

    2024年02月07日
    浏览(50)
  • 深度学习05-RNN循环神经网络

    循环神经网络(Recurrent Neural Network,RNN)是一种具有循环连接的神经网络结构,被广泛应用于自然语言处理、语音识别、时序数据分析等任务中。相较于传统神经网络,RNN的主要特点在于它可以处理序列数据,能够捕捉到序列中的时序信息。 RNN的基本单元是一个循环单元(

    2024年02月12日
    浏览(46)
  • 深度学习05-CNN循环神经网络

    循环神经网络(Recurrent Neural Network,RNN)是一种具有循环连接的神经网络结构,被广泛应用于自然语言处理、语音识别、时序数据分析等任务中。相较于传统神经网络,RNN的主要特点在于它可以处理序列数据,能够捕捉到序列中的时序信息。 RNN的基本单元是一个循环单元(

    2024年02月11日
    浏览(40)
  • 《动手学深度学习》学习笔记 第9章 现代循环神经网络

    书籍链接: 动手学深度学习 笔记是从第四章开始,前面三章为基础知识,有需要的可以自己去看看 关于本系列笔记: 书里为了让读者更好的理解,有大篇幅的描述性的文字,内容很多,笔记只保留主要内容,同时也是对之前知识的查漏补缺 《动手学深度学习》学习笔记 第

    2024年01月18日
    浏览(54)
  • 深度学习基础:循环神经网络中的长期依赖问题

    在深度学习中,循环神经网络(RNN)是一种经典的模型,用于处理序列数据,如自然语言处理、时间序列预测等任务。然而,传统的RNN存在着一个长期依赖问题,即在处理长序列时,模型往往难以捕捉到序列中远距离的依赖关系,导致性能下降。在本文中,我们将介绍长期依

    2024年04月28日
    浏览(40)
  • 深度学习实战——循环神经网络(RNN、LSTM、GRU)

           忆如完整项目/代码详见github: https://github.com/yiru1225 (转载标明出处 勿白嫖 star for projects thanks) 目录 系列文章目录 一、实验综述 1.实验工具及内容 2.实验数据 3.实验目标 4.实验步骤 二、循环神经网络综述 1.循环神经网络简介 1.1 循环神经网络背景 1.2 循环神经网络

    2023年04月24日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包