0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

神经网络中最经典的RNN模型介绍

Dbwd_Imgtec 来源:人工智能与算法学习 作者:人工智能与算法学 2021-05-10 10:22 次阅读

神经网络深度学习的载体,而神经网络模型中,最经典非RNN模型所属,尽管它不完美,但它具有学习历史信息的能力。后面不管是encode-decode 框架,还是注意力模型,以及自注意力模型,以及更加强大的Bert模型家族,都是站在RNN的肩上,不断演化、变强的。

这篇文章,阐述了RNN的方方面面,包括模型结构,优缺点,RNN模型的几种应用,RNN常使用的激活函数,RNN的缺陷,以及GRU,LSTM是如何试图解决这些问题,RNN变体等。

这篇文章最大特点是图解版本,其次语言简练,总结全面。

概述

传统RNN的体系结构。Recurrent neural networks,也称为RNNs,是一类允许先前的输出用作输入,同时具有隐藏状态的神经网络。它们通常如下所示:

7fe7268e-b0f0-11eb-bf61-12bb97331649.png

对于每一时步, 激活函数 ,输出被表达为:

7ff32b82-b0f0-11eb-bf61-12bb97331649.png

7fff71c6-b0f0-11eb-bf61-12bb97331649.png

这里8017485a-b0f0-11eb-bf61-12bb97331649.png是时间维度网络的共享权重系数  是激活函数

8020a5d0-b0f0-11eb-bf61-12bb97331649.png

下表总结了典型RNN架构的优缺点:

处理任意长度的输入 计算速度慢
模型形状不随输入长度增加 难以获取很久以前的信息
计算考虑了历史信息 无法考虑当前状态的任何未来输入
权重随时间共享
优点 缺点

RNNs应用

RNN模型主要应用于自然语言处理和语音识别领域。下表总结了不同的应用:

1对1

802ca506-b0f0-11eb-bf61-12bb97331649.png

传统神经网络
1对多

805de940-b0f0-11eb-bf61-12bb97331649.png

音乐生成
多对1

80695140-b0f0-11eb-bf61-12bb97331649.png

情感分类
多对多

807612c2-b0f0-11eb-bf61-12bb97331649.png

命名实体识别
多对多

8081fa9c-b0f0-11eb-bf61-12bb97331649.png

机器翻译
RNN 类型 图解 例子

损失函数 对于RNN网络,所有时间步的损失函数 是根据每个时间步的损失定义的,如下所示:

808d7aac-b0f0-11eb-bf61-12bb97331649.png

时间反向传播

在每个时间点进行反向传播。在时间步,损失相对于权重矩阵的偏导数表示如下:

8098d26c-b0f0-11eb-bf61-12bb97331649.png

处理长短依赖

常用激活函数

RNN模块中最常用的激活函数描述如下:

80a46d02-b0f0-11eb-bf61-12bb97331649.png

80b0309c-b0f0-11eb-bf61-12bb97331649.png

80d89fc8-b0f0-11eb-bf61-12bb97331649.png

Sigmoid Tanh RELU

梯度消失/爆炸

在RNN中经常遇到梯度消失和爆炸现象。之所以会发生这种情况,是因为很难捕捉到长期的依赖关系,因为乘法梯度可以随着层的数量呈指数递减/递增。

梯度修剪 梯度修剪是一种技术,用于执行反向传播时,有时遇到的梯度爆炸问题。通过限制梯度的最大值,这种现象在实践中得以控制。

81016e4e-b0f0-11eb-bf61-12bb97331649.png

门的类型

为了解决消失梯度问题,在某些类型的RNN中使用特定的门,并且通常有明确的目的。它们通常标注为,等于:

810dd972-b0f0-11eb-bf61-12bb97331649.png

其中,是特定于门的系数,是sigmoid函数。主要内容总结如下表:

更新门 过去对现在有多重要? GRU, LSTM
关联门 丢弃过去信息? GRU, LSTM
遗忘门 是不是擦除一个单元? LSTM
输出门 暴露一个门的多少? LSTM
门的种类 作用 应用

GRU/LSTM Gated Recurrent Unit(GRU)和长-短期记忆单元(LSTM)处理传统RNNs遇到的消失梯度问题,LSTM是GRU的推广。下表总结了每种结构的特征方程:

8117f952-b0f0-11eb-bf61-12bb97331649.png

注:符号表示两个向量之间按元素相乘。

RNN的变体

下表总结了其他常用的RNN模型:

812661c2-b0f0-11eb-bf61-12bb97331649.png

814b70ac-b0f0-11eb-bf61-12bb97331649.png

原文标题:神经网络RNN图解

文章出处:【微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4771

    浏览量

    100714
  • 深度学习
    +关注

    关注

    73

    文章

    5500

    浏览量

    121111

原文标题:神经网络RNN图解

