1 / 19

Προσομοίωση Απλού Μοντέλου Markov σε

Προσομοίωση Απλού Μοντέλου Markov σε. Επιμέλεια: Γιώργος Πληγορόπουλος Σπύρος Δημόπουλος Μανώλης Βαρδάκης. Markov Models. Μοντελοποίηση πιθανοτήτων στο χρόνο Φανερά και κρυφά Διακριτά και συνεχή Χαρακτηριστικά: Καταστάσεις Παρατηρήσεις Πίνακας Μεταβάσεων

psyche
Download Presentation

Προσομοίωση Απλού Μοντέλου Markov σε

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Προσομοίωση Απλού Μοντέλου Markov σε Επιμέλεια: Γιώργος ΠληγορόπουλοςΣπύρος ΔημόπουλοςΜανώλης Βαρδάκης

  2. Markov Models • Μοντελοποίηση πιθανοτήτων στο χρόνο • Φανερά και κρυφά • Διακριτά και συνεχή • Χαρακτηριστικά: • Καταστάσεις • Παρατηρήσεις • Πίνακας Μεταβάσεων • Πιθανότητες παρατηρήσεων σε κάθε κατάσταση • Order μοντέλου Πληγορόπουλος - Δημόπουλος - Βαρδάκης

  3. Περιγραφή Μοντέλου • Κρυφό και διακριτό μοντέλο • 11 καταστάσεις • 4 παρατηρήσεις • Πίνακας μεταβάσεων (11x11) a(i,j) • Πίνακας παρατηρήσεων (11x4) b(j,k) • Αρχικές πιθανότητες πi • First order Πληγορόπουλος - Δημόπουλος - Βαρδάκης

  4. Διάγραμμα Μεταβάσεων Πληγορόπουλος - Δημόπουλος - Βαρδάκης

  5. Πίνακας Μεταβάσεων μεταξύ καταστάσεων Στην πρώτη γραμμή εμφανίζονται οι αρχικές πιθανότητες. Όπου δεν υπάρχει τιμή εννοείται η μηδενική πιθανότητα μετάβασης Πληγορόπουλος - Δημόπουλος - Βαρδάκης

  6. Πίνακας πιθανοτήτων παρατηρήσεων Πληγορόπουλος - Δημόπουλος - Βαρδάκης

  7. Αλγόριθμοι για HMM • Training(Learning): ρυθμίζονται οι παράμετροι σύμφωνα με κάποια δεδομένα εκμάθησης • Evaluation: υπολογίζεται η πιθανότητα χρονικών ακολουθιών παρατηρήσεων να έχουν προέλθει από την διεργασία που μοντελοποιεί το HMM • Decoding: βρίσκεται η πιο πιθανή ακολουθία κρυφών καταστάσεων του μοντέλου που αντιστοιχεί με κάποια χρονοσειρά παρατηρήσεων. Πληγορόπουλος - Δημόπουλος - Βαρδάκης

  8. Θεωρούμε το μοντέλου αυτού του project ήδη εκπαιδευμένο με πίνακες αυτούς που παρουσιάστηκαν παραπάνω • Για το evaluation υπάρχουν δύο αλγόριθμοι • Ο straightforward που υλοποιείται σύμφωνα με τον τύπο. O(cT T) Πληγορόπουλος - Δημόπουλος - Βαρδάκης

  9. O forward αλγόριθμός τον οποίο χρησιμοποιούμε στη δική μας υλοποίηση έχει πολύ μικρότερη πολυπλοκότηταΟ(c2T) και φαίνεται παρακάτω. Πληγορόπουλος - Δημόπουλος - Βαρδάκης

  10. Υλοποίηση Μοντέλου σε C • Δομή κώδικα • Συνάρτηση CreateInput()δημιουργεί τα vectors παρατηρήσεων εισόδου με τυχαίο τρόπο 20 στοιχείων • Συνάρτηση LoopFunction( )υλοποιεί το forward αλγόριθμό του μοντέλου Markov και επιστρέφει την πιθανότητα Πληγορόπουλος - Δημόπουλος - Βαρδάκης

  11. Θέματα εισόδου/εξόδου • Προκύπτουν από τους υπολογισμούς πιθανότητες της τάξεως του 10-12 • Πρόβλημα: Μικρές τιμές πιθανοτήτων • Αναγκαία χρήση τύπου long long • Long long αναπαράσταση 64bit => • Ικανοποιεί τις απαιτήσεις Πληγορόπουλος - Δημόπουλος - Βαρδάκης

  12. Αναπαράσταση πιθανοτήτων • Χρειαζόμαστε αντιστοίχηση του [0,1] σε [0,264-1] • Ισχύει ο τύπος μετατροπής f(P(x))=P(x)*(264-1) • Πράξεις • Πρόσθεση, δεν χρειάζεται τροποποίηση • Πολλαπλασιασμός 64bit x 64bit =128bit. Κρατάμε τα 64 Most Significant bits Πληγορόπουλος - Δημόπουλος - Βαρδάκης

  13. Testbench • 300 διανύσματα εισόδου • Κάθε διάνυσμα αποτελείται από 20 παρατηρήσεις • Δημιουργούνται μέσω της rand με τυχαίο τρόπο Πληγορόπουλος - Δημόπουλος - Βαρδάκης

  14. Υπολογιστικά ακριβά κομμάτια • Bρόγχος επανάληψης που εκτελείται n*c2*T • Όπου n=300 Vectors εισόδου c=11 αριθμός καταστάσεων και Τ=20 μέγεθος Vector. • Ο βρόγχος εκτελεί πολλαπλασιασμούς και προσθέσεις που συμφωνά με τα αποτελέσματα του profiling μονοπωλούν τους κύκλους εκτέλεσης του μοντέλου μας . • 70% του χρόνου Πληγορόπουλος - Δημόπουλος - Βαρδάκης

  15. Βελτιστοποίηση Κώδικα • Xρήση αναδιατασσομένης λογικής και loop unrolling • Παράλληλη επεξεργασία προσθέσεων και πολλαπλασιασμών • Εκμετάλλευση των 128bit των Wide Registers για εκτέλεση στο αναδιατασσόμενο • Χρήση της Cache μνήμης του επεξεργαστή Πληγορόπουλος - Δημόπουλος - Βαρδάκης

  16. Υλοποίηση Σε Stretch C • Σε κάθε επανάληψη του βρόχου, επεξεργασία δεδομένων ανά128 bit • Χρήση δυο συναρτήσεων για το αναδιατασσόμενο: • Mult64(wra IN1,wra IN2, wra *OUT) • Multsum(wra IN1,wra IN2, wra IN3, wra *OUT) Πληγορόπουλος - Δημόπουλος - Βαρδάκης

  17. Αποτελέσματα • Χρόνος / Κύκλοι εκτέλεσης • Χωρίς αναδιατασσομένη λογική 102.292.543 κύκλους=> 340ms με 300MHzclock Χρόνος προσομοίωσης 5minute Σε επεξεργαστή AMD Athlon 2.6MHz • Με αναδιατασσομένη λογική 33.295.495 κύκλους=>90ms με 300MHzclock Χρόνος προσομοίωσης 3minute Σε επεξεργαστή AMD Athlon 2.6MHz Πληγορόπουλος - Δημόπουλος - Βαρδάκης

  18. Επιπλέον Βελτιστοποίηση • Ανάθεση στο αναδιατασσόμενο δύο επιπλέων βρόχων Πληγορόπουλος - Δημόπουλος - Βαρδάκης

  19. Ευχαριστούμε!!! Πληγορόπουλος - Δημόπουλος - Βαρδάκης

More Related