next up previous contents index
Next: 9.7 Miscellaneous Operations Up: 9 HMM System Refinement Previous: 9.5 Tree-Based Clustering

9.6 Mixture Incrementing

 

When building sub-word based continuous density systems, the final system will typically consist of multiple mixture component context-dependent HMMs. However, as indicated previously, the early stages of triphone construction, particularly state tying, are best done with single Gaussian models. Indeed, if tree-based clustering is to be used there is no option.  

In HTK therefore, the conversion from single Gaussian HMMs to multiple mixture component HMMs is usually one of the final steps in building a system. The mechanism provided to do this is the HHED MU command which will increase the number of components in a mixture by a process called mixture splitting. This approach to building a multiple mixture component system is extremely flexible since it allows the number of mixture components to be repeatedly increased until the desired level of performance is achieved. 

The MU command  has the form

     MU n itemList
where n gives the new number of mixture components required and itemList defines the actual mixture distributions to modify. This command works by repeatedly splitting the mixture with the largest mixture weight until the required number of components is obtained. The actual split is performed by copying the mixture, dividing the weights of both copies by 2, and finally perturbing the means by plus or minus 0.2 standard deviations. For example, the command
     MU 3 {aa.state[2].mix}
would increase the number of mixture components in the output distribution for state 2 of model aa to 3. Normally, however, the number of components in all mixture distributions will be increased at the same time. Hence, a command of the form is more usual
     MU 3 {*.state[2-4].mix}
It is usually a good idea to increment mixture components in stages, for example, by incrementing by 1 or 2 then re-estimating, then incrementing by 1 or 2 again and re-estimating, and so on until the required number of components are obtained. This also allows recognition performance to be monitored to find the optimum.

One final point with regard to multiple mixture component distributions is that all HTK tools ignore mixture components whose weights fall below a threshold value called MINMIX (defined in HModel.h). Such mixture components are called defunct. Defunct mixture components can be prevented by setting the -w option in HEREST so that all mixture weights are floored to some level above MINMIX . If mixture weights  are allowed to fall below MINMIX then the corresponding Gaussian parameters will not be written out when the model containing that component is saved. It is possible to recover from this, however, since the MU command will replace defunct mixtures  before performing any requested mixture component increment.


next up previous contents index
Next: 9.7 Miscellaneous Operations Up: 9 HMM System Refinement Previous: 9.5 Tree-Based Clustering

ECRL HTK_V2.1: email [email protected]