文章出处:【微信号:Imgtec,微信公众号:Imagination Tech】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RNN模型与传统神经网络的区别

    神经网络是机器学习领域中的一种强大工具,它们能够模拟人脑处理信息的方式。随着技术的发展,神经网络的类型也在不断增加,其中循环神经网络RNN)和传统
    的头像 发表于 11-15 09:42 306次阅读

    LSTM神经网络与传统RNN的区别

    在深度学习领域,循环神经网络RNN)因其能够处理序列数据而受到广泛关注。然而,传统RNN在处理长序列时存在梯度消失或梯度爆炸的问题。为了解决这一问题,LSTM(长短期记忆)神经网络
    的头像 发表于 11-13 09:58 278次阅读

    rnn是递归神经网络还是循环神经网络

    RNN(Recurrent Neural Network)是循环神经网络,而非递归神经网络。循环神经网络是一种具有时间序列特性的神经网络,能
    的头像 发表于 07-05 09:52 559次阅读

    rnn是什么神经网络模型

    RNN(Recurrent Neural Network,循环神经网络)是一种具有循环结构的神经网络模型,它能够处理序列数据,并对序列中的元素进行建模。
    的头像 发表于 07-05 09:50 593次阅读

    rnn是什么神经网络

    RNN(Recurrent Neural Network,循环神经网络)是一种具有循环连接的神经网络,它能够处理序列数据,并且具有记忆能力。与传统的前馈神经网络(Feedforward
    的头像 发表于 07-05 09:49 660次阅读

    rnn神经网络模型原理

    RNN(Recurrent Neural Network,循环神经网络)是一种具有循环结构的神经网络,它能够处理序列数据,具有记忆功能。RNN在自然语言处理、语音识别、时间序列预测等领
    的头像 发表于 07-04 15:40 572次阅读

    RNN神经网络适用于什么

    RNN(Recurrent Neural Network,循环神经网络)是一种具有循环结构的神经网络,它可以处理序列数据,具有记忆功能。RNN在许多领域都有广泛的应用,以下是一些
    的头像 发表于 07-04 15:04 960次阅读

    rnn神经网络基本原理

    RNN(Recurrent Neural Network,循环神经网络)是一种具有循环结构的神经网络,它能够处理序列数据,并且能够捕捉时间序列数据中的动态特征。RNN在自然语言处理、语
    的头像 发表于 07-04 15:02 713次阅读

    递归神经网络是循环神经网络

    递归神经网络(Recurrent Neural Network,简称RNN)和循环神经网络(Recurrent Neural Network,简称RNN)实际上是同一个概念,只是不同的
    的头像 发表于 07-04 14:54 731次阅读

    循环神经网络有哪些基本模型

    循环神经网络(Recurrent Neural Networks,简称RNN)是一种具有循环结构的神经网络,它能够处理序列数据,并且能够捕捉序列数据中的时序信息。RNN的基本
    的头像 发表于 07-04 14:43 418次阅读

    循环神经网络的基本原理是什么

    结构具有循环,能够将前一个时间步的信息传递到下一个时间步,从而实现对序列数据的建模。本文将介绍循环神经网络的基本原理。 RNN的基本结构 1.1 神经元模型
    的头像 发表于 07-04 14:26 626次阅读

    什么是RNN(循环神经网络)?RNN的基本原理和优缺点

    RNN(Recurrent Neural Network,循环神经网络)是一种专门用于处理序列数据的神经网络结构,它能够在序列的演进方向上进行递归,并通过所有节点(循环单元)的链式连接来捕捉序列中
    的头像 发表于 07-04 11:48 3465次阅读

    GRU是什么?GRU模型如何让你的神经网络更聪明 掌握时间 掌握未来

    适用于处理图像识别和计算机视觉任务。今天要给大家介绍一位新朋友,名为GRU。 Gated RecurrentUnit(GRU)是一种用于处理序列数据的循环神经网络RNN模型。 先来
    发表于 06-13 11:42 1688次阅读
    GRU是什么?GRU<b class='flag-5'>模型</b>如何让你的<b class='flag-5'>神经网络</b>更聪明 掌握时间 掌握未来

    助听器降噪神经网络模型

    抑制任务是语音增强领域的一个重要学科, 随着深度神经网络的兴起,提出了几种基于深度模型的音频处理新方法[1,2,3,4]。然而,这些通常是为离线处理而开发的,不需要考虑实时性。当使用神经网络
    发表于 05-11 17:15

    什么是RNN (循环神经网络)?

    循环神经网络 (RNN) 是一种深度学习结构,它使用过去的信息来提高网络处理当前和将来输入的性能。RNN 的独特之处在于该网络包含隐藏状态和
    发表于 02-29 14:56 4006次阅读
    什么是<b class='flag-5'>RNN</b> (循环<b class='flag-5'>神经网络</b>)?