Listen、Attention、Spell模型
创始人
2024-02-23 11:23:53

LAS是一个做语音识别的经典seq2seq模型,主要分为三个部分Listen、Attention、Spell

Listen

Listen部分就是一个encoder。
输入声学特征向量,提取信息、消除噪声,输出向量。
在这里插入图片描述
encoder可以是RNN
在这里插入图片描述
也可以是CNN。比较常见的是先用CNN,再用RNN
在这里插入图片描述
还有一种趋势是使用Self-Attention
在这里插入图片描述

Down Sampling减少取样

由于声音的采集通常都是很大数据量的。比如采样率为16KHz需要在一秒钟采集16000个采样点,所以通常需要对声音的特征向量进行Down Sampling,减少样本数。

对于RNN,
方法一是通过使用两层RNN,4个向量通过第一层RNN输出4个向量,通过第二个RNN输出2个向量
方法二是把通过RNN输出的四个向量中,每隔一个输出向量
在这里插入图片描述

对于CNN,使用TDNN的方法,可以认为一段附近的几个特征向量差不多,采取使用第一个和最后一个向量,减少样本参数。

对于Self-Attention,计算当前向量和所有向量(1秒16K)计算量太大,只计算一个范围内的注意力。
在这里插入图片描述

Attention

我们可以直接编码解码之后直接输出,但是我们当前的编码解码不仅限于这一个编码向量,还取决于周围的编码向量,所以要做attention。

注意力机制如下图所示。zzz是待训练的向量,初始时随机初始化,zzz与每个hhh做match得到注意力分数ααα。
match的方法有两种,一种是Dot-product,另一种是Addictive。
在这里插入图片描述
在这里插入图片描述
做完match之后,每个hhh的注意力分数ααα做softmax,然后对应比例的h相乘相加,得到向量ccc,c0c^{0}c0作为decoder(Spell)的输入。
在这里插入图片描述

Spell

c0c^{0}c0作为decoder的输入
随机初始化的z0z^{0}z0经过训练之后得到z1z^{1}z1,z1z^{1}z1作为RNN的隐状态输入
通过RNN,输出|V|维向量经过Softmax,输出最大概率的token。
在这里插入图片描述
z1z^{1}z1作为待训练的向量,与每个hhh做attention,得到c1c^{1}c1作为输入
把得到的Token加入RNN网络,z1z^{1}z1训练后得到的z2z^{2}z2作为隐状态,训练得到下一个Token
在这里插入图片描述

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...
春风一拂千山绿 春风轻拂千山绿... 新春对联欣赏1、天意无常顺子自然,万般皆苦唯有自渡。2、门迎百福吉星照,户纳千祥鸿运开。3、一门天赐...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...