5.3序列模型与注意力机制

觉得有用的话,欢迎一起讨论相互学习~Follow Me

3.2选择最可能的句子 Picking the most likely sentence

condition language model 有条件的语言模型

  • 对于 语言模型 ,能够估计出这些单词是一个句子的可能性,也可以用其生成一个新的句子。
  • 对于 机器翻译模型 使用绿色表示 编码网络 ,使用 紫色表示 解码网络

  • 会发现 解码网络语言模型 几乎一模一样,只是在普通的语言模型中输入的向量 \(a^{<0>}\)是0向量,但是在机器翻译模型中 decoder 的输入是 encoder 的输出。所以称机器翻译中的 decodercondition language model 有条件的语言模型
  • 通过机器翻译模型,模型会告诉你各种翻译所对应的可能性--即 \(P(y^{<1>},...,y^{<T_{y}>}|x)\),其中x表示输入的法语句子,而y表示对应的机器翻译输出。但是通过随机取样后,每次输出的y不同。

    目的就是找到一个y,使得\(P(y^{<1>},...,y^{<T_{y}>}|x)\) 的概率最大,此时最常用的算法为 束搜索(Bean Search)

贪心搜索(Greedy Search)的不可行性

  • 生成第一个词的分布以后,它会根据你的条件语言模型挑选出最有可能的第一个词,进入机器翻译模型中,在挑选出第一个词后,它会继续挑选出第二个最有可能的词,然后继续挑选出第三个最有可能的词,这种算法就叫做 贪心搜索
  • 但是你真正需要的是整个单词序列从\(y^{<1>},y^{<2>},...,y^{<T_{y}>}\),来使整体的概率最大化。所以 贪心搜索 算法不那么管用。

  • 对于句子:
    [1] “Jane is visiting Africa in September”
    [2] "Jane is going to be visiting Africa in September"
    很明显第一个句子的翻译更好,因为第一句话相对于第二句话来说更加简洁。
  • 首先翻译出 Jane is 在英语中 going to 相对于 visiting 出现频率更多,如果使用 贪心搜索 方法,则有更高的概率会选择 going to 作为翻译的结果。这样得到的翻译结果并不是最佳的。

  • Note 所以此时应该考虑一种近似全局的搜索方式,从词典中挑选需要单词的组合近似的使 条件概率最大

[DeeplearningAI笔记]序列模型3.2有条件的语言模型与贪心搜索的不可行性的更多相关文章

  1. [DeeplearningAI笔记]序列模型3.3集束搜索

    5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.3 集束搜索Beam Search 对于机器翻译来说,给定输入的句子,会返回一个随机的英语翻译结果,但是你想要一 ...

  2. [DeeplearningAI笔记]序列模型3.9-3.10语音辨识/CTC损失函数/触发字检测

    5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.9语音辨识 Speech recognition 问题描述 对于音频片段(audio clip)x ,y生成文本 ...

  3. [DeeplearningAI笔记]序列模型3.7-3.8注意力模型

    5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.7注意力模型直观理解Attention model intuition 长序列问题 The problem of ...

  4. [DeeplearningAI笔记]序列模型3.6Bleu得分/机器翻译得分指标

    5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.6Bleu得分 在机器翻译中往往对应有多种翻译,而且同样好,此时怎样评估一个机器翻译系统是一个难题. 常见的解决 ...

  5. [DeeplearningAI笔记]序列模型3.1基本的 Seq2Seq /image to Seq

    5.3序列模型与注意力机制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.1基础模型 [1] Sutskever I, Vinyals O, Le Q V. Sequence to Se ...

  6. [DeeplearningAI笔记]序列模型1.10-1.12LSTM/BRNN/DeepRNN

    5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.10长短期记忆网络(Long short term memory)LSTM Hochreiter S, Schmidhu ...

  7. [DeeplearningAI笔记]序列模型1.7-1.9RNN对新序列采样/GRU门控循环神经网络

    5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.7对新序列采样 基于词汇进行采样模型 在训练完一个模型之后你想要知道模型学到了什么,一种非正式的方法就是进行一次新序列采 ...

  8. [DeeplearningAI笔记]序列模型1.5-1.6不同类型的循环神经网络/语言模型与序列生成

    5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.5不同类型的循环神经网络 上节中介绍的是 具有相同长度输入序列和输出序列的循环神经网络,但是对于很多应用\(T_{x}和 ...

  9. [DeeplearningAI笔记]序列模型1.3-1.4循环神经网络原理与反向传播公式

    5.1循环序列模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 1.3循环神经网络模型 为什么不使用标准的神经网络 假如将九个单词组成的序列作为输入,通过普通的神经网网络输出输出序列, 在 ...

随机推荐

  1. LeetCode 289. Game of Life (C++)

    题目: According to the Wikipedia's article: "The Game of Life, also known simply as Life, is a ce ...

  2. 20181120-10 Beta阶段第2周/共2周 Scrum立会报告+燃尽图 7

    此作业要求参见:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2415] 版本控制地址    [https://git.coding.n ...

  3. border、margin、padding三者的区别

    当你写前端的时候,肯定会遇到border,margin和padding这几个单词. 如: padding: 16px 0; margin: 0 10px; 在CSS中,他们是表示距离的东西,很多人刚开 ...

  4. 期中HTML代码及技术博客

      <!DOCTYPE html>   <html lang="en">   <head>   <meta charset="U ...

  5. Objective - C 之类目

    一.类目(category):为已有的类(可以是系统类,也可以是自定义类)添加公有的新的方法: 例如:为系统已有的NSString类添加一个比较字符串大小的方法 1.创建过程: 2.NSString ...

  6. memached实现tomcat的session共享

    由于项目服务器用的阿里云的ECS,Memcached也采用的阿里云.多个tomcat集群的session都存储在一个云memcached中. 配置步骤如下: 一.tomcat增加memcached支持 ...

  7. Laravel中如何添加新字段,如何指定在某个字段后而不是添加在最后

    解答:

  8. Halcon 笔记3 形态学

    Halcon 三大数据类型: (1)图像 (2)区域 (3)XLD  查看时间工具 如果想让图像减少,则进行腐蚀(或者使用开运算),反之,则进行膨胀(或闭运算) 腐蚀后再进行膨胀,相当于进行开运算.因 ...

  9. SQL的拼接语句在DELPHI中怎么写

    SQL 语句的拼接,关键点在于对引号的处理上. 在 delphi 的语法中,使用单引号做字符串的标志符.因此,当遇到 SQL 语句中字符串标识量编写的时候,需要用两个单引号来代替实际的引号. 举例: ...

  10. 第195天:js---函数对象详解(call、apply)

    一.call 1.call供爷法则 // 对象1 var myclass={ getAllStudentsNumbers:function(num1,num2){ return num1+num2; ...