深度学习week5_3

版权申明:本文为原创文章,转载请注明原文出处

原文链接:http://example.com/post/92da2407.html

深度学习week5_3

基础模型

翻译模型(seq2seq):

  • 建立一个编码网络,对输入进行编码,也就是进行学习
  • 建立一个解码网络,当所有的输入完了之后对编码后的变量进行解码得到翻译的结果
image-20230716152818762

类似的还有通过一张图片得到输出(img2seq),比如通过如下图片得到这只猫坐在沙发上的句子:

image-20230716152954800

选择最可能的句子

机器翻译vs语言模型,有很多类似的地方,机器翻译也叫做局限性的语言模型

image-20230716153252292

但是生成的y的质量要确保最好,使得最好的那项最大化

可能的结果:

image-20230716153444023

为什么不选择贪心算法,贪心算法是一个一个的选单词出来,先选最有可能的y1,再在这个基础上选最有可能的y2,但是可能就会导致初夏下图第二排的结果,因为going比visiting更常见,但是我们不希望这种:

image-20230716191250724

定向搜索

也叫做集束搜索

集束搜索会考虑多个选择,贪心算法只会选择最有概率的那个 B:集束宽,表示一次考虑B个选择,比如step1,就从所有词表中选出三个最有可能的选择,然后分别对这三个选择再算其所有词表的概率,从30000个里面选出最优的三个选择

image-20230716191901310

改进定向搜索

长度归一化(如果不归一化最后得到的概率一定是一个很小的数字,因为有很多个小于1的数字相乘,两种方法,直接log或者再除于这段语句的长度):

image-20230716193157256

怎么选择B(束):

image-20230716193449880

定向搜索的误差分析

出现错误的翻译(比较输出错误的概率和正确的概率):

image-20230716193812475

如果算法得到的单词比人类的单词概率更高,说明是RNN模型有问题(尝试正则化或者增加样本),如果更低,就是束搜索有问题,选择了错误的y(尝试更大的B)

image-20230716194017928

Bleu得分

评估模型

给定一个机器生成的翻译,它能够自动的计算一个分数来衡量机器的好坏

衡量的一个指标是精确度,就是机器翻译结果的每一个单词在参考中是否出现,第二个是机器翻译的结果在参考中出现最多的是多少个单词

image-20230716194626721

比较二元词组(count是出现在输出里的次数,countclip是在参考中的最多的出现次数):

image-20230716194917738

多元词组:

image-20230716195107275

Coursera官网提示: 这里的otherwise应该是exp(1-reference_output_length/MT_output_length)

这里是得分,如果MT翻译短了得分需要降低,所以幂需要变小,减掉的项应该变大,所以应该是reference/MT

image-20230716195226374

注意力模型直观理解

如果机器每次都要先记忆整个句子输入完了之后在翻译,有可能这个句子非常的长,这将导致记忆很困难,最后的输出就像蓝色的线,对于短句子效果好,对于长句子效果不好

image-20230716200013916

注意力模型实现绿色的线

在正常双向RNN计算出输出之后,再有一层隐藏单元,这里的α<1,1>表示注意力,表示第一个输出的再第一个输入的输出这里的注意值是多少,以此类推

image-20230716200725180

注意力模型

对于一个输出,所有的注意力权重之和为1,如图所示c<1> c<2>是算出来的输入到隐藏层的值

image-20230716201246436

如图所示a<t,t_hat>是和S和a有关的,代表t_hat输入对t输出的注意力值,因为如图右边,s的得出需要a和y,同时y是由s得出来的,所以有这个结果

image-20230716201654655

语音辨识

将音频自动生成文字

音频数据的常见预处理步骤:就是运行这个原始的音频片段,然后生成一个声谱图,横轴是时间,纵轴是频率,图中的颜色代表了声音的能量,还有伪空白输出,也就是在音频被输入到学习算法之前,而人耳所做的计算

过去科学家们认为用一些基本的音位单元来表示音频是做语音识别最好的方式,现在已经不需要了

注意力模型的语音辨识:

image-20230716202416099

还有种方法:CTC损失函数,语音识别通常输入维度大于输出维度,因为语音识别的话输入是赫兹,可能包含很多个样本,那对于一个输入对应一个输出的结构怎么办呢:用特殊字符代表空白字符,这里用下划线表示空白字符:

image-20230716202644473

触发字检测

所谓触发字检测就是,语音说敏感词汇:比如 嘿siri

在接收到敏感词汇时输出1

image-20230716202909321
Author

yyyyyyxnp

Posted on

2023-07-19

Updated on

2024-09-29

Licensed under

You need to set install_url to use ShareThis. Please set it in _config.yml.
You forgot to set the business or currency_code for Paypal. Please set it in _config.yml.

Comments

You forgot to set the shortname for Disqus. Please set it in _config.yml.