Blog Archive

Friday, March 23, 2018

异常声音检测之kaldi DNN 训练

[转]异常声音检测之kaldi DNN 训练

http://www.cnblogs.com/welen/p/7567418.html



[转]异常声音检测之kaldi DNN 训练

转自:http://blog.csdn.net/huchad/article/details/52092796
使用kaldi的DNN做音频分类,异常声音检测。
HMM/GMM -》 HMM/DNN

基本上沿用语音识别的思路,有两点注意一下即可。
1. 在训HMM/GMM时,训到monophone即可,使用monophone的HMM与alignment训DNN
2.语言模型的准备,手动构造一个一元的简单模型即可
DNN的主要训练步骤如下:
#Step 1. Pre-train DBN
steps/nnet/pretrain_dbn.sh
 --cmvn-opts "--norm-means=true --norm-vars=true" // 均值方差归一化
--delta-opts "--delta-order=2"// 差分特征
--splice 5  拼接帧数
--nn_depth 3 // 隐含层的个数
--hid-dim 256// 隐层节点数
--rbm-iter 8 // 迭代次数
$train $dir

# Step2:Train the DNN optimizing per-frame cross-entropy
steps/nnet/train.sh 
--feature-transform $feature_transform 
--dbn $dbn  // step1 所得到的dbn
--hid-layers 0  // 表示使用dbn的隐层
--learn-rate 0.008 // 学习率
    ${train}_tr90 ${train}_cv10 data/lang $ali $ali $dir

# step3: generate lattices and alignments for sMBR:
  steps/nnet/align.sh --nj 20 --cmd "$train_cmd"   $train data/lang $srcdir ${srcdir}_ali 
  steps/nnet/make_denlats.sh --nj 20 --cmd "$decode_cmd" --config conf/decode_dnn.config --acwt $acwt \
    $train data/lang $srcdir ${srcdir}_denlats 

#step4:Re-train the DNN by  iterations of sMBR
steps/nnet/train_mpe.sh 
--cmd "$cuda_cmd" --num-iters 6 --acwt $acwt --do-smbr true \
    $train data/lang $srcdir ${srcdir}_ali ${srcdir}_denlats $dir
'via Blog this'

No comments:

Post a Comment