美文网首页
语音识别TDNN-F声学模型

语音识别TDNN-F声学模型

作者: 诸葛村姑 | 来源:发表于2019-01-12 15:07 被阅读0次

    参考论文:Semi-Orthogonal Low-Rank Matrix Factorization for Deep Neural Networks(半正交低秩矩阵分解DNN)

    一.TDNN-F与TDNN的区别?
    1.增加中间层
    与图1相比,图2多了维数较低的中间层,即令

    将原来的权重矩阵M分解为A矩阵和B矩阵,并且限制B矩阵为半正交矩阵,降低中间层维数,在减少模型参数的同时,依然保持很好的建模能力。kaldi中的例子swbd和librispeech中,采用的结构为1536X160X1536,中间层维度为160。

    2.增加跳层连接

    跳层连接(skip connections)与残差结构很像,同样是为了减少梯度消失,将之前层输出加到当前层输出作为下一层的输入,每个TDNN-F结构中的跳层连接都发生在1536维度的输出之后。

    3.增加dropout

    这个比较好理解,如图3,为了防止过拟合,每个TDNN-F结构中还加了dropout层。

    二.TDNN-F模块的训练?
    前边我们讲TDNN-F是将原来的权重矩阵M分解为两个矩阵A和B,并将B约束成半正交的,那么加了半正交约束的TDNN-F是如何训练的呢?下面我们结合论文和代码着重理解一下这块。

    论文中提到,通过scale化M矩阵或采用L2正则项都可以控制各层参数变化的快慢,之前的chain-model只是将L2正则项用到最后一层,因为batchnorm层和dropout层的原因,将L2用到隐层作用不是很明显,通过加"floating"半正交约束,可以将L2用到每个TDNN-F中。(这段不是很理解,可能翻译的也不对)

    论文链接:http://www.danielpovey.com/files/2018_interspeech_tdnnf.pdf
    代码:kaldi/src/nnet3/nnet-utils.cc
    模型结构:kaldi/egs/swbd/s5c/local/chain/tuning/run_tdnn_7q.sh

    相关文章

      网友评论

          本文标题:语音识别TDNN-F声学模型

          本文链接:https://www.haomeiwen.com/subject/uxtcdqtx.html