05.序列模型 W3.序列模型和注意力机制

2021-02-19 15:45:32 浏览数 (1)

文章目录

    • 1. 基础模型
    • 2. 选择最可能的句子
    • 3. 集束搜索(Beam Search)
    • 4. 改进集束搜索
    • 5. 集束搜索的误差分析
    • 6. Bleu 得分
    • 7. 注意力模型直观理解
    • 8. 注意力模型
    • 9. 语音识别(Speech recognition)
    • 10. 触发字检测(Trigger Word Detection)
    • 作业

参考:

吴恩达视频课

深度学习笔记

序列模型和注意力机制(Sequence models & Attention mechanism)

1. 基础模型

  • seq2seq : 语言翻译
  • image to sequence:图片描述

2. 选择最可能的句子

条件语言模型 和之前的 语言模型 一个主要的区别

  • 语言模型 随机地生成句子
  • 条件语言模型,你要找到最有可能的英语句子,但是句子组合数量过于巨大,需要一种合适的搜索算法,集束搜索(Beam Search)

3. 集束搜索(Beam Search)

在 集束宽为3时,集束搜索一次只考虑3个可能结果

如果集束宽等于1,就变成了贪心搜索算法

同时考虑多个可能的结果比如3个,10个或者其他的个数,集束搜索通常比贪婪搜索更好

4. 改进集束搜索

上节讲到 集束搜索 要选出条件概率最高的前 B 个,公式如下:

超参数 α=0.7 常用,0 没有归一化,1 完全由长度来归一化

注意:集束搜索 不一定搜到的是最优解,是一种启发式搜索算法,达到较好的效果


如何选择束宽 B

  • B 越大,输出句子越好,计算代价也大,内存占用大
  • B 较小,输出效果没那么好,计算快些,内存占用小,产品中常见 B = 10,科研看情况可以取大些,效果好,好发文章

5. 集束搜索的误差分析

怎样才能发现是 Beam搜索 算法出现了问题,还是你的 RNN模型 出了问题?

分析哪种错误更多:

  • Beam搜索 算法造成了大部分错误时,才值得花费努力增大集束宽度
  • RNN模型 出了更多错,可以进行更深层次的分析,来决定是需要增加正则化还是获取更多的训练数据,抑或是尝试一个不同的网络结构,或是其他方案。(见第三门课)

6. Bleu 得分

机器翻译(machine translation)的一大难题是一个法语句子可以有多种英文翻译而且都同样好,所以当有多个同样好的答案时,怎样评估一个机器翻译系统呢?

BLEU得分背后的理念:观察机器生成的翻译,然后看生成的词是否出现在 至少一个人工翻译参考之中

短的语句更容易有 更高的Bleu 得分(较大的概率:语句中的词语都在 参考语句中),为了平衡这种情况,使用 “简短惩罚”( brevity penalty)

BLEU得分 是一个有用的单一实数评估指标,用于评估生成文本的算法,判断输出的结果是否与人工写出的参考文本的含义相似。

常用于 机器翻译,图像描述, Bleu 有很多开源实现,可以直接下载来用

7. 注意力模型直观理解

注意力权重, a<t,t> 告诉你,当你尝试生成第 t 个英文词,它应该花多少注意力在第 t 个法语词上面。

当生成一个特定的英文词时,这允许它在每个时间步去看周围词距内的法语词要花多少注意力。

8. 注意力模型

注意力模型如何让一个神经网络只注意到一部分的输入句子。当它在生成句子的时候,更像人类翻译

9. 语音识别(Speech recognition)

10. 触发字检测(Trigger Word Detection)

设备唤醒:手机助理,汽车中控唤醒等

作业

作业:机器翻译 触发词检测


本文地址:https://cloud.tencent.com/developer/article/1788632

0 人点赞