[人工智能-深度学习-53]:循环神经网络 - LSTM长短记忆时序模型的简化:门控循环网络GRU模型

2023-11-20

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/121599096


目录

第1章 前序知识

1.1 RNN循环神经网络模型

1.2 LSTM长短记忆时序模型

1.3 LSTM模型的缺点

第2章 GRU模型详解

2.1 GRU模型概述

2.2 RNN网络结构对比

2.3 LSTM网络结构对比

2.4 GRU网络的结构

2.5 GRU网络特点

第3章 GRU的反向传播



第1章 前序知识

1.1 RNN循环神经网络模型

[人工智能-深度学习-51]:循环神经网络RNN基本原理详解_文火冰糖(王文兵)的博客-CSDN博客https://blog.csdn.net/HiWangWenBing/article/details/121387285

1.2 LSTM长短记忆时序模型

https://blog.csdn.net/HiWangWenBing/article/details/121547541https://blog.csdn.net/HiWangWenBing/article/details/121547541

1.3 LSTM模型的缺点

随着 LSTM 在自然语言处理特别是文本分类任务的广泛应用,人们逐渐发现 LSTM有如下一些缺点:

  • 具有训练时间长
  • 参数较多
  • 内部计算复杂

LSTM的简化模型GRU因运而生。

第2章 GRU模型详解

2.1 GRU模型概述

GRU(Gated Recurrent Unit):门控循环网络

GRU是LSTM网络的一种效果很好的变体,相比较LSTM网络,GRU网络的结构更加简单,效果也很好,同时它也可以较好的解决RNN网络中长依赖、梯度消失等问题。因此也是当前非常流形的一种网络。

2.2 RNN网络结构对比

2.3 LSTM网络结构对比

2.4 GRU网络的结构

(1)输入:与RNN网络一致

  • 当前的时序样本输入Xt
  • 先前保存的状态Ht-1
  • Ht-1与Xt组合成[Ht-1, Xt] ,作为后续控制门的输入

(3)输出:与RNN网络一致

  • 输入:[Ht-1, Xt]
  • 运算矩阵Wi
  • 激活函数Tanh
  • 功能:生成本次迭代提取的新的状态特征 ~Ht
  • 数学表达式:

(3)Ht-1状态输入重置门:与LSTM类似

  • 输入:[Ht-1, Xt]
  • 运算矩阵Wr
  • 激活函数sigmod
  • 输出在[0, 1]之间
  • 功能(乘法):用于对先前状态Ht-1的过滤选择。它决定了先前的状态Ht-1,有多大的比例能够参与本次特征状态输出Ht。0表示忽略先前保留的状态,1表示完全使用先前的状态,其他值表示使用先前状态的程度。
  • 数学表达式:

(4)Ht状态更新门: 与LSTM类似

  • 输入:[Ht-1, Xt]
  • 运算矩阵Wz
  • 激活函数sigmod
  • 输出在[0, 1]之间
  • 功能(乘法):用于对当前状态Ht的更新控制。它决定了本次迭代的输出,多大程度可以用于最终的特征状态输出。0表示忽略本次迭代的状态输出,1表示100%使用当前的状态输出,其他值表示使用当前状态的程度。
  • 数学表达式:

(5)Ht的状态更新:与LSTM类似

  • 输入1= 先前状态Ht-1 * (1 - 状态更新门的输出)
  • 输入2 = 当前新生成的状态~Ht * 状态更新门的输出
  • 运算:累加/叠加 = 输入1 + 输入2 =》 

2.5 GRU网络特点

LSTM和CRU都是通过各种门函数来将重要特征保留下来,这样就保证了在long-term传播的时候也不会丢失。

此外GRU相对于LSTM少了一个门函数,因此在参数的数量上也是要少于LSTM的,所以整体上GRU的训练速度要快于LSTM。

第3章 GRU的反向传播

从前向传播过程中的公式可以看出要学习的参数有Wr、Wz、Wh、Wo。其中前三个参数都是拼接的(因为后先的向量也是拼接的),所以在训练的过程中需要将他们分割出来:

输出层的输入: 

输出层的输出:  

在得到最终的输出后,就可以写出网络传递的损失,单个样本某时刻的损失为:

