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

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

3天内不再提示

深度分析RNN的模型结构,优缺点以及RNN模型的几种应用

智能感知与物联网技术研究所 来源:人工智能与算法学习 作者:人工智能与算法学 2021-05-13 10:47 次阅读

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

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

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

概述

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

e2923ba4-b364-11eb-bf61-12bb97331649.png

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

这里是时间维度网络的共享权重系数

是激活函数

e2a0bf26-b364-11eb-bf61-12bb97331649.png

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

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

RNNs应用

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

一对一

e2d8925c-b364-11eb-bf61-12bb97331649.png

传统神经网络

一对多

e2e514fa-b364-11eb-bf61-12bb97331649.png

音乐生成

多对一

e2f52660-b364-11eb-bf61-12bb97331649.png

e303047e-b364-11eb-bf61-12bb97331649.png

机器翻译e31699da-b364-11eb-bf61-12bb97331649.png

RNN 类型图解例子

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

时间反向传播

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

处理长短依赖

常用激活函数

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

5e33166de-b364-11eb-bf61-12bb97331649.png

e33ef948-b364-11eb-bf61-12bb97331649.png

e3539de4-b364-11eb-bf61-12bb97331649.png

SigmoidTanhRELU

梯度消失/爆炸

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

梯度修剪

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

e367c954-b364-11eb-bf61-12bb97331649.png

门的类型

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

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

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

e3730e68-b364-11eb-bf61-12bb97331649.png

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

RNN的变体

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

e3a643e6-b364-11eb-bf61-12bb97331649.png

e3e31410-b364-11eb-bf61-12bb97331649.png

Bidirectional (BRNN)Deep (DRNN)

编辑:jq

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

    关注

    3

    文章

    3903

    浏览量

    61310
  • rnn
    rnn
    +关注

    关注

    0

    文章

    67

    浏览量

    6803

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

文章出处:【微信号:tyutcsplab,微信公众号:智能感知与物联网技术研究所】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    深度学习经典入门Demo实战案例分享

    循环神经网络(RNN):用于序列数据建模和自然语言处理任务的常用模型,传统神经网络的结构比较简单,通常为:输入层 – 隐藏层 – 输出层。
    发表于 04-27 01:29 6次阅读
    <b class='flag-5'>深度</b>学习经典入门Demo实战案例分享

    常见物联网模型优缺点简介

    每种物联网模型都有其适用的场景和条件,选择哪种模型取决于具体的应用需求、设备特性、网络环境以及数据安全要求等因素。因此,在实际应用中,需要根据具体情况进行权衡和选择。
    的头像 发表于 03-20 17:44 485次阅读

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

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

    大语言模型背后的Transformer,与CNN和RNN有何不同

      电子发烧友网报道(文/李弯弯)近年来,随着大语言模型的不断出圈,Transformer这一概念也走进了大众视野。Transformer是一种非常流行的深度学习模型,最早于2017年由谷歌
    的头像 发表于 12-25 08:36 1589次阅读
    大语言<b class='flag-5'>模型</b>背后的Transformer,与CNN和<b class='flag-5'>RNN</b>有何不同

    精选 25 个 RNN 问题

    本文来源:MomodelAI循环神经网络是一类人工神经网络,其中节点之间的连接可以创建一个循环,允许某些节点的输出影响对相同节点的后续输入。涉及序列的任务,如自然语言处理、语音识别和时间序列分析
    的头像 发表于 12-15 08:28 300次阅读
    精选 25 个 <b class='flag-5'>RNN</b> 问题

    共源共栅Cascode以及级联Cascade的优缺点是什么?

    共源共栅Cascode以及级联Cascade的优缺点是什么? 共源共栅Cascode以及级联Cascade是常用的放大电路架构,它们在不同应用场合中具有不同的优缺点。在本文中,我们将就
    的头像 发表于 09-18 15:08 5265次阅读

    Vitis AI RNN用户指南

    核、工具、库、模型和示例设计组成。它们在设计时充分考虑了高效率和易用性,可在 Xilinx FPGA 和自适应计算加速平台 (ACAP) 上释放 AI 加速的全部潜力。RNN 工具通过抽象底层 FPGA 和 ACAP 的复杂性,使开发
    发表于 09-13 17:32 0次下载
    Vitis AI <b class='flag-5'>RNN</b>用户指南

    盘古大模型和阿里哪个好?

    盘古大模型和阿里哪个好? 介绍盘古大模型和阿里巴巴两个产品的优缺点和适用场景。 一、 盘古大模型 1. 产品介绍 盘古大模型是杭州大朗科技有
    的头像 发表于 08-31 09:01 946次阅读

    卷积神经网络模型优缺点

    卷积神经网络模型优缺点  卷积神经网络(Convolutional Neural Network,CNN)是一种从图像、视频、声音和一系列多维信号中进行学习的深度学习模型。它在计算机
    的头像 发表于 08-21 17:15 2379次阅读

    AI大模型和小模型是什么?AI大模型和小模型的区别

      随着人工智能的不断发展和应用,机器学习模型的大小越来越成为一个重要的问题。在机器学习中,我们通常将模型分为两类:大模型和小模型。本文将介绍AI大
    发表于 08-08 16:55 5602次阅读

    神经编码器-解码器模型的历史

    transformer 模型。 本文分 4 个部分: 背景 - 简要回顾了神经编码器-解码器模型的历史,重点关注基于 RNN模型。 编码器-解码器 - 阐述
    的头像 发表于 06-20 15:42 476次阅读
    神经编码器-解码器<b class='flag-5'>模型</b>的历史

    基于 Transformers 的编码器-解码器模型

    transformer 模型。 本文分 4 个部分: 背景 - 简要回顾了神经编码器-解码器模型的历史,重点关注基于 RNN模型。 编码器-解码器 - 阐述
    的头像 发表于 06-16 16:53 512次阅读
    基于 Transformers 的编码器-解码器<b class='flag-5'>模型</b>

    基于深度学习方法进行时序预测的调优方案

    RNN(循环神经网络)是一种强大的深度学习模型,经常被用于时间序列预测。RNN通过在时间上展开神经网络,将历史信息传递到未来,从而能够处理时间序列数据中的时序依赖性和动态变化。
    发表于 06-16 16:15 1258次阅读
    基于<b class='flag-5'>深度</b>学习方法进行时序预测的调优方案

    基于transformer的编码器-解码器模型的工作原理

    与基于 RNN 的编码器-解码器模型类似,基于 transformer 的编码器-解码器模型由一个编码器和一个解码器组成,且其编码器和解码器均由 残差注意力模块 (residual attention blocks) 堆叠而成。
    发表于 06-11 14:17 1322次阅读
    基于transformer的编码器-解码器<b class='flag-5'>模型</b>的工作原理

    ESD模型有哪几种你知道吗?

    ESD模型有哪几种你知道吗?
    的头像 发表于 05-09 10:00 1184次阅读
    ESD<b class='flag-5'>模型</b>有哪<b class='flag-5'>几种</b>你知道吗?