CS224n笔记11 GRU和NMT的进一步话题
本文转自:http://www.hankcs.com/nlp/cs224n-gru-nmt.html
从动机层面直观地充实了GRU和LSTM的理解,介绍了MT的评测方法,讨论了NMT中棘手的大词表问题和一些常见与最新的解决办法。
深入LSTM
宏观上的LSTM Cell:
将所有操作都gate起来,方便遗忘甚至忽略一些信息,而不是把所有东西都塞到一起。
New Memory Cell的计算是一个非线性的过程,与朴素RNN一模一样:
最关键之处在于,Memory Cell的更新中有一个加法项直接来自上一刻的Cell,也就是说建立了ctct和ct−1ct−1的直接线性连接(与ResNet类似):
类似于GRU中的加法,在反向传播的时候允许原封不动地传递残差,也允许不传递残差,总之是自适应的。
有了这些改进,LSTM的记忆可以比RNN持续更长的step(大约100):
一个具体的BLEU重叠例子:
为了防止某篇机翻实际上很好,可就是跟人类译文用词行文不相似的情况,IBM的论文建议多准备几篇标准答案,这样总会撞上一个:
当然了,虽然IBM建议准备4篇,实际测试中经常只有1篇。没有完美体现能力的考试,现实社会也是如此。
刚开始的时候,BLEU和人工打分几乎是线性相关(一致)的:
而当人们为了BLEU分数费尽心机之后,两者就开始脱钩了。这也是为什么Google翻译的效果没有宣称的那么好的原因之一。
解决大词表问题
大词表问题指的是softmax的计算难度:
早期的MT系统会使用较小的词表,但这并不是解决问题,而是逃避问题。
另一种思路是,hierarchical softmax,建立树形词表,但这类方法过于复杂,让模型对树形结构敏感而不是对词语本身敏感。
另外就是上几次课见过的廉价的NCE,这些方法对GPU都不友好。
Large-vocab NMT
最新的方法是训练时每次只在词表的一个小子集上训练,因为40%的词语只出现一次,如果把训练数据均分为许多份,则每一份中的稀有词可能都不会在其他语料中出现。然后测试时加一些技巧,待会儿详谈。
训练
如何选择小词表呢?在刚才的方法上更进一步,让用词相似的文章进入同一个子集,这样每个子集的词表就更小了。
另有一些混合动力的NMT,大部分情况下在词语级别做翻译,只在需要的时候从字符级去翻译。这个系统的主体是词语级别的LSTM:
在词语级别上做常规的柱搜索:
一旦产生了unknown词语,则在字符级别进行柱搜索:
然后提升了两个BLEU分值。
转载于:https://www.cnblogs.com/koocn/p/7701495.html
CS224n笔记11 GRU和NMT的进一步话题相关推荐
- 斯坦福NLP名课带学详解 | CS224n 第11讲 - NLP中的卷积神经网络(NLP通关指南·完结)
作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/36 本文地址:https://ww ...
- HALCON 20.11:深度学习笔记(11)---目标检测
HALCON 20.11:深度学习笔记(11)---目标检测 HALCON 20.11.0.0中,实现了深度学习方法. 本章讲解了如何使用基于深度学习的对象检测. 通过对象检测,我们希望在图像中找到不 ...
- 点云学习笔记11——VoxelNet算法+代码运行
点云学习笔记11--VoxelNet算法+代码运行 一.算法分析 摘要 介绍 相关工作 1.2. 贡献 2.VoxelNet 2.1.特征学习网络 2.1.1 特征学习网络 二.代码复现 2.1.环境 ...
- 大数据之路读书笔记-11事实表设计
大数据之路读书笔记-11事实表设计 文章目录 大数据之路读书笔记-11事实表设计 11.1 事实表基础 11.1.1 事实表特性 11.1.2 事实表设计原则 11.1.3 事实表设计方法 11.2 ...
- [论文总结] 深度学习在农业领域应用论文笔记11
深度学习在农业上的应用笔记11 最近发表的相关论文数量不多,质量普遍也不尽如人意,尤其是<Computers and Electronics in Agriculture>这个期刊.这些论 ...
- SpringMVC:学习笔记(11)——依赖注入与@Autowired
SpringMVC:学习笔记(11)--依赖注入与@Autowired 使用@Autowired 从Spring2.5开始,它引入了一种全新的依赖注入方式,即通过@Autowired注解.这个注解允许 ...
- 操作系统概念学习笔记 11 进程同步(一)
操作系统概念学习笔记 11 进程同步(一) 互相协作的进程之间有共享的数据,于是这里就有一个并发情况下,如何确保有序操作这些数据.维护一致性的问题,即进程同步. 从底层到高级应用,同步机制依次有临界区 ...
- U3D笔记11:47 2016/11/30-15:15 2016/12/19
U3D笔记11:47 2016/11/30-15:15 2016/12/19 技术BLOG:http://www.unity.5helpyou.com/2373.html#comment-43108 ...
- Python 网络爬虫笔记11 -- Scrapy 实战
Python 网络爬虫笔记11 – Scrapy 实战 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. 课程链接:Py ...
- MyBatis-学习笔记11【11.Mybatis的缓存】
Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...
最新文章
- ASP.NET Excel导入到SQL Server数据库
- SpringMVC的数据转换、格式化和数据校验
- 痛并快乐着看火箭比赛
- 原型共享数据 原型简单语法 原型中方法是可以相互访问 实例对象属性方法层层搜索
- 人才缺口40万,摆地摊也没有它挣钱,这个神仙职业今年太火了!
- 求php加密函数结果是超短的,寻求一种可逆加密算法,加密数据库自增主键,要求密文越短越好。...
- 2复数与复变函数(二)
- 《剑指offer》面试题34——丑数
- python 爬糗事百科
- 初装Windows11无法打开Windows安全中心主界面
- 图解冰河木马一次使用过程
- 这次的PION的总结
- python爬虫 爬取图片
- VC++中COM开发理论知识
- table表格单元格padding_html表格单元格间距
- 怎么看待SEO?新型SEO与传统SEO对比优势?
- 高校合同管理系统的设计与实现
- 学习 Java 语言,你需要知道的 Java 简史
- 电脑上的图片转文字工具怎么用?
- AcWing 1902. 马拉松(枚举)
热门文章
- matlabif语句怎么用_腾讯面试:一条SQL语句执行得很慢的原因有哪些?
- 【Django 2021年最新版教程17】数据库操作 models 存在更新 不存在新建update_or_create
- java lambda_Java 8 Lambda 表达式 ( 中 )- 外部参数
- 数据库学习----MySQL(一)
- python语法学习第十一天--模块
- GSON简单实用及常用方法(附 .jar 地址)
- python2和python3中的map()
- springMVC简易学习笔记三(文件上传与异常处理)
- podman,ctr镜像导入导出
- HTTP Header 详解 Requests 与 Responses 头信息