NAME

hmmembed.tcl - Embedded model parameter re-estimation


AVAILABILITY

script/hmm_1.0


SYNOPSIS

  hmmembed.tcl basemodel [options]

PARAMETERS

basemodel
HMM model name (e.g. digit.1/timit.2).

OPTIONS

-basename filename
Specify the base-name of the HMM model set. This is a name other than the base-name associated with the HMM model file. Typically the HMM model is described by
  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.

-trainfile filename [Default = transcript.mono]
Specify the model transcription file.
-numiters [Default = 1]
Number of iterations (passes over data set).
-prune float [Default = 300.0]
Forward/Backward pruning threshold.
-minmodel float [Default = 10.0]
Minimum model probability range. Needs only to be in the approximate range.

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.

-mincount int [Default = 3]
Only update models which have a model count above this value.
-continue accfile
Continue training from a previously saved accumulator set. Accumulators are stored to disk using the -dumpacc option.
-statfile filename
Define the input state and mixture occupancy statistics for maximum a-posteriori (MAP) training.
-type string [Default = NORMAL]
Specify the type of training. Normal embedded parameter estimation (NORMAL) or maximum a-posterior training (MAP).
-method int [Default = 1]
Specify the interpolation method used for MAP training. This parameter specifies how the priors will influence the new parameter estimates. The weighting value -beta is used to scale the effect of the prior with respect to the current data. The following methods for specifying the prior are supported.
  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
-beta float. [Default = 1.0]
Specify the MAP interpolation weighting factor.
-updatemean
Only update the mixture mean vectors.
-updatevariance
Only update the mixture covariance vectors.
-updateweight
Only update the mixture weights.
-updatestate
Update all state parameters (i.e. mixture means, variances and weights).
-updatetransp
Only update state transition probabilities.
-dumpstate
Dump the state/mixture occupancy statistics to disk. These statistics are needed for clustering, mixture splitting (see hscript) and MAP training.
-dumpacc
Dump the accumulators to disk. The accumulators are used in conjunction with the -continue option to add more training data.
-dumpcount
Dump the model counts to disk.
-config configfile
Read command line options (configuration info) from this file. The configuration file is in essence a Tcl script which sets the required internal variables.
 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.

-help
Provides a short description of the command line options.

DESCRIPTION

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.


SEE ALSO

hmminit.tcl, hmmtrain.tcl, genmodel.tcl


AUTHOR

Johan Schalkwyk
Center for Spoken Language Understanding
Oregon Graduate Institute of Science & Technology


Last modified on Wed Mar 11 11:10:50 PST 1998.