hmmembed.tcl - Embedded model parameter re-estimation
hmmembed.tcl basemodel [options]
basename.? basename.rr basename.list
Multiple parameter sets may therefore share the same model configuration and indices. This option is often used when building male/female model sets.
The options -prune and -minmodel are used to control the number of models which are kept active during training. If an over pruning error is caused (due to too tight pruning) the pruning threshold is automatically relaxed and the forward/backward algorithm is restarted for that particular utterance.
0 Normal Bayes Weighting 1 B<beta> * no. of old samples 2 B<beta> * no. of current samples 3 No. of samples a constant 4 Model interpolation
set config(embed,trainfile) basename.trn set config(embed,numiters) 1 set config(embed,prune) 300.0 set config(embed,minmodel) 10.0 set config(embed,mincount) 3 set config(embed,method) 1 set config(embed,beta) 1.0 set config(embed,dumpstate) 0 set config(embed,dumpcount) 0 set config(embed,dumpacc) 0 set config(embed,statfile) state set config(embed,type) NORMAL
These values will override the preset default values. All subsequent
command line options will override the values specified by the
configuration script. Command line parameters are specified using the
param variable.
set param(train,modelname) foo.0
Since command line parameters are typically not optional the user needs to specify the command line parameters as a single "-" character for the settings defined in the configuration script to take effect.
The configuration file is also used to specify the feature post-processing script.
set config(feature,script) user.tcl
If this variable is not defined in the configuration file, then only the base features as saved in the feature cache are used during training.
hmmembed.tcl performs embedded model re-estimation using the data specified by the input transcription file (-trainfile). The input transcription file specifies the set of models associated with a particular wave file.
Before processing the data, the associated features for each of the training files specified must first be computed (see genfeature.tcl) and stored in the local cache. hmmembed.tcl reads the feature cache using the index specified in the transcription file. The transcription file must conform to the CSLU-HMM transcription file format.
For each of the training utterances specified, a composite model is created by combining each of the models defined by the input transcription. Training then continues similar to the single model training (hmmtrain.tcl). Using the composite model, however, results in all models updated simultaneously.
hmmembed.tcl also supports maximum a-posterior training (MAP). This training method is used to interpolate between data sets. MAP training requires the state/mixture occupation statistics, which are dumped to disk when the -dumpstate option is used. The interpolation method is specified using the -method and -beta command line options. The combination of these two options can be used to set the importance of the original parameters (i.e. the priors). The default values are equivalent to standard Bayes estimation, which effectively results in a model trained on the combined data sets of the original parameter set (prior model) and the data set used during MAP training.
During MAP training it is advised to dump the accumulator variables using the -dumpacc command line option. This enables the user to create a series of models by choosing various prior parameters. This is done off-line using the mapmodel.tcl script.
hmminit.tcl, hmmtrain.tcl, genmodel.tcl
Johan Schalkwyk
Center for Spoken Language
Understanding
Oregon Graduate Institute of Science &
Technology