则单个样本的在所有时刻的损失为:

采用后向误差传播算法来学习网络,所以先得求损失函数对各参数的偏导(总共有7个):

其中各中间参数为:

在算出了对各参数的偏导之后,就可以更新参数,依次迭代知道损失收敛。


作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/121599096

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[人工智能-深度学习-53]:循环神经网络 - LSTM长短记忆时序模型的简化:门控循环网络GRU模型 的相关文章

  • 第三章 时序逻辑设计基础

    第三章 时序逻辑设计基础 状态转移图 STG Mealy 状态机的顶点用状态进行标记 有向边用输入信号和输出信号来标记 Moore 状态机的顶点用状态和输出来标记 有向边用输入信号来标记 BCD 码到余3码的转换 如何画出状态图 1 状态就
  • Matlab编写带有随机缺陷的纳米颗粒生成器

    Matlab编写带有随机缺陷的纳米颗粒生成器 近年来 纳米科学与纳米技术在材料科学 生物医药 能源等领域得到广泛应用 其中 制备具有特定形状和结构的纳米颗粒对于实现特定功能至关重要 在实际应用中 许多纳米颗粒样品存在着各种缺陷 这些缺陷有时
  • Tomcat的两种安装方式(zip安装和exe安装)

    注意 安装Tomcat需要先安装jdk 一 zip解压安装 1 我们进入Tomcat官网 http tomcat apache org 此处我们选择Tomcat 9 的64位zip解压式的安装包 2 下载后解压目录如下 3 我们复制tomc
  • android:ems="10"是什么意思

    android ems 10 设置TextView或者Edittext的宽度为10个字符的宽度 当设置该属性后 控件显示的长度就为10个字符的长度 超出的部分将不显示 控件android ems属性 本文地址 http blog csdn

