Iterative Viterbi decoding is an algorithm that spots the subsequence S of an observation O = {o1, ..., on} having the highest average probability (i.e., probability scaled by the length of S) of being generated by a given hidden Markov model M with m states. The algorithm uses a modified Viterbi algorithm as an internal step.

The scaled probability measure was first proposed by John S. Bridle. An early algorithm to solve this problem, sliding window, was proposed by Jay G. Wilpon et al., 1989, with constant cost T = mn2/2.

A faster algorithm consists of an iteration of calls to the Viterbi algorithm, reestimating a filler score until convergence.

The algorithm

edit

A basic (non-optimized) version, finding the sequence s with the smallest normalized distance from some subsequence of t is:

// input is placed in observation s[1..n], template t[1..m],
// and [[distance matrix]] d[1..n,1..m]
// remaining elements in matrices are solely for internal computations
(int, int, int) AverageSubmatchDistance(char s[0..(n+1)], char t[0..(m+1)], int d[1..n,0..(m+1)]) {
    // score, subsequence start, subsequence end
    declare int e, B, E
    t'[0] := t'[m+1] := s'[0] := s'[n+1] := 'e'

    e := random()
    do
        e' := e
	for i := 1 to n	do	d'[i,0] := d'[i,m+1] := e
	(e, B, E)  := ViterbiDistance(s', t', d')
        e := e/(E-B+1)
    until (e == e')

    return (e, B, E)
}

The ViterbiDistance() procedure returns the tuple (e, B, E), i.e., the Viterbi score "e" for the match of t and the selected entry (B) and exit (E) points from it. "B" and "E" have to be recorded using a simple modification to Viterbi.

A modification that can be applied to CYK tables, proposed by Antoine Rozenknop, consists in subtracting e from all elements of the initial matrix d.

References

edit
  • Silaghi, M., "Spotting Subsequences matching a HMM using the Average Observation Probability Criteria with application to Keyword Spotting", AAAI, 2005.
  • Rozenknop, Antoine, and Silaghi, Marius; "Algorithme de décodage de treillis selon le critère de coût moyen pour la reconnaissance de la parole", TALN 2001.

Further reading

edit
  • Li, Huan-Bang; Kohno, Ryuji (2006). An Efficient Code Structure of Block Coded Modulations with Iterative Viterbi Decoding Algorithm. 3rd International Symposium on Wireless Communication Systems. Valencia, Spain: IEEE. doi:10.1109/ISWCS.2006.4362391. ISBN 978-1-4244-0397-4.
  • Wang, Qi; Wei, Lei; Kennedy, R.A. (January 2002). "Iterative Viterbi decoding, trellis shaping, and multilevel structure for high-rate parity-concatenated TCM". IEEE Transactions on Communications. 50 (1): 48–55. doi:10.1109/26.975743. ISSN 0090-6778.

📚 Artikel Terkait di Wikipedia

Viterbi decoder

implementations of a Viterbi decoder. Viterbi decoding is used in the iterative Viterbi decoding algorithm. A hardware Viterbi decoder for basic (not punctured)

Viterbi algorithm

Wang et al. to deal with turbo code. Iterative Viterbi decoding works by iteratively invoking a modified Viterbi algorithm, reestimating the score for

Viterbi semiring

The Viterbi semiring is a commutative semiring defined over the set of probabilities (typically the interval [ 0 , 1 ] {\displaystyle [0,1]} ) with addition

Reed–Solomon error correction

These results do not provide an algorithm for performing the decoding. The algebraic decoding methods described above are hard-decision methods, which means

Keyword spotting

task are: Sliding window and garbage model K-best hypothesis Iterative Viterbi decoding Convolutional neural network on Mel-frequency cepstrum coefficients

Outline of machine learning

set Island algorithm Isotropic position Item response theory Iterative Viterbi decoding JOONE Jabberwacky Jaccard index Jackknife variance estimates for

Error correction code

often soft decoded with the Viterbi algorithm, though other algorithms are sometimes used. Viterbi decoding allows asymptotically optimal decoding efficiency

Turbo code

concatenated convolutional codes and repeat-accumulate codes. Iterative turbo decoding methods have also been applied to more conventional FEC systems