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

    文章

    4385

    浏览量

    65149
  • rnn
    rnn
    +关注

    关注

    0

    文章

    89

    浏览量

    7138

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    模型推理显存和计算量估计方法研究

    、显存估计方法 基于模型结构的显存估计 根据深度学习模型的层次结构和参数数量,可以估算模型在推理
    发表于 07-03 19:43

    深度学习模型在传感器数据处理中的应用(二):LSTM

    序列数据时遇到的梯度消失或梯度爆炸问题。标准 RNN 在反向传播过程中,由于链式法则的应用,梯度可能会在多层传播中指数级地减小(梯度消失)或增大(梯度爆炸),这使得网络难以学习和记住长时间步的依赖关系。 ? ? 1.?递归神经网络(RNN
    的头像 发表于 02-20 10:48 ?1005次阅读
    <b class='flag-5'>深度</b>学习<b class='flag-5'>模型</b>在传感器数据处理中的应用(二):LSTM

    【「大模型启示录」阅读体验】如何在客服领域应用大模型

    地选择适合的模型。不同的模型具有不同的特点和优势。在客服领域,常用的模型包括循环神经网络(RNN)、长短时记忆网络(LSTM)、门控循环单元(GRU)、Transformer等,
    发表于 12-17 16:53

    RNN的损失函数与优化算法解析

    函数有以下几种: 交叉熵损失函数 :交叉熵(Cross Entropy)是一种评估两个概率分布之间差异的度量方法,即通过比较模型预测的概率分布和真实概率分布之间的差异,来评估模型训练的性能。在
    的头像 发表于 11-15 10:16 ?1461次阅读

    RNN在实时数据分析中的应用

    随着大数据时代的到来,实时数据分析变得越来越重要。在众多的机器学习模型中,递归神经网络(Recurrent Neural Networks,简称RNN)因其在处理序列数据方面的优势,被广泛应用于实时数据
    的头像 发表于 11-15 10:11 ?869次阅读

    RNN的应用领域及未来发展趋势

    循环神经网络(Recurrent Neural Network, RNN)是一种适合于处理序列数据的深度学习模型。由于其独特的循环结构RNN
    的头像 发表于 11-15 10:10 ?1509次阅读

    RNN与LSTM模型的比较分析

    RNN(循环神经网络)与LSTM(长短期记忆网络)模型深度学习领域都具有处理序列数据的能力,但它们在结构、功能和应用上存在显著的差异。以下是对RN
    的头像 发表于 11-15 10:05 ?2281次阅读

    训练RNN时如何避免梯度消失

    在处理长序列数据时,RNN(循环神经网络)模型可能会面临梯度消失的问题,这是由于反向传播过程中,由于连续的乘法操作,梯度会指数级地衰减,导致较早的时间步的输入对较后时间步的梯度几乎没有影响,难以进行
    的头像 发表于 11-15 10:01 ?1079次阅读

    RNN在图片描述生成中的应用

    输入图像的内容。 RNN的基本原理 RNN是一种用于处理序列数据的神经网络,它通过循环结构来处理序列中的每个元素,并保持前一个元素的信息。RNN的主要特点是它能够处理任意长度的序列,并
    的头像 发表于 11-15 09:58 ?999次阅读

    深度学习中RNN的优势与挑战

    循环神经网络(RNN)是深度学习领域中处理序列数据的基石。它们通过在每个时间步长上循环传递信息,使得网络能够捕捉时间序列数据中的长期依赖关系。然而,尽管RNN在某些任务上表现出色,它们也面临着一些
    的头像 发表于 11-15 09:55 ?1397次阅读

    RNN的基本原理与实现

    RNN,即循环神经网络(Recurrent Neural Network),是一种特殊类型的人工神经网络,专门设计用于处理序列数据,如文本、语音、视频等。以下是对RNN基本原理与实现的介绍: 一
    的头像 发表于 11-15 09:49 ?1546次阅读

    如何使用RNN进行时间序列预测

    时间序列预测在金融、气象、销售预测等领域有着广泛的应用。传统的时间序列分析方法,如ARIMA和指数平滑,虽然在某些情况下表现良好,但在处理非线性和复杂模式时可能不够灵活。递归神经网络(RNN)提供了
    的头像 发表于 11-15 09:45 ?972次阅读

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

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

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

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

    几种常见的控制方法及其优缺点

    。 温度控制系统是变参数、有时滞和随机干扰的动态系统,为达到满意的控制效果,具有许多控制方法。故对几种常见的控制方法及其优缺点进行了分析与比较。
    的头像 发表于 11-09 09:57 ?3296次阅读
    <b class='flag-5'>几种</b>常见的控制方法及其<b class='flag-5'>优缺点</b>