cell implementation hmm hmm hidden markov model
play

Cell implementation HMM (HMM hidden Markov model) Authors: Jakub - PowerPoint PPT Presentation

IBM VUT Student Research Project 2006 Cell implementation HMM (HMM hidden Markov model) Authors: Jakub Hork Ji Hona HMM Project specification Implement one of algorithm used for HMM on Cell architecture In our


  1. IBM ČVUT Student Research Project 2006 Cell – implementation HMM (HMM – hidden Markov model) Authors: Jakub Horák Jiří Hošna

  2. HMM Project specification • Implement one of algorithm used for HMM on Cell architecture • In our case we choose Viterbi algorithm IBM ČVUT Student Research Project 2006 (2 z 16)

  3. HMM Applications of hidden Markov models • speech recognition • optical character recognition • bioinformatics (DNA analysis) • machine translation • and many more... • generally is used for time lines analysis Why hidden Markov models Because is an algorithm which can be solved in polynomial • time. IBM ČVUT Student Research Project 2006 (3 z 16)

  4. HMM Andrey Andreyevich Markov • 1856 – 1922 • Russian mathematician • Best known for his work on theory of stochastic processes. His research later became known • as Markov chains. • A Markov chain is a sequence of random variables where the value of next variable, depends only upon the value of past variable. IBM ČVUT Student Research Project 2006 (4 z 16)

  5. HMM • Markov's models (including hidden) are special type of finite stochastic automaton. • Enable represent statistical dependencies of observation (states) over time. • A Markov model is a automaton which moves from state to state depending (only) on the previous n states. The model is called an order n model where n is the number of states affecting the choice of next state. IBM ČVUT Student Research Project 2006 (5 z 16)

  6. HMM First order Markov model: • Is a simplest model which can be described as a automaton, where the choice of state is made only on the basis of the previous state. • Can be defined as a pair (K,A), where K ... finite set of states A ... transition matrix IBM ČVUT Student Research Project 2006 (6 z 16)

  7. HMM Example: first order Markov model states: k 1 : snowy or rainy k 2 : cloudy k 3 : sunny transition probability matrix: A = ∣ 0.8 ∣ 0.4 0.3 0.3 0.2 0.6 0.2 0.1 0.1 IBM ČVUT Student Research Project 2006 (7 z 16)

  8. HMM Hidden Markov Model • In a regular Markov model, the state is directly visible to the observer. • In a hidden Markov model, the state is not directly visible, but variables influenced by the state are visible. Each state has a probability distribution over the possible output tokens. Thus the sequence of tokens generated by an HMM gives some information about the sequence of states . IBM ČVUT Student Research Project 2006 (8 z 16)

  9. HMM Hidden Markov Model • First state hidden Markov model can be defined as a triple (K, A, B), where K ... finite set of states A ... transition matrix B ... confusion matrix IBM ČVUT Student Research Project 2006 (9 z 16)

  10. HMM Example: first order hidden Markov model IBM ČVUT Student Research Project 2006 (10 z 16)

  11. HMM T here are 3 canonical problems to solve with HMMs • Given the model parameters, compute the probability of a particular output sequence. Solved by the forward algorithm. • Given the model parameters, find the most likely sequence of (hidden) states which could have generated a given output sequence. Solved by the Viterbi algorithm. • Given an output sequence, find the most likely set of state transition and output probabilities. Solved by the Baum- Welch algorithm or the Reversed Viterbi algorithm. IBM ČVUT Student Research Project 2006 (11 z 16)

  12. HMM Viterbi Algorithm For i, i=1...n let  1 =   i ∗ b ik 1  For t, t=2...T and i, i=1...n let  t  i  = max   t − 1  j ∗ a ji ∗ b ik t  j  t  i  = argmax j   t − 1  j ∗ a ji  let i t = argmax i   T  i   For t, t=(T-1)...2 let i t =  t  1  i t  1  IBM ČVUT Student Research Project 2006 (12 z 16)

  13. Implementation • Data types: double • Operations: array multiplivation, max value and index of max value of result array => seqentional algorithm (no SIMD ops) so we used RPC for CBE • Documentation says: ! (simple) realization IBM ČVUT Student Research Project 2006 (13 z 16)

  14. IDL interface interface array_mul { import "../stub.h"; [async_b] idl_id_t do_array_mul ([in] int array_size, [in] int one, [in, size_is(array_size)] double delta_vec_prev[], [in, size_is(array_size)] double a_mat_col[], [in, size_is(one)] double e_prob[], [out, size_is(one)] double max[], [out, size_is(one)] int max_i[]); } IBM ČVUT Student Research Project 2006 (14 z 16)

  15. Algorithm in C for (i = 0; i < N; ++i) { delta_vec[i] = init[i] * e_mat[i][obs[0]]; } for (i = 1; i < T; ++i) { for (j = 0; j < N; ++j) { delta_vec_prev[j] = delta_vec[j]; delta_vec[j] = 0; } for (j = 0; j < N; ++j) do_array_mul(N, 1, delta_vec_prev, a_mat[j], &e_mat[j][obs[i]], &delta_vec[j], &phi_mat[i][j]); } idl_join_all_do_array_mul(); } IBM ČVUT Student Research Project 2006 (15 z 16)

  16. Implementation probles • Ferora virus on our PCs • A lot of documentation, but the most important things missig there • Simulator is too slow and some functions are unusable with screen resolution 1024x768 • And others ... IBM ČVUT Student Research Project 2006 (16 z 16)

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend