ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα 005 - Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π. Επισκόπηση Νευρωνικών Δικτύων καθ. Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr www.netmode.ntua.gr Πέμπτη 14/3/2019
Μη Γραμμικό Μοντέλο Τεχνητού Νευρώνα k (McCulloch-Pitts, 1943) Κοινές Συναρτήσεις Διέγερσης Συνάρτηση Κατωφλίου (Threshold Function) Synaptic Weights: w kj, j = 1,2,, m Bias b k : x 0 = +1, w k0 = b k Induced Local Field Activation Potential: v k = m j=0 w kj x j Σιγμοειδής Συνάρτηση (Sigmoid Logistic Function) 1 φ v = 1 + exp ( av) Συνάρτηση Διέγερσης (Activation Function) φ( ) : Έξοδος y k = φ(v k ) Συνήθεις Επιλογές: 1. Σιγμοειδής Συνάρτηση (Logistic Function): y k = φ v k συνεχής μεταβλητή 0,1 2. Συνάρτηση Κατωφλίου (Threshold Function): y k = φ v k δυαδική μεταβλητή {0,1} 3. Συνάρτηση Πρόσημου (Signum Function) y k = φ v k δυαδική μεταβλητή { 1,1}
Νευρωνικά Δίκτυα σαν Κατευθυνόμενοι Γράφοι v k = m j=0 w kj x j y k = φ(v k ) Γράφος Ροής Σήματος Νευρώνα (Neuron Signal-flow Graph) Κανόνες Γράφων Ροής Σήματος (Signal-flow Graph Rules) Αρχιτεκτονικός Γράφος Νευρώνα (Neuron Architectural Graph)
Μοντέλα Νευρωνικών Δικτύων Μονοστρωματικό Δίκτυο Πρόσθιας Τροφοδότησης (Single-Layer Feedforward Network) Δίκτυο Πρόσθιας Τροφοδότησης με Κρυφούς Νευρώνες (Multilayer Feedforward Network with Hidden Neurons) Signal-flow Graph Απλού Φίλτρου IIR με Ανάδραση Αναδρομικό Δίκτυο με Κρυφούς Νευρώνες (Recurrent Network with Hidden Neurons) x j (n): Σήμα Εισόδου στην διακριτή στιγμή n y k (n): Σήμα Εξόδου στην διακριτή στιγμή n x j (n): Εσωτερικό Σήμα στην διακριτή στιγμή n y k n = w l+1 x j (n l) l=0
Αναπαράσταση Γνώσης (Knowledge Representation) Προβλέψεις, ερμηνεία και επιθυμητή απόκριση σε εξωτερικές εισόδους του περιβάλλοντος που θα λειτουργήσει ένα νευρωνικό δίκτυο με: Πρότερη Πληροφορία (Prior Information) Μετρήσεις Παρατηρήσεις Παραδειγμάτων (Observations) Συνήθως εμπεριέχουν θόρυβο (noisy sensor errors) Παρέχουν υποδείγματα εισόδου για training νευρωνικών δικτύων Labeled (αντιστοίχηση με επιθυμητά χαρακτηριστικών εξόδου με μεσολάβηση εκπαιδευτή) Unlabeled (χωρίς αντιστοίχηση χαρακτηριστικών εξόδου) Φάσεις Σχεδίασης Νευρωνικών Δικτύων : Φάση Μάθησης (Learning) με χρήση γνωστών training samples από το περιβάλλον: Επιλογή αρχιτεκτονικής (συνδεσμολογία νευρώνων, συνάρτηση διέγερσης) Προσδιορισμός synaptic weights w kj και biases b k Φάση Ελέγχου (Testing) επίδοσης σε νέα δεδομένα
Ενσωμάτωση Πρότερης Πληροφορίας στη Σχεδίαση Νευρωνικών Δικτύων (Building Prior Information into Neural Network Design) Γενικές επιλογές αρχιτεκτονικής με οδηγό Πρότερη Πληροφορία συγκεκριμένης εμπειρίας Παραδοχές Απλοποίησης Σχεδίασης Νευρωνικού Δικτύου: 1. Αρχιτεκτονική με ορισμό τοπικού πεδίου (local field) ίσου αριθμού εισόδων ανά κρυφό νευρώνα 2. Διαμοιρασμός βαρών (weight sharing): Στο παράδειγμα, κοινά βάρη w i, i = 1,, 6 για τους κρυφούς νευρώνες 1,2,3,4 Induced Local Fields Activation Potential Κρυφών Νευρώνων v 1 = w 1 x 1 + w 2 x 2 + w 3 x 3 + w 4 x 4 + w 5 x 5 + w 6 x 6 v 2 = w 1 x 2 + w 2 x 3 + w 3 x 4 + w 4 x 5 + w 5 x 6 + w 6 x 7 v 3 = w 1 x 4 + w 2 x 5 + w 3 x 6 + w 4 x 7 + w 5 x 8 + w 6 x 9 v 4 = w 1 x 5 + w 2 x 6 + w 3 x 7 + w 4 x 8 + w 5 x 9 + w 6 x 10 Ο υπολογισμός των βαρών w i απαιτεί διαδικασία Μάθησης που θα προσδιορίσει τελική λύση
Επιλογές Αρχιτεκτονικής Σχεδίαση Νευρωνικών Δικτύων Στρώματα (layers input, output, hidden) Πρόσθια τροφοδότηση (feedforward) Ανάδραση (feedback, recurrent) Προσδιορισμός Παραμέτρων, Μάθηση Επιβλεπόμενη Μάθηση με Εκπαιδευτή - Supervised Learning Με χρήση Labeled Training Samples για ελαχιστοποίηση κόστους πρόβλεψης Μάθηση χωρίς Εκπαιδευτή Μη Επιβλεπόμενη Μάθηση - Unsupervised Learning Ενισχυτική Μάθηση - Reinforcement Learning Κανονικοποίηση των Δεδομένων Μάθησης - Normalization of Training Datasets Feature Scaling, Min-max Normalization πριν την εφαρμογή βελτιστοποίησης Ομαλοποίηση διαδικασίας μάθησης - Regularization Smoothing συνάρτησης κόστους για μείωση πολυπλοκότητας και αποφυγή overfitting
Νευρωνικό Δίκτυο (Learning System) Εκτίμηση y = h x βαθμωτής (scalar) συνάρτησης της κατάστασης δειγμάτων του περιβάλλοντος (Environment State Vector), π.χ. ταξινόμηση σε δύο κλάσεις με βάση δυαδική συνάρτησή δειγμάτων Φάση Μάθησης Κατάσταση περιβάλλοντος μάθησης: Άγνωστη στο Νευρωνικό Δίκτυο (Learning System), γνωστή στον Εκπαιδευτή (Teacher) Εκτίμηση συνάρτησης από το Νευρωνικό Δίκτυο (Actual Response), υπολογισμός από Εκπαιδευτή Desired Response, διόρθωση παραμέτρων Συστήματος σε επαναλήψεις (iterations) μέχρι ανεκτής σύγκλησης Άμεση σχέση με μεθόδους στατιστικής (εκτίμηση παραμέτρου δειγμάτων) και βελτιστοποίηση με επαναληπτικούς αλγορίθμους Μάθηση με Εκπαιδευτή Supervised Learning x n Δείγματα Μάθησης: {x n, d(n)}, n = 1,2,, N e n = d n y(n) y n = h(x n ) d(n) Το Learning System ρυθμίζει τις παραμέτρους του h( ) επαναληπτικά με οδηγό την απόκλιση (σφάλμα) της εξόδου του y n = h(x n ) από την ζητούμενη απόκριση d n, γνωστή στον Εκπαιδευτή, π.χ. σύμφωνα με μέθοδο Steepest Descent προς την κλίση (gradient) συναρτήσεως σφάλματος όπως αυτό εξελίσσεται σαν χρονοσειρά (Στοχαστική Διαδικασία) στη διάρκεια των Δειγμάτων Μάθησης n = 1,2,, N
Μάθηση χωρίς Εκπαιδευτή Ενισχυτική Μάθηση Reinforcement Learning Το Σύστημα (Learning System) μαθαίνει από το περιβάλλον χωρίς labeled training data και εκπαιδευτή. Αλλά παίρνει υπόψη του πρόσθετα ενισχυτικά σήματα από το περιβάλλον μέσω εξωτερικού κριτή (Critic, Agent) και επιδρά στην εξέλιξη του περιβάλλοντος μέσω ενεργειών (Actions) Το περιβάλλον υπολογίζει ένα βαθμωτό σήμα ενίσχυσης της απόδοσης του συστήματος (Scalar Primary Reinforcement Signal) το οποίο διαβάζει στον κριτή (Critic, Agent) μαζί με τη κατάσταση εισόδου (State Vector) σε κάθε επανάληψη κατά την εξέλιξη της κατάστασής του Ο εξωτερικός κριτής υπολογίζει πολιτικές με εκτίμηση κόστους/επιβράβευσης σε βάθος χρόνου της εξέλιξης της κατάστασης του περιβάλλοντος. Υπολογίζει ένα απλοποιημένο βαθμωτό σήμα ενίσχυσης (Heuristic Reinforcement Signal) για την υλοποίηση της πολιτικής και το διαβιβάζει στο Σύστημα Το Σύστημα ρυθμίζει τις παραμέτρους του ανάλογα με τη κατάσταση εισόδου και το απλοποιημένο σήμα ενίσχυσης. Μέσω βρόχου ανάδρασης (Feedback) κοινοποιεί στο περιβάλλον ενέργειες (Actions) που επιδρούν στην εξέλιξη της κατάστασης για την επίτευξη μέσω-μακροπρόθεσμου στόχου (μεγιστοποίηση οφέλους ή ελαχιστοποίηση κόστους)
Μάθηση χωρίς Εκπαιδευτή: Μη Επιβλεπόμενη Μάθηση Unsupervised Learning Το σύστημα αυτορυθμίζεται ανακαλύπτοντας από μόνο του σημαντικές στατιστικές διακυμάνσεις του περιβάλλοντος. Υπολογίζει ενδιαφέρουσες στατιστικές δομές (stochastic features, patterns) σε μεγάλο όγκο μη χαρακτηρισμένων δεδομένων (unlabeled datasets) από τα οποία προκύπτουν μοντέλα, μέθοδοι επεξεργασίας, αποθήκευσης και ταξινόμησης, π.χ. σε ομάδες (clusters) Με βάση την διαδικασία αυτόνομης μάθησης, το σύστημα δημιουργεί μοντέλα δειγμάτων (generated samples) συμβατών με τις στατιστικές ιδιότητες του περιβάλλοντος. Αποτέλεσμα: Η ταξινόμηση και συμπλήρωση ελλειμματικών περίπλοκων δεδομένων (π.χ. για επεξεργασία εικόνων και αναγνώριση προτύπων) Παράδειγμα unsupervised learning: Νευρωνικό δίκτυο δυο επιπέδων, επίπεδο εισόδου και κρυφό επίπεδο από νευρώνες που ανταγωνίζονται για την αποθήκευση βασικών χαρακτηριστικών των δειγμάτων εισόδου (Competitive Learning). Απλή υλοποίηση: Κατά την μάθηση ενεργοποιείται ο νευρώνας με τη μεγίστη τιμή διέγερσης v k (winner-takes-all) Πρόβλημα overfitting αν το σύστημα προσπαθεί να παρακολουθεί μη σημαντικές διακυμάνσεις
Ταξινόμηση με Perceptron Δυαδικών Εισόδων: Έξοδος Συναρτήσεις AND, OR (XOR?) Συνάρτηση Διέγερσης: y = h v = y = 0, w x + b 0 1, w x + b > 0 1, v > 0 0, v 0 Γραμμικές Καμπύλες Διαχωρισμού Μη Γραμμική Καμπύλη Διαχωρισμού Αδυναμία υλοποίησης με Perceptron ενός επιπέδου Βασισμένο στο Daniel Jurafsky, James H. Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, Third Edition draft, 2018
Ταξινόμηση με Perceptron Δυαδικών Εισόδων: Έξοδος Συνάρτηση XOR Υλοποίηση με Feedforward Multi-Layer Perceptron (MLP) Συνάρτηση Διέγερσης: y = h v = y = 0, w x + b 0 1, w x + b > 0 1, v > 0 0, v 0 Γραμμικές Καμπύλες Διαχωρισμού Μη Γραμμική Καμπύλη Διαχωρισμού Αδυναμία υλοποίησης με Perceptron ενός επιπέδου Υλοποίηση XOR: Κρυφό Επίπεδο Νευρώνων h 1, h 2 Multi-Layer Perceptron, MLP Έξοδος Νευρώνα h 1 : a 1 = h(w 11 x 1 + w 21 x 2 + b 1 ) Έξοδος Νευρώνα h 2 : a 2 = h(w 12 x 1 + w 22 x 2 + b 2 ) Έξοδος Νευρώνα y 1 : y = h(w 13 a 1 + w 23 a 2 + b 3 ) w 11 = w 12 = w 21 = w 22 = 1, b 1 = 0, b 2 = 1 w 13 = 1, w 23 = 2, b 3 = 0 x 1 : 0 0 1 1 x 2 : 0 1 0 1 a 1 : 0 1 1 0 a 2 : 0 0 1 0 y: 0 1 1 0 Βασισμένο στο Daniel Jurafsky, James H. Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, Third Edition draft, 2018
Multilayer Perceptrons, Back-Propagation Algorithm (1/3) Χαρακτηριστικά: 1. Διαφορίσιμες μη γραμμικές συναρτήσεις ενεργοποίησης φ j (v j ) σε κάθε νευρώνα j (π.χ. Logistic Function) 2. Το δίκτυο περιλαμβάνει κρυφά επίπεδα (hidden layers) νευρώνων με μεγάλη συνδεσιμότητα και συναπτικά βάρη w ji (από i j) 3. Τα βάρη ρυθμίζονται on-line (stochastic iterative method) με την διαδοχική εφαρμογή Back- Propagation Algorithm ανά δείγμα μάθησης {x n, d j (n)}, n = 1,2,, N σε περιβάλλον supervised learning σε δύο φάσεις: i. Forward Phase: H είσοδος x n του δείγματος μάθησης n διαπερνά το δίκτυο μέσω Function Signals με βάρη w ji (n) όπως έχουν προσδιοριστεί μέχρι την εφαρμογή του παρόντος δείγματος και προκύπτει η έξοδος y j (n) του νευρώνα j ii. Backward Phase: Οι αποκλίσεις e j n = d j n y j (n) διαπερνούν το δίκτυο στην ανάστροφη πορεία σαν Error Signals και διορθώνουν τα συναπτικά βάρη
Multilayer Perceptrons, Back-Propagation Algorithm (2/3) Σύγκληση κατά Least Mean Square LMS: Άθροισμα των τετραγώνων των αποκλίσεων e j n = d j n y j (n) στο σύνολο των νευρώνων j, E n = 1 e 2 j 2 j (n) όπως ορίζονται από τo δείγμα μάθησης {x n, d j (n)}, και από τα οποία προκύπτει η μέση τιμή N για όλα τα δείγματα μάθησης n = 1,2,, N: E AVG E AVG N = 1 N N n=1 E n = 1 N N n=1 1 2 j e j 2 (n) Οι επαναληπτικές διορθώσεις w ji (n) στα βάρη w ji (n) οδηγούν προς την ελαχιστοποίηση του E n στη κατεύθυνση της local gradient E n m δ j n = όπου v v j (n) j n = i=0 w ji n y i (n) (Induced Local Field του νευρώνa j): w ji n = ηδ j n y i (n) με βήμα την Learning Parameter η φ j v j n = y j(n) v j (n) Ροή σήματος για ανάστροφη διάδοση σφαλμάτων Ροή σήματος σε νευρώνα εξόδου j Ροή σήματος νευρώνα εξόδου k συνδεόμενου σε κρυφό νευρώνα j
Multilayer Perceptrons, Back-Propagation Algorithm (3/3) Για κάθε δείγμα μάθησης x n, d j n, n = 1,2,, N με ζητούμενες αποκρίσεις d j (n) του νευρώνα j: 1. Αρχικοποίηση των βαρών 2. Για κάθε δείγμα μάθησης n υλοποιούνται οι υπολογισμοί των φάσεων forward & backward 3. Υπολογισμοί φάσης forward: Για κάθε νευρώνα j και κάθε layer l = 1,2,, L το induced local field είναι (l) (l) (l 1) (l 1) (l) (l) v j n = i wji (n) y j n. Για i = 0, y0 = +1, wj0 = bj n οι τιμές bias του συγκεκριμένου νευρώνα (l) l Η έξοδος του κάθε νευρώνα είναι y j n = φj (v j n ) Για το πρώτο κρυφό επίπεδο y j (0) n = xj (n) (L) Αν το j ανήκει στο επίπεδο εξόδου y j n = oj (n) όπου o j (n) είναι η τελική έξοδος j του Multilayer Perceptron Το σήμα σφάλματος είναι e j n = d j n o j n 4. Υπολογισμοί φάσης backward: Υπολογισμός τοπικών μερικών παραγώγων e (L) (L) j n φ j v δ (l) j n αν το jανήκει στο επίπεδο εξόδου j n = (L) φ j v j n (l+1) (l+1) k δk n w ki αν το jανήκει σε κρυφό επίπεδο Τα βάρη ρυθμίζονται με τον επαναληπτικό κανόνα με βήμα την Learning Parameter η: w ji l n + 1 = w ji l n + α w ji l n 1 + η δ j l (n)y j (l 1) n Η σταθερά α 0 (momentum constant) βοηθά στη σταθεροποίηση της σύγκλισης με συμμετοχή παρελθουσών τιμών
Αναφορά σε Ειδικά Νευρωνικά Δίκτυα Convolutional Neural Networks (CNN): Εδική κατηγορία Multilayer Perceptron για αποδοτική κατηγοριοποίηση δυσδιάστατων δειγμάτων (π.χ. pattern recognition εικόνων) κυρίως με μάθηση μέσω δασκάλου (supervised learning). Η απλοποίηση προκύπτει με κοινά χαρακτηριστικά (receptive fields) σε γειτονικούς νευρώνες και αποσύνδεση του δικτύου σε χαλαρά συνδεόμενα επίπεδα (layers). K - Means Clustering: Οργανώνει σε K συστάδες (clusters) μη χαρακτηρισμένων (unlabeled) παρατηρήσεων x i με βάση κοινά χαρακτηριστικά χωρίς δάσκαλο (unsupervised learning), π.χ. οργάνωση συστάδων με βάση την Ευκλείδεια απόσταση x i x j 2 Support Vector Machines (SVM): Ταξινόμηση δεδομένων μέσω δύο περιοχών μεγίστης γραμμικής διάκρισης με supervised learning. Τα όρια των περιοχών αυτών ορίζονται από σημεία υποστήριξης (support vectors) όπως στο δυσδιάστατο σχήμα με τα μπλε τετράγωνα και κύκλους. Αν δεν υπάρχει όριο γραμμικής διάκρισης περιοχών (nonseparable patterns), ζητείται μηχανή που προκύπτει από τα δείγματα μάθησης με το ελάχιστο σφάλμα Self-Organizing Maps (SOM): Βασίζεται σε competitive unsupervised learning που μειώνει τους ενεργοποιημένους νευρώνες όσο πλησιάζουν στο επίπεδο εξόδου. Οι νευρώνες τοποθετούνται στους κόμβους ενός δυσδιάστατου πλέγματος (lattice) και οργανώνονται σε τοπογραφικούς χάρτες μέσω δειγμάτων μάθησης που πυροδοτούν διαδρομές θετικής και αρνητικής ανάδρασης ώστε να προκύψει τελικός νικητής (winner takes all)
Διαμόρφωση Συστάδων μέσω K - Means Clustering Οργάνωση σε K συστάδες (clusters) N παρατηρήσεων (δειγμάτων x i ) με βάση κοινά χαρακτηριστικά από unlabeled δείγματα χωρίς δάσκαλο (unsupervised learning) Ορισμοί: Encoder j = C i : Το δείγμα x i, i = 1,2,, N ανήκει στο cluster j = 1,2,, K 2 Measure of Similarity d x i, x j, π.χ. Ευκλείδεια απόσταση d x i, x j = x i x j Εκτιμώμενο κέντρο βάρους μ j (centroids) του cluster j = 1,2,, K K x i x i 2 K 2 j=1 = j=1 x i μ j Συνάρτηση Κόστους J C = 1 2 C i =j C i =j Κριτήριο Ελαχιστοποίησης: Διαπορά σ 2 2 j C i =j x i μ j, min C i =j K 2 σ C j=1 j J C = min C Σύνοψη αλγορίθμου: Ο αλγόριθμος τοποθετεί τα δείγματα στο πλησιέστερο centroid, ανανεώνει τις επιλογές νέων κέντρων βάρους (centroids) και συνεχίζει μέχρι τη τελική διαμόρφωση K clusters Αρχική επιλογή centroids: Αυθαίρετες (τυχαίες) τοποθετήσεις K σημείων Η εκτέλεση του αλγορίθμου είναι αποτελεσματική αλλά χωρίς εγγύηση βέλτιστης λύσης Παράδειγμα: K = 3, N = 12 (https://en.wikipedia.org/wiki/k-means_clustering) Αρχικοποίηση Centroids 1 η Διαμόρφωση Clusters Προσδιορισμός Νέων Θέσεων Centroids Τελική Πρόταση Clusters