其他分享
首页 > 其他分享> > 语音识别2 -- Listen,Attend,and Spell (LAS)

语音识别2 -- Listen,Attend,and Spell (LAS)

作者:互联网

LAS是Listen(Encoder),Attend,和Spell(Decoder)的简称

第一个步骤Listen(Encoder)

listen的作用是输入一段语音信号,输出一段向量,去掉语音中的杂序,只保留和语音有关的部分。Listen
上图中acoustic features表示的是每一帧的声音信号。

listen进行encoder

listen的时候进行down sampling(降采样)

一段声音信号表示成acoustic features的时候太长,1秒钟的声音信号有100个向量,且相邻的向量之间包含的信息量也相差不大,所以在做语音识别的过程中,为了保持训练过程更有效率,就产生了down sampling.

第二个步骤Attention

两种常用的attention方式

attntion 的过程

attention 过程上图中$z_0$和encode的每一个$h$进行一个计算,$z_0$和$h1$计算得到$\alpha_01$ , 和$h2$计算得到$\alpha_02$ , ....。Encoder会输入一串acoustic features ,每一个acoustic features都对应一个输出,每一个输出都会得到一个$\alpha$,然后将得到的$\alpha$经过一个softmax层,得到$\hat{\alpha}$,最终$z_0$的attention的值$c0$为最后概率和输出的乘积形式。$c0$作为下一个decode的输入,在文献中$c^0$一般写成context vector。

第三个步骤Spell

训练

teacher forcing

c0进行decoder
在训练过程中可能会存在一个问题,就是之后的输出和之前的输出有关,所以如果前面的输入错了的话,后面无论怎么训练都无法达到好的训练效果,因此在训练时加一个teacher forcing ,直接将上一时刻正确的结果作为下一次的输入,避免前面一错全错。
teacher forcing18.png19.png

attention的一些知识

补充

原始的输出是寻找当前步骤的最大值(类似于贪心算法),很容易陷入局部最优,刚开始很好,但可能最后的一条路径并不是概率最大的。假设每次只有两种情况A,B供选择。贪心算法beam search不是只保留当前的最大值,而是保留当前最优的k个值,k的具体取值自己调,k越大,找出最大路径的可能性越大,但是所需的算力也越大,k越小,所需的算力小,但是找出最大路径的可能性也越小,当k=1时,beam search 退化为贪心算法。k=2的beam search

LAS的局限性

标签:输出,attention,features,Attend,--,Spell,一个,acoustic,alpha
来源: https://www.cnblogs.com/zhou-lin/p/14039122.html