LSTM 和机器翻译 (CS224N-5)

news/2025/3/10 9:30:09/文章来源:https://www.cnblogs.com/mianmaner/p/18760047

LSTM

(1)LSTM(Long Short-Term Memory RNNs)是Hochreiter和Schmidhuber在1997年提出的一种RNN,用于解决消失梯度问题

(2)在步骤t中,这里有一个隐藏单元\(h^{(t)}\)和一个记忆单元\(c^{(t)}\)

  • 它们均为长度为n的向量

  • 记忆单元用来存储长期信息

  • LSTM可以从记忆单元中读取、消除和写入信息,读取、消除、写入信息的选择由三个相应的门控制:

    ①门也是长度为n的向量
    ②在每个时间步长上,门的每个元素可以是打开的(1)、关闭的(0)或介于两者之间的某个位置
    ③门是动态的,它们的值是根据当前上下文计算的

详见下图:

image-20230912130422464

(3)LSTM如何解决的梯度消失问题

  • LSTM体系结构使RNN更容易在多个时间步长上保存信息

    例如:如果对于单元维度忘记门被设置为1并且输入门被设置成0,则该单元的信息被无限期地保留。

  • 梯度消失/爆炸问题所有神经网络在深度大的共有的问题,如今有很多深度架构可以解决这一问题:

    ①LSTM:存储长期记忆
    ②ResNet:跳过连接
    ③DenseNet:直接将每一层连接到未来的所有层

双向RNN

(1)双向RNN全称:Bidirectional RNNs

(2)将Forward RNN和Backward RNN组成一个合并的隐藏层:

image-20230912133953378

双向RNN仅适用于可以访问整个输入序列的情况,他并不适用于语言模型,因为在语言模型中,我们只有输入的上文

多层RNN

(1)多层RNN全称:Multi-layer RNNs

(2)使RNN可以在多个维度上深入,维度较低的RNN应计算较低级别的特征,而较高的RNN则应计算较高级别的特征

机器翻译

(1)统计机器翻译(SMT):从数据中学习概率模型

(2)神经机器翻译(NMT):是一种使用单个端到端神经网络进行机器翻译的方法。网络架构被称为序列-序列模型(也称为seq2seq),它涉及两个RNN

(3)机器翻译的评估

①BLEU(双语评估研究):将机器书写的翻译与一个或多个人工书写的翻译进行比较,并根据n-gram精度加上对太短的系统翻译的惩罚来计算相似性得分

(4)优缺点

①优点:与SMT相比性能更好,仅需端到端优化,需要的人工工作量更小
②缺点:不太可解释,难以控制

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/895684.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解码和 Attention 机制笔记 (CS224N-6)

语言模型的解码△:在讲义中这部分内容是神经机器翻译NMT中,我认为这个适用于所有语言模型所以就单列出来了(1)贪心解码:每一步都取最可能的单词,用前一步的输出作为下一步的输入(存在问题:有一个预测偏差,会导致后面的生成不可挽回,最终结果不尽人意) (2)穷举解码:顾…

语言模型和 RNN 笔记 (CS224N-4)

语言模型定义 (1)语言模型任务是根据给定的单词序列计算下一个单词的概率分布,完成这样的任务的系统就被称作语言模型 (2)也可以认为语言模型是一个为文本分配概率的系统,例如文本 \(x^{(1)},\cdots,x^{(T)}\) 的概率是n-gram语言模型 (1)一个n-gram是由n个连续单词组成的一块…

Java 线程池 ThreadPoolExecutor 的状态控制变量 ctrl

如下是源代码。线程池的主要控制状态 ctl 是一个原子整数,它打包了两个概念字段:workerCount:表示当前有效运行的线程数。 runState:表示线程池的状态(如是否正在运行、关闭等)。为了将这两个字段打包成一个 int,我们将 workerCount 限制为 (2^{29} - 1)(约5亿),而不…

go 方法和函数的区别

图片中的内容总结了Go语言中方法和函数的区别,主要分为三个方面:调用方式不同:函数的调用方式:函数名(实参列表) 方法的调用方式:变量.方法名(实参列表)普通函数的接收者类型限制:对于普通函数,如果接收者是值类型,则不能将指针类型的数据直接传递给它;反之亦然。方法…

德里克昆什肯《量子战争》目录

机翻未校对是机翻的,而且没有经过校对,只能作为SFW编辑部的懒狗开工前的替代品 第一章 第二章 第三章 Chap 4 Chap 5~6 Chap 7~8 Chap 9~10 Chap 11~14 Chap 15~18 Chap 19~22 Chap 23~26 Chap 27~30 Chap 31~34 Chap 35~38 Chap 39~42 Chap 43~46 Chap 47~50 Chap 51~61本文…

ios调试(safari)

一、打开ios safari开发者模式在手机设备的“设置”中找到“safari浏览器”,点击进入 在safari设置中,找到“高级”选项,点击进入 在高级设置页面中,找到“网页(web)检查器”选项,打开开关 二、使用mac的safari开发者模式进行调试将ios设备通过usb连接到电脑上 打开mac中…

粒子群算法改进--自动退出迭代循环

前言当粒子已经找到最佳位置后,再增加迭代次数只会浪费计算时间,那么我们能否设计一个策略,能够自动退出迭代呢?循环跳出策略(1)初始化最大迭代次数、计数器以及最大计数值(例如分别取100, 0, 20) (2)定义“函数变化量容忍度”,一般取非常小的正数; (3)在迭代的过…

粒子群算法改进--线性递减惯性权重

惯性权重回顾 惯性权重w体现的是粒子继承先前的速度的能力 Shi,Y最先将惯性权重w引入到粒子群算法中,并且分析指出一个较大的惯性权值有利于全局搜索一个较小的权值则更利于局部搜索线性递减惯性权重在搜索初期,增强全局搜索能力可以更大可能遍历解空间,避免陷入局部最优解 &…

粒子群算法改进--压缩因子法

前言概述 粒子速度更新公式如下: vid = wvid-1 + c1r1(pbestid-xid)+ c2r2(gbestd-xid) 在研究完粒子群算法中有关惯性权重的优化之后,我们把目光转向速度更新公式的后两项,根据之前所学可知:个体学习因子c1和社会学习因子c2决定了粒子本身经验信息和其他粒子的经验信息对粒…

Mybatis-Plus异常处理

返回结果为2 ,我从Controller层中写的返回是一个floor实体,到Mapper层中返回的也是floor实体,但是Mapper返回是2条数据。 把controller层的返回值改为List。