Kaldi-dnn 学习01
1. Kaldi 中实现的 dnn 共 4 种: a. nnet1 - 基于 Karel's 的实现,特点:简单,仅支持单 GPU, 由 Karel 维护 b. nnet2 - 基于 Daniel Povey p-norm 的实现,特点:灵活,支持多 GPU、CPU,由 Daniel 维护 c. nnet3 - nnet2 的改进,由 Daniel 维护 d. (nnet3 + chain) - Daniel Povey 改进的 nnet3, 特点:可以实现实时解码,解码速率为 nnet3 的 3~5 倍 目前来看:minibatch Stochastic Gradient Descent 用于 DNN 梯度下降的效果最好 从一个小样本含 (τ个样本) 估计出一个 avarage gradient , 这个小样本就叫做 minibatch 2. 先从 nnet2 说起 a. nnet2 最顶层的训练脚本:steps/nnet2/train_pnorm_fast.sh 通过多计算节点,完成并行化训练 b. 输入神经网络的特征 输入神经网络的特征是可配置的,通常为MFCC+LDA+MLLT+fMLLR, 40-维的特征,从网络上看到的是由7帧(从中间帧到左右帧都是3帧)组成的一个帧窗。由于神经网络很难从相关输入的数据中学习,因此,以 40*7 维特征作为一个不相关的固定变换形式,通过