循环神经网络(二)

简介: 循环神经网络(二)

开发者学习笔记【阿里云人工智能工程师ACA认证(2023版):循环神经网络(二)

课程地址:https://edu.aliyun.com/course/3112108/lesson/19269

 

循环神经网络(二)

二、经典循环神经网络


图片537.png

接下来,我们将深入了解经典的循环神经网络,即长短期记忆网络(LSTM)。"LS"代表长短期记忆,正如我们之前提到的,循环神经网络(RNN)具有记忆,但这种记忆相对短暂,因此称为短期记忆。然而,LSTM引入了长期记忆的概念,使其不仅具有短期记忆,还具有长期记忆。因此,长短期记忆网络(LSTM)成为了循环神经网络的最著名和最成功的扩展之一。LSTM通过增强循环神经网络的学习能力,解决了速度消失等问题。它有助于确定哪些信息是有价值的,并将这些信息存储在长期记忆中,从而减轻了循环神经网络的学习难度。下面是LSTM神经网络的结构,相对于之前的循环神经网络,它更加复杂,但基本上仍然是链式结构,具有从t-1到t到t+1的链接和类数的输出。但其内部结构更加复杂,包括将信息传递到下一个状态的箭头。接下来,我们将详细解释LSTM的原理。

现在,让我们来深入了解LSTM网络的核心部分。


首先是细胞状态。它是一条水平线,从c(t-1)延伸到c(t),在这之间只有很少的分支。这确保了信息可以保持不变地传递到整个RNN。LSTM网络内部包含一种被称为"门"的结构,它用于控制是否删除或添加信息到细胞状态c。这些门可以有选择地决定哪些信息通过,是通过一些简单的层和激活函数操作实现的,其输出是介于0和1之间的值,代表了信息应该被保留的程度。

图片538.png

然后,在一个带有三个门的长短期记忆(LSTM)单元中,细胞状态保持良好。但是要讨论这一点并不容易。我们需要整合这些信息,然后考虑如何使LSTM网络具有长期记忆。这是因为细胞状态C相当于一个用于记录长期信息的账本。而原始的循环神经网络(RNN)则将其视为上一时刻的输入。RNN以这种方式具有短期和长期记忆。但是,对于长期记忆,我们需要一种特殊的机制,它类似于在账本中记录重要信息。


这种机制是LSTM中的门结构。关于门结构,有两种主要修改方式。首先,它们可以用于删除信息,就像在账本上划掉一部分内容,或者在其中写入新信息。这些修改操作对于长期记忆至关重要。再次强调,LSTM具有长短期记忆,其中短期记忆来自上一时刻的输入h(t-1),而长期记忆来自细胞状态C。


对于这个细胞状态C,我们需要执行操作,包括读取它,清除它,写入它,以及使用它。这些操作是必要的,以便在生成下一个时间步的输出时发挥作用,这是LSTM最核心的部分。

图片539.png
第一步,对于C来说,我们需要决定丢弃其中的哪些信息。也就是说,我们需要通过遗忘门来擦除一些内容。遗忘门的操作涉及查看h(t)、h(t-1)和x,然后生成一个介于0和1之间的向量。然后,将这个向量应用于细胞状态中的每个数字,以决定保留哪些信息,哪些需要被擦除。

图片540.png第二步,我们需要确定要添加哪些信息。这些信息也来自h(t-1)和h(t),但是它们是通过输入门进行的操作,然后用于更新细胞态C(t)的一部分。这个过程使用数学公式来表示。

图片541.png

第三步是将旧的细胞状态C(t-1)更新为新的细胞状态C(t)。这个更新过程受到遗忘门的控制,以决定保留多少旧信息,并受到输入门的控制,以确定添加多少新信息。这也使用数学公式来表示。

图片542.png

 

第四步,根据h(t-1)和x来判断细胞状态的哪些特征应该输出,从而决定新的h(t)。这个过程涉及输出门和一个tanh层的计算,最终得到新的h(t)。


三、循环神经网络的应用


图片543.png接下来,让我们讨论一下循环神经网络(RNN)的应用。循环神经网络主要用于处理序列数据的问题。与之相比,卷积神经网络(CNN)通常处理二维或三维数据。这种区别在自然语言处理领域尤为重要,因为自然语言的输入通常是有序的,前后文之间存在关联。

第一个应用领域是文本生成,RNN可以根据前后文来预测中间未知的词语,类似于阅读理解中的完形填空。


第二个应用是机器翻译,RNN可以将一种语言的文本转换成另一种语言,其中词语的顺序对翻译结果产生影响。这对于处理语序敏感的语言差异非常有用。