随机推荐

  • Linux系统怎么开机

    要开启 Linux 系统 您需要按一下电脑的电源开关 等待系统启动过程完成 如果您的电脑已经配置好了引导程序 系统就会自动启动到您设置的操作系统 例如 Linux 如果出现了任何问题 您可以通过查看电脑的启动屏幕上的错误信息来解决
  • 服务器安装系统时无法创建新的分区,重装系统出现“我们无法创建新的分区,也找不到现有的分区”...

    今天给朋友的电脑重装系统 本来打算是使用微PE的CGI备份还原工具来给 C 盘重装一个系统 但是装完后重启无法进入系统 不怕 以前也遇到过这种事情 根据经验我再次使用微PE 格式化 C 盘分区 找到系统镜像iso文件 使用其中的 Setup
  • mysql SHOW命令

    文章目录 mysql SHOW命令 概述 SHOW命令 sql脚本 mysql SHOW命令 数据库 表 列 用户 权限等的信息被存储在数据库和表中 MySQL使用MySQL来存储这些信息 可用MySQL的SHOW命令来显示这些信息 MyS
  • 使用 ChatGPT 从 JavaScript 代码生成 React 组件

    欢迎来到我们的教程 了解如何使用 ChatGPT 从 JavaScript 代码生成 React 组件 在本指南中 我们将探讨使用 ChatGPT 完成此任务的好处 并引导您完成分步过程 React 是一个流行的用于构建用户界面的 Java
  • python3.6+wamp配置python脚本环境(Windows)

    最近学到ajax 教程里需要用到wamp 这里就不介绍wamp了 wamp包含了apache服务器 但其默认只支持php脚本 而本人没学过php 所以希望降低学习成本 于是动手修改apache配置文件 网上有很多修改的教程 但我尝试了很多种
  • 5. handle方法详解-handler获取

    文章目录 1 概览 2 handle方法回顾 3 HandlerMappings继承关系 4 getHandlerInternal 4 1 RequestMappingInfoHandlerMapping getHandlerInterna
  • 包管理

    8 包管理 8 1 Go Modules是什么 Go语言通过包管理来封装模块和复用代码 这里我们只介绍Go Modules管理方法 Go Modules于Go语言1 11版本时引入 在1 12版本正式支持 是由Go语言官方提供的包管理解决方
  • VC从系统进程中查找并杀掉指定进程

    写程序的时候 有时候会调用别 别人写的 的程序的EXE 有的时候还会隐藏这个EXE 但是由于你的程序退出时并没有关闭这个EXE 只是隐藏了 所以在系统的进程查看窗口里面还是会看到的 这样当你下次再执行你自己的程序 还要调用这个程序的时候就会
  • [转载]解决PPPOE宽带拨号经常掉线的一种方法(适合刷了第三方固件的无线路由)

    文章作者 姜南 Slyar 文章来源 Slyar Home www slyar com 转载请注明 谢谢合作 最近在进行下载或看视频等大量占用网络带宽的行为时 宽带PPPOE连接非常不稳定 经常自动掉线 严重影响我的下载进程和看视频的乐趣
  • MariaDB数据库的主从配置

    1 前置工作 首先准备两台可以互相ping通的机器 两台机器可以互为主从 示例 10 210 23 77主服务器 10 20 84 183从服务器 2 安装 在两台机器上各自安装数据 解压MariaDB安装包 tar zxvf MariaD
  • 基于深度学习的无人机在室内走廊环境中的视觉导航

    与激光雷达和雷达不同 使用单目摄像头作为无人机传感器的优势之一是它能够检测各种视觉特征 例如颜色 纹理和形状 这种适应性使其能够在各种室内和室外环境中表现良好 将单目摄像头用于无人机的另一个好处是 它允许更轻巧和灵活的设计 该摄像机不需要额
  • 5 个免费的受欢迎的 SQLite 管理工具

    SQLite Expert Personal Edition SQLite Expert 提供两个版本 分别是个人版和专业版 其中个人版是免费的 提供了大多数基本的管理功能 SQLite Expert 可以让用户管理 SQLite3 数据库
  • 区块链中的哈希算法

    区块链中的密码学 密码学在区块链中的应用主要有两个 哈希算法与非对称加密算法 这次主要对哈希算法进行详细的说明 哈希算法 哈希算法的特点有 1 输入可以为任意大小的字符串 2 产生固定大小的输出 3 可以在合理的时间内算出输出值 若要满足密
  • input框限制输入40个字符_input标签的 maxlength 属性(HTML限制最大输入字数)

    实例 下面这个 HTML 表单带有最大长度分别是 85 和 55 个字符的两个输入字段 Name Email 亲自试一试 定义和用法 maxlength 属性规定输入字段的最大长度 以字符个数计 maxlength 属性与 或 配合使用 语
  • centos 修改时间

    文章目录 centos 修改时间 1 查询时间常用命令 2 修改时区 3 修改时间 3 1 手动修改时间 3 2 联网修改时间 centos 修改时间 Centos系统时间分为系统时间和硬件时间 二者必须都修改 重启系统才会永久生效 背景
  • 深入分析linux内核的内存分配函数devm_kzalloc

    在分析驱动代码的时候 经常会遇到使用devm kzalloc 为一个设备分配一片内存的情况 devm kzalloc 是内核用来分配内存的函数 同样可以分配内存的内核函数还有devm kmalloc kzalloc kmalloc 它们之间
  • Android简单的反编译嵌入例子

    简单的反编译嵌入例子 1 创建一个源工程 2 创建一个转接类 如Ed Sdk java 3 在转接类里面建立一个空方法A 方法A需要被调用 4 创建一个库工程 2 创建一个库转接类 如Ed Sdk java 类名方法名变量名完全相同 6 在
  • Java和Scala中泛型类的继承

    Java和Scala中泛型类的继承 1 泛型的学习 2 泛型类的继承 1 泛型的学习 参考 Java编程的逻辑一书 马骏昌编写的 对泛型的讲解很详细 这里着重补充一下关于泛型类的继承 2 泛型类的继承 这里主要有三种情况 存在父类 clas
  • 利用TBDBitmapData对象查找两张图片上的不同

    利用TBDBitmapData对象查找两张图片上的不同 从右上角开始利用双层循环遍历两图上的所有象素点 并相互比较 不完整代码如下 procedure TForm1 Button5Click Sender TObject var Bmp1
  • [人工智能-深度学习-53]:循环神经网络 - LSTM长短记忆时序模型的简化:门控循环网络GRU模型

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 121599096 目录 第1章 前序知