5. Sequence Models - Wee 3 - Sequence models & Attention mechanism
本周课程主要介绍了机器翻译中的一些细节,包括如何将Language Model与Decoder结合,如何搜索可能的最优解。然后介绍了大名鼎鼎的Attention Mechanism。
到Attention Mechanism的时候就已经很麻烦了,还是尽量以理解机制为主。
1. Various sequence to sequence architectures
在深度学习中一些比较有意思的应用:
Machine Translation 机器翻译
Image Captioning 自动图片描述
1.1 Machine Translation
Machine translation中可以分为Encoder/Decoder两部分,而Decoder又与Language Model比较相似。
用Decoder的结果再加上Language Model可以用来寻找最优解
1.1.1 Search Algorithm
在所有的可能性中,取概率最大的结果。代价非常高,生成10个字长度的句子的复杂度是。
将上面的优化目标稍作细化,假定变成每一步的生成都只与前面的有关(后面的无关),那么条件概率就是
Greedy Search: 每一步只确定一个最有可能的词(字),但是并不能保证获得最优结果。
Beam Search:在Greedy Search每一步只挑选最可能的结果的基础上,再额外增加数个,限定每一次的搜索的大小在Beam Size中。
Beam Search可以考虑优化的点:
-
将连乘可能遇到的数值计算上的问题用求和来避开
-
增加Length Normalization来避开长句子总是会概率更低的问题
1.1.2 Error analysis in Beam Search
就是比较和的关系,小了就是模型的问题,反之就是Beam Search的问题。
1.1.3 BLEU(Bi-Lingual Evalution Understudy)
机器翻译的一种评价指标BLEU:
- 翻译的串Uni/Bi-gram是否在标注参考中的占比,重复翻译的串不会超过标注中的次数;
- 太短的翻译也会被惩罚
1.2 Attention Model
上面的Encoder-Decoder翻译模型在短句上表现不错,但是在长句上表现比较差。
Intuition: 人类在长句翻译时并不会在全文的基础上进行翻译,而是一段一段(小范围)地进行对照翻译。
- 注意力窗口内关心,窗口以外不关心
- 窗口内的贡献会被加权 (How much attention)
注意:是由一个小的Neural Network得到
模型有点复杂,理解一下机制就好,即使做完了编程作业仍然是很快就忘干净了。
3. Speech recognition - Audio data
这部分主要是以Trigger Word Detection为例子,介绍了一些评价标准和实践方法。
CTC(Connectionist temporal classification) cost for speech recognition
比如"the cat"可以是ttt__hh__eee_[]cccc_aaaa_ttt,然后处理完成得到结果的。