当前位置: 首页 > news >正文

深度学习--长短期记忆网络

1.引入

        RNN 可以将以前的信息与当前的信息进行连接。例如,在视频中,可以用前面的帧来  帮助理解当前帧的内容;在文本中,可以用前面半句话的内容来预测后面的内容。但是, RNN 存在一个记忆消失的问题。例如,“苹果很好吃所以我想吃XX”(这里使用RNN 网络  来预测XX 位置应该填入什么词汇符合逻辑)。这个XX就是提到的“苹果”,RNN 处理这 样的短句子还没问题;“我很喜欢吃苹果,今早上学碰到卖水果的王大妈,热情的大妈给了 我一个XX”。这时候,XX可能是“水果”而不是“苹果”,因为“苹果”与XX 的距离太远了。 通俗来讲,RNN 的记性不太好,只有7秒的记忆,太远的内容记不清。这样的问题称为短时记忆(Short-Term   Memory)

        RNN 理论上可以解决这样的问题,但是需要大量的调参,需要耗费大量时间,所以出现 了长短期记忆网络(Long  Short-Term  Memory  networks,LSTM)这个特殊的 RNN 结构LSTM 中这个网络状态在每一个时刻都会进行3个操作,专业一点的名词称为3个门: 忘记门、输入门和输出门。

(1)忘记门。上一个时刻的状态(记忆)保留到这个时刻,首先要删除一部分内容, 可能是因为遗忘,也可能是因为那部分记忆无用,总之一个人不能什么都记得住。

(2)输入门。忘记了之后,这一个时刻的输入应该会给这个细胞状态增添一些新的记忆。

(3)输出门。过去的信息该忘记的忘记了,现在的信息该记住的记住了,把剩下的状态(记忆)作为这个时刻的输出,也作为下一个时刻的初始状态。

LSTM  整个流程:在每一个时刻,通过某些计算,忘记一些东西,记住一些新的东西,输 出结果

LSTM   每一个模块需要前一个时刻的输出信息y₁-1   和前一个时刻的细胞状态 C₁-1, 这样来构成循环。

        在谈论 RNN 的时候,默认是使用LSTM 的,而只有说到Simple  RNN的时候,才是指 那种最原始最简单的RNN 结构。在所有使用LSTM 的论文中,基本上都是与上述的LSTM 有微小的改变,所以到目前为止,基本有上百种不同的LSTM  结构,不过 Google之前做过研究发现,这些不同的LSTM,并没有什么不同。

2.GRU

        GRU LSTM 一样 是为了解决短期问题和梯度消失问题提出来的。GRU可以看作LSTM 的 简化版本,计算更少,效果不减。GRU之所以参数少,因为GRU只有两 个门:更新门和重置门。不管LSTM 还是GRU  有多么复杂,其实也就是一行代码就可以构建完成的

3.注意力机制

        什么是注意力机制?注意力机制其实就是基于人的注意力机制诞生的,比方说,在观察一个  人类的照片的时候,会更加注意人的脸部;在观察一个句子的时候,更多注意力会放在谓语动词上。Encoder 编码器就是把原始数据编码成一个更能体现其本质特征的编码(编码的具体 形式可能是一串向量),Decoder解码器就是把这个本质特征解码成一个新的数据。

         Attention 结构:这个 Attention 就是一种附加在输入信息上的一个权重,在Decoder 输出的时候, Attention 机制会给每一个输入都加一个权重,例如:(我,0.6)(喜,0.1)(欢,0.1)(你, 0.2)。所以在Decoder 进行每一次翻译的时候,都会分配给不同的输入一个注意力权重。

http://www.lryc.cn/news/421311.html

相关文章:

  • 研0 冲刺算法竞赛 day29 P2249 【深基13.例1】查找
  • 基于vue框架的CKD电子病历系统nfa2e(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • 笔记:python 安装tar包报错
  • 575. 分糖果
  • 手机电量消耗分析工具 Battery Historian 指南
  • 笔试练习day4
  • 公主少爷都爱看的haproxy七层代理详细介绍及常见实验详解
  • Android笔试面试题AI答之Kotlin(6)
  • “tcp控制协议”的理解
  • 考试成绩查询系统,发成绩不再愁
  • 【扒代码】图像数据 Transformer
  • 光伏仿真系统的使用流程
  • 【Dash】使用 dash_mantine_components 创建图表
  • Unity 输入模块 之 初识新输入系统(其实也不新)
  • springboot+redis集群实现集群拓扑动态刷新温故
  • LoadRunner常用函数介绍
  • 通讯录管理系统
  • 基于Python爬虫+机器学习的长沙市租房价格预测研究
  • 开发效率翻倍攻略!大学生电脑小白管理秘籍,资料秒搜技巧大公开!C盘满了怎么办?如何快速安全的清理C盘?烦人的电脑问题?一键解决!
  • [C#数据加密]——MD5、SHA、AES、RSA
  • QT不阻塞UI的方式
  • 鸿蒙HarmonyOS开发:常用布局及实用技巧
  • 【解答】洛必达法则的使用条件及常见错误,洛必达法则的适用条件,常见的易错点,2022数一第一题例题
  • 使用Python下载飞书共享表格数据教程
  • 【C++】protobuf的简单使用(通讯录例子)
  • Apple 智能基础语言模型
  • GreptimeDB融资数百万美元; Oracle提供免费长期MySQL; 谷歌大模型支持云数据库问题洞察
  • Java中的抽象类与接口
  • 云计算概念以及与云服务的区别
  • Netty技术全解析:LengthFieldBaseFrameDecoder类深度解析