文章目录
-
- 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