Constrained MLLR (CMLLR)

Constrained maximum likelihood linear regression or CMLLR computes a set of transformations that will reduce the mismatch between an initial model set and the adaptation data9.2. More specifically CMLLR is a feature adaptation technique that estimates a set of linear transformations for the features. The effect of these transformations is to shift the feature vector in the initial system so that each state in the HMM system is more likely to generate the adaptation data. Note that due to computational reasons, CMLLR is only implemented within HTK for diagonal covariance, continuous density HMMs.

The transformation matrix used to give a new estimate of the adapted mean is given by

$\displaystyle \hat{{\mbox{\boldmath$o$}}} = {\mbox{\boldmath$W$}}{\mbox{\boldmath$\zeta$}},$ (9.5)

where $ {\mbox{\boldmath $W$}}$ is the $ n \times \left( n + 1 \right)$ transformation matrix (where $ n$ is the dimensionality of the data) and $ {\mbox{\boldmath $\zeta$}}$ is the extended observation vector,

$\displaystyle {\mbox{\boldmath$\zeta$}} = \left[\mbox{ }w\mbox{ }o_1\mbox{ }o_2\mbox{ }\dots\mbox{ }o_n\mbox{ }\right]^{\scriptstyle\sf T}
$

where $ w$ represents a bias offset whose value is fixed (within HTK) at 1.
Hence $ {\mbox{\boldmath $W$}}$ can be decomposed into

$\displaystyle {\mbox{\boldmath$W$}} = \left[\mbox{ }{\mbox{\boldmath$b$}}\mbox{ }{\mbox{\boldmath$A$}}\mbox{ }\right]$ (9.6)

where $ {\mbox{\boldmath $A$}}$ represents an $ n \times n$ transformation matrix and $ {\mbox{\boldmath $b$}}$ represents a bias vector. This form of transform is referred to in the code as CMLLR.

Since multiple CMLLR transforms may be used it is important to include the Jacobian in the likelihood calculation.

$\displaystyle {\cal L}({\mbox{\boldmath$o$}};{\mbox{\boldmath$\mu$}},{\mbox{\bo...
...$o$}}+{\mbox{\boldmath$b$}};{\mbox{\boldmath$\mu$}},{\mbox{\boldmath$\Sigma$}})$ (9.7)

This is the implementation used in the code.


Back to HTK site
See front page for HTK Authors