The HMM Parameters

A HMM consists of a number of states. Each state $ j$ has an associated observation probability distribution $ b_{j}({\mbox{\boldmath $o$}}_t)$ which determines the probability of generating observation $ {\mbox{\boldmath $o$}}_t$ at time $ t$ and each pair of states $ i$ and $ j$ has an associated transition probability $ a_{ij}$. In HTK the entry state $ 1$ and the exit state $ N$ of an $ N$ state HMM are non-emitting.

% latex2html id marker 51615
$\textstyle \parbox{70mm}{ \begin{center}\setlength...
...echapter.\arabic{figctr}\ \ Simple Left-Right HMM}
\end{center}\end{center} }$

Fig. [*] shows a simple left-right HMM with five states in total. Three of these are emitting states and have output probability distributions associated with them. The transition matrix for this model will have 5 rows and 5 columns. Each row will sum to one except for the final row which is always all zero since no transitions are allowed out of the final state.

HTK is principally concerned with continuous density models in which each observation probability distribution is represented by a mixture Gaussian density. In this case, for state $ j$ the probability $ b_{j}({\mbox{\boldmath $o$}}_t)$ of generating observation $ {\mbox{\boldmath $o$}}_t$ is given by

$\displaystyle b_{j}({\mbox{\boldmath$o$}}_t) = \prod_{s=1}^S \left[ \sum_{m=1}^...
...ox{\boldmath$\mu$}}_{jsm}, {\mbox{\boldmath$\Sigma$}}_{jsm}) \right]^{\gamma_s}$ (7.1)

where $ M_{js}$ is the number of mixture components in state $ j$ for stream $ s$, $ c_{jsm}$ is the weight of the $ m$'th component and $ {\cal N}(\cdot; {\mbox{\boldmath $\mu$}}, {\mbox{\boldmath $\Sigma$}})$ is a multivariate Gaussian with mean vector $ {\mbox{\boldmath $\mu$}}$ and covariance matrix $ {\mbox{\boldmath $\Sigma$}}$, that is

$\displaystyle {\cal N}({\mbox{\boldmath$o$}}; {\mbox{\boldmath$\mu$}}, {\mbox{\...
...{\mbox{\boldmath$\Sigma$}}^{-1}({\mbox{\boldmath$o$}}-{\mbox{\boldmath$\mu$}})}$ (7.2)

where $ n$ is the dimensionality of $ {\mbox{\boldmath $o$}}$. The exponent $ \gamma_s$ is a stream weight and its default value is one. Other values can be used to emphasise particular streams, however, none of the standard HTK tools manipulate it.

HTK also supports discrete probability distributions in which case

$\displaystyle b_{j}({\mbox{\boldmath$o$}}_t) = \prod_{s=1}^S \left\{ P_{js}[v_s({\mbox{\boldmath$o$}}_{st})] \right\}^{\gamma_s}$ (7.3)

where $ v_s({\mbox{\boldmath $o$}}_{st})$ is the output of the vector quantiser for stream $ s$ given input vector $ {\mbox{\boldmath $o$}}_{st}$ and $ P_{js}[v]$ is the probability of state $ j$ generating symbol $ v$ in stream $ s$.

In addition to the above, any model or state can have an associated vector of duration parameters $ \{d_k\}$7.1. Also, it is necessary to specify the kind of the observation vectors, and the width of the observation vector in each stream. Thus, the total information needed to define a single HMM is as follows

The following sections explain how these are defined.


Back to HTK site
See front page for HTK Authors