Training tools

nnet1相关的代码在目录src/nnetbin下,重要的工具如下:

  • nnet-train-frmshuff.cc :最普遍使用的神经网络训练工具,执行一次迭代训练。
    • 过程如下:
      • on-the-fly feature expansion by –feature-transform,
      • per-frame shuffling of NN input-target pairs,
      • mini-batch随机梯度下降法(SGD)训练,
    • 支持每一帧的目标函数(选项–objective-function):
      • Xent :每一帧的交叉熵form_160.png
      • Mse: 每一帧的最小均方误差form_161.png 这里的2a76d6c.png表示目标向量3fc744dc.png的元素,8de798cc.png是DNN输出向量b087b17c.png的元素,和D是DNN输出的维度。
  • nnet-forward.cc : 通过神经网络计算前向数据,默认使用CPU
    • 看选项:
      • –apply-log :产生神经网络的对数输出(比如:得到对数后验概率)
      • –no-softmax :从模型中去掉soft-max层(decoding with pre-softmax values leads to the same lattices as with log-posteriors)
      • –class-frame-counts : counts to calculate log-priors, which get subtracted from the acoustic scores (在解码中的一个典型的技巧).
  • rbm-train-cd1-frmshuff.cc :使用CD1来训练RBM,当内部调整学习率/冲量时需要训练数据好几次。
  • nnet-train-mmi-sequential.cc : MMI / bMMI DNN training
  • nnet-train-mpe-sequential.cc : MPE / sMBR DNN training

results matching ""

    No results matching ""