ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα 005 - Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π. Μέθοδοι Μηχανικής Μάθησης & Βελτιστοποίησης μέσω Εννοιών Στατιστικής Φυσικής 1. Αλγόριθμοι Simulated Annealing 2. Gibbs Sampling 3. Μηχανή Boltzmann καθ. Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr www.netmode.ntua.gr Πέμπτη 11/4/2019
Ενδεικτικές Εφαρμογές & Επεκτάσεις Αλγόριθμου Metropolis-Hastings (1/2) (Επανάληψη) Ακολουθία Δειγμάτων προς Θερμική Ισορροπία Ο αλγόριθμος Metropolis παράγει συσχετισμένα δείγματα time reversible αλυσίδας Markov X n με εργοδικές πιθανότητες συμβατές με κατανομή Gibbs (Boltzmann) χωρίς γνώση της partition function Z. Οι καταστάσεις είναι σχεδόν αδύνατο να προσδιορισθούν με πληρότητα, ιδίως αν είναι πολυδιάστατες, και άρα η κανονικοποίησή τους είναι δυσεπίλυτη Υπολογισμοί Ολοκληρωμάτων και Στατιστικών Παραμέτρων Η δημιουργία σειράς δειγμάτων που προσομοιώνουν Markov Chain Random Walks μπορεί να αποτελέσει εργαλείο για τον αριθμητικό υπολογισμό ολοκληρωμάτων και ροπών κατανομών πολυδιάστατων τυχαίων μεταβλητών χωρίς πλήρη στοιχεία Εντοπισμός Ακραίων Τιμών, Simulated Annealing Οι μέθοδοι MCMC παρέχουν τη δυνατότητα να μην εγκλωβισθεί μια επαναληπτική διαδικασία σε περιοχές με τοπικά άκρα αλλά επιτρέπει να διερευνηθούν με κάποια πιθανότητα και εναλλακτικές προς μη ελκυστικές κατευθύνσεις που ένας αλγόριθμος τύπου deepest descent δεν θα εντόπιζε. Αυτή είναι η αρχή αλγορίθμων τύπου Προσομοιωμένης Ανόπτησης (Simulated Annealing) με εφαρμογή σε περίπλοκα προβλήματα συνδυαστικής βελτιστοποίησης, π.χ. ravelling Salesman Problem ΕΥΡΕΣΗ ΜΕΓΙΣΤΟΥ: Ο αλγόριθμος ακλουθεί κατευθύνσεις προς μείωση του κόστους (μείωση της θερμοκρασίας) αλλά επιτρέπει με σταδιακά ελαττωμένη συχνότητα φαινομενικά λάθος βήματα https://en.wikipedia.org/wiki/file:hill_climbing_with_simulated_annealing.gif
Ενδεικτικές Εφαρμογές & Επεκτάσεις Αλγόριθμου Metropolis-Hastings (2/2) (Επανάληψη) Μοντέλο Ising Markov Random Fields, Προσομοίωση Μεταβάσεων Φάσεων Αφορά σε υλικά με μαγνητικά δίπολα s κατανεμημένα στις κορυφές ενός γράφου G με ακμές μεταξύ τους αν υπάρχει αμφίδρομη αλληλοεπίδραση. Κάθε δίπολο μπορεί να βρίσκεται σε δύο καταστάσεις (spins) y s { 1, +1}. Αν s t τα δίπολα s, t είναι γειτονικά και αλληλοεπιδρούν με δύναμη J s,t θετική (π.χ. J s,t = 1) αν τείνει να ευθυγραμμίσει τις καταστάσεις y s και y t ή αρνητική (π.χ. J s,t = 1) αν τις ωθεί προς την αντίθετη κατεύθυνση. Σε ένα Markov Random Field οι καταστάσεις ενός διπόλου s μπορεί να επηρεάζονται μόνο από τα αμέσως γειτονικά του t N(s) G. Αν τα δίπολα είναι κατανεμημένα σε επίπεδο δύο διαστάσεων με τοπολογία πλέγματος (lattice) η συνολική κατάσταση σε ισορροπία του συστήματος y(g) = y 1 y 2 y s y t αφορά σε νόμιμους σχηματισμούς (configurations) των επιμέρους καταστάσεων y s των διπόλων που προκύπτουν από μεταβάσεις με πιθανότητες P y s y(g) = P y s y(n(s)) Η κατάσταση του διπόλου X 8 εξαρτάται μόνο από τα X 3, X 7, X 9 και X 13 Το σύστημα ισορροπεί σε καταστάσεις y(g) με πιθανότητες κατανομής Gibbs (Boltzmann) με ή χωρίς επιρροή στα δίπολα t από εξωτερικό μαγνητικό πεδίο h t : P y G = 1 E(y G ) exp όπου E(y G )~H y G = J Z s,t s,t y s y t μ t h t y t Η σύγκλιση σε καταστάσεις ισορροπίας και η σταθερά Z μπορούν να προσεγγισθούν με αλγόριθμο random walk Metropolis-Hastings
Αντιστοίχιση Εννοιών Στατιστικής Φυσικής Συνδυαστικής Βελτιστοποίησης Οι διαδικασίες Simulated Annealing και τα Random Markov Fields Ising Model έχουν εμπνεύσει αλγορίθμους Συνδυαστικής Βελτιστοποίησης κατ αναλογία εννοιών Στατιστικής Φυσικής (π.χ. μεταβάσεις καταστάσεων σε θερμική ισορροπία Gibbs/Boltzmann όπως αυτές εξελίσσονται σε προσομοιώσεις Monte Carlo αλυσίδων Markov τύπου Metropolis-Hastings) Κοινά Χαρακτηριστικά Ζητείται ο εντοπισμός δύστροπων πολυδιάστατων καταστάσεων ισορροπίας ελαχίστου Κόστους ή Ενέργειας, προς τις οποίες συγκλίνει ένα μοντέλο στοχαστικών μεταβάσεων. Η σύγκλιση μπορεί να υποβοηθείται από παραμέτρους ελέγχου (Bias σε συστήματα Μηχανικής Μάθησης - Νευρωνικά Δίκτυα ή Θερμοκρασία σε Φυσικά Συστήματα) Οι αλγόριθμοι βελτιστοποίησης δεν προχωρούν μονοσήμαντα προς βήματα ελάττωσης του κόστους αλλά δημιουργούν τυχαίες ακολουθίες Markov (Random Walk Samples) που επισκέπτονται μεγάλο εύρος πιθανών καταστάσεων ώστε να μην εγκλωβίζεται η αναζήτηση σε κάποιο τοπικό ακραίο σημείο και χαθεί η ζητούμενη βέλτιστη διαμόρφωση
Προσομοιωμένη Ανόπτηση - Simulated Annealing (1/2) Αρχική Θερμοδυναμική Προσέγγιση Μελέτη φυσικού συστήματος πολλών σωματιδίων: Σύγκλιση αλυσίδας Markov σε κατάσταση ισορροπίας χαμηλής θερμοκρασίας Το σύστημα συγκλίνει στις πιθανότητες Gibbs p i = 1 exp E i όταν 0 με τις Z καταστάσεις χαμηλής ενέργειας να έχουν τις μεγαλύτερες πιθανότητες Ο αλγόριθμος Metropolis εντοπίζει καταστάσεις ισορροπίας με γρήγορη σύγκλιση για υψηλές θερμοκρασίες αλλά με εξαιρετική βραδύτητα σε χαμηλές εξου και η τροποποίηση του με την τεχνική Simulated Annealing που περιλαμβάνει δύο συστατικά: Πρόγραμμα μείωσης της θερμοκρασίας (cooling schedule) προς την ζητούμενη χαμηλή τιμή της 0 μέσω επαναλήψεων 0, 1,, k,, (π.χ. k = α k 1, 0.8 < α < 0.99) Προσδιορισμός καταστάσεων ισορροπίας με τον αλγόριθμος Metropolis αρχικά για υψηλή 0 που να επιτρέπει μεγάλο εύρος μεταβάσεων και διαδοχικές επαναλήψεις σε χαμηλότερες k k+1 με αρχικοποίηση στην κατάσταση που οδηγήθηκε το σύστημα στην προηγούμενη θερμοκρασία k Ο αλγόριθμος Simulated Annealing μπορεί να εγκλωβισθεί σε πολλαπλά τοπικά ελάχιστα. Η σύγκλιση στο γενικό ελάχιστο (global minimum) δεν είναι εγγυημένη για ρεαλιστικά προγράμματα μείωσης της θερμοκρασίας
Προσομοιωμένη Ανόπτηση - Simulated Annealing (2/2) Εφαρμογή σε Συνδυαστική Βελτιστοποίηση (Combinatorial Optimization) Η ανίχνευση θερμοδυναμικής ισορροπίας σε χαμηλές θερμοκρασίες μεταφράζεται σε ανεύρεση κατάστασης ελάχιστου κόστους σε προβλήματα Συνδυαστικής Βελτιστοποίησης περίπλοκων προβλημάτων με πολλαπλά τοπικά ελάχιστα και μεγάλο αριθμό καταστάσεων Οι ενέργειες των καταστάσεων E i αντιστοιχούν με το αριθμητικό κόστος των διακριτών καταστάσεων. Η θερμοκρασίας είναι παράμετρος εξωτερικού ελέγχου μεταβάσεων του συστήματος και ξεκινά με υψηλή αρχική τιμή και μειώνεται ( α, 0 < α < 1) έως 0 Σε κάθε διαδοχική μείωση της ο αλγόριθμος Metropolis εκκινεί από την προηγούμενη τελική κατάσταση προς νέα ισορροπία με πιθανότητες Gibbs p i = 1 Z exp E i για E i και. Η αποδοχή μεταβάσεων i j προς γειτονικές καταστάσεις υψηλότερου κόστους E j > E i με μη μηδενική πιθανότητα exp( E j E i ), αποτρέπει τον εγκλωβισμό σε τοπικά ελάχιστα. Η πιθανότητα αυτή μειώνεται όσο χαμηλώνει η προς = 0 οπότε ο αλγόριθμος θεωρεί πως βρήκε το γενικό ελάχιστο και σταματά Παράδειγμα στο raveling Salesman Problem (Διάσημο NP-Complete πρόβλημα Συνδυαστικής Βελτιστοποίησης) Δίνεται γράφος με N = 125 σημεία (πόλεις) με κόστος c ij μεταξύ σημείων (κόμβων) i και j. Ζητείται η βέλτιστη διαδρομή ελαχίστου κόστους επίσκεψης ενός περιπλανώμενου πωλητή (raveling Salesman) σε όλα τα σημεία μόνο μία φορά https://en.wikipedia.org/wiki/file:ravelling_salesman_problem_solv ed_with_simulated_annealing.gif
Δειγματοληψία Gibbs Παράγει μια ακολουθία δειγμάτων αλυσίδας Markov με επαναλήψεις που οδηγούν σε καταστάσεις χαμηλότερης ενέργειας, αλλά επιτρέπει και αντίθετες μεταβάσεις με κάποια φθίνουσα πιθανότητα. Συγκλίνει προς καταστάσεις ισορροπίας Gibbs όπως και ο (παρεμφερής) αλγόριθμος Metropolis Ορισμός τυχαίου διανύσματος στο βήμα (επανάληψη) n : X(n) = [X 1 n, X 2 n,, X K n ] Οι τιμές (δείγματα) των τυχαίων μεταβλητών X(n) ορίζουν καταστάσεις (διανύσματα) στο βήμα n: x n = [x 1 n, x 2 n,, x K n ] Αλγόριθμος n = 0: Αυθαίρετη αρχικοποίηση x 0 = [x 1 0, x 2 0,, x K 0 ] n n + 1: Κατά σειρά για i = 1,, K δημιουργείται νέο δείγμα x i n + 1 της X i n + 1 με βάση την υπό συνθήκη πιθανότητα P X i n + 1 {x 1 n + 1,, x i 1 n + 1, x i+1 n,, x K n } Η συνθήκη περιλαμβάνει τις τιμές των δειγμάτων όπως έχουν ορισθεί μέχρι το στάδιο αυτό και δεν περιλαμβάνει την τιμή της X i n Η ακολουθία των δειγμάτων x i n, i = 1,, K σηματοδοτεί αλυσίδα Markov που συγκλίνει (γεωμετρικά) προς καταστάσεις θερμικής ισορροπίας x = [x 1, x 2,, x K ] με οριακές (marginal) πιθανότητες lim P X i(n) = x i (n) x i (0) = P(X i = x i ) n και με συνδυασμένες (joint) πιθανότητες Gibbs lim P X n = x n = P X 1 = x 1,, X K = x K = P X = x = 1 E(x) exp n Z
Εφαρμογή Δειγματοληψία Gibbs Boltzmann Machine (1/5) Γενικά περί Μηχανής Boltzmann (1985, Geoffrey Hinton & erry Sejnowski) Εξέλιξη του δικτύου Hopfield με δυαδικές καταστάσεις και αναδρομικές συμμετρικές συνάψεις με στοχαστικά χαρακτηριστικά (Stochastic Recurrent Networks with Hidden Nodes). Στόχος η δημιουργία (generation) δειγμάτων με στατιστικές ιδιότητες (συσχετίσεις) συμβατές με πραγματικά δείγματα μάθησης. Τυπική εφαρμογή η ταξινόμηση ελλειμματικών δειγμάτων εισόδου σε πρότυπα (pattern completion). Περιλαμβάνουν: Δύο διακριτά στρώματα K Hidden και L Visible Neurons με δυαδικές καταστάσεις ±1 Συμμετρικές Συνάψεις w ij = w ji, w ii = 0 εν δυνάμει μεταξύ όλων των νευρώνων Η μη επιβλεπόμενη μάθηση ξεκινά από δείγματα εισόδου μέσω Visible Nodes, οδηγείται από αλγόριθμο gradient ascent στον προσδιορισμό συναπτικών βαρών και καταστάσεων όλων των νευρώνων (Visible & Hidden) και συγκλίνει μέσω simulated annealing σε πιθανότητες ισορροπίας Gibbs των καταστάσεων των νευρώνων Boltzmann Machine Γενική Αρχιτεκτονική Νευρωνικό Δίκτυο Hopfield (1982, John Hopfield) Δυαδικοί νευρώνες με αναδρομικές συμμετρικές συνάψεις, threshold activation και Supervised Learning για μόνιμο προσδιορισμό των w ij = w ji, w ii = 0, συμβατών με το αξίωμα του Hebbs σε κατάσταση ισορροπίας (τοπικό ελάχιστο της ενέργειας του συστήματος). Εφαρμογές ταξινόμησης - επεξεργασίας προτύπων (π.χ. ψηφιακών εικόνων)
Εφαρμογή Δειγματοληψία Gibbs Boltzmann Machine (2/5) Φάσεις Μάθησης Μηχανής Boltzmann Φάση Μάθησης Ορατών Νευρώνων: Τα δείγματα μάθησης εισόδου κλειδώνουν (clamp) τις δυαδικές καταστάσεις των ορατών νευρώνων. Μέσω του προσδιορισμού των συναπτικών βαρών το δίκτυο κωδικοποιεί στους κρυφούς νευρώνες στατιστικές ιδιότητες (συσχετίσεις) από τα πραγματικά δείγματα εισόδου Φάση Ελεύθερης Επεξεργασίας: Οι νευρώνες (ορατοί και κρυφοί) αλληλοεπιδρούν ελεύθερα και ορίζουν συναπτικά βάρη που οδηγούν προς κατάσταση θερμικής ισορροπίας (Gibbs/Boltzmann). Οι τελικές καταστάσεις των ορατών νευρώνων παράγουν ένα επιθυμητό δείγμα, συμβατό με τα χαρακτηριστικών των πραγματικών δειγμάτων μάθησης π.χ. για βελτίωση ποιότητας εικόνας, αναγνώριση ταξινόμηση προτύπων Ορισμοί Κατάσταση Δικτύου: Τυχαίο Διάνυσμά X x = (x 1, x 2,, x K ), x i 1,1 {OFF, ON} η κατάσταση του νευρώνα i Συναπτικά Βάρη j i : w ij = w ji, w ii = 0 (πιθανή εξωτερική επίδραση bias στον κόμβο j θεωρείται ότι εισάγεται από κόμβο 0 σε κατάσταση ON με βάρος w j0 ) Ενέργεια Κατάστασης Δικτύου x: E x 1 w 2 i j i ji x i x j Πιθανότητες Θερμικής Ισορροπίας: P X = x = 1 E x exp Z
Εφαρμογή Δειγματοληψία Gibbs Boltzmann Machine (3/5) Εφαρμογή Δειγματοληψίας Gibbs Σύνολα Γεγονότων (Events): A = X j = x j, B = X 1 = x 1,, X j 1 = x j 1, X j+1 = x j+1,, X K = x K, C = X 1 = x 1,, X K = x K P C = P A, B = 1 Z exp 1 w 2 ji x i x j P B = P A, B = 1 exp 1 w Z 2 ji x i x j A x j i j j Υπό Συνθήκη Πιθανότητες Μεταβάσεων: Δεδομένου ότι x i, x j παίρνουν τις τιμές ±1 η υπό συνθήκη πιθανότητα P A B απλοποιείται: P(A, B) P A B = P(B) = 1 1 + exp x j i j w ji x i P X j = x X 1 = x 1,, X j 1 = x j 1, X j+1 = x j+1,, X K = x K = φ x όπου φ η σιγμοειδής (logistic) συνάρτηση φ v = 1+exp ( v) H P(A, B) προκύπτει σαν αποτέλεσμα της δειγματοληψίας Gibbs από αρχική κατάσταση x(0) με διαδοχικές επισκέψεις x(n) x(n + 1) λαμβάνοντας υπόψη τις πιο πρόσφατες ανανεώσεις των x i (n) και μειώνοντας την θερμοκρασία 0 (Simulated Annealing) i 1 j i φ v K i=1,i j w ji x i
Εφαρμογή Δειγματοληψία Gibbs Boltzmann Machine (4/5) Κανόνας Μάθησης Boltzmann Εφαρμογή κριτηρίου Maximum Likelihood ή Log Likelihood Το διάνυσμα της κατάστασης x αποτελείται από τη συρραφή δύο υποσυνόλων: Τις καταστάσεις των ορατών νευρώνων x α και των κρυφών νευρώνων x β Η λειτουργία της μηχανής Boltzmann προχωρά σε δύο φάσεις: Θετική Φάση που καθορίζεται από τις συνθήκες κλειδώματος (clamping) στα δείγματα μάθησης του περιβάλλοντος Αρνητική Φάση όπου το δίκτυο λειτουργεί αυτόνομα χωρίς εισόδους από το περιβάλλον Με δεδομένα τα συναπτικά βάρη w ji, στοιχεία της μήτρας w όλου του δικτύου, ορίζονται οι πιθανότητες ορατών καταστάσεων P X α = x α. Αν έχουμε πολλές τυχαίες μεταβλητές που να αντιστοιχούν στις καταστάσεις ενός δείγματος μάθησης, μπορούμε να θεωρήσουμε ότι οι καταστάσεις των ορατών νευρώνων είναι ανεξάρτητες και η συνολική τους πιθανότητα δίνεται από το παραγοντικό γινόμενο P X α = x x α α. Αν θεωρήσουμε τον λογάριθμο του γινομένου L w έχουμε L w = log P X α = x α = log P X α = x α x α x α Οι P X α = x α ορίζονται με βάση την ενέργεια E(x): P X α = x α = 1 exp E(x) E(x), Z = exp Z x β x
Εφαρμογή Δειγματοληψία Gibbs Boltzmann Machine (5/5) Κανόνας Μάθησης Boltzmann Εφαρμογή κριτηρίου Maximum Likelihood ή Log Likelihood (συνέχεια) Προκύπτει επομένως για τον λογάριθμο του παραγοντικού γινομένου L w = log exp E(x) log x α x β x exp Παραγωγίζοντας ως προς τα συναπτικά βάρη w ji έχουμε L w w ji = 1 xα x β P X β = x β X α = x α x j x i P X = x x j x i x E(x) 1 ρ ji + ρ ji Το ρ + ji υποδηλώνει τον μέσο ρυθμό ενεργοποίησης (firing rate) ή τη συσχέτιση (correlation) μεταξύ των καταστάσεων των νευρώνων j i στη Θετική Φάση και το ρ ji τη συσχέτιση (correlation) μεταξύ των καταστάσεων των νευρώνων j i στη Αρνητική Φάση Ο κανόνας μάθησης Boltzmann (Boltzmann Learning Rule) μεγιστοποιεί το L w με τη μέθοδο του gradient ascent: L w w ji = ε = η ρ + ji ρ ji w ji Όπου η = ε η learning rate parameter η οποία μεταβάλλεται στις επαναλήψεις του Simulated Annealing. Ο κανόνας ανανεώνει τα βάρη με βάση το σύνολο του δείγματος μάθησης (batch mode) και γενικά θεωρείται αργός ως προς τη σύγκλιση ΑΝΑΓΚΗ ΑΠΛΟΠΟΙΗΣΗΣ ΔΙΚΤΥΟΥ