本文转自: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的进一步话题相关推荐

  1. 斯坦福NLP名课带学详解 | CS224n 第11讲 - NLP中的卷积神经网络(NLP通关指南·完结)

    作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/36 本文地址:https://ww ...

  2. HALCON 20.11:深度学习笔记(11)---目标检测

    HALCON 20.11:深度学习笔记(11)---目标检测 HALCON 20.11.0.0中,实现了深度学习方法. 本章讲解了如何使用基于深度学习的对象检测. 通过对象检测,我们希望在图像中找到不 ...

  3. 点云学习笔记11——VoxelNet算法+代码运行

    点云学习笔记11--VoxelNet算法+代码运行 一.算法分析 摘要 介绍 相关工作 1.2. 贡献 2.VoxelNet 2.1.特征学习网络 2.1.1 特征学习网络 二.代码复现 2.1.环境 ...

  4. 大数据之路读书笔记-11事实表设计

    大数据之路读书笔记-11事实表设计 文章目录 大数据之路读书笔记-11事实表设计 11.1 事实表基础 11.1.1 事实表特性 11.1.2 事实表设计原则 11.1.3 事实表设计方法 11.2 ...

  5. [论文总结] 深度学习在农业领域应用论文笔记11

    深度学习在农业上的应用笔记11 最近发表的相关论文数量不多,质量普遍也不尽如人意,尤其是<Computers and Electronics in Agriculture>这个期刊.这些论 ...

  6. SpringMVC:学习笔记(11)——依赖注入与@Autowired

    SpringMVC:学习笔记(11)--依赖注入与@Autowired 使用@Autowired 从Spring2.5开始,它引入了一种全新的依赖注入方式,即通过@Autowired注解.这个注解允许 ...

  7. 操作系统概念学习笔记 11 进程同步(一)

    操作系统概念学习笔记 11 进程同步(一) 互相协作的进程之间有共享的数据,于是这里就有一个并发情况下,如何确保有序操作这些数据.维护一致性的问题,即进程同步. 从底层到高级应用,同步机制依次有临界区 ...

  8. 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 ...

  9. Python 网络爬虫笔记11 -- Scrapy 实战

    Python 网络爬虫笔记11 – Scrapy 实战 Python 网络爬虫系列笔记是笔者在学习嵩天老师的<Python网络爬虫与信息提取>课程及笔者实践网络爬虫的笔记. 课程链接:Py ...

  10. MyBatis-学习笔记11【11.Mybatis的缓存】

    Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...

最新文章

  1. ASP.NET Excel导入到SQL Server数据库
  2. SpringMVC的数据转换、格式化和数据校验
  3. 痛并快乐着看火箭比赛
  4. 原型共享数据 原型简单语法 原型中方法是可以相互访问 实例对象属性方法层层搜索
  5. 人才缺口40万,摆地摊也没有它挣钱,这个神仙职业今年太火了!
  6. 求php加密函数结果是超短的,寻求一种可逆加密算法,加密数据库自增主键,要求密文越短越好。...
  7. 2复数与复变函数(二)
  8. 《剑指offer》面试题34——丑数
  9. python 爬糗事百科
  10. 初装Windows11无法打开Windows安全中心主界面
  11. 图解冰河木马一次使用过程
  12. 这次的PION的总结
  13. python爬虫 爬取图片
  14. VC++中COM开发理论知识
  15. table表格单元格padding_html表格单元格间距
  16. 怎么看待SEO?新型SEO与传统SEO对比优势?
  17. 高校合同管理系统的设计与实现
  18. 学习 Java 语言,你需要知道的 Java 简史
  19. 电脑上的图片转文字工具怎么用?
  20. AcWing 1902. 马拉松(枚举)

热门文章

  1. matlabif语句怎么用_腾讯面试:一条SQL语句执行得很慢的原因有哪些?
  2. 【Django 2021年最新版教程17】数据库操作 models 存在更新 不存在新建update_or_create
  3. java lambda_Java 8 Lambda 表达式 ( 中 )- 外部参数
  4. 数据库学习----MySQL(一)
  5. python语法学习第十一天--模块
  6. GSON简单实用及常用方法(附 .jar 地址)
  7. python2和python3中的map()
  8. springMVC简易学习笔记三(文件上传与异常处理)
  9. podman,ctr镜像导入导出
  10. HTTP Header 详解 Requests 与 Responses 头信息