training acoustic models with parameter $CFG_LDA_MLLT = 'yes' gives varying results using the script RunAll.pl (the same for RunAll_CDMLLT.pl) on every clean run (generated model and inter-model files are deleted after each run) I perform. I'm using always the same feature files I created once and am not changing any parameters.
Training without LDA/MLLT switch on, gives always get the same results.
I tried this on an4 and rm1 corpora as described in the tutorial http://www.speech.cs.cmu.edu/sphinx/tutorial.html.
I'm using sphinxbase-0.4.1, SphinxTrain-1.0 and sphinx3-0.8.
Some results for the an4 corpus, each line corresponds to a different run:
SENTENCE ERROR: 53.1% (69/130) WORD ERROR RATE: 16.4% (126/773)
SENTENCE ERROR: 50.8% (66/130) WORD ERROR RATE: 16.3% (125/773)
SENTENCE ERROR: 47.7% (62/130) WORD ERROR RATE: 14.6% (112/773)
SENTENCE ERROR: 55.4% (72/130) WORD ERROR RATE: 17.5% (135/773)
SENTENCE ERROR: 51.5% (66/130) WORD ERROR RATE: 16.6% (128/773)
SENTENCE ERROR: 50.0% (65/130) WORD ERROR RATE: 15.5% (119/773)
SENTENCE ERROR: 56.2% (73/130) WORD ERROR RATE: 16.9% (130/773)
SENTENCE ERROR: 62.3% (80/130) WORD ERROR RATE: 22.3% (172/773)
SENTENCE ERROR: 56.2% (73/130) WORD ERROR RATE: 17.3% (133/773)
SENTENCE ERROR: 54.6% (70/130) WORD ERROR RATE: 16.2% (125/773)
SENTENCE ERROR: 53.1% (69/130) WORD ERROR RATE: 17.3% (133/773)
SENTENCE ERROR: 60.8% (79/130) WORD ERROR RATE: 21.9% (169/773)
Is this a bug, or is there an explanation for this behavior.
Regards,
Chris
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
deftrain(self,A=None):"""TrainanMLLTtransformfromanoptionalstartingpoint.@paramA:InitialMLLTmatrixtostarttraining.@typeA:numpy.ndarray@return:OptimizedMLLTtransformationmatrix@rtype:numpy.ndarray"""ifA==None:# Initialize it with a random positive-definite matrix of # the same shape as the covariances s=self.cov[0].shaped=-1whiled<0:A=eye(s[0])+0.1*random(s)d=det(A)
so it could be explained. But I'm not happy with such a huge accuracy jumps anyhow.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hm, indeed so. It seems that mllt computation is unstable. The first thing that is different during training attempts is a mllt matrix and the log of mllt computation in 02.mllt_train. Looks like the serious issue.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
training acoustic models with parameter $CFG_LDA_MLLT = 'yes' gives varying results using the script RunAll.pl (the same for RunAll_CDMLLT.pl) on every clean run (generated model and inter-model files are deleted after each run) I perform. I'm using always the same feature files I created once and am not changing any parameters.
Training without LDA/MLLT switch on, gives always get the same results.
I tried this on an4 and rm1 corpora as described in the tutorial http://www.speech.cs.cmu.edu/sphinx/tutorial.html.
I'm using sphinxbase-0.4.1, SphinxTrain-1.0 and sphinx3-0.8.
Some results for the an4 corpus, each line corresponds to a different run:
SENTENCE ERROR: 53.1% (69/130) WORD ERROR RATE: 16.4% (126/773)
SENTENCE ERROR: 50.8% (66/130) WORD ERROR RATE: 16.3% (125/773)
SENTENCE ERROR: 47.7% (62/130) WORD ERROR RATE: 14.6% (112/773)
SENTENCE ERROR: 55.4% (72/130) WORD ERROR RATE: 17.5% (135/773)
SENTENCE ERROR: 51.5% (66/130) WORD ERROR RATE: 16.6% (128/773)
SENTENCE ERROR: 50.0% (65/130) WORD ERROR RATE: 15.5% (119/773)
SENTENCE ERROR: 56.2% (73/130) WORD ERROR RATE: 16.9% (130/773)
SENTENCE ERROR: 62.3% (80/130) WORD ERROR RATE: 22.3% (172/773)
SENTENCE ERROR: 56.2% (73/130) WORD ERROR RATE: 17.3% (133/773)
SENTENCE ERROR: 54.6% (70/130) WORD ERROR RATE: 16.2% (125/773)
SENTENCE ERROR: 53.1% (69/130) WORD ERROR RATE: 17.3% (133/773)
SENTENCE ERROR: 60.8% (79/130) WORD ERROR RATE: 21.9% (169/773)
Is this a bug, or is there an explanation for this behavior.
Regards,
Chris
Ah wait, mllt.py uses random:
so it could be explained. But I'm not happy with such a huge accuracy jumps anyhow.
Hm, indeed so. It seems that mllt computation is unstable. The first thing that is different during training attempts is a mllt matrix and the log of mllt computation in 02.mllt_train. Looks like the serious issue.