深度学习(9)-序列模型(seq2seq,机器翻译,集束搜索,注意力模型,语音检测与CTC)

网易云课堂吴恩达深度学习微专业相关感受和总结。

最后的课程讲了序列模型,因为还没做过这块的内容,所以记录下一些个人感觉有点意思的东西,温故知新,了解概念,后续需要能深入学习。

上一篇:深度学习(8)-NLP(词嵌入,嵌入矩阵,词向量,情绪分类,偏见问题)


目录

序列模型

beam search(集束搜索算法,又叫定向搜索)

注意力模型(Attention Model)

语音检测与CTC算法


序列模型

机器翻译(seq2seq,sequence to sequence):

序列到序列的过程,解码器解码后进入编码器进行翻译。

深度学习(9)-序列模型(seq2seq,机器翻译,集束搜索,注意力模型,语音检测与CTC)_第1张图片

注:由于机器翻译会生成多种翻译句子,所以会采用条件概率筛选的方式进行一个最优判断,且由于生成的句子过多,其实也只是选择部分进行条件判断。

图像描述(image to sequence):

先利用卷积网络输出序列,将特征序列放入RNN,输出描述,在短句子描述的效果不错。

深度学习(9)-序列模型(seq2seq,机器翻译,集束搜索,注意力模型,语音检测与CTC)_第2张图片


beam search(集束搜索算法,又叫定向搜索)

这是一种启发式图搜索算法,应用在解码阶段,目的在于找到概率最大的解(在seq2seq过程中,机器翻译,在解码阶段可利用束搜索找到相对最优解,找到相对好的翻译句子)

特点:不同于DFS、BFS等,束搜索可能找不到最优解,但是其运行速度快,能够得到相对好的结果

好文:深度学习:自然语言生成-集束/柱搜索beam search和随机搜索random search

深度学习(9)-序列模型(seq2seq,机器翻译,集束搜索,注意力模型,语音检测与CTC)_第3张图片

在实际应用中,考虑到数值溢出问题,可以采取log等方式。还有长度归一化等方法,也叫归一化的对数似然目标函数。

束搜索和RNN联合使用时,在误差分析时需要注意到底是束搜索导致的问题还是RNN导致的问题。

当然机器翻译评估也出现了BLEU这种机器翻译自动评估算法,对翻译结果进行评估。


注意力模型(Attention Model)

传统encoder->decoder框架:

深度学习(9)-序列模型(seq2seq,机器翻译,集束搜索,注意力模型,语音检测与CTC)_第4张图片

这种翻译效果会随着句子的增长而变差,相当于前面的单词被稀释了,所以采用注意力模型,模拟的是人脑的注意力模型,就相当于加权强调

深度学习(9)-序列模型(seq2seq,机器翻译,集束搜索,注意力模型,语音检测与CTC)_第5张图片


语音检测与CTC算法

语音检测:输入一段语音,算法分析结果为语言文字。

CTC算法全称叫:Connectionist temporal classification,用来解决时序类数据的分类问题

在语音识别中,我们希望音频中的音素和翻译后的字符可以一一对应,这是训练时一个很天然的想法。但是存在的问题是,发音快慢差异太大,比如nihao,有的人发音niii hao,有的人发音nnnnnniiiiiihhhhhhhaaaaaooo。所以现在采用end to end的方式,输入为语音,输出为nihao这类固定语言文字。CTC损失衡量输入的序列数据经过神经网络之后,和真实的输出相差有多少

你可能感兴趣的:(#,deepLearning-学习)