第三个领域是语音识别,RNN可以根据音频输入识别相应的文本内容。

第四个应用是生成图像描述,类似于将图像转化为文字描述,让计算机能够理解图像的内容。

第五个领域是视频标注,将视频分解成一系列图像,并使用RNN来描述每个图像的内容。这实际上将视频处理为序列数据。

通过这些应用案例,我们可以看到循环神经网络在处理序列数据方面的广泛用途。

 

本节回顾

通过本节的学习,我们学到了:

1、循环神经网络的概述

福环神经网络是一类以序列数据为输入,在序列的演进方向进行递归且所有节点按链式连接的递口神经网络

2、循环神经网络的结构及类别

一个典型的RNN网络包含一个输入x,一个输出h和一个神经网络单元A

别:一对一、一对多、多对一、多对多

3、经典循环神经网络

长短期记忆网络(LSTM):增强活环神经网络的学习能力,对有价值的信息进行长期记忆,减小活环神经网络的学习难度

4、循环神经网络的应用

>文本生成、机器翻译、语音识别、生成图像描述,视频标记

相关文章
|
编解码 前端开发 UED
前端开发中的跨平台适配解决方案探讨
【2月更文挑战第8天】 在当今多样化的设备和屏幕尺寸下,前端开发人员面临着跨平台适配的挑战。本文将深入探讨目前常见的跨平台适配解决方案,并对比它们的优缺点,帮助开发者更好地选择适合自己项目的方案。
|
机器学习/深度学习 算法 数据可视化
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-2
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
|
12月前
|
前端开发 JavaScript C#
基于.NET8+Vue3开发的权限管理&个人博客系统
基于.NET8+Vue3开发的权限管理&个人博客系统
189 7
|
SQL 安全 网络安全
"守护数据王国,揭秘SQL权限管理与安全配置秘籍!从创建用户到加密技术,全方位打造铜墙铁壁,让你的数据库安全无忧,远离黑客侵扰!"
【8月更文挑战第31天】数据库是信息系统的核心,存储了大量敏感数据,因此确保其安全至关重要。本文详细介绍了SQL权限管理与安全配置的方法,包括理解权限类型、创建用户和角色、分配权限、实施密码策略、使用加密技术、配置防火墙、定期审计备份及防止SQL注入等,帮助你全面保护数据库安全。通过这些步骤,你可以有效管理和配置数据库权限,防范潜在威胁,确保数据隐私和完整性。
317 0
|
监控 Java 数据库连接
使用线程池时,如何避免内存泄漏的问题?
使用线程池时,如何避免内存泄漏的问题?
|
存储 NoSQL Java
分布式session-SpringSession的应用
Spring Session 提供了一种创建和管理 Servlet HttpSession 的方案,默认使用外置 Redis 存储 Session 数据,解决了 Session 共享问题。其特性包括:API 及实现用于管理用户会话、以应用容器中性方式替换 HttpSession、简化集群会话支持、管理单个浏览器实例中的多个用户会话以及通过 headers 提供会话 ID 以使用 RESTful API。Spring Session 通过 SessionRepositoryFilter 实现,拦截请求并转换 request 和 response 对象,从而实现 Session 的创建与管理。
334 0
分布式session-SpringSession的应用
|
存储 监控 供应链
账单系统-架构设计思路(对外版)
阿里商旅背景阿里商旅作为飞猪旅行旗下面向企业客户的数字化差旅解决方案产品,依托飞猪旅行机票、酒店供应链,为企业客户提供一站式的机票、酒店、火车票、用车等预订管控及结算票据服务。阿里商旅不仅是集团欢行的供应商,而且近几年在商业化差旅市场上崭露头角,服务了2万+中大型客户,43万+小微企业。FY22财年商旅技术团队重点规划在酒店供应链、预订管控服务、B+C客户服务、渠道及商旅基础建设等核心方向进行建设
5332 2
账单系统-架构设计思路(对外版)
|
Java API Apache
怎么在在 Java 中对List进行分区
本文介绍了如何将列表拆分为给定大小的子列表。尽管标准Java集合API未直接支持此功能,但Guava和Apache Commons Collections提供了相关API。
419 1
|
编解码 编译器 网络安全
LabVIEW使用视觉采集软件从GigE视觉相机进行采集 1
LabVIEW使用视觉采集软件从GigE视觉相机进行采集 1
439 0
|
缓存 大数据 数据处理
Velocity循环详解
Velocity循环详解

热门文章

最新文章