kaldi-asr / kaldi

kaldi-asr/kaldi is the official location of the Kaldi project.
http://kaldi-asr.org
Other
14.24k stars 5.32k forks source link

i-vector in nnet2 #2863

Closed 313024351 closed 5 years ago

313024351 commented 5 years ago

Hello. In the nnet2/get_lda.sh has online_ivector_dir. It means the i-vector will be added lda? And what the different between sec/append-vector-to-feats to add i-vector with nnet2's to add i-vector in the Neural Networks. Thanks.

danpovey commented 5 years ago

See kaldi-asr.org/forums.html for how to ask questions.

In those nnet2 scripts (and nnet3), the i-ivector is usually appended to the spliced-together MFCC features and then projected with a non-dimension-reducing transform that we call LDA but is not really LDA.. that has the effect of scaling down the i-vector portion of the features, which is important. You can get a nearly-as-good effect by just scaling down the i-vectors.

append-ivector-to-feats just appends them together. If you do that, it's necessary to scale down the i-vectors. E.g. if you scale the ivector to have norm 1, that would effectively be scaling it down, because the average norm of an ivector before scaling would be about sqrt(dim-of-ivector), e.g. 10 for a 100-dim ivector.