Μελέτη και υλοποίηση Deep Learning τεχνικών στον τομέα της υπολογιστικής όρασης

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Μελέτη και υλοποίηση Deep Learning τεχνικών στον τομέα της υπολογιστικής όρασης"

Transcript

1 ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Μελέτη και υλοποίηση Deep Learning τεχνικών στον τομέα της υπολογιστικής όρασης ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΤΜΗΜΑ: ΔΜΠΣ - ΗΕΠ ΟΝΟΜΑΤΕΠΩΝΥΜΟ : ΜΟΝΑΧΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΑΜ : 156 ΗΜΕΡΟΜΗΝΙΑ ΠΑΡΑΔΟΣΗΣ : 16/02/2016

2 ΕΥΧΑΡΙΣΤΙΕΣ Η ολοκλήρωση αυτής της πτυχιακής υλοποιήθηκε με την υποστήριξη ενός αριθμού ανθρώπων στους οποίους θα ήθελα να εκφράσω τις θερμότερες ευχαριστίες μου. Πρώτα από όλους θα ήθελα να ευχαριστήσω τον Δρ. Οικονόμου Γεώργιο που με καθοδήγησε και υποστήριξε καθ όλη τη διάρκεια διεκπεραίωσης της παρούσας διπλωματικής εργασίας. Ιδιαίτερες ευχαριστίες επίσης θα ήθελα να απευθύνω στον Δρ. Φωτόπουλο Σπυρίδωνα και τον Δρ. Ζυγούρη Ευάγγελο για τη γνώση που μου μετέφεραν κατά τη διάρκεια των μεταπτυχιακών μου σπουδών, καθώς έπαιξαν καταλυτικό ρόλο στην ολοκλήρωση της μελέτης. Τέλος, θα ήθελα να ευχαριστήσω το Δρ. Θεοχαράτο Χρήστο, που μου έδωσε την ευκαιρία να αποκτήσω γνώση και εμπειρία μέσω της συμμετοχής μου σε ερευνητικό πρόγραμμα της ειδικότητάς μου. Μοναχόπουλος Κωνσταντίνος Φεβρουάριος, P a g e 1

3 ΑΚΡΩΝΥΜΙΑ ΤΝΔ Τεχνητό Νευρωνικό Δίκτυο DL Deep Learning DBM Deep Boltzmann Machines CNN Convolutional Neural Networks DBN Deep Belief Networks DBCNN - Deep Belief Convolutional Neural Networks BM Boltzmann Machines RBM Restricted Boltzmann Machines ANN Artificial Neural networks GD Gradient Descent BGD Batch Gradient Descent SGD Stochastic Gradient Descent MLP - Multi Layer Perceptron SOM Self Organized Maps MC - Monte Carlo Simulation MCMC - Markov Chain Monte Carlo Simulation LLN Law Of Large Numbers CLT Central Limit Theory GOF Goodness Of Fit LCG - Linear Congruential Generator MH - Metropolis - Hastings RWMC - Random Walk Markov Chain GS Gibbs Sampling SA - Simulated Annealing KL - Kullback-Liebler MNIST - Mixed National Institute of Standards and Technology database GLWUP - Greedy Layer Wise Unsupervised Pretraining SSFN Semi-Supervised Fine-Tuning SOA State Of the Art P a g e 2

4 ΠΕΡΙΛΗΨΗ Η παρούσα διπλωματική ασχολείται με τη μελέτη και υλοποίηση των Deep Belief Networks νευρωνικών δικτύων, τόσο σε θεωρητικό όσο και σε πρακτικό επίπεδο. Στόχος είναι η διερεύνηση και ανάλυση του θεωρητικού υπόβαθρου των Deep Belief Networks, ξεκινώντας από τη θεωρία της μηχανικής μάθησης στο πεδίο των τεχνητών νευρωνικών δικτύων και ολοκληρώνοντας με την υλοποίηση και εκτέλεση σε αλγοριθμικό επίπεδο. Η προσέγγιση που χρησιμοποιείται για την ορθή εκπαίδευση του δικτύου, περιλαμβάνει τις τεχνικές Greedy-Layer Wise Unsupervised Pre-Training και Semi-Supervised Fine-Tuning. Οι τεχνικές αυτές περιλαμβάνουν διαδικασίες ορθής αρχικοποίησης των συναπτικών βαρών και βελτιστοποίησης αυτών με χρήση ενός μικρού μέρους επισημασμένων προτύπων. Μελετώντας τα Deep Belief Networks, αναλύουμε όλες τις μεθόδους που συνεισφέρουν στη δομή των δικτύων βαθιάς μάθησης, διευκρινίζοντας τις επιμέρους τεχνικές που αυτά εμπεριέχουν. Πιο αναλυτικά, αναπτύσσουμε τη θεωρία που συνοδεύει τις τεχνικές Metropolis Hasting, Gibbs Sampling και Simulated Annealing, αλλά και την προέλευσή τους. Βασιζόμενοι στο νευρωνικό δίκτυο μη εποπτευομένης μάθησης Hopfield και παραμετροποιώντας το με τη βοήθεια των παραπάνω τεχνικών, εξήγαμε τη στοχαστική του μορφή, τα δίκτυα Boltzmann Machines. Απλοποιώντας τη μορφολογία του δικτύου, είμαστε σε θέση να αποτυπώσουμε την πυκνότητα κατανομής των προτύπων προς εκπαίδευση, με χρήση των δικτύων Restricted Boltzmann Machines και στοιβάζοντάς τα σχηματίζουμε την τελική μορφή του Deep Belief Network δικτύου. Προς απόδειξη της θεωρίας, προχωρήσαμε στην κατασκευή ενός Deep Belief Network, το οποίο χρησιμοποιήσαμε για την εξαγωγή αποτελεσμάτων με χρήση της βάσης δεδομένων χειρόγραφων ψηφίων MNIST. Συνοψίζοντας, επισυνάπτουμε τις έως τώρα τεχνικές που χρησιμοποιήθηκαν στη βάση αυτή, συμπεριλαμβάνοντας τα επιμέρους τελικά σφάλματα αναγνώρισης. Τέλος, παρουσιάζουμε τα αποτελέσματα του αλγορίθμου που δημιουργήσαμε με χρήση του προγράμματος Matlab, εξάγοντας το τελικό σφάλμα εκπαίδευσης και αναγνώρισης στα ποσοστά 0.19 και 1.7 αντίστοιχα. P a g e 3

5 ABSTRACT The current Msc. Thesis is dealing with the study and implementation of Deep Belief Networks, both in theoretical and practical background. Our aim is to investigate and analyze the theoretical background of Deep Belief Networks, starting with machine learning theory in the field of Artificial Neural Networks and completing the implementation in an algorithmic layer. The approach that is used for the proper training procedure, includes the Greedy-Layer Wise Unsupervised Pre-Training and Semi-Supervised Fine-Tuning techniques. These techniques contain initialization and optimization procedures of the synaptic weights, using a small part of database training patterns. Studding Deep Belief Networks, we analyze all the methods which contribute to the Deep Learning Network structure, specifying the individual techniques they contain. Recounting, we develop the theory which includes the Metropolis Hasting, Gibbs Sampling and Simulated Annealing techniques, such as their origins. Based on unsupervised learning Hopfield Network and by using the above techniques, we extract the stochastic form of Boltzmann Machines Networks. Simplifying the morphological structure of the network, we managed to capture high order regularities of the probability density function of the input patterns, by using Restricted Boltzmann Machines Networks and by stacking them we conclude to the final structure of Deep Belief Networks. As a Proof-Of-Concept, we proceed to the development of a Deep Belief Network, extracting the results, by using handwritten digit binomial MNIST database. Summarizing, we attach the recent techniques that are used in the specific database, including the recognition error results. Finally, we present our algorithm results through Matlab IDE, extracting the final In-Sample and Out-Of-Sample errors in the rates of 0.19 and 1.7, respectively. P a g e 4

6 ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΛΗΨΗ... 3 ΚΑΤΑΛΟΓΟΣ ΠΙΝΑΚΩΝ ΚΑΤΑΛΟΓΟΣ ΕΙΚΟΝΩΝ ΛΙΣΤΑ ΤΕΧΝΙΚΩΝ ΛΕΠΤΟΜΕΡΕΙΩΝ ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ ΚΕΦΑΛΑΙΟ 2: ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ ΤΩΝ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΔΙΚΤΥΩΝ ΟΡΙΣΜΟΣ ΤΩΝ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΔΙΚΤΥΩΝ ΑΝΑΛΥΣΗ ΤΟΥ ΝΕΥΡΩΝΑ ΑΝΤΙΣΤΟΙΧΙΣΗ ΒΙΟΛΟΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΜΕ ΤΑ ΤΝΔ ΔΟΜΗ ΤΟΥ ΤΕΧΝΗΤΟΥ ΝΕΥΡΩΝΑ ΣΥΝΑΡΤΗΣΕΙΣ ΕΝΕΡΓΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΟΥ ΝΕΥΡΩΝΑ ΓΡΑΜΜΙΚΗ ΣΥΝΑΡΤΗΣΗ ΕΝΕΡΓΟΠΟΙΗΣΗΣ ΒΗΜΑΤΙΚΗ ΣΥΝΑΡΤΗΣΗ ΕΝΕΡΓΟΠΟΙΗΣΗΣ ΣΙΓΜΟΕΙΔΗΣ ΣΥΝΑΡΤΗΣΗ ΕΝΕΡΓΟΠΟΙΗΣΗΣ ΣΤΟΧΑΣΤΙΚΗ ΣΥΝΑΡΤΗΣΗ ΕΝΕΡΓΟΠΟΙΗΣΗΣ ΤΟΠΟΛΟΓΙΕΣ ΝΕΥΡΩΝIΚΩΝ ΔΙΚΤΥΩΝ ΔΙΚΤΥΑ ΕΜΠΡΟΣΘΙΑΣ ΤΡΟΦΟΔΟΤΗΣΗΣ (FEED-FORWARD) ΑΝΑΔΡΟΜΙΚΑ ΔΙΚΤΥΑ (RECURRENT NEURAL NETWORKS) ΤΡΟΠΟΙ ΜΑΘΗΣΗΣ ΠΟΛΥΣΤΡΩΜΑΤΙΚΩΝ ΔΙΚΤΥΩΝ ΜΑΘΗΣΗ ΜΕ ΕΠΙΒΛΕΨΗ ΕΝΙΣΧΥΤΙΚΗ ΜΑΘΗΣΗ ΜΑΘΗΣΗ ΧΩΡΙΣ ΕΠΙΒΛΕΨΗ ΙΚΑΝΟΤΗΤΑ ΓΕΝΙΚΕΥΣΗΣ Η ΕΞΕΛΙΞΗ ΤΩΝ ΤΕΧΝΗΤΩΝ ΝΕΡΩΝΙΚΩΝ ΔΙΚΤΥΩΝ Η ΑΡΧΗ ΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΔΙΚΤΥΩΝ ΤΑ ΠΡΩΤΑ ΜΟΝΤΕΛΑ Η ΩΡΙΜΑΝΣΗ ΤΩΝ ΤΕΧΝΗΤΩΝ ΔΙΚΤΥΩΝ P a g e 5

7 2.6.4 Η ΚΑΤΑΣΤΑΣΗ ΣΗΜΕΡΑ. 41 ΚΕΦΑΛΑΙΟ 3: ΤΕΝΙΚΕΣ ΠΑΛIΝΔΡΟΜΗΣΗΣ ΓΡΑΜΜΙΚΗ ΠΑΛIΝΔΡΟΜHΣΗ ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ ΤΗΣ ΓΡΑΜΜΙΚΗΣ ΠΑΛIΝΔΡΟΜHΣΗΣ ΣΥΝΑΡΤΗΣΗ ΜΕΤΑΦΟΡΑΣ ΝΕΥΡΩΝΑ ΣΥΝΑΡΤΗΣΗ ΚΟΣΤΟΥΣ ΕΛΑΧΙΣΤΩΝ ΤΕΤΡΑΓΩΝΩΝ O ΑΛΓΟΡΙΘΜΟΣ GRADIENT DESCENT BATCH GRADIENT DESCENT STOCHASTIC GRADIENT DESCENT ΡΥΘΜΟΣ ΜΑΘΗΣΗΣ ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ ΓΡΑΜΜΙΚΗΣ ΠΑΛΙΝΔΡΟΜΗΣΗΣ ΠΟΛΥΩΝΥΜΙΚΗ ΠΑΛIΝΔΡΟΜHΣΗ ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ ΠΟΛΥΩΝΥΜΙΚΗΣ ΠΑΛIΝΔΡΟΜHΣΗΣ ΣΥΝΑΡΤΗΣΗ ΜΕΤΑΦΟΡΑΣ ΝΕΥΡΩΝΑ ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ ΠΟΛΥΩΝΥΜΙΚΗΣ ΠΑΛΙΝΔΡΟΜΗΣΗΣ ΛΟΓΙΣΤΙΚΗ ΠΑΛIΝΔΡΟΜHΣΗ ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ ΛΟΓΙΣΤΙΚΗΣ ΠΑΛIΝΔΡΟΜHΣΗΣ ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ ΛΟΓΙΣΤΙΚΗΣ ΠΑΛΙΝΔΡΟΜΗΣΗΣ ΚΕΦΑΛΑΙΟ 4: ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ ΕΠΟΠΤΕΥΟΜΕΝΗΣ ΜΑΘΗΣΗΣ ΣΤΟΙΧΕΙΩΔΗΣ ΑΙΣΘΗΤΗΡΑΣ ΔΥΑΔΙΚΗΣ ΤΑΞΙΝΟΜΗΣΗΣ ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ ΣΤΟΙΧΕΙΩΔΟΥΣ ΑΙΣΘΗΤΗΡΑ ΔΙΑΔΙΚΑΣΙΑ ΕΚΠΑΙΔΕΥΣΗΣ ΣΤΟΙΧΕΙΩΔΗ ΑΙΣΘΗΤΗΡΑ ΤΟ ΠΡΟΒΛΗΜΑ ΤΗΣ ΑΠΟΚΛΕΙΣΤΙΚΗΣ ΔΙΑΖΕΥΞΗΣ ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ ΣΤΟΙΧΕΙΩΔΟΥΣ ΑΙΣΘΗΤΗΡΑ ΠΟΛΥΣΤΡΩΜΑΤΙΚΟ ΔΙΚΤΥΟ ΑΙΣΘΗΤΗΡΑ - MLP ΕΙΣΑΓΩΓΗ ΣΤΟ ΠΟΛΥΣΤΡΩΜΑΤΙΚΟ ΑΙΣΘΗΤΗΡΑ ΤΡΟΠΟΣ ΕΚΠΑΙΔΕΥΣΗΣ ΤΟΥ ΠΟΛΥΣΤΡΩΜΑΤΙΚΟΥ ΑΙΣΘΗΤΗΡΑ ΕΚΠΑΙΔΕΥΣΗ ΜΕ ΧΡΗΣΗ ΤΗΣ ΜΕΘΟΔΟΥ ΟΠΙΣΘΟΔΙΑΔΩΣΗΣ ΤΟΥ ΣΦΑΛΜΑΤΟΣ ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ ΟΠΙΣΘΟΔΙΑΔΟΣΗΣ ΤΟΥ ΣΦΑΛΜΑΤΟΣ P a g e 6

8 ΚΕΦΑΛΑΙΟ 5: ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ ΜΗ ΕΠΟΠΤΕΥΟΜΕΝΗΣ ΜΑΘΗΣΗΣ KOHONEN SOM ΔΟΜΗ ΤΩΝ ΔΙΚΤΥΩΝ KOHONEN SOM ΔΙΑΔΙΚΑΣΙΑ ΕΚΠΑΙΔΕΥΣΗΣ ΤΟΥ ΔΙΚΤΥΟΥ KOHONEN SOM ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ KOHONEN SOM ΤΟ ΔΙΚΤΥΟ HOPFIELD ΔΟΜΗ ΤΟΥ ΔΙΚΤΥΟΥ HOPFIELD ΔΙΑΔΙΚΑΣΙΑ ΕΚΠΑΙΔΕΥΣΗΣ ΤΟΥ ΔΙΚΤΥΟΥ HOPFIELD ΣΥΝΑΡΤΗΣΗ ΕΝΕΡΓΕΙΑΣ ΔΙΚΤΥΟΥ ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ HOPFIELD ΚΕΦΑΛΑΙΟ 6: ΣΤΟΧΑΣΤΙΚΑ ΜΟΝΤΕΛΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ ΤΥΧΑΙΑ ΦΑΙΝΟΜΕΝΑ ΠΡΟΣΟΜΟΙΩΣΗ MONTE CARLO ΟΡΙΑΚΑ ΘΕΩΡΗΜΑΤΑ ΣΤΗ ΜΕΘΟΔΟ MONTE CARLO ΝΟΜΟΣ ΤΩΝ ΜΕΓΑΛΩΝ ΑΡΙΘΜΩΝ ΚΕΝΤΡΙΚΟ ΟΡΙΑΚΟ ΘΕΩΡΗΜΑ ΣΤΑΤΙΣΤΙΚΗ ΕΚΤΙΜΗΣΗ ΣΤΗ ΜΕΘΟΔΟ MONTE CARLO ΔΕΙΓΜΑΤΟΛΗΠΤΙΚΗ ΚΑΤΑΝΟΜΗ ΕΚΤΕΛΕΣΗ ΠΕΙΡΑΜΑΤΟΣ ΡΙΨΗΣ ΝΟΜΙΣΜΑΤΟΣ ΕΚΤΕΛΕΣΗ ΠΕΙΡΑΜΑΤΟΣ ΡΙΨΗΣ ΖΑΡΙΟΥ ΕΚΤΕΛΕΣΗ ΠΕΙΡΑΜΑΤΟΣ ΤΥΧΑΙΑΣ ΣΥΝΑΡΤΗΣΗΣ ΕΚΤΙΜΗΣΗ ΠΕΡΙΟΧΩΝ ΜΕ ΤΗ ΜΕΘΟΔΟ MONTE CARLO ΟΛΟΚΛΗΡΩΣΗ MONTE CARLO ΕΚΤΕΛΕΣΗ ΠΕΙΡΑΜΑΤΟΣ ΥΠΟΛΟΓΙΣΜΟΥ ΕΜΒΑΔΟΥ ΜΟΝΑΔΙΑΙΟΥ ΚΥΚΛΟΥ ΕΚΤΕΛΕΣΗ ΠΕΙΡΑΜΑΤΟΣ ΥΠΟΛΟΓΙΣΜΟΥ ΕΜΒΑΔΟΥ ΠΟΛΥΩΝΥΜΙΚΗΣ ΣΥΝΑΡΤΗΣΗ ΓΕΝΝΗΤΡΙΕΣ ΤΥΧΑΙΩΝ ΑΡΙΘΜΩΝ ΠΑΡΑΓΩΓΗ ΤΥΧΑΙΩΝ ΑΡΙΘΜΩΝ ΑΠΟ ΟΜΟΙΟΜΟΡΦΗ ΣΥΝΕΧΗΣ ΚΑΤΑΝΟΜΗ ΠΑΡΑΓΩΓΗ ΤΥΧΑΙΩΝ ΑΡΙΘΜΩΝ ΜΕΣΩ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ ΑΝΤΙΣΤΡΟΦΗΣ P a g e 7

9 ΔΕΙΓΜΑΤΟΛΗΨΙΑ ΑΝΤΙΣΤΡΟΦΗΣ ΑΘΡΟΙΣΤΙΚΗΣ ΚΑΤΑΝΟΜΗΣ ΚΑΤΑΝΟΜΕΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ ΑΝΤΙΣΤΡΟΦΗΣ ΠΑΡΑΓΩΓΗ ΤΥΧΑΙΩΝ ΑΡΙΘΜΩΝ ΜΕΣΩ ΤΗΣ ΜΕΘΟΔΟΥ ACCEPTANCE / REJECTION Ο ΑΛΓΟΡΙΘΜΟΣ METROPOLIS HASTING (MCMC) ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ METROPOLIS - HASTING Ο ΔΕΙΓΜΑΤΟΛΗΠΤΗΣ GIBBS (MCMC) ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ ΔΕΙΓΜΑΤΟΛΗΠΤΗ GIBBS ΠΡΟΣΟΜΟΙΩΜΕΝΗ ΑΝΟΠΤΗΣΗ (MCMC) ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ SIMULATED ANNEALING ΚΕΦΑΛΑΙΟ 7: ΣΤΟΧΑΣΤΙΚΑ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ ΜΗ ΕΠΟΠΤΕΥΟΜΕΝΗΣ ΜΑΘΗΣΗΣ ΜΗΧΑΝΕΣ BOLTZMANN ΔΥΝΑΜΙΚΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ ΔΙΚΤΥΟΥ BM ΔΙΑΔΙΚΑΣΙΑ ΕΚΠΑΙΔΕΥΣΗΣ ΤΟΥ ΔΙΚΤΥΟΥ BM ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ - BM ΠΕΡΙΟΡΙΣΜΕΝΕΣ ΜΗΧΑΝΕΣ BOLTZMANN ΔΥΝΑΜΙΚΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ ΔΙΚΤΥΟΥ RBM ΔΙΑΔΙΚΑΣΙΑ ΕΚΠΑΙΔΕΥΣΗΣ ΤΟΥ ΔΙΚΤΥΟΥ RBM ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ RBM ΚΕΦΑΛΑΙΟ 8: DEEP LEARNING ΕΙΣΑΓΗ ΣΤΑ DEEP LEARNING ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ Η ΔΟΜΗ ΕΝΟΣ DEEP BELIEF NETWORK GREEDY LAYER WISE ΠΡΟ-ΕΚΠΑΙΔΕΥΣΗ ΜΗ ΕΠΟΠΤΕΥΟΜΕΝΗΣ ΜΑΘΗΣΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΠΑΡΑΜΕΤΡΩΝ ΜΕΣΩ ΕΠΟΠΤΕΥΟΜΕΝΗΣ ΜΑΘΗΣΗΣ (FINE- TUNING) Η ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ MNIST ΕΚΤΕΛΕΣΗ DBN ΣΤΗ ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ MNIST ΕΚΤΙΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΚΤΕΛΕΣΗΣ P a g e 8

10 ΚΕΦΑΛΑΙΟ 9: ΜΕΛΛΟΝΤΙΚΑ ΣΧΕΔΙΑ ΚΑΙ ΣΥΜΠΕΡΑΣΜΑΤΑ ΣΥΜΠΕΡΑΣΜΑΤΑ ΜΕΛΛΟΝΤΙΚΑ ΣΧΕΔΙΑ ΑΝΑΦΟΡΕΣ P a g e 9

11 ΚΑΤΑΛΟΓΟΣ ΠΙΝΑΚΩΝ ΠΙΝΑΚΑΣ 1: Αποτελέσματα στη MNIST μέσω Linear Classifiers ΠΙΝΑΚΑΣ 2: Αποτελέσματα στη MNIST μέσω K-Nearest Neighbors ΠΙΝΑΚΑΣ 3: Αποτελέσματα στη MNIST μέσω Boosted Stumps ΠΙΝΑΚΑΣ 4 : Αποτελέσματα στη MNIST μέσω Non-Linear Classifiers ΠΙΝΑΚΑΣ 5: Αποτελέσματα στη MNIST μέσω SVMs ΠΙΝΑΚΑΣ 6: Αποτελέσματα στη MNIST μέσω Neural Nets ΠΙΝΑΚΑΣ 7: Αποτελέσματα στη MNIST μέσω Convolutional nets P a g e 10

12 ΚΑΤΑΛΟΓΟΣ ΕΙΚΟΝΩΝ ΕΙΚΟΝΑ 1: Το μοντέλο του βιολογικού νευρώνα...23 ΕΙΚΟΝΑ 2: Πλήρης αντιστοίχηση τεχνητού - βιολογικού νευρώνα...23 ΕΙΚΟΝΑ 3: Πλήρης αντιστοίχηση του βιολογικού νευρώνα και του μαθηματικού μοντέλου...24 ΕΙΚΟΝΑ 4: Σχηματική αναπαράσταση νευρώνα...25 ΕΙΚΟΝΑ 5: Γραμμική συνάρτηση μεταφοράς νευρώνα...27 ΕΙΚΟΝΑ 6: Βηματική συνάρτηση μεταφοράς νευρώνα...28 ΕΙΚΟΝΑ 7: Λογιστική συνάρτηση μεταφοράς νευρώνα...29 ΕΙΚΟΝΑ 8: Συνάρτηση μεταφοράς υπερβολικής εφαπτομένης...29 ΕΙΚΟΝΑ 9: Τοπολογία τεχνητών νευρωνικών δικτύων εμπρόσθιας τροφοδότησης (αριστερά), με ανάδραση (δεξιά)...31 ΕΙΚΟΝΑ 10: Λεπτομερής επισκόπηση τεχνητoύ νευρωνικού δικτύου εμπρόσθιας τροφοδότησης...32 ΕΙΚΟΝΑ 11: Λεπτομερής επισκόπηση τεχνητού νευρωνικού δικτύου με ανάδραση...33 ΕΙΚΟΝΑ 12: Block διάγραμμα διαδικασίας εκμάθησης συστήματος...44 ΕΙΚΟΝΑ 13: Μαθηματικό μοντέλο γραμμική συνάρτησης μεταφοράς νευρώνα...45 ΕΙΚΟΝΑ 14: Εύρεση ελαχίστου κατά την εκτέλεση του αλγορίθμου BGD...48 ΕΙΚΟΝΑ 15: Αποτελέσματα λανθασμένου ρυθμού μάθησης...50 ΕΙΚΟΝΑ 16: Γράφημα προσέγγισης γραμμικής παλινδρόμησης, 1 επανάληψη ΕΙΚΟΝΑ 17: Γράφημα προσέγγισης γραμμικής παλινδρόμησης, 10 επαναλήψεις...53 ΕΙΚΟΝΑ 18: Ιστορικό συνάρτησης κόστους, 10 επαναλήψεις, σφάλμα ΕΙΚΟΝΑ 19: Γράφημα προσέγγισης γραμμικής παλινδρόμησης, 100 επαναλήψεις...54 ΕΙΚΟΝΑ 20: Ιστορικό συνάρτησης κόστους, 100 επαναλήψεις, σφάλμα ΕΙΚΟΝΑ 21: Γράφημα προσέγγισης γραμμικής παλινδρόμησης, 1000 επαναλήψεις...56 ΕΙΚΟΝΑ 22: Ιστορικό συνάρτησης κόστους, 100 επαναλήψεις, σφάλμα ΕΙΚΟΝΑ 23: Γραφική παράσταση αντικειμενικής συνάρτησης μέσω του χάρτη βαρών ΕΙΚΟΝΑ 24: Σημείο ελαχίστου αντικειμενικής συνάρτησης μέσω του χάρτη βαρών ΕΙΚΟΝΑ 25: Προσαρμογή συνάρτησης υπόθεσης μέσω διαφόρων βαθμών πολυωνύμου στα δεδομένα...65 ΕΙΚΟΝΑ 26: Αποτελέσματα συνάρτησης υπόθεσης μέσω επαναλαμβανόμενης τυχαίας αρχικοποίησης των βαρών...67 ΕΙΚΟΝΑ 27: Αποτελέσματα συνάρτησης κόστους ελαχίστου τελικού σφάλματος...68 ΕΙΚΟΝΑ 28: Μαθηματικό μοντέλο σιγμοειδείς συνάρτησης μεταφοράς νευρώνα...73 P a g e 11

13 ΕΙΚΟΝΑ 29: Επικύρωση αποτελεσμάτων μέσω σύγκριση των PDF στη μέθοδο logistic regression...75 ΕΙΚΟΝΑ 30: Μαθηματικό μοντέλο βηματικής συνάρτησης μεταφοράς νευρώνα...80 ΕΙΚΟΝΑ 31: Το πρόβλημα XOR αναπαριστώμενο στο επίπεδο x1-x ΕΙΚΟΝΑ 32: Αποτελέσματα στοιχειώδους αισθητήρα σε γραμμικά διαχωρίσιμα δεδομένα...86 ΕΙΚΟΝΑ 33: Ιστορικό του in-sample-error κατά την εκπαίδευση του στοιχειώδους αισθητήρα ΕΙΚΟΝΑ 34: Ιστορικό των τιμών των συναπτικών βαρών κατά την εκπαίδευση του στοιχειώδους αισθητήρα ΕΙΚΟΝΑ 35: Αρχιτεκτονικό διάγραμμα MLP με δύο κρυφά επίπεδα...94 ΕΙΚΟΝΑ 36: Block διάγραμμα μέρους ενός νευρωνικού δικτύου δύο επιπέδων...98 ΕΙΚΟΝΑ 37: Αρχιτεκτονικό διάγραμμα MLP με ένα κρυφό επίπεδο ΕΙΚΟΝΑ 38: Ιστορικό σφάλματος του προβλήματος αποκλειστικής διέλευσης μέσω νευρωνικού δικτύου 2:2: ΕΙΚΟΝΑ 39: Κατηγοριοποίηση προτύπων εισόδου στο πρόβλημα αποκλειστικής διέλευσης X- OR ΕΙΚΟΝΑ 40: Block διάγραμμα ενός SOM νευρωνικού δικτύου ΕΙΚΟΝΑ 41: Δομή του δικτύου Kohonen ΕΙΚΟΝΑ 42: Παρουσίαση των συναπτικών βαρών κατά την εκκίνηση του αλγορίθμου SOM ΕΙΚΟΝΑ 43: Επικύρωση αποτελεσμάτων μέσω σύγκριση των PDF στη μέθοδο logistic regression ΕΙΚΟΝΑ 44: Παρουσίαση των συναπτικών βαρών στη μέση της εκτέλεσης του αλγορίθμου SOM ΕΙΚΟΝΑ 45: Παρουσίαση των συναπτικών βαρών στο τέλος της εκτέλεσης του αλγορίθμου SOM ΕΙΚΟΝΑ 46: Πρόοδος του ρυθμού μάθησης κατά την εκτέλεση του αλγορίθμου SOM ΕΙΚΟΝΑ 47: Πρόοδος του μεγέθους γειτονιάς κατά την εκτέλεση του αλγορίθμου SOM ΕΙΚΟΝΑ 48: Διαδικασία ομαδοποίησης των δειγμάτων ελάχιστης απόστασης νευρώνωνδειγμάτων με χρήση του αλγορίθμου SOM ΕΙΚΟΝΑ 49: Παρουσίαση των συναπτικών βαρών στο τέλος της εκτέλεσης του αλγορίθμου SOM σε ελλειψοειδής μορφής δεδομένα ΕΙΚΟΝΑ 50: Δομή του νευρωνικού δικτύου Hopfield P a g e 12

14 ΕΙΚΟΝΑ 51: Αποτελέσματα αλγορίθμου αναγνώρισης ψηφίου με χρήση του δικτύου Hopfield, n= ΕΙΚΟΝΑ 52: Καταγραφή ενεργειών των προτύπων εκπαίδευσης κατά την εκτέλεση του αλγορίθμου Hopfield ΕΙΚΟΝΑ 53: Αποτελέσματα αλγορίθμου αναγνώρισης ψηφίων με χρήση του δικτύου Hopfield, n= ΕΙΚΟΝΑ 54: Αναπαράσταση συνάρτησης ενέργειας και προτύπων προς αναγνώριση ΕΙΚΟΝΑ 55: Διαδικασία υπολογισμού δειγματοληπτικής κατανομής ΕΙΚΟΝΑ 56: Δειγματοληπτική κατανομή του μέσου ΕΙΚΟΝΑ 57: Δειγματοληπτική κατανομή του ενδιάμεσου ΕΙΚΟΝΑ 58: Εξαγωγή αποτελεσμάτων πειράματος ρίψης νομίσματος ΕΙΚΟΝΑ 59: Εξαγωγή αποτελεσμάτων πειράματος ρίψης ζαριού ΕΙΚΟΝΑ 60: Ιστορική καταγραφή τυπικού σφάλματος κατά τη διάρκεια εκτέλεσης του πειράματος ρίψης ζαριού ΕΙΚΟΝΑ 61: Εξαγωγή αποτελεσμάτων πειράματος τυχαίας συνάρτησης ΕΙΚΟΝΑ 62: Υπολογισμός εμβαδού μοναδιαίου κύκλου μέσω της μεθόδου Acceptance / Rejection ΕΙΚΟΝΑ 63: Υπολογισμός εμβαδού πολυωνυμικής συνάρτησης με τη μέθοδο των μέσων ΕΙΚΟΝΑ 64: Υπολογισμός εμβαδού πολυωνυμικής συνάρτησης με τη μέθοδο Acceptance / Rejection ΕΙΚΟΝΑ 65: Παραμετρικό σύστημα προσομοίωσης αυθαίρετων εισόδων ΕΙΚΟΝΑ 66: Τυπική Μορφή της αντίστροφης αθροιστικής συνάρτησης ΕΙΚΟΝΑ 67: Εξαγωγή τυχαίων μεταβλητών μέσω της μεθόδου αντίστροφης αθροιστικής συνάρτησης ΕΙΚΟΝΑ 68: Σύγκριση πυκνότητας πιθανότητας της κανονικής και της Cauchy κατανομής ΕΙΚΟΝΑ 69: Σύγκριση πυκνότητας πιθανότητας της κανονικής και της λογιστικής κατανομής ΕΙΚΟΝΑ 70: Εξαγωγή τυχαίων μεταβλητών μέσω της μεθόδου Acceptance / Rejection ΕΙΚΟΝΑ 71: Εξαγωγή τυχαίων μεταβλητών μέσω της μεθόδου Metropolis - Hasting ΕΙΚΟΝΑ 72: Εξαγωγή αποτελεσμάτων της μεθόδου Metropolis Hasting σε τυχαία συνάρτηση ΕΙΚΟΝΑ 73: Η τεχνική Gibbs-Sampling κατά την αρχικοποίηση των τυχαίων μεταβλητών ΕΙΚΟΝΑ 74: Εξαγωγή δειγμάτων μέσω της τεχνικής Gibbs-Sampling σε ελλειψοειδής κατανομή δειγμάτων P a g e 13

15 ΕΙΚΟΝΑ 75: Περιγραφή βασικής αρχής της τεχνικής προσομοιωμένης ανόπτησης ΕΙΚΟΝΑ 76: Κατανομή Boltzmann για διάφορες θερμοκρασίες ΕΙΚΟΝΑ 77: Εύρεση ελαχίστου μέσω της μεθόδου RWMCMC-SA σε τυχαία συνάρτηση ΕΙΚΟΝΑ 78: Εύρεση ελαχίστου μέσω της μεθόδου MCMC-SA σε τυχαία συνάρτηση ΕΙΚΟΝΑ 79: Επισκόπηση νευρωνικού δικτύου BM με 3 κρυφούς και 4 ορατούς νευρώνες ΕΙΚΟΝΑ 80: Πρότυπα προς εκπαίδευση μέσω του δικτύου BM ΕΙΚΟΝΑ 81: Πυκνότητες πιθανότητας προτύπων και εσωτερικού μοντέλου του δικτύου ΕΙΚΟΝΑ 82: Εξαγωγή συναπτικών βαρών των κρυφών νευρώνων ως ανιχνευτές χαρακτηριστικών ΕΙΚΟΝΑ 83: Επισκόπηση νευρωνικού δικτύου RBM με 3 κρυφούς και 4 ορατούς νευρώνες ΕΙΚΟΝΑ 84: Διαδικασία συλλογής στατιστικού θετικής φάσης εκπαίδευσης του δικτύου RBM ΕΙΚΟΝΑ 85: Διαδικασία συλλογής στατιστικού αρνητικής φάσης εκπαίδευσης του δικτύου RBM ΕΙΚΟΝΑ 86: Βελτιστοποιημένη διαδικασία συλλογής στατιστικού αρνητικής φάσης εκπαίδευσης του δικτύου RBM ΕΙΚΟΝΑ 87: Ανιχνευτές χαρακτηριστικών και ανακατασκευή προτύπων μέσω του δικτύου RBM ΕΙΚΟΝΑ 88: Πυκνότητες κατανομών των προτύπων και του μοντέλου του δικτύου RBM ΕΙΚΟΝΑ 89: Ιστορικό του σφάλματος κατά τη σύγκλιση της ανακατασκευής των προτύπων μέσω του δικτύου RBM ΕΙΚΟΝΑ 90: Ανασκόπηση του μοντέλου DBN με δύο κρυφά επίπεδα ΕΙΚΟΝΑ 91: Εκπαίδευση ενός DBN με χρήση της μεθόδου greedy layer wise προ-εκπαίδευσης ΕΙΚΟΝΑ 92: Πυκνότητες κατανομών μεταξύ επιπέδων σε ένα DBN με δύο τρία κρυφά επίπεδα ΕΙΚΟΝΑ 93: Πλήρες επισκόπηση ενός DBN συμπεριλαμβανομένου του επιπέδου αναγνώρισης ΕΙΚΟΝΑ 94: Δομή του DBN [ ] ως προς τη βάση δεδομένων MNIST ΕΙΚΟΝΑ 95: Οπτικοποίηση των βαρών ύστερα από τις τεχνικές GLWUP και Fine-Tuning στη βάση δεδομένων MNIST P a g e 14

16 ΛΙΣΤΑ ΤΕΧΝΙΚΩΝ ΛΕΠΤΟΜΕΡΕΙΩΝ Listing 1.1. Perceptron_Linear_Regression.m...59 Listing 1.2. gradientdescent.m...62 Listing 1.3. computecost.m...63 Listing 2. Perceptron_Polynomial_Regression.m...69 Listing 3. Perceptron_Logistic_Regression.m...76 Listing 4.1. Percepton_2C_Classification.m...88 Listing 4.2. PerceptonTrn.m...90 Listing 4.3. PerceptonTst.m...92 Listing 5.1. BP2layersXOR.m Listing 5.2. sigma.m Listing 6. KohonenSOM.m Listing 7.1 Hopfield_Bin.m Listing 7.2 RandNoise.m Listing 7.3 CalcEnrgy.m Listing 8 MC_Flip_coin.m Listing 9 MC_Roll_die.m Listing 10 MC_Multiple_fnctns.m Listing 11 MC_integration_Pi_Estimation.m Listing 12 MC_integration_by_M.m Listing 13 Metropolis_Hasting.m Listing 14 Gibbs_Sampling.m Listing 15.1 Simulated_Annealing.m Listing 15.2 Pfunction.m Listing 16.1 Boltzman_Machine_Algorithm.m Listing 16.2 RBM_Algorithm.m Listing 17.1 Train_and_Test.m Listing 17.2 Train_DBN_MNIST.m Listing 17.3 Evaluation_DBN_MNIST.m Listing 17.4 mnistread.m Listing 17.5 StackingRBMs.m Listing 17.6 randrbm.m Listing 17.7 GLWUP.m Listing 17.8 pretrainrbm.m Listing 17.9 v2h.m P a g e 15

17 Listing h2v.m Listing v2hall.m Listing sigmoid.m Listing SetLinearMapping.m Listing LinearMapping.m Listing FineTuning.m P a g e 16

18 THIS PAGE IS INTENTIONALLY LEFT BLANK P a g e 17

19 ΚΕΦΑΛΑΙΟ 1: ΕΙΣΑΓΩΓΗ Κατά την τελευταία δεκαετία ιδιαίτερη έμφαση έχει δοθεί στις τεχνικές Deep Learning. Οι τεχνικές αυτές από την πρώτη τους εμφάνιση παρουσίασαν πολύ αισιόδοξα αποτελέσματα, ιδιαίτερα στον τομέα της μηχανικής μάθησης και της υπολογιστικής όρασης. Τα Deep Learning νευρωνικά δίκτυα στη πρώτη τους μορφή, ήταν σε θέση μέσω μη εποπτευομένης μάθησης να αναπτύξουν ένα εσωτερικό μοντέλο αναπαράστασης των προτύπων και να ορίζουν τις πιθανότητες εμφάνισης αυτών. Ο πατέρας αυτών των δικτύων είναι ο Geoffrey Hinton, καθηγητής στο πανεπιστήμιο του Τορόντο, ο οποίος δημιούργησε το πρώτο Deep Learning νευρωνικό δίκτυο το οποίο και παρουσίασε το Από τότε τα βήματά του ακολούθησε και ο καθηγητής Andrew NG του πανεπιστημίου του Stanford, ο οποίος τον υποστηρίζει μέχρι σήμερα και έχει αφοσιωθεί στην ανάπτυξη των τεχνικών αυτών. Η οικογένεια του Deep Learning έχει πολλαπλασιαστεί με την υποστήριξη διαφόρων επιστημόνων περιλαμβάνοντας πλέον τις τεχνικές Deep Boltzmann Machines, Deep Belief Networks, Convolutional Neural Networks, Deep Autoencoders και Deep Belief Convolutional Neural Networks, ενώ ο ορισμός deep είναι χαρακτηριστικό το οποίο κατέχουν τα νευρωνικά δίκτυα περισσοτέρων των τριών επιπέδων (συμπεριλαμβάνοντας τα επίπεδα εισόδου και εξόδου). Το πρόβλημα στα πολυεπίπεδα νευρωνικά δίκτυα είναι η δυσκολία εκπαίδευσης του συστήματος. Ο έως τότε γνωστός αλγόριθμος backpropagation αδυνατούσε να εκπαιδεύσει σωστά το τεχνητό νευρωνικό δίκτυο, παρουσιάζοντας χειρότερα αποτελέσματα όσο αυξάνονταν τα επίπεδα του δικτύου. Το πιο διαδεδομένο πρόβλημα στον τομέα της μηχανικής μάθησης ήταν ο εγκλωβισμός της αντικειμενικής συνάρτησης σε κάποιο τοπικό ελάχιστο, αδυνατώντας το οποιοδήποτε σύστημα να αποδώσει τα επιθυμητά αποτελέσματα. Μια λύση που προτάθηκε σε τέτοιου είδους συστήματα, ήταν η επαναλαμβανόμενη εκτέλεση της διαδικασίας της εκπαίδευσης με τυχαίες κάθε φορά αρχικές συνθήκες (τυχαίες μεταβλητές), ελπίζοντας στην σύγκλιση της αντικειμενικής συνάρτησης στο ολικό ελάχιστο. Η λύση στο πρόβλημα της αρχικοποίησης παρουσιάζεται από τον Geoffrey Hinton, ο οποίος πρότεινε έναν εναλλακτικό τρόπο προσέγγισης, μέσω ενός τεχνητού νευρωνικού δικτύου που ονομάζεται Deep Belief Network. Αυτά τα δίκτυα προέρχονται από ένα πολύπλοκο σύμπλεγμα γνωστών τεχνικών, που έως τότε έδιναν λύσεις σε μεμονωμένα προβλήματα. Πιο συγκεκριμένα η δομή των Deep Belief Networks είναι μία παραλλαγή των Boltzmann Machine νευρωνικών δικτύων, τα οποία αποτελούν μέρος των Hopfield τεχνητών νευρωνικών δικτύων. P a g e 18

20 Το γεγονός ότι η εκπαίδευση των Deep Belief Networks γίνεται μέσω μη εποπτευομένης μάθησης, είναι θεμιτό καθώς για να εκπαιδευτεί ένα δίκτυο αποτύπωσης των δομικών χαρακτηριστικών των προτύπων, χρειάζεται μεγάλο όγκο μη επισημασμένων δεδομένων εκπαίδευσης. Επιπροσθέτως, ο βασικός αλγόριθμος εμπεριέχει στοχαστικές δειγματοληπτικές μεθόδους που εντάσσονται στην οικογένεια τεχνικών Monte Carlo Simulation. Μέρος αυτών είναι η Monte Carlo Markov Chain Simulation, Metropolis Hasting algorithm και Gibbs Sampling, οι οποίες χρησιμοποιούνται για δειγματοληψία τυχαίων μεταβλητών από άγνωστες κατανομές και ανάπτυξη εσωτερικών κατανομών πιθανότητας. Τα Deep Belief Networks, ακόμα, ενσωματώνουν τεχνικές της στατιστικής φυσικής, όπως η τεχνική Simulated Annealing, η οποία χρησιμοποιείται για την εύρεση της ελάχιστης ενέργειας σε υλικά, τα οποία αλλάζουν συνεχώς την κατάστασή τους ελεγχόμενα από εξωτερικούς παράγοντες. Στην παρούσα διπλωματική εργασία αναπτύσσεται όλη η θεωρία των ΤΝΔ ξεκινώντας από τεχνικές παλινδρόμησης και αναγνώρισης προτύπων μέσω ενός μόνο γραμμικού νευρώνα (perceptron) έως την ανάπτυξη της θεωρίας όλων των τεχνικών που περιλαμβάνουν τα DBNs. Η μέθοδος εκπαίδευσης του πολυεπίπεδου δικτύου που ακολουθούμε στην παρούσα διπλωματική, περιλαμβάνει την τεχνική Greedy Layer Wise Unsupervised Pretraining και Semi Supervised Fine-Tuning, χρησιμοποιώντας μερικώς επισημασμένα δεδομένα για την οπτικοποίηση των τιμών των συναπτικών βαρών. Στο τέλος της εργασίας έχουμε αναπτύξει έναν αλγόριθμο αναγνώρισης χειρόγραφων ψηφίων χρησιμοποιώντας τη βάση δεδομένων MNIST. Ο λόγος που χρησιμοποιούμε τη βάση αυτή είναι η απλότητα που τη χαρακτηρίζει, αφού δεν χρειάζεται οποιαδήποτε περαιτέρω προ επεξεργασία, συγκεντρώνοντας την προσοχή μας κυρίως στη δόμηση και χρήση του Deep Belief Network δικτύου, εκτελώντας και δοκιμάζοντας την αποτελεσματικότητα του κάθε επιμέρους αλγορίθμου ξεχωριστά. Η δομή της διπλωματικής έχει την εξής μορφή. Κατά την ανάπτυξη του επόμενου κεφαλαίου συγκεντρώνουμε όλη τη θεωρία που ακολουθούν τόσο τα βιολογικά όσο και τα τεχνητά νευρωνικά δίκτυα. Στο τρίτο κεφάλαιο, αναπτύσσουμε όλες τις τεχνικές παλινδρόμησης, γραμμικές και μη, συμπεριλαμβάνοντας και πολυδιάστατα δεδομένα. Στο τέταρτο κεφάλαιο, εξηγούμε το πιο απλό δίκτυο νευρωνικών δικτύων, καθώς επίσης και τα όρια αναγνώρισης που το χαρακτηρίζουν. Επιπροσθέτως στο παραπάνω κεφάλαιο, επεκτεινόμαστε στη μέθοδο εκπαίδευσης supervised learning τονίζοντας την απλότητα της θεωρίας που τη συνοδεύει. Στο πέμπτο κεφάλαιο, αναπτύσσουμε τη μέθοδο εκπαίδευσης unsupervised learning η οποία είναι και η αρχιτεκτονική που ακολουθούν τα DBNs δίκτυα. Στο κεφάλαιο αυτό αναλύουμε όλες τις πρώιμες τεχνικές των δικτύων DL, τα οποία καθώς θα διαπιστώσουμε, χρησιμοποιούνται για P a g e 19

21 καταγραφή των χαρακτηριστικών. Στο έκτο κεφάλαιο, παρουσιάζουμε όλη τη στοχαστική θεωρία που περιλαμβάνεται, καθώς επίσης παρατηρούμε τη σπουδαιότητα των τεχνικών Monte Carlo Simulation, οι οποίες χρησιμοποιούνται κυρίως στην καταγραφή πυκνοτήτων πιθανότητας μέσω δειγματοληψίας τυχαίων μεταβλητών από άγνωστες σε εμάς κατανομές. Στο έβδομο κεφάλαιο, αναπτύσσουμε κάποια μοντέλα στοχαστικών νευρωνικών δικτύων μη εποπτευομένης μάθησης, όπως τα δίκτυα Boltzmann Machines και Restricted Boltzmann Machines, εκτιμώντας την αποτελεσματικότητα τους κατά την ανάπτυξη κάποιας εσωτερικής κατανομής και δημιουργίας ανιχνευτών χαρακτηριστικών. Στο όγδοο κεφάλαιο, επισυνάπτουμε τα έως τώρα αποτελέσματα (State-Of-the-Art) της βάσης δεδομένων MNIST που ακολουθούν διάφορα επιστημονικά άρθρα, καθώς επίσης αναπτύσσουμε ένα DBN δίκτυο το οποίο χρησιμοποιούμε για εκπαίδευση και ταξινόμηση, εκτιμώντας τα αποτελέσματα του αλγορίθμου. Τέλος, στο ένατο κεφάλαιο, περιλαμβάνουμε τα συμπεράσματά μας όσον αφορά τα DBNs δίκτυα και την αποτελεσματικότητα αυτών, όπως επίσης προτείνουμε κάποια μελλοντικά σχέδια ως αλλαγές προς βελτίωση, τόσο στην τεχνική που ακολουθεί η θεωρία του αλγορίθμου, όσο και στην βελτιστοποίηση εκτέλεσης του ίδιου του αλγορίθμου. P a g e 20

22 ΚΕΦΑΛΑΙΟ 2: ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ ΤΩΝ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΔΙΚΤΥΩΝ 2.1 ΟΡΙΣΜΟΣ ΤΩΝ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΔΙΚΤΥΩΝ Η πηγή έμπνευσης των νευρωνικών δικτύων, προέρχεται από τη βιολογία. Οι ζωντανοί οργανισμοί, από τους πιο απλούς μέχρι τον άνθρωπο, έχουν ένα νευρικό σύστημα το οποίο είναι υπεύθυνο για μια πλειάδα διεργασιών, όπως η επαφή µε τον εξωτερικό κόσμο, η μάθηση, η μνήμη και πολλές άλλες. Η κεντρική μονάδα του νευρικού συστήματος είναι, οπωσδήποτε ο εγκέφαλος, ο οποίος επίσης αποτελείται από νευρωνικά δίκτυα. Κάθε νευρωνικό δίκτυο αποτελείται από ένα μεγάλο αριθμό μονάδων, που λέγονται νευρώνες ή νευρώνια (neurons). Ο νευρώνας είναι η πιο μικρή ανεξάρτητη μονάδα του δικτύου, όπως λ.χ. το άτομο είναι η μικρότερη μονάδα της ύλης. Οι νευρώνες ασταμάτητα επεξεργάζονται πληροφορίες, λαμβάνοντας και στέλνοντας ηλεκτρικά σήματα σε άλλους νευρώνες. Ο τρόπος που ο ανθρώπινος εγκέφαλος λειτουργεί, έχει οδηγήσει την επιστήμη στο πειραματισμό δημιουργίας μοντέλων παρόμοιων του νευρωνικού συστήματος του ανθρώπου, εμπεριέχοντας όλα τα χαρακτηριστικά του. Τα δίκτυα αυτά ονομάζονται τεχνητά νευρωνικά δίκτυα (Artificial Neural Nets - ΑΝΝ). Τα δίκτυα αυτά, παρόμοια με τα βιολογικά δίκτυα παίρνουν γνώσεις (μαθαίνουν) µε την εξάσκηση και την εμπειρία, όπως ακριβώς και οι άνθρωποι, και μαθαίνουν να εκτελούν κάποια συγκεκριμένη διαδικασία. Έτσι ένα τεχνητό νευρωνικό δίκτυο (ΤΝΔ) μπορεί να ορισθεί επίσης, ως ένα μαθηματικό μοντέλο επεξεργασίας πληροφορίας που μιμείται τον ανθρώπινο εγκέφαλο και μπορεί να λύσει ορισμένης φύσεως προβλήματα σε πολλά πεδία της επιστήμης. Τα ΤΝΔ μαθαίνουν από παραδείγματα, όπως και οι άνθρωποι, και ρυθμίζονται προκειμένου να μπορούν να χρησιμοποιηθούν σε συγκεκριμένες εφαρμογές, όπως είναι η αναγνώριση προτύπων ή η ταξινόμηση δεδομένων, μέσα από τη διαδικασία της εκπαίδευσης. Η διαδικασία της εκπαίδευσης στα βιολογικά συστήματα ορίζεται ως οι αναπροσαρμογές των συναπτικών συνδέσεων που υπάρχουν μεταξύ των νευρώνων. Το ίδιο ισχύει και για τα ΤΝΔ, όπου μέσω της διαδικασίας της εκπαίδευσης ρυθμίζονται τα βάρη των διασυνδέσεων μεταξύ των νευρώνων, οι οποίες ονομάζονται συναπτικά βάρη [Ref. 1] [Ref. 2] [Ref. 3]. P a g e 21

23 2.2 ΑΝΑΛΥΣΗ ΤΟΥ ΝΕΥΡΩΝΑ ΑΝΤΙΣΤΟΙΧΙΣΗ ΒΙΟΛΟΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ ΜΕ ΤΑ ΤΝΔ Τα τεχνητά νευρωνικά δίκτυα αποτελούν μία προσπάθεια μοντελοποίησης των δυνατοτήτων επεξεργασίας του νευρωνικού συστήματος του ανθρώπου. Οι σημαντικές ιδιότητες των βιολογικών συστημάτων, όπως η προσαρμοστικότητα, η ικανότητα αναγνώρισης, η ανοχή στα λάθη, η μεγάλη χωρητικότητα μνήμης και η ικανότητα επεξεργασίας βιολογικών πληροφοριών σε πραγματικό χρόνο, μας κατευθύνουν στη μελέτη και την προσπάθεια προσομοίωσης αυτών των βιολογικών αρχιτεκτονικών [Ref. 2]. Σήμερα, ο μηχανισμός της παραγωγής και της μεταφοράς των σημάτων μεταξύ των νευρώνων έχει κατανοηθεί πλήρως, όμως ο τρόπος που συνεργάζονται για να σχηματίσουν ένα πολύπλοκο και παράλληλο σύστημα, ικανό να επεξεργάζεται με απίστευτο τρόπο την πληροφορία δεν έχει ακόμα πλήρως διευκρινιστεί. Στο τομέα των θετικών επιστημών, μαθηματικοί, φυσικοί και μηχανικοί υπολογιστών μπορούν να συνεισφέρουν στη μελέτη των πολύπλοκων αυτών συστημάτων. Άλλωστε, δεν είναι τυχαίο ότι η μελέτη του εγκεφάλου έχει γίνει το πιο διεπιστημονικό πεδίο έρευνας τα τελευταία χρόνια [Ref. 4]. Στον ανθρώπινο εγκέφαλο, ένας τυπικός νευρώνας συλλέγει σήματα από άλλους νευρώνες μέσα από μία σειρά από εκλεπτυσμένες δομές που ονομάζονται δενδρίτες. Ένας νευρώνας δεν είναι τίποτε άλλο παρά ένας διακόπτης ο οποίος δέχεται και εξάγει πληροφορία αναλόγως την κατάσταση την οποία βρίσκεται. Η διακοπτική κατάσταση εξαρτάται πλήρως από τη ποσότητα της πληροφορίας που δέχεται μέσω του συμπλέγματος νευρώνων που αλληλεπιδρούν στην είσοδο. Ο νευρώνας αποτελείται από ένα μακρύ και λεπτό άξονα, ο οποίος χωρίζεται σε χιλιάδες διακλαδώσεις. Στο τέλος κάθε διακλάδωσης, μία δομή η οποία ονομάζεται σύναψη, μετατρέπει την ενέργεια από τον άξονα σε ηλεκτρικούς παλμούς που είτε αναστέλλουν, είτε διεγείρουν τους διασυνδεδεμένους νευρώνες. Συνεπώς, όταν ένας νευρώνας δέχεται διεγερτικές εισόδους, τότε στέλνει ένα παλμό ηλεκτρικής ενέργειας κατά μήκος του άξονά του, μεταδίδοντας τη διέγερση σε άλλους διασυνδεδεμένους νευρώνες. Η μάθηση προκύπτει με την αλλαγή των συνάψεων, που έχει σαν αποτέλεσμα την αλλαγή της κατάστασης του νευρώνα αναλόγως την επιρροή που δέχεται [Ref. 3] [Ref. 5]. P a g e 22

24 Εικόνα 1. Το μοντέλο του βιολογικού νευρώνα ΔΟΜΗ ΤΟΥ ΤΕΧΝΗΤΟΥ ΝΕΥΡΩΝΑ Τα ΤΝΔ αρχικά προτάθηκαν ως ένα μαθηματικό μοντέλο προσομοίωσης της λειτουργίας του ανθρώπινου εγκεφάλου. Η δομή του εγκεφάλου είναι τέτοια ώστε να επιτρέπει την παράλληλη επεξεργασία δεδομένων και τη δυνατότητα συνεχούς μάθησης μέσω της αλληλεπίδρασης με το περιβάλλον. Τα δύο αυτά βασικά χαρακτηριστικά συμβάλλουν στην ικανότητα, αφενός, να εκτελεί δύσκολα καθήκοντα, όπως ταχύτατη αναγνώριση μορφών, αφετέρου, να εξελίσσεται συνεχώς, μαθαίνοντας από το περιβάλλον του κατά την αλληλεπίδρασή του με αυτό [Ref. 6]. Ένα πολύ σημαντικό στοιχείο είναι ότι η επίδραση ενός νευρώνα στους γειτονικούς του, μπορεί να είναι είτε διεγερτική, είτε ανασταλτική. Στη πλήρη αντιστοιχία με το απλοποιημένο μοντέλο του βιολογικού νευρώνα, αναπτύχθηκε το μοντέλο του τεχνητού νευρώνα. Στην εικόνα [2] φαίνεται καθαρά η αντιστοίχηση των δενδριτών του βιολογικού νευρώνα με την είσοδο του τεχνητού νευρώνα, του νευροάξονα με την έξοδο, των συνάψεων με τα βάρη και του σώματος του νευρώνα με τη συνάρτηση ενεργοποίησης [Ref. 2]. Εικόνα 2. Πλήρης αντιστοίχιση τεχνητού - βιολογικού νευρώνα. P a g e 23

25 Κάθε σήμα που μεταδίδεται από ένα νευρώνα σε ένα άλλο μέσα στον νευρωνικό δίκτυο συνδέεται με την τιμή βάρους, w, η οποία υποδηλώνει πόσο στενά είναι συνδεδεμένοι οι δύο νευρώνες μεταξύ τους. Όταν ένα νευρωνικό δίκτυο αλληλεπιδρά με το περιβάλλον και μαθαίνει από αυτό, τα συναπτικά βάρη μεταβάλλονται συνεχώς, ενδυναμώνοντας ή αποδυναμώνοντας την ισχύ του κάθε δεσμού. Η τιμή του κάθε συναπτικού βάρους συνήθως κυμαίνεται σε ένα συγκεκριμένο διάστημα, λ.χ. στο διάστημα από 1 ως 1, όμως αυτό είναι αυθαίρετο και εξαρτάται από το πρόβλημα που προσπαθούμε να λύσουμε. Η έννοια του συναπτικού βάρους μπορεί και να αποδοθεί ως ο χημικός δεσμός ανάμεσα σε δύο άτομα που απαρτίζουν ένα μόριο. Ο δεσμός μας δείχνει πόσο δυνατά είναι συνδεδεμένα τα δύο άτομα του μορίου. Έτσι και ένα βάρος αντιπροσωπεύει πόσο σημαντική είναι η συνεισφορά του συγκεκριμένου σήματος στην διαμόρφωση της δομής του δικτύου για τους δύο νευρώνες τους οποίους συνδέει. Όταν το βάρος (w) είναι μεγάλο/μικρό, τότε η συνεισφορά του σήματος είναι μεγάλη/μικρή. Στην εικόνα [3] παρουσιάζουμε την αντιστοιχία του βιολογικού νευρώνα με τη μαθηματική διαδικασία που πραγματοποιεί ο τεχνητός νευρώνας. Εικόνα 3. Πλήρης αντιστοίχιση του βιολογικού νευρώνα και του μαθηματικού μοντέλου. Το ΤΝΔ έχει τη δυνατότητα να γενικεύει, δηλαδή να εξάγει τα βασικά χαρακτηριστικά ενός συστήματος, ακόμα και όταν αυτά είναι κρυμμένα σε θορυβώδη δεδομένα. Όλη η εμπειρική γνώση που αποκτά το νευρωνικό δίκτυο από το περιβάλλον, κωδικοποιείται στα συναπτικά βάρη. Αυτά αποτελούν το χαρακτηριστικό εκείνο που δίνει στο δίκτυο την ικανότητα για εξέλιξη και προσαρμογή στο περιβάλλον [Ref. 6]. Στο νευρώνα που περιγράφουμε, η πληροφορία ρέει πάντα προς μία κατεύθυνση, από αριστερά προς τα δεξιά, αφού δεν υπάρχει κανένας βρόγχος ανάδρασης. Πιο συγκεκριμένα, κάθε είσοδος πολλαπλασιάζεται με το συναπτικό βάρος που της αντιστοιχεί. Αργότερα οι σταθμισμένες πλέον είσοδοι και ένας εξωτερικά εφαρμοζόμενος παράγοντας, η μεροληψία ή πόλωση ή κατώφλι (bias, threshold), αθροίζονται και δίνουν το τοπικό πεδίο (net input, induced local field, activation potential). Για λόγους απλούστευσης, η μεροληψία μπορεί να θεωρηθεί ως μία επιπλέον είσοδος, με το συναπτικό βάρος ίσο με την μονάδα. Τέλος, εφαρμόζεται η συνάρτηση ενεργοποίησης ή P a g e 24

26 συνάρτηση μεταφοράς (activation function, squashing function) στο τοπικό πεδίο και το αποτέλεσμα δίνει την έξοδο του νευρώνα. Συνεπώς, ο νευρώνας παίρνει τη μορφή που φαίνεται στην εικόνα [4] [Ref. 6]. Εικόνα 4. Σχηματική αναπαράσταση νευρώνα. Υπάρχουν διάφορα είδη νευρώνων. Το είδος που θα επιλεχθεί για να δομηθεί ένα συγκεκριμένο ΤΝΔ, εξαρτάται από τη φύση του εκάστοτε προβλήματος που εξετάζουμε. Σε πολλές περιπτώσεις χρησιμοποιείται συνδυασμός διαφορετικών ειδών νευρώνων. Το μαθηματικό μοντέλο που αναπαριστά τη διαδικασία υλοποίησης ενός απλού νευρωνικού δικτύου στη διακριτή χρονική στιγμή k παρουσιάζεται παρακάτω : Η τιμή της εξόδου y k στη διακριτή χρονική στιγμή k : i m yi k wi k xi k b (2.1) i0 Το άθροισμα των εισόδων με τα εκάστοτε συναπτικά βάρη : Όπου, m T i h xi, w w xi i i i0 f ( x) y ( ) w x b x k είναι οι τιμές εισόδου και i i (2.2) w k είναι η τιμή βάρους στη διακριτή χρονική στιγμή k, όπου τόσο η είσοδος, όσο και τα βάρη παίρνουν τιμές από i = 0 έως i = m. Η μεταβλητή b αποτελεί το bias (κατώφλι), ενώ η συνάρτηση μεταφοράς αναπαρίσταται από το. P a g e 25

27 Η συνάρτηση μεταφοράς, μπορεί να πάρει πολλές μορφές όπως θα δούμε παρακάτω. Μια τυπική μη γραμμική μορφή παρουσιάζεται μέσω της σιγμοειδούς συνάρτησης : f( x) 1 1 m wixi b i 0 e (2.3) Το αποτέλεσμα της συνάρτησης ενεργοποίησης, εξετάζεται εάν είναι μεγαλύτερο ή μικρότερο ενός προκαθορισμένου κατωφλίου (bias - θ), μέσω του οποίου εξάγεται η τελική τιμή εξόδου ενεργοποίησης ή καταστολής του νευρώνα (1 ή 0) : m 1, ά wixi b i0 f( x) m 0, ά wixi b i0 (2.4) Όπως παρατηρήσαμε από το μοντέλο του ΤΝΔ και της συνάρτησης που το διέπει, η κυρίαρχη άγνωστη προς εμάς μεταβλητή είναι η συνάρτηση μεταφοράς. Η συνάρτηση μεταφοράς ορίζει τις ιδιότητες του τεχνητού νευρώνα και μπορεί να αναπαρασταθεί από μία μαθηματική συνάρτηση. Η μαθηματική συνάρτηση επιλέγεται αναλόγως του προβλήματος που έχουμε να λύσουμε με χρήση του νευρωνικού δικτύου, ενώ έχουμε να επιλέξουμε από ένα συγκεκριμένο σετ συναρτήσεων (Βηματική συνάρτηση, Γραμμική συνάρτηση και μη γραμμική συνάρτηση σιγμοειδής συνάρτηση) τα οποία θα αναλύσουμε εκτενέστερα παρακάτω [Ref. 7] ΣΥΝΑΡΤΗΣΕΙΣ ΕΝΕΡΓΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΟΥ ΝΕΥΡΩΝΑ ΓΡΑΜΜΙΚΗ ΣΥΝΑΡΤΗΣΗ ΕΝΕΡΓΟΠΟΙΗΣΗΣ Στην πιο απλή περίπτωση η έξοδος του νευρώνα αποτελεί μόνο το βεβαρημένο άθροισμα (weighted sum) των εισόδων στον νευρώνα συν τον όρο bias. Τέτοιου είδους γραμμικοί νευρώνες εξάγουν γραμμικό μετασχηματισμό του διανύσματος εισόδου. Αυτή η συνάρτηση μεταφοράς είναι πολύ χρήσιμη συνήθως στα πρώιμα στάδια ενός πολύ-επίπεδου νευρωνικού δικτύου, ενώ πιο συχνά τη συναντάμε όταν έχουμε να αντιμετωπίσουμε προβλήματα γραμμικής παλινδρόμησης (linear regression) και λιγότερο σε προβλήματα αναγνώρισης προτύπων. Ένα τεχνητό νευρωνικό δίκτυο που αποτελείται από τέτοιους νευρώνες θα είναι γραμμικό. P a g e 26

28 Εικόνα 5. Γραμμική συνάρτηση μεταφοράς νευρώνα. Το μαθηματικό μοντέλο που αντιπροσωπεύει τη γραμμική συνάρτηση μεταφοράς, αποτελεί την απλούστερη συνάρτηση μεταφοράς (2.2) στην οποία η μεταβλητή m αντιπροσωπεύει το σύνολο των δειγμάτων εκπαίδευσης, η μεταβλητή των βαρών w i αντιπροσωπεύει την κλίση της ευθείας ή του πολύ-επιπέδου, ενώ η μεταβλητή b αντιπροσωπεύει τη μετατόπιση της ευθείας ως προς την αρχή των αξόνων. Στη vectorized μορφή, η τιμή του bias αναπαρίσταται από το x 0 και πολλαπλασιάζεται με το ανάλογο βάρος στην κορυφή του διανύσματος βαρών. Ύστερα από την εύρεση της βέλτιστης γραμμής ή του πολύ-επιπέδου που τέμνει τα δεδομένα, οι τιμές των βαρών μπορούν να χρησιμοποιηθούν σαν αρχικές τιμές σε προβλήματα αναγνώρισης προτύπων ΒΗΜΑΤΙΚΗ ΣΥΝΑΡΤΗΣΗ ΕΝΕΡΓΟΠΟΙΗΣΗΣ Στην περίπτωση του νευρώνα δυαδικής κατάστασης, ο νευρώνας μπορεί να βρεθεί σε μία από τις δύο παρακάτω δυνατές καταστάσεις: να είναι ενεργός ή να είναι αδρανής (Heaviside function). Όταν ένας νευρώνας δέχεται διάφορα σήματα, τότε υπολογίζει μία ποσότητα x από όλα τα δεδομένα που έχει και συγκρίνει την τιμή της ποσότητας αυτής με μια τιμή κατωφλίου, θ, η οποία είναι χαρακτηριστική (σταθερή) και ορισμένη από την αρχή για τον νευρώνα αυτόν. Αν η τιμή της ποσότητας είναι μεγαλύτερη από την τιμή κατωφλίου, τότε λέμε ότι ο νευρώνας ενεργοποιείται. Αν όμως είναι μικρότερη, τότε ο νευρώνας παραμένει αδρανής (2.4). Επειδή ο νευρώνας εδώ δρα ως δυαδικό στοιχείο, η έξοδος της f(x), θα είναι 1 όταν είναι ενεργοποιημένος και 0 όταν είναι αδρανής [Ref 1]. Το παραπάνω μοντέλο αναφέρεται συχνά ως μοντέλο McCulloch-Pitts προς τιμή αυτών που το πρότειναν. Αργότερα, η εξέλιξη στο θεωρητικό υπόβαθρο των τεχνητών νευρωνικών P a g e 27

29 δικτύων φανέρωσε ότι η παράγωγος της συνάρτησης ενεργοποίησης μπορεί να δώσει χρήσιμες πληροφορίες για το νευρωνικό δίκτυο και να χρησιμοποιηθεί στην εκπαίδευσή του, γεγονός που υποδεικνύει ότι είναι προτιμότερο να χρησιμοποιηθεί μία παραγωγίσιμη συνάρτηση και όχι η βηματική συνάρτηση, που είναι προφανώς μη παραγωγίσιμη [Ref. 6]. Εικόνα 6. Βηματική συνάρτηση μεταφοράς νευρώνα ΣΙΓΜΟΕΙΔΗΣ ΣΥΝΑΡΤΗΣΗ ΕΝΕΡΓΟΠΟΙΗΣΗΣ Σήμερα, στα περισσότερα μοντέλα η συνάρτηση ενεργοποίησης είναι μία σιγμοειδής συνάρτηση (2.3). Αυτή είναι γενικά μία πραγματική, συνεχής και φραγμένη συνάρτηση, της οποίας η παράγωγος είναι θετική. Το πεδίο ορισμού της μπορεί θεωρητικά να είναι όλο το σύνολο των πραγματικών αριθμών, αλλά στην πράξη μπορεί να περιοριστεί, θέτοντας όρια στις τιμές των συναπτικών βαρών. Το σύνολο των τιμών ορίζεται στο διάστημα [0,1] παίρνοντας μόνο θετικές τιμές στην έξοδο. Ένα από τα πιο γνωστά παραδείγματα σιγμοειδούς συνάρτησης που χρησιμοποιείται ως συνάρτηση ενεργοποίησης είναι η λογιστική συνάρτηση (logistic function ή Fermi function), ενώ παρόμοια συνάρτηση μεταφοράς είναι αυτή της υπερβολικής εφαπτομένης (hyperbolic tangent) της οποίας η έξοδος μπορεί να πάρει τις τιμές [-1,1] [Ref. 5]. P a g e 28

30 Εικόνα 7. Λογιστική συνάρτηση μεταφοράς νευρώνα. Εικόνα 8. Συνάρτηση μεταφοράς υπερβολικής εφαπτομένης. Με την εισαγωγή της συνάρτησης ενεργοποίησης, ο νευρώνας γίνεται μη γραμμικός. Αντίστοιχα, ένα ΤΝΔ που αποτελείται από τέτοιου είδους νευρώνες θα είναι μη γραμμικό. Αυτή η εγγενής μη γραμμικότητα των νευρωνικών δικτύων είναι ένα πλεονέκτημα έναντι άλλων γνωστών μεθόδων αντιμετώπισης πολλών προβλημάτων. Για παράδειγμα, όταν σε ένα πρόβλημα πρόβλεψης το σύστημα που μελετάμε είναι μη γραμμικό και ιδιαίτερα όταν παρουσιάζει χαοτική συμπεριφορά, τα γνωστά γραμμικά μοντέλα πρόβλεψης αδυνατούν να δώσουν σωστά αποτελέσματα. Σε αυτές τις περιπτώσεις, τα μη γραμμικά ΤΝΔ είναι προτιμότερα. Όσο μικρότερη είναι η παράμετρος του αθροίσματος, τόσο πιο πολύ συρρικνώνεται η συνάρτηση στον x άξονα. Η παραπάνω συνάρτηση μπορεί εύκολα να προσεγγιστεί συνδυάζοντας τη γραμμική συνάρτηση και τη συνάρτηση δυαδικής κατάστασης που σαν αποτέλεσμα έχει τη λογιστική συνάρτηση [Ref. 5]. P a g e 29

31 ΣΤΟΧΑΣΤΙΚΗ ΣΥΝΑΡΤΗΣΗ ΕΝΕΡΓΟΠΟΙΗΣΗΣ Τέλος, ένας ακόμα τύπος νευρώνα είναι ο λεγόμενος στοχαστικός νευρώνας (stochastic neuron). Στον νευρώνα αυτό η συνάρτηση ενεργοποίησης είναι πιθανοκρατική. Συγκεκριμένα, ο νευρώνας μπορεί να δώσει δύο πιθανές εξόδους, 0 και 1 σύμφωνα με τη σχέση : 1 0, ό 1 P 1 e f( x) 1 1, ό P 1 e m wixi b i0 T m wixi b i0 T (2.5) όπου T είναι μία παράμετρος, η οποία χρησιμοποιείται για να ελέγχεται το επίπεδο του θορύβου και δεν έχει καμία φυσική σημασία. Στο όριο T 0 το μοντέλο αυτό μετατρέπεται στο μοντέλο McCulloch-Pitts [Ref. 5]. 2.3 ΤΟΠΟΛΟΓΙΕΣ ΝΕΥΡΩΝIΚΩΝ ΔΙΚΤΥΩΝ Όταν συνδυάζουμε δύο ή περισσότερους τεχνητούς νευρώνες, τότε καταλήγουμε να έχουμε ένα τεχνητό νευρωνικό δίκτυο. Εάν ένας και μόνο τεχνητός νευρώνας δεν έχει χρησιμότητα στην επίλυση απλών προβλημάτων, ένα τεχνητό νευρωνικό δίκτυο θα μας βοηθήσει στην εύρεση λύσης και αντιμετώπισης αυτών. Στην πραγματικότητα ένα τεχνητό νευρωνικό δίκτυο είναι ικανό να βρίσκει λύσεις σε πολύ σύνθετα καθημερινά προβλήματα, επεξεργάζοντας την πληροφορία στα βασικά του δομικά στοιχεία (τεχνητούς νευρώνες). Ο τρόπος που κάθε τεχνητό νευρωνικό δίκτυο δομείται εσωτερικά καλείται τοπολογία ή αρχιτεκτονική του δικτύου. Το γεγονός ότι η σύνθεση της εσωτερικής δομής μπορεί να πραγματοποιηθεί με πάρα πολλές διαφορετικές τοπολογίες μας ώθησε να τις κατηγοριοποιήσουμε σε δύο βασικές κλάσεις που παρουσιάζουμε στην εικόνα [9]. Στο αριστερό μέρος της εικόνας παρουσιάζεται ένα απλό τεχνητό νευρωνικό δίκτυο εμπρόσθιας τροφοδότησης (feedforward artificial neural network) στο οποίο η πληροφορία ρέει από την είσοδο στην έξοδο με μία μόνο κατεύθυνση, ενώ στο δεξί μέρος της εικόνας, παρουσιάζεται ένα απλό δίκτυο με ανατροφοδότηση (recurrent P a g e 30

32 artificial neural network) όπου η πληροφορία ρέει αμφίδρομα. Παρατηρώντας την παρακάτω εικόνα, υπάρχει ανάγκη να αναφερθεί για την ευκολότερη κατανόηση της μαθηματικής περιγραφής, το επίπεδο εισόδου, το κρυφό επίπεδο και το επίπεδο εξόδου. Εικόνα 9. Τοπολογία τεχνητών νευρωνικών δικτύων εμπρόσθιας τροφοδότησης (αριστερά), με ανάδραση (δεξιά) ΔΙΚΤΥΑ ΕΜΠΡΟΣΘΙΑΣ ΤΡΟΦΟΔΟΤΗΣΗΣ (FEED-FORWARD) Τα δίκτυα αυτά αποτελούν τη πιο απλή μορφή ενός δικτύου. Περιέχουν ένα επίπεδο εισόδου αποτελούμενο από πηγαίους κόμβους, το οποίο ρέει με τη σειρά του την πληροφορία στο επόμενο επίπεδο νευρώνων (υπολογιστικοί κόμβοι) και όχι αντίστροφα. Το σήμα ρέει από το επίπεδο εισόδου προς το επίπεδο εξόδου ενώ δεν υπάρχουν περιορισμοί στους αριθμούς των νευρώνων, των επιπέδων, των αριθμών των συνδέσεων και των επιμέρους διαφορετικών συναρτήσεων μεταφοράς. Οι νευρώνες εισόδου απλά μεταφέρουν το σήμα στο επόμενο επίπεδο χωρίς να κάνουν καμία επεξεργασία, ενώ οι κρυφοί νευρώνες και οι νευρώνες εξόδου είναι υπολογιστικοί νευρώνες που ακολουθούν το μοντέλο του νευρώνα. Το επίπεδο εισόδου δεν προσμετράται, γιατί δεν εκτελείται κανένας υπολογισμός σε αυτό. Ένα απλό πολυεπίπεδο δίκτυο εμπρόσθιας τροφοδότησης παρουσιάζεται αναλυτικά παρακάτω για λόγους κατανόησης. P a g e 31

33 Εικόνα 10. Λεπτομερής επισκόπηση τεχνητoύ νευρωνικού δικτύου εμπρόσθιας τροφοδότησης. Τα σήματα εξόδου του κάθε νευρώνα του πρώτου επιπέδου του τεχνητού νευρωνικού δικτύου που παρουσιάζεται σαν παράδειγμα στο παραπάνω σχήμα, αποτελούν το γινόμενο της εισόδου με το ανάλογο συνοπτικό βάρος ( wx) i i προσθέτοντας το bias ( b i ) σε κάθε νευρώνα ξεχωριστά. Ύστερα το αποτέλεσμα λειτουργεί σαν μεταβλητή εισόδου στη συνάρτηση μεταφοράς ( F ) i που περιέχει κάθε νευρώνας, παράγοντας το τελικό αποτέλεσμα του πρώτου επιπέδου (n1 n4). Συνεπώς, ισχύουν οι παρακάτω τύποι που υλοποιούν την παραπάνω διαδικασία. n F ( w x b ) n F ( w x b ) n F ( w x b ) n F ( w x b ) (2.6) Στο πρώτο κρυφό επίπεδο που συναντάμε στο παράδειγμα που αναπτύσσουμε, οι είσοδοι στους νευρώνες αποτελούν τα γινόμενα των επιμέρους εξόδων του προηγούμενου επιπέδου (n1 n4) με το ανάλογο συναπτικό βάρος ( q i ). Ύστερα, επαναλαμβάνεται η διαδικασία περάσματος του προαναφερθέντος σήματος μέσω της συνάρτησης μεταφοράς του κάθε νευρώνα, αφού προσθέσουμε σε κάθε νευρώνα το bias, σχηματίζοντας τους παρακάτω μαθηματικούς τύπους. m F ( q n q n b ) m F ( q n q n b ) (2.7) Η ίδια διαδικασία ακολουθείται και στο επίπεδο εξόδου (output layer) στο οποίο ισχύει : y F ( r m r m b ) (2.8) P a g e 32

34 Συνεπώς, σε μία πιο μακροσκοπική και περιληπτική ανάλυση θα μπορούσαμε να πούμε ότι η ποσότητα εξόδου περιγράφεται από τον παρακάτω τύπο : (2.9) y r F q F w x b q F w x b b r F q F w x b q F w x b b b ΑΝΑΔΡΟΜΙΚΑ ΔΙΚΤΥΑ (RECURRENT NEURAL NETWORKS) Σε αυτή την κατηγορία δικτύων, υπάρχει τουλάχιστον ένας βρόγχος ανάδρασης. Η έξοδος κάθε νευρώνα του δικτύου ανατροφοδοτεί την είσοδο των άλλων νευρώνων του ιδίου επιπέδου και σε μερικές περιπτώσεις ακόμα και τη δική του είσοδο (αυτό-ανάδραση). Η παρουσία βρόγχων ανάδρασης επηρεάζει τη δυνατότητα μάθησης του δικτύου και την απόδοσή του. Αυτό επιφέρει μία εσωτερική κατάσταση στο δίκτυο, η οποία επιτρέπει να παρουσιάζει δυναμική προσωρινή συμπεριφορά. Η πιο βασική τοπολογία παρουσιάζεται στην εικόνα [11], στην οποία κάθε τεχνητός νευρώνας συνδέεται με όλους τους υπόλοιπους τεχνητούς νευρώνες, ανεξάρτητα από την κατεύθυνση (Fully recurrent artificial neural network). Άλλες τοπολογίες δικτύων ανακατεύθυνσης του σήματος, όπως είναι τα δίκτυα Hopfield, Elman, Jordan, bi-directional αποτελούν απλά υπό-κατηγορίες των fully recurrent τεχνητών νευρωνικών δικτύων [Ref. 7]. Εικόνα 11. Λεπτομερής επισκόπηση τεχνητού νευρωνικού δικτύου με ανάδραση. Γενικά, όταν επιλέγουμε να κατασκευάσουμε ένα τεχνητό νευρωνικό δίκτυο μέσω μίας τοπολογίας, τότε έχουμε ολοκληρώσει τη μισή απαιτούμενη εργασία, ώστε να μπορούμε να χρησιμοποιήσουμε το δίκτυο για την επίλυση προβλημάτων. Ακριβώς όπως τα βιολογικά νευρωνικά δίκτυα έχουν ανάγκη να μάθουν τις απαραίτητες ανταποκρίσεις σε συγκεκριμένα ερεθίσματα από το περιβάλλον, έτσι και το τεχνητό νευρωνικό δίκτυο πρέπει να μάθει με τον ίδιο τρόπο. Οπότε, το επόμενο βήμα που πρέπει να πραγματοποιήσουμε είναι να περάσουμε P a g e 33

35 στο στάδιο μάθησης και εκπαίδευσης του τεχνητού νευρωνικού δικτύου μέσω των διαφόρων τρόπων μάθησης, τους οποίους περιγράφουμε στο αμέσως επόμενο κεφάλαιο. Παρόλα αυτά όποια μέθοδο μάθησης και να επιλέξουμε ο στόχος πάντα θα είναι η εύρεση των ορθών τιμών τόσο στα συναπτικά βάρη όσο και στους όρους bias, βασιζόμενοι πάντα στα δεδομένα εισόδου, ώστε να ελαχιστοποιήσουμε τη συνάρτηση κόστους. 2.4 ΤΡΟΠΟΙ ΜΑΘΗΣΗΣ ΠΟΛΥΣΤΡΩΜΑΤΙΚΩΝ ΔΙΚΤΥΩΝ Ο πρωταρχικός σκοπός της λειτουργίας ενός τεχνητού νευρωνικού δικτύου είναι να μπορεί να λύνει συγκεκριμένα προβλήματα που του παρουσιάζουμε ή να επιτελεί από μόνο του ορισμένες διεργασίες, λ.χ. να αναγνωρίζει εικόνες. Για να μπορεί όμως να γίνει αυτό, το νευρωνικό δίκτυο πρέπει να εκπαιδευθεί κατάλληλα. Αυτό είναι και το βασικό χαρακτηριστικό των νευρωνικών δικτύων, δηλαδή ότι μαθαίνουν ή εκπαιδεύονται. Όπως και στα βιολογικά δίκτυα έτσι και τα ΤΝΔ δέχονται ορισμένες εισόδους και αντίστοιχα δίνουν ορισμένες εξόδους (input output), λ.χ. θα μπορούσε να είναι κάποιος δυαδικός αριθμός αποτελούμενος από 0 και 1. Για ένα πρόβλημα μπορεί να απαιτούνται πολλά πρότυπα. Σε κάθε πρότυπο αντιστοιχεί και μία σωστή απάντηση, η οποία είναι το σήμα που πρέπει να πάρουμε στην έξοδο ή αλλιώς ο στόχος. Η εκπαίδευση γίνεται με το να παρουσιάσουμε μια ομάδα από τέτοια πρότυπα στο δίκτυο, αντιπροσωπευτικά ή παρόμοια με αυτά που θέλουμε να μάθει το δίκτυο. Αυτό σημαίνει ότι δίνουμε στο δίκτυο ως εισόδους κάποια πρότυπα για τα οποία ξέρουμε ποια πρέπει να είναι η έξοδος. Ξέρουμε δηλαδή ποιος είναι ο στόχος, τι πρέπει να δίνει το δίκτυο ως απάντηση στα πρότυπα που του παρουσιάζουμε. Το δίκτυο χρησιμοποιεί την κατάλληλη συνάρτηση μεταφοράς f(x) για να μεταδίδει το σήμα σε όλη τη δομή του, από την είσοδο ως την έξοδο. Κατά την διάρκεια της εκπαίδευσης το μόνο πράγμα που αλλάζει είναι οι τιμές των βαρών των συνδέσεων των νευρώνων. Αυτό δεν γίνεται πάντα με τον ίδιο τρόπο, αλλά εξαρτάται σημαντικά από την μέθοδο που χρησιμοποιούμε. Το δίκτυο με τα δεδομένα αυτά τροποποιεί την εσωτερική του δομή, ώστε να μπορεί να κάνει την ίδια αντιστοιχία που του δώσαμε εμείς. Ενώ αρχικά ξεκινάει με τυχαίες τιμές στα βάρη w, κατά την διάρκεια της εκπαίδευσης μεταβάλλει τις τιμές αυτές μέχρι να εκπαιδευθεί πλήρως. Ακολούθως, αφού βρει την σωστή εσωτερική δομή του, τότε θα μπορεί να αναγνωρίζει και άλλα ανάλογα πρότυπα τα οποία δεν τα έχει δει προηγουμένως, δηλαδή δεν έχει εκπαιδευθεί στα πρότυπα των προβλημάτων αυτών. Οπωσδήποτε όμως, τα πρότυπα αυτά θα πρέπει να είναι της ίδιας φύσεως και των ίδιων χαρακτηριστικών, όπως αυτά της εκπαίδευσης και όχι διαφορετικά. Ως σκέψη λοιπόν μια τέτοια διαδικασία είναι πολύ φιλόδοξη. Αυτός είναι ο πιο συνηθισμένος τρόπος εκπαίδευσης, P a g e 34

36 αλλά θα δούμε στο επόμενο κεφάλαιο ότι υπάρχουν διάφορες παραλλαγές ως προς τον τρόπο με τον οποίο τα δεδομένα παρουσιάζονται στο δίκτυο όταν αυτό εκπαιδεύεται. Γενικά, μπορούμε να πούμε ότι κατά την εκπαίδευση ενός δικτύου οι αλλαγές στα βάρη γίνονται με έναν από τους δύο τρόπους που αναφέρουμε παρακάτω [Ref 1] ΜΑΘΗΣΗ ΜΕ ΕΠΙΒΛΕΨΗ Η επιβλεπόμενη μάθηση είναι και ο πιο συχνός τρόπος στην εκπαίδευση των νευρωνικών δικτύων. Αρχικά δίνουμε τις τιμές των εισόδων, παρουσιάζοντας τα πρότυπα στο δίκτυο και ύστερα τις τιμές των στόχων που αποτελούν τις επιθυμητές εξόδους του δικτύου, ξεκινώντας με τυχαίες τιμές στα βάρη w. Κατά την διαδικασία της εκπαίδευσης, το δίκτυο αλλάζει τις τιμές των βαρών, διορθώνοντάς τες ανάλογα με το σφάλμα που λαμβάνουμε (διαφορά από τον στόχο). O σκοπός μας εδώ είναι να ελαχιστοποιήσουμε την διαφορά (το σφάλμα) μεταξύ της επιθυμητής εξόδου και της τρέχουσας τιμής της εξόδου μετά από διαδοχικές αλλαγές των βαρών (ανακυκλώσεις διορθώσεων). Μερικές φορές η διαδικασία αυτή μπορεί να απαιτεί μεγάλους αριθμούς τέτοιων διορθώσεων και επομένως μεγάλους υπολογιστικούς χρόνους [Ref 1]. Τα ΤΝΔ επιβλεπόμενης μάθησης αποτελούν μέρος των μεθόδων κατηγοριοποίησης. Στις μεθόδους αυτές ανήκουν επίσης και άλλοι κατηγοριοποιητές, ο καθένας με τα προτερήματα και τα μειονεκτήματά του. Επιλέγοντας έναν αντίστοιχο κατηγοριοποιητή (classifier), όπως είναι οι Multilayer perceptron, Support Vector Machines, k-nearest neighbor algorithm, Gaussian mixture model, Gaussian, naive Bayes, decision tree και radial basis function classifiers, για κάποιο συγκεκριμένο πρόβλημα μπορούμε να κατηγοριοποιήσουμε σε διάφορες κλίμακες επιτυχίας τα εισερχόμενα μη παρουσιασμένα πρότυπα ΕΝΙΣΧΥΤΙΚΗ ΜΑΘΗΣΗ Στην ενισχυτική μάθηση η έξοδος χαρακτηρίζεται ως καλή ή κακή με βάση μια αριθμητική κλίμακα, ενώ τα βάρη αναπροσαρμόζονται με βάση αυτό το χαρακτηριστικό. Σε αυτό το τύπο μάθησης, το ΤΝΔ τροφοδοτείται και πάλι με δείγματα πρότυπα εισόδου, αλλά δεν τροφοδοτείται με τις επιθυμητές αποκρίσεις στις εισόδους αυτές. Εδώ χρησιμοποιείται ένα συνολικό μέτρο της επάρκειας της προκύπτουσας απόκρισης, το οποίο μπορεί να οδηγήσει το δίκτυο στην επιθυμητή συμπεριφορά. Το μέτρο αυτό είναι γνωστό ως ενισχυτικό σήμα (reinforcement signal) και ανατροφοδοτείται στο ΤΝΔ, έτσι ώστε να επιβραβεύει (reward) τις ορθές συμπεριφορές και να τιμωρεί (penalize) τις λανθασμένες. Η ενισχυτική μάθηση στηρίζεται στο νόμο Thornlike, ο οποίος ερμηνεύεται ως εξής : Εάν μια ενέργεια ενός P a g e 35

37 συστήματος μάθησης ακολουθείται από μια ικανοποιητική κατάσταση ή συμπεριφορά, τότε η τάση του συστήματος αυτού να παράγει τη συγκεκριμένη ενέργεια ενισχύεται (ενδυναμώνεται). Διαφορετικά, η τάση του συστήματος να παράγει την ενέργεια αυτή εξασθενεί. Η ενισχυτική μάθηση διακρίνεται σε συσχετιστική και μη συσχετιστική. Στην πρώτη περίπτωση, το περιβάλλον τροφοδοτεί, πέρα από το ενισχυτικό σήμα, άλλες μορφές πληροφορίας από τις οποίες το ΤΝΔ πρέπει να μάθει μία απεικόνιση με τη μορφή μίας συσχέτισης αιτίου αποτελέσματος (stimulus action). Στη δεύτερη περίπτωση, η μοναδική πληροφορία (είσοδος) που δίνεται από το περιβάλλον είναι το ενισχυτικό σήμα, ενώ ο προορισμός του συστήματος μάθησης είναι μάλλον να επιλέξει μία μοναδική βέλτιστη ενέργεια, παρά να συσχετίσει διάφορες ενέργειες με διαφορετικά ερεθίσματα (εισόδους). Συνοπτικά, σαν λειτουργία η ενισχυτική μάθηση υπολογίζει τις εξόδους που παράγονται από την παρούσα είσοδο, μέσω των τρεχουσών συνοπτικών βαρών και αργότερα αξιολογεί την έξοδο, τροφοδοτώντας το δίκτυο με το ενισχυτικό σήμα. Τα συναπτικά βάρη ανανεώνονται με βάση το ενισχυτικό σήμα, αυξάνοντας τις τιμές των βαρών που συνέβαλαν σε καλή συμπεριφορά του δικτύου και μειώνοντας τις τιμές αυτών που προκάλεσαν κακή συμπεριφορά [Ref. 8] ΜΑΘΗΣΗ ΧΩΡΙΣ ΕΠΙΒΛΕΨΗ Στη μη επιβλεπόμενη μάθηση απλά δίνουμε την πληροφορία στο δίκτυο, αλλά δεν δίνουμε τους αντίστοιχους στόχους όπως προηγουμένως, και έτσι δεν γίνεται κανένας έλεγχος ή σύγκριση για την πορεία του σφάλματος. Το δίκτυο δεν χρησιμοποιεί κάποια εξωτερική παράμετρο για την αλλαγή των βαρών. Υπάρχει βέβαια συγκεκριμένη διαδικασία που ακολουθείται και καταλήγει σε εκπαίδευση του δικτύου. Το δίκτυο χρησιμοποιεί έναν εσωτερικό έλεγχο, ψάχνει να βρει κάποιες τάσεις ή κανονικότητες στα σήματα εισόδου και προσπαθεί, ώστε οι έξοδοι να έχουν τα ίδια χαρακτηριστικά όπως και οι είσοδοι. Έτσι έχουμε αυτο-εποπτευόμενη εκπαίδευση, διότι το δίκτυο ελέγχει τον εαυτό του και διορθώνει τα σφάλματα στα δεδομένα με ένα μηχανισμό ανάδρασης (feedback). Ο τρόπος αυτός δεν συναντάται τόσο συχνά όπως η εποπτευόμενη εκπαίδευση, αλλά είναι πολύ χρήσιμος σε ορισμένες καταστάσεις που δεν υπάρχουν δεδομένα εξόδου στο πρόβλημα. Σε όλες τις περιπτώσεις, όταν το δίκτυο σταματάει να αλλάζει τις τιμές των βαρών, τότε θεωρούμε ότι η εκπαίδευση έχει επιτευχθεί. Αυτό συμβαίνει, επειδή το λάθος στην έξοδο γίνεται μηδέν ή είναι πολύ κοντά (τείνει) στο μηδέν [Ref 1]. P a g e 36

38 Μία συχνή χρήση της μη επιβλεπόμενης μάθησης, είναι σε προβλήματα ομαδοποίησης (clustering), εκμεταλλέυοντας την ομοιότητα των δειγμάτων. Το βασικό πλεονέκτημα των νευρωνικών δικτύων αυτών, είναι ότι μπορούν να αποθηκεύσουν γνώση και εμπειρία από το περιβάλλον, την οποία το δίκτυο μπορεί στη συνέχεια να ανακαλέσει. Επιπλέον, έχει τη δυνατότητα να γενικεύει, δηλαδή να εξάγει τα βασικά χαρακτηριστικά ενός συστήματος, ακόμα και όταν αυτά είναι κρυμμένα σε θορυβώδη δεδομένα [Ref. 6]. 2.5 ΙΚΑΝΟΤΗΤΑ ΓΕΝΙΚΕΥΣΗΣ Γενίκευση ονομάζεται η ικανότητα του τεχνητού νευρωνικού δικτύου να εκτιμά τις κατάλληλες εξόδους, μέσω των προτύπων που παρουσιάζονται στην είσοδο, ακόμα και σε δεδομένα τα οποία δεν χρησιμοποιήθηκαν κατά την εκπαίδευση. Η ικανότητα γενίκευσης, αποτελεί ένα από τα σημαντικότερα χαρακτηριστικά του ΤΝΔ, καθώς στα περισσότερα προβλήματα που καλούμαστε να αντιμετωπίσουμε, δεν μπορούμε να γνωρίσουμε τις καταστάσεις στις οποίες μπορεί να επέλθει το δίκτυο. Ο σχεδιασμός ενός ΤΝΔ βασίζεται απευθείας σε πραγματικά δεδομένα με το σύνολο των δεδομένων να είναι υπεύθυνο για την τελική κατάσταση του δικτύου. Η ικανότητα γενίκευσης επηρεάζεται από την ποιότητα των δεδομένων εκπαίδευσης και το κατά πόσο αυτά αναπαριστώνται στον υπερχώρο από τον οποίο προέρχονται. Ισχύει ότι όσο μεγαλύτερος είναι ο αριθμός των προτύπων εισόδου, τόσο καλύτερη γίνεται η εκπαίδευση του δικτύου. Παρόλα αυτά πρέπει να προσδιοριστεί ο βέλτιστος αριθμός των διανυσμάτων εκπαίδευσης, που με σταθερού μεγέθους ΤΝΔ επιφέρει τα καλύτερα αποτελέσματα μέσω της γενίκευσης. Αντίθετα, αν τα διανύσματα εκπαίδευσης είναι λίγα, τότε δεν μπορούμε να κατασταλάξουμε στη βέλτιστη λύση και η ικανότητα αναγνώρισης θα μειωθεί. 2.6 Η ΕΞΕΛΙΞΗ ΤΩΝ ΤΕΧΝΗΤΩΝ ΝΕΡΩΝΙΚΩΝ ΔΙΚΤΥΩΝ Σε αυτό το σημείο καλό είναι να δούμε συνοπτικά πότε και πώς ξεκίνησε η περιοχή αυτή, πώς αναπτύχθηκε, τι δυσκολίες συνάντησε και να κάνουμε έτσι μία μικρή ιστορική αναδρομή. Επειδή τα νευρωνικά δίκτυα είναι σχετικά μία νέα περιοχή, δεν υπάρχει ουσιαστικά μεγάλη προϊστορία, όπως σε άλλες παραδοσιακές επιστήμες. Ξεκίνησε σε διεθνές επίπεδο μόλις κατά τις τελευταίες δεκαετίες, αλλά η μεγάλη ώθηση σ αυτά δόθηκε μετά το Σ αυτό βοήθησε τόσο η τεράστια ανάπτυξη του υλικού/λογισμικού των Η/Υ όσο και η ανάπτυξη νέων αλγορίθμων εκπαίδευσης. Αξίζει λοιπόν τον κόπο να κάνουμε μια σύντομη αναδρομή και να δούμε πώς φτάσαμε στις τελευταίες εξελίξεις μέσω των πολλών φάσεων βελτίωσης [Ref. 1]. P a g e 37

39 2.6.1 Η ΑΡΧΗ ΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΔΙΚΤΥΩΝ Το πρώτο μοντέλο νευρωνικού δικτύου το οποίο προτείνει ότι οι νευρώνες είναι η βασική μονάδα του δικτύου παρουσιάσθηκε το 1943 από τους McCulloch και Pitts. Σε μία πρώτη εργασία τους οι ερευνητές αυτοί παρουσίασαν για πρώτη φορά την ιδέα ότι ένα νευρωνικό δίκτυο αποτελείται από μία συλλογή ενός μεγάλου αριθμού νευρώνων και έδειξαν πώς θα μπορούσαν να λειτουργούν οι νευρώνες με τις διασυνδέσεις τους. Αυτή θεωρείται ιστορικά ότι είναι η πρώτη εικόνα ενός νευρωνικού δικτύου. Μάλιστα οι συγγραφείς θεώρησαν ότι οι νευρώνες και οι συνδέσεις τους είναι ένα πρότυπο, ανάλογο ενός ηλεκτρικού κυκλώματος. Ο McCulloch ήταν νευροφυσιολόγος και ο Pitts ένας 18χρονος πρωτοετής φοιτητής των Μαθηματικών. Οι ίδιοι συγγραφείς προχώρησαν το 1947 σε πιο εξελιγμένο πρότυπο για την αναγνώριση σχημάτων. Το πρότυπο αυτό περιέχει πολλά χαρακτηριστικά από τα μεταγενέστερα πρότυπα [Ref. 1]. Ο νευρώνας θεωρείται ότι μπορεί να έχει δύο μόνον καταστάσεις. Μπορεί να δέχεται πολλές εισόδους αλλά δίνει μία μόνον έξοδο. Οι έξοδοι από διαφορετικούς νευρώνες δεν επιτρέπεται να ενώνονται, αλλά πρέπει υποχρεωτικά να οδηγούν σε είσοδο άλλου νευρώνα. Οι απολήξεις των νευρώνων είναι δύο ειδών: διεγερτικές και ανασταλτικές. Οι δύο καταστάσεις του νευρώνα είναι ότι είτε πυροδοτεί ή βρίσκεται σε ηρεμία. Η ροή της πληροφορίας μέσα στον νευρώνα ελέγχεται από πύλες, οι οποίες επίσης είναι διεγερτικές ή ανασταλτικές. Όταν ο νευρώνας πυροδοτεί, στέλνει ένα παλμό. Οι λειτουργίες αυτές πάντα γίνονται σε διακριτό χρόνο και υποτίθεται ότι όλοι οι νευρώνες αποκρίνονται ταυτόχρονα, δηλ. το σύστημα δρα συγχρονισμένα. Η κατάσταση ενός νευρώνα σε χρόνο t + 1 εξαρτάται από την κατάστασή του στο χρόνο t και από τις εισόδους που εισέρχονται στην χρονική αυτή στιγμή. Τα δίκτυα McCulloch Pitts προσπαθούν να εξηγήσουν για πρώτη φορά πως δουλεύει η μνήμη. Θεωρούν ότι ένας πιθανός μηχανισμός μνήμης μπορεί να είναι η ύπαρξη κλειστών διαδρομών του σήματος μέσα στο δίκτυο. Αν δεν υπάρχει καμία τέτοια διαδρομή και χωρίς νέο εξερχόμενο σήμα, τότε το δίκτυο θα μείνει μόνιμα σε κατάσταση ηρεμίας. Έτσι, μια ίνα ενώνει την έξοδο ενός κυττάρου με το σημείο εισόδου στο ίδιο κύτταρο, δημιουργώντας έναν μηχανισμό ανάδρασης (feedback). Μόλις πυροδοτεί ένα τέτοιο κύτταρο θα συνεχίσει να πυροδοτεί μέχρι να έλθει σήμα από ανασταλτική ίνα. Σε όλη τη διάρκεια της λειτουργίας αποστέλλονται παλμοί στην πύλη των κυττάρων και μεταδίδεται το σήμα και η πληροφορία. Αυτός ο κύκλος του σήματος θα μπορούσε να θεωρηθεί ως μία πρώτη ιδέα για ένα μηχανισμό μνήμης [Ref. 1]. Οι εργασίες αυτές πιθανόν να χάνονταν στην βιβλιογραφία αν δεν τις χρησιμοποιούσε λίγα χρόνια αργότερα ο J. von Neumann ως παράδειγμα για υπολογιστικές μηχανές την δεκαετία που διαδόθηκε ο ηλεκτρονικός υπολογιστής, δηλ. την δεκαετία του πενήντα. Τότε έγιναν και P a g e 38

40 οι πρώτες προσπάθειες να αντλήσουμε πληροφορίες από τα βιολογικά δίκτυα και να δημιουργηθούν τα πρώτα τεχνητά δίκτυα. Ένα άλλο έργο της πρώτης αυτής εποχής που αφήνει ακόμα και σήμερα την επιρροή του είναι το βιβλίο του D. Hebb, The organization of behavior (1949), το οποίο εισάγει τον κανόνα μάθησης του Hebb. Το μοντέλο του Hebb έχει ως κεντρική ιδέα τις συνδέσεις μεταξύ μονάδων του συστήματος, δηλαδή τους νευρώνες. Έφτασε στα συμπεράσματα αυτά μετά από σωρεία πειραμάτων νευροφυσιολογίας. Ο κανόνας αυτός λέγει ότι κάθε φορά που το δίκτυο χρησιμοποιεί τις νευρωνικές του συνδέσεις, οι συνδέσεις αυτές ενισχύονται και το δίκτυο πλησιάζει περισσότερο στο να μάθει το πρότυπο το οποίο παρουσιάζεται. Όταν ο νευρώνας i επανειλημμένα διεγείρει τον νευρώνα j, τότε αναπτύσσεται μια μεταβολική σύνδεση στον ένα ή και στους δύο νευρώνες, έτσι ώστε η απόδοση του φαινομένου (το i διεγείρει το j) να αυξάνεται. Αν μεταξύ i και j, x i η είσοδος στον νευρώνα j από τον νευρώνα i, τότε ισχύει ότι: w ij είναι το βάρος της σύνδεσης x j η έξοδος του νευρώνα j, W ( new) W ( old) ax x (2.10) ij ij i j Εδώ a είναι μία θετική σταθερά που λέγεται παράμετρος του ρυθμού εκπαίδευσης. Το νέο λοιπόν βάρος wij θα είναι ίσο με το παλαιό, ενισχυμένο κατά μία ποσότητα axix j. Ο κανόνας αυτός έχει τοπικό χαρακτήρα, ισχύει δηλαδή μόνο για την σύνδεση του νευρώνα i και j και όχι για άλλες συνδέσεις του δικτύου ΤΑ ΠΡΩΤΑ ΜΟΝΤΕΛΑ Το μοντέλο του αισθητήρα (perceptron) παρουσιάσθηκε για πρώτη φορά το 1957 από τον F. Rosenblatt, ο οποίος αρχικά έφτιαξε το πρώτο δίκτυο με hardware που μπορούσε να κάνει πολλές και διάφορες διεργασίες. Είναι ένα πολύ απλό μοντέλο (οι λεπτομέρειες θα παρουσιασθούν στα επόμενα κεφάλαια) που έχει μόνο δύο επίπεδα, αυτά της εισόδου και της εξόδου. Το σήμα προχωρά μονοδρομικά από την είσοδο στην έξοδο. Το μοντέλο αυτό στην αρχή είχε πολλές επιτυχίες, δημιούργησε μεγάλο ενθουσιασμό και μάλιστα είχε αρχίσει να συζητείται η ιδέα ότι πιθανόν τα νευρωνικά δίκτυα είναι η ανώτερη τεχνική που λύνει όλα τα προβλήματα που μέχρι τότε παρέμεναν άλυτα. Οι πρώτες λοιπόν επιτυχίες μεγαλοποιήθηκαν, αλλά γρήγορα φάνηκε ότι τα μοντέλα αυτά είχαν πολλούς περιορισμούς [Ref. 1]. P a g e 39

41 Μια συνολική και εμπεριστατωμένη εικόνα του προτύπου αυτού παρουσιάσθηκε το 1969 στο βιβλίο Perceptron των Minsky και Papert. Στο βιβλίο αυτό γίνεται μία συνολική εκτίμηση της χρησιμότητας του προτύπου του αισθητήρα και όλων των διεργασιών για τα οποία είναι χρήσιμο. Αποδεικνύεται με αναλυτικά μαθηματικά ότι υπάρχουν συγκεκριμένοι περιορισμοί στο πρότυπο αυτό. Έτσι, δεν μπορεί να λύσει, λ.χ. το σχετικά απλό πρόβλημα του X OR. Οι αρχικές προσδοκίες που είχαν δημιουργηθεί ήδη φαίνεται ότι δεν επαληθεύονται και προς το παρόν τα νευρωνικά δίκτυα χάνουν την δημοτικότητα τους, με αποτέλεσμα ο κόσμος να στρέφεται σε μια νέα παρεμφερή περιοχή που τότε άρχισε να γίνεται γνωστή, την Τεχνητή Νοημοσύνη [Ref. 1]. Την ίδια περίπου εποχή με την ανάπτυξη του μοντέλου του αισθητήρα οι Widrow και Hoff ανέπτυξαν το 1959 δύο νέα μοντέλα, το Adaline και το Madaline, τα οποία χρησιμοποιήθηκαν ως φίλτρα για να εξαλείψουν την ηχώ σε τηλεφωνικές γραμμές. Τα επόμενα είκοσι χρόνια, μέχρι περίπου το 1980, μικρή μόνο πρόοδος επιτελέστηκε στα νευρωνικά δίκτυα, διότι οι περιορισμοί που αναφέρθηκαν παραπάνω αποθάρρυναν τους περισσότερους στο πεδίο αυτό, το οποίο, όπως φάνηκε λίγο αργότερα, έψαχνε να βρει μία διέξοδο και να κάνει νέα σημαντικά βήματα [Ref. 1] Η ΩΡΙΜΑΝΣΗ ΤΩΝ ΤΕΧΝΗΤΩΝ ΔΙΚΤΥΩΝ Η διέξοδος αυτή ήρθε με ένα μνημειώδες έργο που παρουσιάσθηκε το 1982 από τον J. Hopfield, ο οποίος είναι βιολόγος, και το οποίο έδωσε μεγάλη ώθηση στην ανάπτυξη των δικτύων. Σε μία εργασία του μόλις 5 σελίδων ο Hopfield έδειξε με αυστηρά μαθηματική απόδειξη πώς ένα νευρωνικό δίκτυο μπορεί να χρησιμοποιηθεί ως αποθηκευτικός χώρος (storage device) και πώς επίσης μπορεί ένα δίκτυο να επανακτήσει όλη την πληροφορία ενός συστήματος έστω και αν του δοθούν μερικά τμήματα μόνο και όχι ολόκληρο το σύστημα. Αμέσως εκτιμήθηκε η σπουδαιότητα της ιδιότητας αυτής και ως εκ τούτου η εργασία αυτή αποτέλεσε έμπνευση για πολλές άλλες ιδέες που ακολούθησαν [Ref. 1]. Ένα επόμενο σημαντικό βήμα ήταν η πρόοδος που επιτελέστηκε στην διαδικασία εκπαίδευσης των δικτύων όταν επινοήθηκε ο κανόνας της διόρθωσης του σφάλματος (error correction learning). Έγινε κατανοητό ότι κατά την εκπαίδευση ενός δικτύου, σε όποια κατάσταση και αν βρίσκεται αυτό σε μια δεδομένη στιγμή, σημασία έχει η απόκλιση που δίνει στην έξοδο του από την αναμενόμενη τιμή, δηλαδή τον στόχο που έχουμε θέσει. Η διαφορά αυτή δίνει το σφάλμα που παράγει το δίκτυο την δεδομένη στιγμή n και δίνεται από: P a g e 40

42 ( n) t( n) o( n) (2.11) όπου t (target) είναι ο στόχος, o (output) είναι η έξοδος και δ (difference) είναι το σφάλμα. Το δ τώρα ενεργοποιεί ένα μηχανισμό ελέγχου με σκοπό να επιφέρει μια σειρά από διορθωτικές αλλαγές στα βάρη w, πράγμα που θα φέρει το δίκτυο πλησιέστερα στην εκπαίδευση του. Αυτό γίνεται με τον υπολογισμό της ποσότητας Δ: i xi (2.12) όπου η είναι μια σταθερά, και x είναι η τιμή του σήματος εισόδου. Τέλος το wn ( ), δηλ. η i διόρθωση του βάρους w στην δεδομένη στιγμή n, δίνεται κατ ευθείαν από το Δ: wn ( ) i (2.13) O κανόνας αυτός λέγεται κανόνας Δ ή κανόνας Widrow Hoff και χρησιμοποιείται ευρύτατα σε διάφορες μεθόδους εκπαίδευσης δικτύων, όπως θα δούμε στα επόμενα κεφάλαια. Το 1986 δημοσιεύεται ένα άλλο σημαντικό έργο από τους McClelland και Rumelhart, το Parallel Distributed Processing, το οποίο ανοίγει νέους δρόμους στην εκπαίδευση των νευρωνικών δικτύων. Παρουσιάζεται η ιδέα πώς ένα νευρωνικό δίκτυο μπορεί να θεωρηθεί και να χρησιμοποιηθεί ως παράλληλος επεξεργαστής. Το έργο αυτό κάνει ένα σημαντικό βήμα πέρα από το Perceptron, με το να επιτρέπει την ύπαρξη και άλλων επιπέδων νευρώνων, εκτός από την είσοδο και την έξοδο, που αποτελούν την εσωτερική δομή του δικτύου. Προτείνουν μία νέα διαδικασία εκπαίδευσης, την μέθοδο της οπισθοδιάδοσης (back propagation), η οποία χρησιμοποιεί τις εξισώσεις ( ) και κατέληξε να είναι η πιο χρήσιμη σήμερα τεχνητή εκπαίδευσης δικτύων. Η μέθοδος αυτή είχε συζητηθεί και από άλλους νωρίτερα, αλλά για πρώτη φορά το 1986 παρουσιάσθηκε ολοκληρωμένα και με αυστηρό μαθηματικό τρόπο Η ΚΑΤΑΣΤΑΣΗ ΣΗΜΕΡΑ Μετά την πρόοδο σε τόσα πολλά σημεία που παρουσιάσθηκε ιδιαίτερα την δεκαετία του 1980, τα τελευταία δέκα χρόνια παρατηρούμε ότι αρχίζουν να εμφανίζονται πολλά σημεία που δείχνουν ότι η περιοχή των νευρωνικών δικτύων έχει πλέον ωριμάσει και αναπτυχθεί σε ένα ανεξάρτητο πεδίο της επιστήμης με δικά του στοιχεία, δικό του χαρακτήρα σαφώς καθορισμένο και τέλος με μεγάλο αριθμό επιστημόνων που ασχολούνται αποκλειστικά τώρα με την νέα αυτή περιοχή [Ref. 1]. P a g e 41

43 Από το 1985 και μετά αρχίζουν τα πρώτα συνέδρια που είναι αφιερωμένα αποκλειστικά σε νευρωνικά δίκτυα, από την American Physical Society και από την ΙΕΕΕ. Παρακολουθούνται από περισσότερους από χίλιους συνέδρους. Ταυτόχρονα δημιουργούνται ειδικές επαγγελματικές εταιρίες νευρωνικών δικτύων με χιλιάδες μέλη, όπως η International Neural Network Society με τρεις πόλους: Αμερική (με διευθυντή τον Grossberg), Ευρώπη (Kohonen) και Ιαπωνία (Amari). Προς τα τέλη της δεκαετίας του ογδόντα παρουσιάζονται τουλάχιστον πέντε νέα περιοδικά αφιερωμένα αποκλειστικά στα νευρωνικά δίκτυα, ενώ πριν λίγα χρόνια δεν υπήρχε ούτε ένα. Τα τελευταία χρόνια μετά το 1990 εκδίδονται και άλλα 3 4 νέα, με συνέπεια να υπάρχουν σήμερα περίπου 10 επιστημονικά περιοδικά αφιερωμένα στα νευρωνικά δίκτυα. Φυσικά, και τα γνωστά περιοδικά της Επιστήμες Υπολογιστών, της Φυσικής και των Ηλεκτρολόγων Μηχανικών επίσης περιλαμβάνουν πλειάδα άρθρων με νέα αποτελέσματα στα νευρωνικά δίκτυα. Κάθε μήνα πλέον δημοσιεύονται εκατοντάδες εργασίες με αποκλειστικό θέμα κάποια άποψη των νευρωνικών δικτύων [Ref. 1]. Πολύ σημαντικό είναι επίσης το γεγονός ότι τα τελευταία δεκαπέντε χρόνια δημιουργήθηκαν και οι πρώτες εμπορικές εταιρίες οι οποίες ασχολούνται αποκλειστικά με νευρωνικά δίκτυα. Βρίσκονται σχεδόν όλες στις ΗΠΑ, συνήθως έχουν μικρό αριθμό εργαζομένων, και παράγουν εξειδικευμένα προγράμματα για την λύση συγκεκριμένων προβλημάτων. Μερικά από αυτά έχουν επιτυχία, αλλά διαφαίνεται με το πέρασμα του χρόνου ότι οι αρχικές προσδοκίες για ραγδαία αύξηση των εμπορικών εφαρμογών δεν επαληθεύονται. Έχουν φθάσει πλέον σε ένα σταθερό επίπεδο ανάπτυξης, ενώ η ετήσια αύξηση είναι μικρή [Ref. 1]. P a g e 42

44 ΚΕΦΑΛΑΙΟ 3: ΤΕΝΙΚΕΣ ΠΑΛIΝΔΡΟΜΗΣΗΣ Παρόλο που ένα απλό νευρωνικό δίκτυο παλινδρόμησης αποτελούμενο από ένα μόνο νευρώνα αισθητήρα ανήκει στη κλάση της εποπτευόμενης μάθησης και θα μπορούσε να αναλυθεί εξολοκλήρου σε ένα κεφάλαιο αφιερωμένο σε αυτή, αποφασίσαμε λόγω της παλινδρόμησης να αναπτύξουμε σε ξεχωριστό κεφάλαιο τις τεχνικές παρεμβολής που αποτελούν μέλος της οικογένειας υπολογιστικής μάθησης. Με τον τρόπο αυτό το συγκεκριμένο κεφάλαιο θα αποτελεί τη βάση των τεχνικών και μαθηματικών μοντέλων που θα χρησιμοποιήσουμε και στο επόμενο κεφάλαιο το οποίο ασχολείται εξολοκλήρου με τεχνικές εποπτευόμενης μάθησης για σκοπούς ταξινόμησης προτύπων. Σε πρώτη φάση θα αναλύσουμε τη πιο απλή μορφή ενός τέτοιου δικτύου, με στόχο τη κατασκευή ενός μοντέλου που θα είναι σε θέση να προβλέπει μελλοντικές τιμές εξόδου (extrapolation) ή ενδιάμεσες τιμές μεταξύ των δειγμάτων (interpolation) αναλόγως των δειγμάτων εισόδου που έχουμε διαθέσιμα κατά την εκπαίδευση. Η χρήση του perceptron που θα παρουσιάσουμε προορίζεται για την υλοποίηση ενός συστήματος γραμμικής παλινδρόμησης (linear regression) μέσω της οποίας, με γραμμικό τρόπο μπορούμε να προσαρμόσουμε, μία συνάρτηση στα δεδομένα που μας έχουν δοθεί. Για να γίνει αυτό η συνάρτηση ενεργοποίησης του νευρώνα θα είναι μια γραμμική συνάρτηση, ενώ η μέθοδος ελαχιστοποίησης του σφάλματος γίνεται ενημερώνοντας τα βάρη με τη τεχνική batch gradient descent. Με τη μέθοδο αυτή ελέγχουμε σε κάθε πλήρη κύκλο του αλγορίθμου, τη παράγωγο του σφάλματος και τη κλίση την οποία κατέχει. Για να τερματίσει ο αλγόριθμος θα πρέπει η κλίση αυτή να μηδενιστεί σε κάποιο ελάχιστο που σχηματίζει η συνάρτηση. Το γεγονός ότι το ελάχιστο αυτό θα είναι τοπικό ή ολικό ελάχιστο εξαρτάται από τις αρχικές τιμές των βαρών που θα δοθούν σε αυτά αλλά και από το πώς είναι τα δεδομένα καταταγμένα στο χώρο. Η τεχνική αυτή αποτελεί κομμάτι των μεθόδων εκπαίδευσης με εποπτεία, αφού ο στόχος καθορίζεται πλήρως από εμάς παρουσιάζοντας τα δεδομένα εισόδου. 3.1 ΓΡΑΜΜΙΚΗ ΠΑΛIΝΔΡΟΜHΣΗ ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ ΤΗΣ ΓΡΑΜΜΙΚΗΣ ΠΑΛIΝΔΡΟΜHΣΗΣ Η γραμμική παλινδρόμηση αποτελεί μία προσέγγιση για τη μοντελοποίηση της σχέσης μεταξύ μίας διακριτής εξαρτημένης μεταβλητής y και μίας ή περισσοτέρων μη εξαρτημένων μεταβλητών x. Στη περίπτωση που η ανεξάρτητη μεταβλητή αποτελεί ένα μονοδιάστατο μοντέλο, η τεχνική της προσέγγισης ονομάζεται απλή γραμμική παλινδρόμηση. Αντίθετα εάν η μεταβλητή εισόδου αποτελεί ένα πολυδιάστατο διάνυσμα, τότε το μοντέλο ονομάζεται πολυμεταβλητή γραμμική παλινδρόμηση, όπου πολλαπλές εξαρτημένες μεταβλητές P a g e 43

45 προβλέπονται μέσω του μοντέλου. Στη γραμμική παλινδρόμηση, τα δεδομένα μελοποιούνται μέσω γραμμικών συναρτήσεων πρόβλεψης, ενώ οι άγνωστοι παράμετροι της συνάρτησης υπολογίζονται από τα δεδομένα. Όπως πολύ συχνά αναφέρεται, η γραμμική παλινδρόμηση αφορά ένα μοντέλο όπου η γραμμική συνάρτηση που σχηματίζει η εξαρτημένη μεταβλητή y, αποτελεί τη μέση τιμή των τιμών της ανεξάρτητης μεταβλητής x [Ref. 23]. Σε αυτό το σημείο είναι αναγκαίο να ορίσουμε το συμβολισμό των μεταβλητών που θα χρησιμοποιούμε μελλοντικά στη πορεία της εργασίας. Έτσι θα αναφερόμαστε στην είσοδο (input variable) με τη μεταβλητή x (i), που συχνά αναφέρεται και σαν χαρακτηριστικό διάνυσμα εισόδου και τη μεταβλητή y (i) για την έξοδο (output), που συχνά αναφέρεται σαν στοχευμένη μεταβλητή (target variable). Ένα ζευγάρι (x (i), y (i) ) αποτελεί ένα παράδειγμα εκπαίδευσης και συνεπώς το σύνολο δεδομένων για τη εκμάθηση του συστήματος θα αποτελείται από m παραδείγματα εκπαίδευσης {(x (i), y (i) ); i = 1,...,m}. Να διευκρινιστεί ότι η εκθετική μεταβλητή (i) δεν αποτελεί δύναμη των εισόδων εξόδων αλλά ένα και μόνο δείγμα από το σύνολο δεδομένων. Επίσης θα χρησιμοποιούμε το συμβολισμό X για τον ορισμό της διάστασης των δειγμάτων εισόδου και Y για τον ορισμό της διάστασης των δειγμάτων εξόδου. Έτσι στη θεωρία που αναπτύσσουμε ισχύει ότι X Y [Ref. 9]. Για να περιγράψουμε τον αλγόριθμο εποπτευόμενης μάθησης με πιο τυπικό τρόπο, ο στόχος για την επίλυση του προβλήματος δοσμένου ενός συνόλου δεδομένων εκπαίδευσης είναι να μάθουμε τη συνάρτηση h(x) η οποία αναφέρεται σαν συνάρτηση υπόθεσης (hypothesis function) και αποτελεί μία καλή πρόβλεψη των αντίστοιχων τιμών του y. Η συνολική διαδικασία μάθησης του συστήματος αναπαρίσταται στο block διάγραμμα που παρουσιάζεται παρακάτω : Εικόνα 12. Block διάγραμμα διαδικασίας εκμάθησης συστήματος. Όταν η στοχευμένη μεταβλητή την οποία θέλουμε να προβλέψουμε αποτελεί μία συνεχή μεταβλητή, αναφερόμαστε στο πρόβλημα μάθησης σαν πρόβλημα παλινδρόμησης. Αντίθετα P a g e 44

46 όταν η στοχευμένη μεταβλητή αποτελεί μία διακριτή μεταβλητή, παίρνοντας τιμές από ένα μικρό σύνολο διακριτών τιμών, αναφερόμαστε στο πρόβλημα μάθησης σαν πρόβλημα ταξινόμησης [Ref. 9] ΣΥΝΑΡΤΗΣΗ ΜΕΤΑΦΟΡΑΣ ΝΕΥΡΩΝΑ Για την επίτευξη της διαδικασίας της γραμμικής παλινδρόμησης, θα πρέπει πρώτα να αποφανθούμε για τον τρόπο τον οποίο θα αναπαραστήσουμε την συνάρτηση υπόθεσης στον υπολογιστή μας. Σαν αρχική επιλογή, αποφασίζουμε να προσεγγίσουμε τη στοχευμένη μεταβλητή y σαν γραμμική συνάρτηση του x. hx w0 w1 x1 w2 x2 (3.1) Στον τύπο (3.1) οι παράμετροι w αποτελούν τα συναπτικά βάρη που ενώνουν το αντίστοιχο δείγμα εισόδου (x 1,..,x m) με τη συνάρτηση μεταφοράς του νευρώνα. Η μεταβλητή m θέτει τη διάσταση του χαρακτηριστικού διανύσματος εισόδου, η μεταβλητή x 0 = 1 αποτελεί το bias και η μεταβλητή w 0 αποτελεί το βάρος του bias που εισέρχεται στο δίκτυο. Γενικεύοντας, η συνάρτηση μεταφοράς του νευρώνα ανεξάρτητα το μέγεθος του διανύσματος εισόδου μπορεί να οριστεί ως εξής : m T hx wix i w x i0 (3.2) Στον παραπάνω τύπο, αριστερά της ισότητας αναπαρίσταται η πράξη των εισόδων και των βαρών αναλυτικά ένα προς ένα, ενώ δεξιά της ισότητας αναπαρίσταται η ίδια διαδικασία σαν πράξη μεταξύ διανυσμάτων. Το αποτέλεσμα της πράξης είναι το ίδιο ανεξάρτητα από το συμβολισμό [Ref. 9]. Εικόνα 13. Μαθηματικό μοντέλο γραμμική συνάρτησης μεταφοράς νευρώνα. P a g e 45

47 3.1.3 ΣΥΝΑΡΤΗΣΗ ΚΟΣΤΟΥΣ ΕΛΑΧΙΣΤΩΝ ΤΕΤΡΑΓΩΝΩΝ Δοσμένων των δειγμάτων εκπαίδευσης θα πρέπει να επιλέξουμε τις κατάλληλες τιμές των βαρών του δικτύου για να προσεγγίσουμε την συνάρτηση υπόθεσης. Ένα λογικό σενάριο θα ήταν να διαλέξουμε τα συναπτικά βάρη έτσι ώστε η συνάρτηση να βρίσκεται όσον τον δυνατό πιο κοντά στην ανεξάρτητη μεταβλητή y για τα δεδομένα εισόδου που έχουμε διαθέσιμα. Έτσι θα θέσουμε μία συνάρτηση ή οποία θα είναι σε θέση να «μετρά» για κάθε τιμή των βαρών το πόσο κοντά η συνάρτηση h(x (i) ) βρίσκεται με τα αντίστοιχα y (i). Με τον τρόπο αυτό ορίζεται η συνάρτηση κόστους ως εξής : m 1 () i i j w h( x ) y 2 (3.3) 2 m i 1 Η παραπάνω συνάρτηση κόστους αποτελεί μία συνάρτηση ελαχίστων τετραγώνων, η οποία είναι σε θέση να μετρά την απόσταση μεταξύ των δειγμάτων της εξαρτημένης μεταβλητής και της συνάρτησης υπόθεσης, για κάθε ζεύγος εκπαίδευσης, ανεξάρτητα από το πρόσημο της διαφοράς σε κάθε διακριτό σημείο στο χώρο. Για το λόγο αυτό η διαφορά υψώνεται στο τετράγωνο, προσφέροντας μας μια πιο γενική εικόνα της προσέγγισης. Για να οδηγηθώ στο επιθυμητό ελάχιστο της συνάρτησης κόστους ακολουθώ τη κλίση της εφαπτομένης, της μερικής παραγώγου του σφάλματος ως προς τα συναπτικά βάρη. Παρακάτω θα ορίσουμε δύο μεθόδους ελαχιστοποίησης του σφάλματος που θα μας επιφέρουν τα επιθυμητά αποτελέσματα [Ref. 9] O ΑΛΓΟΡΙΘΜΟΣ GRADIENT DESCENT Στη θεωρία που αναπτύσσουμε επιθυμούμε να διαλέξουμε τα συναπτικά βάρη w έτσι ώστε να ελαχιστοποιήσουμε το σφάλμα που παράγεται από τη συνάρτηση κόστους J(w). Για να πραγματοποιηθεί αυτό, θα χρησιμοποιήσουμε έναν αλγόριθμο ανίχνευσης της κλίσης, μέσω της μερικής παραγώγου του σφάλματος ως προς τα συναπτικά βάρη, ώστε να εντοπίσουμε την τάση του σφάλματος. Ύστερα από αυτό ελαχιστοποιήσουμε τη συνάρτηση κόστους J(w) για να συγκλίνει στις κατάλληλες τιμές. Ο αλγόριθμος αυτός ονομάζεται αλγόριθμος καθοδικής κλίσης (gradient descent) όπου κατά την εκκίνηση του τα συναπτικά βάρη κατέχουν τυχαίες τιμές και επανειλημμένα ανανεώνονται ακολουθώντας τον παρακάτω κανόνα ανανέωσης (update rule) : P a g e 46

48 J( w) wj : wj a w j (3.4) Ο συμβολισμός := αναφέρεται στο ότι η νέα τιμή του εκάστοτε βάρους αριστερά του συμβολισμού, θα ισούται με την διαφορά της προηγούμενης τιμής του με το γινόμενο του βαθμού μάθησης (learning rate) α και της μερικής παραγώγου της συνάρτησης κόστους ως προς την παλιά τιμή του συναπτικού βάρους. Ο παραπάνω κανόνας εφαρμόζεται σε όλες τις τιμές του {j = 1,...,m} ενώ πραγματοποιεί βήματα απότομης καθόδου (steepest descent) μέσω της παραγώγου του σφάλματος. Για να γίνει πιο κατανοητή η διαδικασία ας θεωρήσουμε ότι έχουμε μόνο ένα δείγμα εκπαίδευσης και συνεπώς μόνο ένα ζεύγος (x (i), y (i) ), έτσι ώστε να μην επηρεαζόμαστε από το άθροισμα για όλα τα j δείγματα. Με την υπόθεση αυτή ισχύσει ότι : 1 2 h( x) y J( w) 2m 1 h( x) y 2 h( x) y w w 2 w j j j m wixi y h x y h x y x w i0 ( ) ( ) j j (3.5) Στη περίπτωση ενός και μόνο δείγματος εκπαίδευσης, ο παραπάνω τύπος εξάγει τον εξής κανόνα ανανέωσης των συναπτικών βαρών: ( i) ( i) j j j w : w h( x ) y x (3.6) Ο κανόνας ονομάζεται κανόνας LMS (least mean squares) και είναι επίσης γνωστός και σαν κανόνας μάθησης Widrow - Hoff. Ο κανόνας αυτός έχει αρκετές ιδιότητες, όπως ότι το μέτρο του ορίσματος ανανέωσης των συναπτικών βαρών είναι ανάλογο του σφάλματος (y (i) - h(x (i) )). Εάν η πρόβλεψη παράγει ένα μεγάλο σφάλμα η αλλαγή στο εκάστοτε συναπτικό βάρος θα είναι μεγάλη, αντίστοιχα εάν το σφάλμα είναι μικρό, τότε η αλλαγή στο συναπτικό βάρους θα είναι μικρή. P a g e 47

49 BATCH GRADIENT DESCENT Υπάρχουν δύο τρόποι υπολογισμού των συναπτικών βαρών όταν το μέγεθος των δειγμάτων εισόδου αποτελείται από παραπάνω από ένα δείγμα. Η πρώτη μέθοδος ακολουθεί την εξής λογική : 1 repeat w w h x y x (3.7) m j : j ( i) ( i) ( i) ( ( ) ) j m i1 Στη περίπτωση αυτή η ποσότητα του αθροίσματος στο κανόνα ανανέωσης αποτελεί απλά τη μερική παράγωγο της συνάρτησης κόστους ως προς το εκάστοτε συναπτικό βάρος. Οπότε η μέθοδος αυτή αποτελεί μία απλή διαδικασία απότομης καθόδου (gradient descent) στην προαναφερθείσα συνάρτηση κόστους. Πιο αναλυτικά η μέθοδος αυτή ερευνά ολόκληρο το σετ δεδομένων σε κάθε βήμα του αλγορίθμου και αναφέρεται σαν batch gradient descent. Να σημειωθεί ότι ενώ η μέθοδος gradient descent είναι ευαίσθητη στο να παγιδευτεί σε τοπικό ελάχιστο, παρόλα αυτά το πρόβλημα της βελτιστοποίησης που περιγράφουμε έχει μόνο ένα ολικό ελάχιστο και κανένα τοπικό. Η μέθοδος καθοδικής κλίσης (gradient descent) πάντα συγκλίνει αρκεί ο ρυθμός μάθησης να μην αποτελείται από μια μεγάλη τιμή. Παρακάτω παρουσιάζουμε ένα παράδειγμα του αλγορίθμου gradient descent καθώς επιδιώκει να βρει το ελάχιστο της κυρτής τετραγωνικής συνάρτησης κόστους. Εικόνα 14. Εύρεση ελαχίστου κατά την εκτέλεση του αλγορίθμου BGD. Οι ελλείψεις που εμφανίζονται παραπάνω αποτελούν το περίγραμμα μίας κυρτής τετραγωνικής συνάρτησης, που στη περίπτωσή μας είναι η συνάρτηση κόστους. Παρουσιάζουμε την πορεία P a g e 48

50 που ακολουθεί η συνάρτηση αυτή χρησιμοποιώντας τον αλγόριθμο batch gradient descent. Τα σημεία με το χαρακτηριστικό «x» είναι αυτά τα σημεία που αντιπροσωπεύουν τις τιμές της συνάρτησης κόστους κατά τη διάρκεια εκτέλεσης του αλγορίθμου καθώς οδηγείται στο ελάχιστο STOCHASTIC GRADIENT DESCENT Εκτός από τον αλγόριθμο batch gradient descent, υπάρχει και ένας εναλλακτικός αλγόριθμος που επίσης λειτουργεί αρκετά αποτελεσματικά. Στον αλγόριθμο αυτό ανατρέχουμε σε όλη τη βάση δεδομένων, και κάθε φορά που συναντάμε ένα δείγμα εκπαίδευσης, ανανεώνουμε τις παραμέτρους των συναπτικών βαρών σε σχέση με το σφάλμα του συγκεκριμένου δείγματος. Αυτή η μέθοδος καλείται stochastic gradient descent ή incremental gradient descent. Η διαφορά των μεθόδων batch gradient descent και stochastic gradient descent είναι ότι η πρώτη ανατρέχει σε όλα τα στοιχεία εκπαίδευσης της βάσης δεδομένων πριν αποφασίσει να κάνει ένα βήμα διόρθωσης των βαρών μέσω της συνάρτησης κόστους, ενώ η δεύτερη μέθοδος ξεκινά τη διόρθωση με μικρά βήματα άμεσα και για κάθε ζεύγος εκπαίδευσης χωριστά. Συχνά, ο αλγόριθμος stochastic gradient descent συγκλίνει γρηγορότερα αλλά υπάρχει περίπτωση να μην συγκλίνει σε κάποια τελική τιμή και να περιβάλλεται γύρω από το ελάχιστο. Παρόλα αυτά οποιαδήποτε τιμή κοντά στο ελάχιστο μπορεί να θεωρηθεί μία καλή προσέγγιση και να τερματιστεί ο αλγόριθμος θέτοντας ένα ικανοποιητικό όριο στο σφάλμα. Για μεγάλες βάσεις δεδομένων η μέθοδος stochastic gradient descent συχνά προτιμάται από τη μέθοδο batch gradient descent [Ref. 9] ΡΥΘΜΟΣ ΜΑΘΗΣΗΣ Ο ρυθμός μάθησης παίζει πολύ σημαντικό ρόλο κατά την εκπαίδευση ενός νευρωνικού δικτύου. Μέσω αυτού θα καθοριστεί τόσο η αποτελεσματικότητα του αλγορίθμου όσο και η ορθότητα της λειτουργίας του. Η εξέλιξη που εμφανίζει η συνάρτηση κόστους κατά τη διάρκεια της εκπαίδευσης, καθορίζει εάν ο ρυθμός μάθησης είναι πολύ υψηλός ή αντίστοιχα πολύ αργός. Η συνάρτηση κόστους, ιδανικά θα πρέπει να συγκλίνει σε κάποια τιμή σταθερού σφάλματος όταν ολοκληρωθεί η διαδικασία της μάθησης, φτάνοντας σε ένα τοπικό ελάχιστο. Στις παρακάτω εικόνες εμφανίζουμε δύο παραδείγματα λανθασμένων τιμών ρυθμού μάθησης και τα αποτελέσματα που επιφέρει αυτό. Στη πρώτη περίπτωση (Εικόνα [15.α]) ο ρυθμός μάθησης έχει επιλεχτεί σε μεγαλύτερη τιμή από την επιθυμητή και για το λόγο αυτό, σε κάθε βήμα ανανέωσης των συναπτικών βαρών το μέρος που αθροίζεται ή αφαιρείται από την προηγούμενη τιμή τους είναι πολύ μεγάλο. Έτσι ο αλγόριθμος πραγματοποιεί overshooting και αποκλίνει από το ελάχιστο που επιθυμούμε να καταλήξουμε. Το γεγονός του υψηλού ρυθμού μάθησης μπορεί να μας οδηγήσει σε μία σταθερή ταλάντωση ή ακόμα και σε αστάθεια. Στη P a g e 49

51 δεύτερη περίπτωση (Εικόνα [15.β]) ο ρυθμός μάθησης έχει επιλεχτεί να είναι μικρότερος από τον επιθυμητό και συνεπώς τα βήματα που οδηγούν προς το ελάχιστο είναι πολύ μικρά. Σαν αποτέλεσμα, είμαστε σίγουροι ότι οδηγούμαστε σε κάποιο ελάχιστο με μεγάλο όμως ρίσκο να παγιδευτούμε σε κάποιο τοπικό ελάχιστο και όχι στο επιθυμητό ολικό. Εικόνα 15. Αποτελέσματα λανθασμένου ρυθμού μάθησης. Η τιμή του ρυθμού μάθησης πρέπει να είναι κάτι ενδιάμεσο από τις τιμές αυτές που επιλέχτηκαν στα συγκεκριμένα παραδείγματα. Ωστόσο η παγίδευση σε τοπικό ελάχιστο πολλές φορές είναι το μεγαλύτερο πρόβλημα προς βελτιστοποίηση, διότι μεγάλο ρόλο παίζει η τυχαιότητα των αρχικών τιμών στα συναπτικά βάρη και η σωστή επιλογή του ρυθμού εκπαίδευσης. Πολλές φορές για να επιλεχτούν οι σωστοί συντελεστές της συνάρτησης υπόθεσης, επαναλαμβάνουμε την εκτέλεση του αλγορίθμου πολλές φορές από τυχαία σημεία εκκίνησης των συναπτικών βαρών και κρατάμε την εκτέλεση με το ελάχιστο σφάλμα (πιθανό ολικό ελάχιστο). Η παραπάνω διαδικασία είναι γνωστή και σαν (pocket algorithm αλγόριθμος τσέπης) στον οποίο μέσω πολλαπλών εκτελέσεων, αποθηκεύουμε την εκτέλεση με τα καλύτερα αποτελέσματα στην «τσέπη» μας ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ ΓΡΑΜΜΙΚΗΣ ΠΑΛΙΝΔΡΟΜΗΣΗΣ Σε αυτό το σημείο θα εκτελέσουμε με τη βοήθεια του προγράμματος matlab τον αλγόριθμο γραμμικής παλινδρόμησης με χρήση της μεθόδου batch gradient descent. Η εκτέλεση θα γίνει χρησιμοποιώντας μία μόνο μεταβλητή εισόδου, καθώς αποτελεί την πιο απλή προσέγγιση του προβλήματος. Το αρχείο που χρησιμοποιείται για την εκτέλεση ονομάζεται P a g e 50

52 Linear_Perceptron_Regression.m και περιέχει όλα τα απαραίτητα δομικά στοιχεία που απαιτούνται. Κατά την εκκίνηση του προγράμματος καλούμε προς φόρτωση με την εντολή load την βάση δεδομένων με τα απαραίτητα ζεύγη τιμών εισόδων εξόδων, μέσω δύο αρχείων ex2x.dat και ex2y.dat που τις αποθηκεύουμε στις αντίστοιχες μεταβλητές x και y. Στην συνέχεια κάνουμε concatenation μίας στήλης με άσσους στο διάνυσμα x, με το ίδιο μέγεθος, ως όρους bias. Ορίζουμε τον αριθμό επαναλήψεων στην μεταβλητή iterations = 1000 καθώς και τον ρυθμό μάθησης Learning_step_a = Οι τιμές των μεταβλητών αυτών μπορούν να αλλάξουν ανάλογα, αλλά όπως εξηγήσαμε παίζουν κρίσιμο ρόλο στη σύγκλιση του αλγορίθμου. Στη πιο γενική περίπτωση αν η τιμή iterations είναι πολύ μικρή ή η μεταβλητή Learning_step_a είναι πολύ μεγάλη τότε ο αλγόριθμος μπορεί να μην συγκλίνει ορθά. Παρόλα αυτά στην απλή αυτή περίπτωση του παραδείγματος που εκτελούμε έχουμε μόνο ένα ολικό ελάχιστο και το γεγονός αυτό μας διευκολύνει στα αποτελέσματα τα οποία παρουσιάζουμε. Εφόσον αρχικοποιήσουμε τα βάρη σε μηδενικές τιμές, καλούμε την συνάρτηση gradientdescent με ορίσματα εισόδου, τα στοιχεία της βάσης δεδομένων (x (i), y (i) ), τις αρχικές τιμές των συναπτικών βαρών (weights(1),weights(2)), καθώς επίσης τον ρυθμό μάθησης και τον αριθμό επαναλήψεων. Κατά την κλίση της συνάρτησης αρχικοποιείται η μεταβλητή J_history η οποία αποθηκεύει σε κάθε επανάληψη το τελικό τετραγωνικό σφάλμα λαμβάνοντας υπόψιν όλες τις τιμές της βάσης δεδομένων. Ακολούθως εντός του επαναληπτικού βρόγχου for, για κάθε επανάληψη, υπολογίζεται η έξοδος του γραμμικού αισθητήρα (feed forward) και αποθηκεύεται στη μεταβλητή h όπως περιγράφεται στο τύπο (3.2). Στη συνέχεια ανανεώνουμε τα βάρη με τις νέες τιμές των βαρών μέσω της διαφοράς του παλιού βάρους με το γινόμενο της παραγώγου της συνάρτησης κόστους και το ρυθμό μάθησης όπως ορίζεται στο τύπο (3.7). Πιο αναλυτικά, η μερική παράγωγος της συνάρτησης κόστους ορίζεται στο τύπο (3.5) ως το άθροισμα των διαφορών των διακριτών μερών της συνάρτησης πρόβλεψης h με τα πραγματικά δεδομένα υιοθετώντας τη τεχνική batch gradient descent. Στο τέλος της συνάρτησης gradientdescent καλούμε τη συνάρτηση υπολογισμού κόστους computecost η οποία με τη σειρά της μας επιστρέφει το τετραγωνικό σφάλμα (J=(1/2*m)*sum(( h-y ).^2);), το οποία αποθηκεύεται στο διάνυσμα J_history. Ύστερα από την εύρεση της συνάρτησης προσέγγισης με το ελάχιστο σφάλμα και εφόσον ο αλγόριθμος συγκλίνει, τότε τα τελικά συναπτικά βάρη έχουν υπολογιστεί στο διάνυσμα weights. Μια άλλη μορφή λύσης είναι μέσω πινάκων μερικών παραγώγων ακολουθώντας τον τύπο : P a g e 51

53 1 ( T T w X X ) X y (3.8) Μέσω αυτού καταφέρνουμε και εξάγουμε τα συναπτικά βάρη τα οποία αποθηκεύουμε στη μεταβλητή w. Αφού η γραμμική συνάρτηση πρόβλεψης έχει κατασκευαστεί, μπορούμε να την χρησιμοποιήσουμε για να προβλέψουμε τιμές εντός του ορίου δεδομένων εισόδου (interpolation) η εκτός (extrapolation). Στη περίπτωσή μας, χάριν παραδείγματος, τα δεδομένα εισόδου αφορούσαν κέρδη ανά περιοχές αναλόγως του πληθυσμού στο εκάστοτε μέρος. Μέσω της συνάρτησης υπόθεσης προβλέπουμε ότι τα κέρδη για πληθυσμό και ανθρώπους θα είναι και μονάδες αντίστοιχα, αποθηκεύοντας τα αποτελέσματα στις μεταβλητές predict1 και predict2 απλά πολλαπλασιάζοντας τις νέες τιμές εισόδου με τα συναπτικά βάρη τα οποία σχηματίζουν την τελική ευθεία. Με παρόμοιο τρόπο χρησιμοποιώντας την έτοιμη συνάρτηση polyfit, η οποία παρέχεται προς χρήση από τις βιβλιοθήκες του προγράμματος matlab μπορούμε να εξακριβώσουμε την ορθότητα του αλγορίθμου μας, συγκρίνοντας τα τελικά αποτελέσματα. Τέλος εμφανίζουμε τη συνάρτηση κόστους σαν διάγραμμα έτσι ώστε να αντιληφθούμε τόσο το γεγονός της σύγκλισης του αλγορίθμου και εύρεσης του ελαχίστου, όσο και το τελικό σφάλμα που προκύπτει. Κατά τη διάρκεια εκτέλεσης θα ήταν πολύ χρήσιμο σε κάθε ενδιάμεσο βήμα να παρακολουθούμε την προσέγγιση της προβλεπόμενης συνάρτησης ως προς τα δείγματα και το εκάστοτε σφάλμα που το συνοδεύει. Για το λόγω αυτό παρακάτω θα εμφανίσουμε τα ενδιάμεσα αποτελέσματα εκτέλεσης στον αριθμό επαναλήψεων 1,10,100,1000. Στην πρώτη επανάληψη, παρατηρώντας πάντα τη μπλε χαρακτηριστική ευθεία, το σφάλμα υπολογίζεται στην τιμή , που όπως είναι λογικό είναι αρκετά μεγάλο αφού δεν έχει πραγματοποιηθεί κάποιο είδος εκπαίδευσης στα συναπτικά βάρη ακόμα. Η γραφική παράσταση της προσέγγισης παρουσιάζεται στο παρακάτω γράφημα. P a g e 52

54 Εικόνα 16. Γράφημα προσέγγισης γραμμικής παλινδρόμησης, 1 επανάληψη. Την ίδια λογική ακολουθεί και το επόμενο γράφημα στο οποία παρουσιάζουμε τη προσέγγιση στα δεδομένα εισόδου, ύστερα από το πέρας των 10 επαναλήψεων. Εικόνα 17. Γράφημα προσέγγισης γραμμικής παλινδρόμησης, 10 επαναλήψεις. Στο σημείο αυτό θα εμφανίσουμε και τη πορεία της συνάρτησης κόστους μέσω της οποίας μπορούμε να αντιληφθούμε, εάν ο αλγόριθμος τείνει να συγκλίνει σε κάποια τιμή. P a g e 53

55 Εικόνα 18. Ιστορικό συνάρτησης κόστους, 10 επαναλήψεις, σφάλμα Από ότι παρατηρούμε το σφάλμα μειώνεται με γρήγορους ρυθμούς πραγματοποιώντας μεγάλα βήματα και απότομη κάθοδο, αφού οι τιμές των βαρών σε κάθε επανάληψη αλλάζουν σημαντικά λόγω της μεγάλης τιμής της μερικής παραγώγου του σφάλματος. Σε σχέση με τα ανεκπαίδευτα συναπτικά βάρη της πρώτης επανάληψης, μέσα σε λίγες μόνο επαναλήψεις έχουμε επιφέρει σημαντική πρόοδο βελτιώνοντας το σφάλμα που προκύπτει από τη διαφορά των δειγμάτων και της συνάρτησης υπόθεσης. Στη συνέχεια παρουσιάζουμε τη πορεία του αλγορίθμου ύστερα από το πέρας 100 επαναλήψεων. Εικόνα 19. Γράφημα προσέγγισης γραμμικής παλινδρόμησης, 100 επαναλήψεις. P a g e 54

56 Και σε αυτή τη περίπτωση παρατηρούμε ότι μετά το πέρας των 100 επαναλήψεων η πρόβλεψη την οποία κάνουμε ταιριάζει όλο και πιο πολύ στα δεδομένα εισόδου. Παρακάτω παρουσιάζουμε τη πορεία που ακολουθεί η συνάρτηση κόστους στις 100 επαναλήψεις. Εικόνα 20. Ιστορικό συνάρτησης κόστους, 100 επαναλήψεις, σφάλμα Στο σημείο αυτό βλέπουμε ότι η κλίση της καμπύλης έχει μικρύνει σημαντικά, εφόσον η πρόβλεψη βρίσκεται κοντά στα δεδομένα εισόδου. Πλησιάζοντας το ολικό ελάχιστο τα βήματα που πραγματοποιεί ο αλγόριθμος γίνονται όλο και πιο μικρά, αφού μικραίνει ολοένα και η κλίση της εφαπτομένης στο σφάλμα. Το τετραγωνικό σφάλμα που μετριέται στο σημείο αυτό είναι , πολύ μικρότερο των άλλων μετρήσεων. Παρακάτω θα εμφανίσουμε τα αποτελέσματα στο τέλος της εκτέλεσης του αλγορίθμου, το οποίο πραγματοποιείται μετά το πέρας 1000 επαναλήψεων. P a g e 55

57 Εικόνα 21. Γράφημα προσέγγισης γραμμικής παλινδρόμησης, 1000 επαναλήψεις. Στο τελευταίο γράφημα όπως και στα προηγούμενα εκτυπώνουμε και τα αποτελέσματα που προέκυψαν μέσω της συνάρτησης polyfit (κίτρινη χαρακτηριστική ευθεία), με χρήση των πινάκων μερικών παραγώγων όπως αναφέρεται στο τύπο (3.8) (μαύρη χαρακτηριστική ευθεία), όπως και με χρήση του αλγορίθμου batch gradient descent μέσω επαναλήψεων (μπλε χαρακτηριστική ευθεία). Τα γραφήματα και στις τρείς περιπτώσεις είναι ίδια, πράγμα που σηματοδοτεί την επιτυχία εκτέλεσης του αλγορίθμου. Παρακάτω θα εμφανίσουμε το τελικό σφάλμα που προκύπτει μέσω της συνάρτησης κόστους. Το σφάλμα είναι πράγματι πολύ μικρό αλλά δεν είναι δυνατόν να μηδενιστεί. Αφού τα δείγματα εισόδου δεν ακολουθούν κάποια γραμμική συνάρτηση, ένα μικρό σφάλμα είναι λογικό και δεν μας επηρεάζει στις προβλέψεις που θα πραγματοποιήσουμε. P a g e 56

58 Εικόνα 22. Ιστορικό συνάρτησης κόστους, 100 επαναλήψεις, σφάλμα Στο παρακάτω γράφημα ερευνούμε ένα μεγάλο εύρος τιμών των συναπτικών βαρών, που σαν αποτέλεσμα εξάγεται μέσω της αντικειμενικής συνάρτησης (συνάρτηση κόστους). Πιο συγκεκριμένα στο πρώτο γράφημα αποτυπώνουμε το αποτέλεσμα, ερευνώντας τα συναπτικά βάρη στο εύρος (-10 έως 10) με 100 ενδιάμεσες τιμές στον άξονα x και στο εύρος (-1 έως 4) με 100 ενδιάμεσες τιμές στον άξονα y. Παρατηρούμε ότι οι τιμές που εξάγονται μέσω της συνάρτησης κόστους, σχηματίζουν μια τετραγωνική συνάρτηση (quadratic function), με εμφανή το εύρος τιμών των συναπτικών βαρών που ελαχιστοποιούν τη συνάρτηση (βαθύ μπλε). Εικόνα 23. Γραφική παράσταση αντικειμενικής συνάρτησης μέσω του χάρτη βαρών. P a g e 57

59 Τέλος, εμφανίζουμε το ίδιο γράφημα χρησιμοποιώντας την εντολή contour3, σε συνδυασμό με τα συναπτικά βάρη που μας εξάγουν το τελικό ελάχιστο. Παρατηρούμε ότι τα επιθυμητά συναπτικά βάρη weights(1) και weights(2) πρέπει να βρίσκονται κοντά στο (0,0). Συγκεκριμένα οι τιμές των συναπτικών βαρών που μας εξάγουν το ελάχιστο είναι (weights(1) = ) και (weights(2) = ) αντίστοιχα. Εικόνα 24. Σημείο ελαχίστου αντικειμενικής συνάρτησης μέσω του χάρτη βαρών. P a g e 58

60 Listing 1.1. Perceptron_Linear_Regression.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : Perceptron_Linear_Regression.m Description : Linear Perceptron using Batch Gradient Descent Author : Monahopoulos Konstantinos clc;clear;close all; Plotting Training Data fprintf('plotting Data...\n') Load training set x = load('ex2x.dat'); y = load('ex2y.dat'); normalization (optional) x= (x - ones(length(x),1).*mean(x))./ (ones(length(x),1).* std(x)); y= (y - ones(length(y),1).*mean(y))./ (ones(length(y),1).* std(y)); x=[ones(length(x),1) x]; put the bias term Plot Data plot(x(:,2),y,'rx'); xlabel('x -> Input') x-axis label ylabel('y -> Output') y-axis label Initialize Linear regression parameters m = length(y); number of training examples initialize fitting parameters - all zeros weights=zeros(1,2); gradient - offset Some gradient descent settings iterations = 1000; number of iterations Learning_step_a = 0.07; step parameter Gradient descent fprintf('running Gradient Descent...\n') Compute Gradient descent [weights(1),weights(2),j_history]=gradientdescent(x, y, weights(1),weights(2), Learning_step_a, iterations); Print theta P a g e 59

61 fprintf('weights found by gradient descent: f f\n',weights(1), weights(2)); fprintf('minimum of objective function is f \n',j_history(iterations)); Vector form w=((xt*x)^-1)*xt)*y w=(inv(transpose(x)*x)*transpose(x))*y; Plot the linear fit hold on; keep previous plot visible Plot line that produced by minimizing the error plot(x(:,2), weights(1)*x(:,2)+ weights(2), 'b-'); scalable variables plot(x(:,2), w(2)*x(:,2)+w(1), 'k-'); Matrix variables Validate with polyfit fnc that Matlab supports poly_weights = polyfit(x(:,2),y,1); plot(x(:,2), poly_weights(1)*x(:,2) + poly_weights(2), 'y--'); title('linear Regression'); leg('training data', 'Linear regression', 'Linear regression Matrix','Linear regression with polyfit') hold off Prediction Predict values for population sizes of 35,000 and 70,000 predict1 = [1, 3.5] * [weights(1) ; weights(2)]; fprintf('for population = 35,000, we predict a profit of f\n',... predict1*10000); predict2 = [1, 7] * [weights(1) ; weights(2)]; fprintf('for population = 70,000, we predict a profit of f\n',... predict2*10000); Visualizing J(weights) fprintf('visualizing J(weights)...\n') Grid over which we will calculate J weight1_vals = linspace(-10, 10, 100); weight2_vals = linspace(-1, 4, 100); initialize J_vals to a matrix of 0's J_vals = zeros(length(weight1_vals), length(weight2_vals)); Fill out J_vals for i = 1:length(weight1_vals) for j = 1:length(weight2_vals) J_vals(i,j) = computecost( x, y, weight1_vals(i), weight2_vals(j)); Because of the way meshgrids work in the surf command, we need to P a g e 60

62 transpose J_vals before calling surf, or else the axes will be flipped J_vals = J_vals'; Surface plot figure; surf(weight1_vals, weight2_vals, J_vals) xlabel('weight1'); ylabel('weight2'); title('objective Function Visualization - weight map') Contour plot figure; [c,h]=contour3(weight1_vals, weight2_vals, J_vals,10); colorbar; xlabel('weight1'); ylabel('weight2'); hold on; title('objective Function Visualization - weight map minimum') plot(weights(1), weights(2), 'rx', 'MarkerSize', 10, 'LineWidth', 2); P a g e 61

63 Listing 1.2. gradientdescent.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : gradientdescent.m Description : GRADIENTDESCENT Performs gradient descent to learn theta, theta = GRADIENTDESENT(x, y, weight1,weight2, Learning_step_a, num_iters) updates theta by taking num_iters gradient steps with learning rate alpha Author : Monahopoulos Konstantinos function [weight1,weight2, J_history] = gradientdescent(x, y,weight1,weight2,learning_step_a, num_iters) Initialize Objective Function History J_history = zeros(num_iters, 1); m = length(y); number of training examples run gradient descent for iter = 1:num_iters linear In every iteration calculate objective function through perceptron (2.2), b->bias=1. h=weight1.*x(:,2)+weight2.*x(:,1); Update weights using Gradient Descent update rule. weight1 = weight1 - Learning_step_a * (1/m) * sum((h-y).* x(:,2)); (2.11)-(2.12) weight2 = weight2 - Learning_step_a * (1/m) * sum((h-y).* x(:,1)); (2.11)-(2.12) Save the cost J in every iteration J_history(iter) = computecost(x, y, weight1,weight2); P a g e 62

64 Listing 1.3. computecost.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : computecost.m Description : COMPUTECOST Compute cost for linear regression, J = COMPUTECOST(X, y, weight1,weight2) computes the cost of using theta as the parameter for linear regression to fit the data points in X and y Author : Monahopoulos Konstantinos function J = computecost(x, y, weight1,weight2) m = length(y); number of training examples Compute the cost of a particular choice of weights, we should set J to the cost. h=weight1.*x(:,2)+ weight2.*x(:,1); J=(1/2*m)*sum(( h-y ).^2); P a g e 63

65 3.2 ΠΟΛΥΩΝΥΜΙΚΗ ΠΑΛIΝΔΡΟΜHΣΗ ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ ΠΟΛΥΩΝΥΜΙΚΗΣ ΠΑΛIΝΔΡΟΜHΣΗΣ Στην επιστήμη της στατιστικής, η πολυωνυμική παλινδρόμηση αποτελεί μία μορφή της γραμμικής παλινδρόμησης, στην οποία η σχέση μεταξύ της ανεξάρτητης μεταβλητής x και της εξαρτημένης μεταβλητής y μοντελοποιείται μέσω ενός πολυωνύμου νιοστού βαθμού. Η πολυωνυμική παλινδρόμηση δημιουργεί μία μη γραμμική σχέση μεταξύ των τιμών των δεδομένων εισόδου x και των αντίστοιχων δεσμευμένων μέσων των δεδομένων εξόδου y, η οποία συμβολίζεται με τον όρο E(y x). Παρόλο που η πολυωνυμική παλινδρόμηση μοντελοποιεί ένα μη γραμμικό μοντέλο στα δεδομένα, σαν πρόβλημα στατιστικής εκτίμησης παραμένει γραμμικό. Ένας πολυωνυμικός όρος, όπως ο τετραγωνικός ή ο κυβικός, μετατρέπει τη γραμμική παλινδρόμηση σε πολυωνυμική. Επειδή όμως οι τιμές αυτές ορίζονται σαν πολυωνυμικοί όροι στα δεδομένα εισόδου και όχι στους συντελεστές των συναπτικών βαρών, το μοντέλο παραμένει γραμμικό. Αυτό μας επιτρέπει την κατασκευή μίας μη γραμμικής χαρακτηριστικής συνάρτησης, χωρίς να εμπλεκόμαστε σε ένα πιο πολύπλοκο μη γραμμικό μοντέλο. Για το λόγο αυτό, η πολυωνυμική παλινδρόμηση ορίζεται σαν μία ειδική κατηγορία των πολλαπλών γραμμικών μοντέλων [Ref. 24]. Τα μοντέλα πολυωνυμικής παλινδρόμησης συνήθως εξάγουν μία συνάρτηση, που ταιριάζει στο μοντέλο εισόδου, χρησιμοποιώντας τη μέθοδο ελαχίστων τετραγώνων ακριβώς όπως πραγματοποιεί η γραμμική παλινδρόμηση που εξετάσαμε νωρίτερα. Η μέθοδος αυτή ελαχιστοποιεί τη διασπορά που επιφέρουν οι συντελεστές εκτίμησης (συναπτικά βάρη), μέσω των συνθηκών που ορίζει το θεώρημα Gauss Markov. Η πρώτη σχεδίαση ενός πειραματικού μοντέλου πολυωνυμικής παλινδρόμησης, έκανε την εμφάνιση του το 1815, από τον Gergonne. Στον εικοστό αιώνα, η πολυωνυμική παλινδρόμηση έπαιξε σημαντικό ρόλο στην ανάπτυξη της παλινδρομικής ανάλυσης, δίνοντας μεγάλη έμφαση στην σχεδίαση και στα αποτελέσματα που σήμερα έχουμε επιφέρει. Πρόσφατα, η χρήση των πολυωνυμικών μοντέλων έχουν συμπληρωθεί από άλλες μεθόδους, χρησιμοποιώντας μη πολυωνυμικά μοντέλα, έχοντας κάποια πλεονεκτήματα σε συγκεκριμένα όμως προβλήματα [Ref. 25]. P a g e 64

66 3.2.2 ΣΥΝΑΡΤΗΣΗ ΜΕΤΑΦΟΡΑΣ ΝΕΥΡΩΝΑ Στο μοντέλο πολυωνυμικής παλινδρόμησης, η επιλογή των βαθμών ελευθερίας του πολυωνύμου και η εκτίμηση της ποσότητας που ορίζει τη προσαρμογή της εξαγόμενης συνάρτησης στα δεδομένα, ορίζεται αποκλειστικά από το χρήστη. Είναι άλλωστε γνωστό ότι η προσαρμογή στα δεδομένα σε μεγαλύτερο βαθμό από αυτό που μπορεί να υποστηριχτεί μέσω των δεδομένων εισόδου, συχνά θα δημιουργήσει μία μη ρεαλιστική συνάρτηση μέσω της οποίας δεν μπορούν να οριστούν οι τιμές στα ενδιάμεσα δείγματα ή έξω από αυτά. Μία τέλεια προσαρμογή της συνάρτησης στόχου με τα δεδομένα εισόδου μπορεί να πραγματοποιηθεί χρησιμοποιώντας τόσους βαθμούς ελευθερίας, όσα είναι τα δείγματα εισόδου - μείον ένα, παρόλα αυτά όμως, όπως ήδη έχουμε εξηγήσει δεν είναι αυτός ο πραγματικός στόχος [Ref. 26]. Έστω λοιπόν ότι επιθυμούμε να προβλέψουμε την εξαρτημένη μεταβλητή y δοσμένου της ανεξάρτητης μεταβλητής x, όταν x R. Για να πραγματοποιήσουμε την πρόβλεψη είμαστε σε θέση να διαλέξουμε όποιο βαθμό πολυωνύμου επιθυμούμε, εξάγοντας κάθε φορά διαφορετικά αποτελέσματα. Παρακάτω θα εξηγήσουμε τρία διαφορετικά αποτελέσματα που εξάγονται μέσω των πολυωνύμων αυτών με τα δείγματα εισόδου να ακολουθούν ένα μη γραμμικό μοντέλο. Στην πρώτη προσέγγιση (Εικόνα [21.α]) επιλέγουμε να προβλέψουμε την συνάρτηση υπόθεσης, μέσω της γραμμικής παλινδρόμησης χρησιμοποιώντας τον τύπο (3.2). Εφόσον όμως τα δεδομένα δεν ακολουθούν κάποιο γραμμικό μοντέλο, η πρόβλεψή μας, όπως μπορούμε να αντιληφθούμε, δεν εξάγει τα επιθυμητά αποτελέσματα [Ref. 9]. Εικόνα 25. Προσαρμογή συνάρτησης υπόθεσης μέσω διαφόρων βαθμών πολυωνύμου στα δεδομένα. Αντίθετα στη δεύτερη προσέγγιση (Εικόνα [21.β]) η πρόβλεψη γίνεται συμπεριλαμβανομένου 2 ενός πρόσθετου χαρακτηριστικού x 2 = x 1 και συνεπώς μέσω του ιδίου μαθηματικού τύπου τα αποτελέσματα είναι εμφανές πιο ικανοποιητικά. Ακολουθώντας τη διαδικασία, φαίνεται ότι όσο πιο πολλά χαρακτηριστικά συμπεριλαμβάνουμε στον τύπο, τόσο καλύτερη γίνεται η πρόβλεψη. Παρόλα αυτά, το γεγονός αυτό δεν ισχύει πάντα, διότι συμπεριλαμβάνοντας πολλά χαρακτηριστικά, η συνάρτηση υπόθεσης υπερπροσαρμόζεται στα δεδομένα χάνοντας την P a g e 65

67 ιδιότητα της γενίκευσης (generalization). Στο τελευταίο παράδειγμα (Εικόνα [21.γ]) έχουμε προσαρμόσει ένα πέμπτου βαθμού πολυώνυμο, με αποτέλεσμα το φαινόμενο της υπερπροσαρμογής που αναφέραμε, αφού η συνάρτηση υπόθεσης περνά ακριβώς από όλα τα δεδομένα εισόδου. Συνοπτικά, η πρώτη προσέγγιση δημιουργεί το φαινόμενο της υποπροσαρμογής (underfitting) στην οποία φαίνεται καθαρά ότι το μοντέλο δεν αποτυπώνει τη δομή των δεδομένων, ενώ αντίθετα στην τρίτη προσέγγιση το μοντέλο φανερώνει το φαινόμενο της υπερπροσαρμογής (overfitting) στην οποία αποτυπώνει μεν τη δομή των δεδομένων αλλά σε μεγαλύτερο βαθμό από τον επιθυμητό. Η πιο ικανοποιητική λύση, φαίνεται να είναι η δεύτερη προσέγγιση στην οποία η συνάρτηση υπόθεσης αποτυπώνει μία πιο γενική εικόνα των δειγμάτων εισόδου. Έτσι παρατηρούμε ότι η επιλογή των χαρακτηριστικών εισόδου αποτελεί μείζον θέμα για την σωστή επίδοση του αλγορίθμου [Ref. 9] ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ ΠΟΛΥΩΝΥΜΙΚΗΣ ΠΑΛΙΝΔΡΟΜΗΣΗΣ Στο σημείο αυτό θα εκτελέσουμε με τη βοήθεια του προγράμματος matlab τον αλγόριθμο πολυωνυμικής παλινδρόμησης με χρήση της μεθόδου batch gradient descent. Η εκτέλεση θα γίνει χρησιμοποιώντας τρείς πολυωνυμικές μεταβλητές εισόδου (x 1, x 2 = x 2 1, x 3= x 3 1 ), καθώς αποτελεί την πιο αποτελεσματική προσέγγιση στα μη γραμμικά δεδομένα εισόδου που βρίσκονται στη βάση δεδομένων. Το αρχείο που χρησιμοποιείται για την εκτέλεση ονομάζεται Perceptron_Polynomial_Regression.m και περιέχει όλα τα απαραίτητα δομικά στοιχεία που απαιτούνται. Κατά την εκκίνηση του προγράμματος θέτουμε τις διαστάσεις του γραφήματος στη μεταβλητή dim=5 την οποία θα χρησιμοποιήσουμε κατά την εκτύπωση των αποτελεσμάτων. Αργότερα στον πίνακα data αποθηκεύουμε τα δεδομένα της ανεξάρτητης και της εξαρτημένης μεταβλητής σε μη γραμμικές συντεταγμένες. Ακολούθως θέτουμε μη γραμμικότητα στα δεδομένα εισόδου εκτελώντας concatenate στο πίνακα X μέσω της εκτέλεσης X = [ones(m, 1), data(:,1), data(:,1).^2, data(:,1).^3 ], σχηματίζοντας h x w w x w x w x. Έτσι, επιλέγουμε να το πολυώνυμο στη μαθηματική μορφή προσεγγίσουμε τη συνάρτηση υπόθεσης μέσω ενός τρίτου βαθμού πολυώνυμο. Ο αριθμός των επαναλήψεων επιλέγεται να είναι 1500 όπως έχει οριστεί στη μεταβλητή iterations και το βήμα μάθησης είναι όπως έχει οριστεί στη μεταβλητή Learning_step_a. Από ότι θα αντιληφθούμε και από τα αποτελέσματα σημαντικό ρόλο για τη σύγκλιση του αλγορίθμου παίζουν οι τιμές αρχικοποίησης των συναπτικών βαρών. Είναι πολύ πιθανό κατά την εκτέλεση να εγκλωβιστούμε σε κάποιο τοπικό ελάχιστο και να μην καταλήξουμε στο P a g e 66

68 επιθυμητό ολικό. Η συνάρτηση κόστους αποθηκεύεται στο διάνυσμα J_history, ενώ τα βάρη ορίζονται στη μεταβλητή weights. Για την εύρεση του ελάχιστου σφάλματος επιλέγουμε η εκτέλεση του αλγορίθμου να γίνεται επανειλημμένα για 20 συνεχόμενες φορές, επανατοποθετώντας τα συναπτικά βάρη σε τυχαίες τιμές. Σε κάθε βήμα επανάληψης αποθηκεύουμε το τελικό σφάλμα και τη συνάρτηση υπόθεσης, ακολουθώντας τη μέθοδο batch gradient descent. Ύστερα και από την τελευταία εκτέλεση, ο αλγόριθμος είναι σε θέση βρίσκει το ελάχιστο σφάλμα από όλες τις εκτελέσεις, καθώς επίσης και να καταγράφει την ιστορία του σφάλματος όπως καταγράφτηκε κατά την εξέλιξή του. Εφόσον χρησιμοποιούμε τέσσερις μεταβλητές για το σχηματισμό του πολυωνύμου, σε κάθε βήμα επανάληψης ανανέωσης των βαρών, αποθηκεύουμε τις ενδιάμεσες τιμές στις εκάστοτε μεταβλητές temp0 έως temp4 και ύστερα ανανεώνουμε τα συναπτικά βάρη με τις τιμές αυτές. Ο μαθηματικός τύπος που επιλέγεται για την εύρεση του νέου συναπτικού βάρους είναι όπως και στη γραμμική παλινδρόμηση ο τύπος (3.7) και η μέθοδος υπολογισμού του σφάλματος πραγματοποιείται μέσω του τύπου (3.3) όπως ορίζεται από τη μέθοδο ελαχίστων τετραγώνων. Ύστερα από την εκτέλεση του αλγορίθμου εκτυπώνουμε τα αποτελέσματα εύρεσης της συνάρτησης υπόθεσης πάνω στα δεδομένα μέσω του διανύσματος Optimum_weights, παρατηρώντας έτσι τη προσαρμογή της πρόβλεψης σε αυτά. Εικόνα 26. Αποτελέσματα συνάρτησης υπόθεσης μέσω επαναλαμβανόμενης τυχαίας αρχικοποίησης των βαρών. P a g e 67

69 Η χαρακτηριστική συνάρτηση με το ελάχιστο όλων των σφαλμάτων σηματοδοτείται με κόκκινο χρώμα, ενώ αντίθετα οι υπόλοιπες από τις 20 εκτελέσεις με κίτρινο. Σε κάθε επανάληψη τα βάρη αρχικοποιούνται σε τυχαίες τιμές στο εύρος [0,1]. Τέλος εκτυπώνουμε την εξέλιξη του σφάλματος κατά την διαδικασία της εκπαίδευσης και το τελικό ελάχιστο σφάλμα μέσω του διανύσματος J_optimum_history. Εικόνα 27. Αποτελέσματα συνάρτησης κόστους ελαχίστου τελικού σφάλματος. Όπως παρουσιάζεται στο γράφημα της εικόνας [27] μπορούμε να παρατηρήσουμε την εξέλιξη του ελαχίστου σφάλματος, το οποίο ύστερα από 1000 επαναλήψεις καταλήγει στην τιμή Το μέγεθος του σφάλματος είναι αρκετά μικρό, αλλά όχι μηδενικό καθώς όπως αναφέραμε η υπερπροσαρμογή δεν αποτελεί λύση του προβλήματος. P a g e 68

70 Listing 2. Perceptron_Polynomial_Regression.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : Perceptron_Polynomial_Regression.m Description : Linear Perceptron for polynomial Regression using Batch Gradient Descent Author : Monahopoulos Konstantinos clc;clear all;close all; Plotting Training Data Load training set fprintf('plotting Data...\n') Set the dimensions of the plot dim=5; Initialize the indepent and the target variable (x,y) data=[ ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ]; Set data in variables y = data(:, 2); m = length(y); X = data(:, 1); Plot Data plot(x, y, 'b+'); axis([-dim dim -dim dim]); Initialize Linear regression parameters m = length(y); number of training examples P a g e 69

71 Set non linearity to input variable X = [ones(m, 1), data(:,1), data(:,1).^2, data(:,1).^3 ]; Some gradient descent settings iterations = 1000; number of iterations Learning_step_a = 0.001; step parameter Extra variables tovfind the optimum fit J_minimum_error=inf; minimum error ever recorded through iterations of random weights Optimum_weights=zeros(4,1); optimum weights of the minimum error J_optimum_history=[]; optimum error history of the minimum error Optimum_iteration=0; Random weights iterations for RandomWeights =1:20 Initialize Cost function history J_history = zeros(1,iterations); Initialize weights in random values weights = 5*rand(4, 1); Gradient descent for iter = 1:iterations linear In every iteration calculate objective function through perceptron. h=weights(1,1).*x(:,1)+ weights(2,1).*x(:,2)+... weights(3,1).*x(:,3)+ weights(4,1).*x(:,4); Compute Gradient descent and Update weights in every iteration temp0 = weights(1,1) - (Learning_step_a/m)*sum((X*weightsy).*X(:,1)); temp1 = weights(2,1) - (Learning_step_a/m)*sum((X*weightsy).*X(:,2)); temp2 = weights(3,1) - (Learning_step_a/m)*sum((X*weightsy).*X(:,3)); temp3 = weights(4,1) - (Learning_step_a/m)*sum((X*weightsy).*X(:,4)); weights(1,1) = temp0; weights(2,1) = temp1; weights(3,1) = temp2; weights(4,1) = temp3; Save Cost function history in every iteration J_history(iter) =(1/(2*m)) * sum( (h - y).^2); Print weight values fprintf('weights found by gradient descent: f f f f\n',weights(1), weights(2),weights(3), weights(4)); fprintf('minimum of objective function is f \n',j_history(iterations)); If smaller error is recorded using the specific weights if J_minimum_error > J_history(iterations) P a g e 70

72 J_minimum_error=J_history(iterations); Store the minimum error J_optimum_history=J_history; Store the history of the minimum error Optimum_weights=weights; Store the optimum weights Optimum_iteration=RandomWeights; Store optimum iteration number Plot the non linear function on the initial data hold on plot(-dim:0.01:dim, weights(1) + (-dim:0.01:dim).*weights(2) + (- dim:0.01:dim).^2.*weights(3) + (-dim:0.01:dim).^3.*weights(4), 'y-- '); hold off Plot the minimum error ever recorded fprintf('\nminimum error of all iterations f \n',j_minimum_error); Plot the optimum non linear function on the initial data hold on title('polynomian regression'); xlabel('x -> Input') x-axis label ylabel('y -> Output') y-axis label plot(-dim:0.01:dim, Optimum_weights(1) + (- dim:0.01:dim).*optimum_weights(2)... + (-dim:0.01:dim).^2.*optimum_weights(3) +... (-dim:0.01:dim).^3.*optimum_weights(4), 'r--'); hold off leg('training data', 'Polynomian regression - random initial points'); Visualizing J(weights) fprintf('visualizing J(weights)...\n') Visualize 2D error history and final error figure, plot(1:iter,j_optimum_history); hold on; plot(iter,j_optimum_history(),'ro'); hold off; xlabel('x -> Iterations') x-axis label ylabel('y -> Error') y-axis label title(['error history - iterations :' num2str(iter)]) axis([-1 iter+1 J_optimum_history()-100 J_optimum_history(1)+100]) str_f = sprintf('final error 0.5f ',J_optimum_history()); text(iter,j_optimum_history(),horzcat(str_f,'\rightarrow '),'HorizontalAlignment','right'); P a g e 71

73 3.3 ΛΟΓΙΣΤΙΚΗ ΠΑΛIΝΔΡΟΜHΣΗ Έως τώρα, έχουμε αναπτύξει και εκτιμήσει τις τεχνικές που αντιμετωπίζουν την εξαρτημένη μεταβλητή σαν συνεχή μεταβλητή εξόδου. Υπάρχουν όμως, πολλές περιπτώσεις όπου ενδιαφερόμαστε για τη σχέση εισόδου εξόδου, όταν η εξαρτημένη μεταβλητή αποτελεί μία διακριτή μεταβλητή. Η διακριτή έξοδος μπορεί να προέρχεται από μία ανεξάρτητη μεταβλητή εισόδου, η οποία μπορεί να είναι είτε διακριτή, είτε συνεχής [Ref. 27]. Σε αυτό το κεφάλαιο θα χρησιμοποιήσουμε τη τεχνική της παλινδρόμησης σε προβλήματα ταξινόμησης. Σαν διαδικασία υλοποίησης παραμένει ίδια, με τη διαφορά ότι οι τιμές του y τις οποίες θέλουμε να προβλέψουμε παίρνουν τιμές από ένα μικρό διακριτό σύνολο. Στη πιο απλή μορφή της, θα ασχοληθούμε με τη δυαδική ταξινόμηση όπου το y παίρνει μόνο δύο τιμές, 0 και 1. Θέτοντας την διακριτή έξοδο ως δυαδική γνωρίζουμε ότι οι κλάσεις τις οποίες θέλουμε να προβλέψουμε θα είναι δύο ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ ΛΟΓΙΣΤΙΚΗΣ ΠΑΛIΝΔΡΟΜHΣΗΣ Θα μπορούσαμε να προσεγγίσουμε το πρόβλημα της ταξινόμησης, αγνοώντας το γεγονός ότι η μεταβλητή y είναι μία διακριτή μεταβλητή και χρησιμοποιώντας τον αλγόριθμο της γραμμικής παλινδρόμησης όπου θέλουμε να προβλέψουμε τις τιμές του y δοσμένου του x. Παρόλα αυτά, είναι εύκολο να δημιουργήσουμε καταστάσεις στις οποίες ο αλγόριθμος αυτός δεν θα μπορούσε να ανταπεξέλθει και θα αποτύχαινε. Στο πρόβλημα της ταξινόμησης δεν θα είχε νόημα για τη συνάρτηση υπόθεσης hx ( ) να παίρνει τιμές μεγαλύτερες του 1 ή μικρότερες του 0, όταν γνωρίζουμε ήδη ότι οι τιμές της εξαρτημένης μεταβλητής y {0,1}. Για το λόγο αυτό θα πρέπει να αλλάξουμε τη μορφή της συνάρτησης υπόθεσης έτσι ώστε να πληρεί τις προϋποθέσεις που θέσαμε. Η συνάρτηση μεταφοράς του νευρώνα θα μπορούσε να είναι είτε η λογιστική συνάρτηση (logistic function), είτε η συνάρτηση υπερβολικής εφαπτομένης (hyperbolic tangent) που αναπαριστώνται στις εικόνες 7 και 8 αντίστοιχα. Εμείς θα διαλέξουμε η συνάρτηση ενεργοποίησης του νευρώνα να είναι η λογιστική συνάρτηση η οποία περιγράφεται στο τύπο (2.3). P a g e 72

74 Εικόνα 28. Μαθηματικό μοντέλο σιγμοειδείς συνάρτησης μεταφοράς νευρώνα. Παρατηρούμε ότι η h(x) πλησιάζει στο όριο lim hx ( ) 1 και στο όριο lim hx ( ) 0. Ο x x μαθηματικός τύπος που περιγράφει την έξοδο του νευρώνα είναι και στη περίπτωση αυτή ο τύπος (3.2) στον οποίο θα κρατήσουμε τη σύμβαση αφήνοντας το x 0 = 1. Πριν συνεχίσουμε, θα παρουσιάσουμε μία χρήσιμη ιδιότητα της παραγώγου της συνάρτησης υπόθεσης (sigmoid function) που θα χρησιμοποιηθεί αργότερα. 1 1 x 1 1 h'( x) ( e ) 1 h( x)(1 h( x)) x x 2 x x x 1 e (1 e ) (1 e ) (1 e ) (3.9) Γνωρίζοντας πλέον τη συνάρτηση μεταφοράς του νευρώνα θα πρέπει να ορίσουμε τις παραμέτρους των συναπτικών βαρών σε αυτή. Ακολουθώντας τη λογική των ελαχίστων τετραγώνων, οι τιμές θα μπορούσαν να προέρχονται από τη εκτίμηση της μέγιστης πιθανότητας μέσω ενός συνόλου από υποθέσεις, δηλαδή από όλες τις μορφές της συνάρτησης μεταφοράς του νευρώνα. Για το λόγο αυτό θα ορίσουμε στο μοντέλο της ταξινόμησης ένα σύνολο από πιθανολογικές υποθέσεις και αργότερα θα προσαρμόσουμε τους παραμέτρους έτσι ώστε να εξάγεται η μέγιστη πιθανότητα μέσω του μοντέλου. P( y 1 x; w) h( x) P( y 0 x; w) 1 h( x) y P( y x; w) h( x) (1 h( x)) 1 y (3.10) Υποθέτοντας ότι τα m παραδείγματα εκπαίδευσης είναι ασυσχέτιστα και παράγονται ανεξάρτητα μεταξύ τους, μπορούμε να ορίσουμε την τελική πιθανότητα ως προς τα συναπτικά βάρη σαν το γινόμενο των ανεξάρτητων συμβάντων. P a g e 73

75 m m ( i ) ( i) ( i) ( i) y ( i) L( w) p y X ; w p y x ; w h x 1h x i1 i1 ( i ) 1 y (3.11) Επειδή όμως θα ήταν πιο εύκολο να μεγιστοποιήσουμε τον λογάριθμο της μέγιστης πιθανότητας αντί τη πιθανότητα στη παραπάνω μορφής, επαναδιατυπώνουμε τη τελική πιθανότητα στον παρακάτω τύπο. Με τον τρόπο αυτό αφού τα δείγματα εκπαίδευσης είναι ασυσχέτιστα το γινόμενο μετατρέπεται σε άθροισμα χρησιμοποιώντας την ιδιότητα του λογαρίθμου. m ( i) ( i) ( i) ( i) (3.12) i1 l( w) log( L( w)) y log h x 1 y log 1 h x Για να μεγιστοποιήσουμε τη πιθανότητα, θα χρησιμοποιήσουμε τη τεχνική batch gradient descent, παρόμοια με τη γραμμική παλινδρόμηση. Οι τύποι ανανέωσης των συναπτικών βαρών είναι ακριβώς οι ίδιοι αφού χρησιμοποιώντας τον τύπο (3.9) ισχύει ότι : w j l( w) y h( x) x j (3.13) Η μοναδική διαφορά είναι ότι η hx ( ) αποτελεί μία μη γραμμική συνάρτηση αντί της γραμμικής που ίσχυε στην γραμμική παλινδρόμηση. Παρόλα αυτά, το γεγονός αυτό αποτελεί μία έκπληξη, αφού χρησιμοποιούμε τον ίδιο κανόνα ανανέωσης των συναπτικών βαρών σε διαφορετικό αλγόριθμο και διαφορετικό πρόβλημα μάθησης ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ ΛΟΓΙΣΤΙΚΗΣ ΠΑΛΙΝΔΡΟΜΗΣΗΣ Σε αυτό το σημείο θα εκτελέσουμε με τη βοήθεια του προγράμματος matlab τον αλγόριθμο λογιστικής παλινδρόμησης με χρήση της μεθόδου batch gradient descent. Η εκτέλεση θα γίνει χρησιμοποιώντας μία μόνο μεταβλητή εισόδου, καθώς αποτελεί την πιο απλή προσέγγιση του προβλήματος. Το αρχείο που χρησιμοποιείται για την εκτέλεση ονομάζεται Perceptron_Logistic_Regression.m και περιέχει όλα τα απαραίτητα δομικά στοιχεία που απαιτούνται. Κατά την εκκίνηση του προγράμματος ορίζουμε στο διάνυσμα εισόδου x, 100 δείγματα χαρακτηρισστικού διανύσματος από το 1 έως το 100. Αντίστοιχα τα δείγματα εξόδου y, αναθέτονται με ίση πιθανότητα στις δύο κλάσεις που χρησιμοποιούμε (0 ή 1) σε τυχαία όμως σειρά ως προς τα δείγματα εισόδου. Ορίζουμε τον αριθμό επαναλήψεων στην μεταβλητή iterations = καθώς και τον ρυθμό μάθησης Learning_step_a = Η τιμή των επαναλήψεων είναι αρκετά μεγάλη αφού το βήμα μάθησης αποτελείται από μία πολύ P a g e 74

76 μικρή τιμή. Ο λόγος που επιλέξαμε το βήμα αυτό, είναι επειδή ο αλγόριθμος θα πρέπει να συγκλίνει μεταξύ των τιμών 0 και 1 και συνεπώς θα πρέπει να καθορίζει μικρές αλλαγές στην ανανέωση των συναπτικών βαρών. Ο αλγόριθμος ακολουθεί την ίδια ακριβώς λογική με τη γραμμική παλινδρόμηση με τη διαφορά ότι πλέον η τελική συνάρτηση ενεργοποίησης είναι η λογιστική συνάρτηση η οποία μοντελοποιείται μέσω της πράξης 1./ (1 + exp(- (weights(1).*x(:,2)+ weights(2).*x(:,1)))) αποθηκεύοντας κάθε φορά το αποτέλεσμα στο διάνυσμα h. Όταν ολοκληρωθεί η εκπαίδευση πραγματοποιούμε μέσω της συνάρτησης υπόθεσης μία πρόβλεψη για μια τυχαία τιμή εισόδου εντός του ορίου [1,100], εκτυπώνοντας τη εξαγόμενη κλάση που ανήκει το συγκεκριμένο δείγμα. Για να αντιληφθούμε την ορθή λειτουργία του αλγορίθμου χρησιμοποιούμε την έτοιμη συνάρτηση mnrfit εισάγοντας ως ορίσματα εισόδου τις τιμές του διανύσματος x χωρίς τον όρο bias και τις αντίστοιχες κλάσεις που ανήκουν τα δεδομένα. Στο διάνυσμα των κλάσεων έχουμε προσθέσει μία μονάδα σε κάθε στοιχείο, διότι σε αντίθεση με την δική μας προσέγγιση η συνάρτηση mnrfit περιμένει τις κλάσεις στη μορφή (1 ή 2) αντί της μορφής (0 ή 1). Ύστερα, μέσω της συνάρτησης mnrval χρησιμοποιούμε όλα τα δείγματα εισόδου για να εξαχθεί η συνάρτηση πυκνότητας πιθανότητας. Και εδώ πραγματοποιούμε μέσω της συνάρτησης υπόθεσης μία πρόβλεψη για την ίδια τιμή εισόδου εκτυπώνοντας την εξαγόμενη κλάση που ανήκει το συγκεκριμένο δείγμα. Τέλος εκτυπώνουμε τα αποτελέσματα της δικής μας προσέγγισης με τα αποτελέσματα που εξήχθησαν από τις έτοιμες προς χρήση συναρτήσεις του matlab και παρατηρούμε ότι η PDF και στις δύο περιπτώσεις είναι η ίδια. Παρακάτω επισυνάπτουμε τα αποτελέσματα του αλγορίθμου με τις δύο γραφικές παραστάσεις επικυρώνοντας έτσι, την ορθή λειτουργεία του αλγορίθμου. Εικόνα 29. Επικύρωση αποτελεσμάτων μέσω σύγκριση των PDF στη μέθοδο logistic regression. P a g e 75

77 Listing 3. Perceptron_Logistic_Regression.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : Perceptron_Logistic_Regression.m Description : Logistic Perceptron for binary classification using Batch Gradient Descent Author : Monahopoulos Konstantinos clc;clear all;close all; Logistic regression is working as linear regression but as an output specifies the propability to be attached to one category or the other. At the beginning we created a well defined data set that can be easily be fitted by a sigmoid function. Create Training Data x is the continues input and y is the category of every output [1 or 0] x = (1:100)'; indepent variables x(s) Class_Probability=50; Set the Class Probability y(1:class_probability) = 0; Depent variables y(s) -- class 0 y(class_probability+1:100) = 1; Depent variables y(s) -- class 1 y=y'; y = y(randperm(length(y))); Random order of y array x=[ones(length(x),1) x]; Set the bias term Initialize Logistic regression parameters m = length(y); number of training examples initialize weights - all zeros weights = zeros(1,2); iterations must be a big number because we are taking very small steps. iterations = ; Learning step must be small because the line must fit the data between [0 and 1] P a g e 76

78 Learning_step_a = ; step parameter Gradient descent fprintf('running Gradient Descent...\n') for iter = 1:iterations Logistic hypothesis function h = 1./ (1 + exp(-(weights(1).*x(:,2)+ weights(2).*x(:,1)))); Update coefficients weights(1)=weights(1) + Learning_step_a * (1/m)* sum((y-h).* x(:,2)); weights(2)=weights(2) + Learning_step_a * (1/m) * sum((yh).*x(:,1)); Make a prediction for p(y==1 x==10) xp=round(100*rand()); fprintf('\nprediction x = d, Class = d \n',xp,round(h(xp))); Validate with matlab function mnrfit mn_weights=mnrfit(x(:,2),y+1); Coefficients mnrvalpdf = mnrval(mn_weights,x(:,2)); Coefficients Find Logistic Regression Define Classes from the Make a prediction.. p(y==1 x==10) fprintf('validate Prediction x = d, Class = d \n',xp,round(mnrvalpdf(xp,2))); Visualizing Results Plot Logistic Regression Results... figure; subplot(1,2,1),plot(x(:,2),y,'r*'); hold on subplot(1,2,1),plot(x(:,2),h,'b--'); hold off title('my Logistic Regression PDF') xlabel('x -> Continues input'); ylabel('y -> Propability Density Function'); Plot Logistic Regression Results (mnrfit)... subplot(1,2,2),plot(x(:,2),y,'r*'); hold on subplot(1,2,2),plot(x(:,2),mnrvalpdf(:,2),'--b') hold off title('validate mnrval Logistic Regression PDF') xlabel('x -> Continues input'); ylabel('y -> Propability Density Function'); P a g e 77

79 ΚΕΦΑΛΑΙΟ 4: ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ ΕΠΟΠΤΕΥΟΜΕΝΗΣ ΜΑΘΗΣΗΣ Από τα πιο απλά μοντέλα εποπτευόμενης μάθησης που υπάρχουν αποτελεί το μοντέλο του απλού αισθητήρα (perceptron) το οποίο θεωρείται από τα πιο εύκολα κατανοητό σύστημα. Για το λόγο αυτό θα ασχοληθούμε εκτενέστερα με το συγκεκριμένο μοντέλο παρατηρώντας τον τρόπο εκπαίδευσης του, όπως και τα υπόλοιπα χαρακτηριστικά που το συνοδεύουν. Στο κεφάλαιο αυτό επίσης θα αναλύσουμε και το μοντέλο του πολυστρωματικού αισθητήρα, αποτελούμενο από πολλά perceptrons και θα εξηγήσουμε τον αλγόριθμο backpropagation που το συνοδεύει. Το μοντέλο του απλού αισθητήρα στην αρχή είχε πολλές επιτυχίες, δημιούργησε μεγάλο ενθουσιασμό και μάλιστα ήδη αρχίζει να συζητείται η ιδέα ότι πιθανόν τα νευρωνικά δίκτυα να είναι η ανώτερη τεχνική που λύνει όλα τα προβλήματα που μέχρι τότε παρέμεναν άλυτα. Οι πρώτες λοιπόν επιτυχίες μεγαλοποιήθηκαν, αλλά γρήγορα φάνηκε ότι τα μοντέλα αυτά είχαν πολλούς περιορισμούς. Μια συνολική και εμπεριστατωμένη εικόνα του προτύπου αυτού παρουσιάσθηκε το 1969 στο βιβλίο Perceptrons των Minsky και Papert. Στο βιβλίο αυτό γίνεται μία συνολική εκτίμηση της χρησιμότητας του προτύπου του αισθητήρα και όλων των διεργασιών για τα οποία είναι χρήσιμο. Αποδεικνύεται με αναλυτικά μαθηματικά ότι υπάρχουν συγκεκριμένοι περιορισμοί στο πρότυπο αυτό. Έτσι, δεν μπορεί να λύσει, λ.χ. το σχετικά απλό πρόβλημα του XOR το οποίο θα αναλύσουμε παρακάτω. Οι αρχικές προσδοκίες που είχαν δημιουργηθεί ήδη φαίνεται ότι δεν επαληθεύονται και προς το παρόν τα νευρωνικά δίκτυα χάνουν την δημοτικότητα τους, με αποτέλεσμα ο κόσμος να στρέφεται σε μια νέα παρεμφερή περιοχή που τότε άρχισε να γίνεται γνωστή, την Τεχνητή Νοημοσύνη [Ref 1]. 4.1 ΣΤΟΙΧΕΙΩΔΗΣ ΑΙΣΘΗΤΗΡΑΣ ΔΥΑΔΙΚΗΣ ΤΑΞΙΝΟΜΗΣΗΣ Ο αισθητήρας ταξινόμησης, αποτελεί μία γενική περίπτωση της μεθόδου παλινδρόμησης ελαχίστων τετραγώνων και της λογιστικής παλινδρόμησης. Ουσιαστικά πραγματοποιούνται εν μέρει οι ίδιες διαδικασίες υπολογισμού, με διαφορετική συνάρτηση ενεργοποίησης αλλά πανομοιότυπο υπολογισμό ανανέωσης των συναπτικών βαρών. Πιο συγκεκριμένα, ο στοιχειώδης αισθητήρας δυαδικής ταξινόμησης, αποτελεί την πιο απλή μορφή νευρωνικού δικτύου που χρησιμοποιείται για την ταξινόμηση προτύπων, τα οποία όμως πρέπει να είναι γραμμικά διαχωρίσιμα, δηλαδή να υπάρχει ένα υπερεπίπεδο που να διαχωρίζει τα πρότυπα δύο διαφορετικών κατηγοριών [Ref. 2]. P a g e 78

80 4.1.1 ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ ΣΤΟΙΧΕΙΩΔΟΥΣ ΑΙΣΘΗΤΗΡΑ Ο στοιχειώδης αισθητήρας ή αισθητήρας δυαδικής ταξινόμησης όπως αναφέρεται, αποτελείται από ένα απλό νευρώνα που δέχεται κάποιες εξωτερικές εισόδους ως χαρακτηριστικά κάποιου προτύπου. Τα σήματα αυτά μέσω των συναπτικών βαρών και μίας εξωτερικής πόλωσης διεγείρουν την έξοδο του νευρώνα, όπως ακριβώς συνέβαινε και στις περιπτώσεις παλινδρόμησης που αναλύσαμε νωρίτερα. Η πόλωση (bias) μπορεί να θεωρηθεί ως μία εξωτερικά εφαρμοζόμενη είσοδος σταθερής τιμής που συμβολίζεται με τη μεταβλητή b. Η τιμή που ορίζεται ως πόλωση αποτελεί παράμετρο που ρυθμίζεται κατά την εκπαίδευση του δικτύου. Ο αλγόριθμος εκπαίδευσης που συνήθως χρησιμοποιείται για τον καθορισμό των τιμών των συναπτικών βαρών του δικτύου αυτού αναπτύχθηκε από τον Frank Rosenblatt ( ). Ο τελευταίος απέδειξε ότι, αν τα πρότυπα που χρησιμοποιούνται κατά την εκπαίδευση ανήκουν σε δύο γραμμικά διαχωρίσιμες κατηγορίες, τότε ο αλγόριθμος εκπαίδευσης του δικτύου συγκλίνει σε τελικές τιμές των συναπτικών βαρών που καθορίζουν τη θέση ενός υπερεπιπέδου που διαχωρίζει τα πρότυπα των δύο κατηγοριών. Η απόδειξη της σύγκλισης του παραπάνω αλγορίθμου εκπαίδευσης είναι γνωστή ως θεώρημα σύγκλισης του στοιχειώδη perceptron [Ref. 2]. Κάθε εισερχόμενο σήμα, x i, συνδέεται με τον κεντρικό νευρώνα με ένα βάρος w i. Το βάρος w μας δείχνει κατά κάποιο τρόπο την αλληλεπίδραση μεταξύ των δύο νευρώνων τους οποίους συνδέει ή των τιμών εισόδου με τον μοναδικό νευρώνα εφόσον αυτός υπάρχει. Στην απλή περίπτωση του ενός νευρώνα που εξετάζουμε, μπορούμε να πούμε ότι το w είναι η επίδραση του εισερχόμενου σήματος με τον νευρώνα αυτό. Αυτό που έχει σημασία δεν είναι η τιμή του βάρους w από μόνη της ούτε η τιμή του σήματος x i, αλλά είναι το γινόμενο x i w i. Έτσι κάθε x i πολλαπλασιάζεται επί το βάρος wi που έχει η σύνδεση i και τελικά αυτό που παρουσιάζεται στον νευρώνα από κάθε εισερχόμενο σήμα είναι το γινόμενο xi wi. Ο στοιχειώδης αισθητήρας κατόπιν αθροίζει τα γινόμενα αυτά για όλους τους m όρους (όπου m είναι ο αριθμός των εισόδων) και συμπεριλαμβάνοντας το εσωτερικό βάρος (bias), συμπληρώνει τον γενικό τύπο (3.2) [Ref 1]. Ακολούθως, εφαρμόζουμε την βηματική συνάρτηση κατωφλίου (Heaviside function), με μία συγκεκριμένη τιμή του κατωφλίου, θ. Την διαδικασία υπολογισμού της εξόδου την έχουμε ήδη αναλύσει στο κεφάλαιο [ ], ενώ στο παρακάτω σχήμα παρουσιάζουμε συνοπτικά την βηματική συμπεριφορά του νευρώνα. P a g e 79

81 Εικόνα 30. Μαθηματικό μοντέλο βηματικής συνάρτησης μεταφοράς νευρώνα. Αντιλαμβανόμαστε λοιπόν, ότι η ενεργητικότητα του αισθητήρα εξαρτάται από τρεις παραμέτρους: τα βάρη των συνδέσεων, τις τιμές των εισόδων και την τιμή του κατωφλίου. Θεωρούμε ότι αυτό που μαθαίνει το σύστημά μας αποθηκεύεται στα βάρη των συνδέσεων, τα οποία, όπως θα δούμε και παρακάτω, μεταβάλλονται συνεχώς κατά την διάρκεια που το σύστημα μαθαίνει κάποια πληροφορία ΔΙΑΔΙΚΑΣΙΑ ΕΚΠΑΙΔΕΥΣΗΣ ΣΤΟΙΧΕΙΩΔΗ ΑΙΣΘΗΤΗΡΑ Όλα τα νευρωνικά δίκτυα, συμπεριλαμβανομένου και του στοιχειώδους αισθητήρα, τα οποία υποβάλλονται σε μία διαδικασία εκπαίδευσης, ξεκινούν από μία κατάσταση κατά την οποία δεν έχουν καμία απολύτως γνώση για το πρόβλημα το οποίο θα μελετήσουν. Κατά την διάρκεια της εκπαίδευσης παρουσιάζονται τα διάφορα πρότυπα, παραδείγματα (patterns), τα οποία ο αισθητήρας πρέπει να μάθει να αναγνωρίζει. Τα παραδείγματα αυτά αποτελούν την ομάδα παραδειγμάτων εκπαίδευσης. Κάθε ομάδα αποτελείται από δύο τμήματα: Πρώτα είναι το τμήμα που περιλαμβάνει τα σήματα εισόδου, δηλ. τις τιμές x 1, x 2 στην περίπτωση του στοιχειώδους αισθητήρα, τα οποία είναι τα σήματα που παρουσιάζονται στο νευρωνικό δίκτυο στην είσοδο του. Κατόπιν δίνεται το τμήμα που περιλαμβάνει τους στόχους εκπαίδευσης, αυτό δηλαδή το οποίο είναι το επιθυμητό αποτέλεσμα, και είναι τα σήματα εξόδου. Σε κάθε ομάδα εισερχομένων σημάτων αντιστοιχεί ένας μόνον στόχος, δηλαδή υπάρχει μια μόνο σωστή απάντηση, και για όλα τα σήματα υπάρχει αντιστοιχία εισόδων εξόδων. Κάθε πρότυπο είναι ένα ζεύγος διανυσμάτων που αποτελείται από το διάνυσμα εισόδου και το διάνυσμα εξόδου. Κάθε φορά που παρουσιάζουμε ένα πρότυπο στην είσοδο ακολουθείται η γνωστή διαδικασία. Οι νευρώνες υπολογίζουν το άθροισμα h(x) σύμφωνα με τον τύπο (3.2) και ύστερα συγκρίνεται με το κατώφλι θ δίνοντας στην έξοδο την πρέπουσα τιμή. Η τελική έξοδος του δικτύου συγκρίνεται με τη σωστή έξοδο του διανύσματος εξόδου, αυτή δηλ. που πρέπει να δίνει το δίκτυο, η οποία είναι γνωστή εκ των προτέρων ως στόχος. Υπολογίζεται η διαφορά των δύο και το δίκτυο χρησιμοποιεί την διαφορά αυτή για να διορθώσει τις τιμές των P a g e 80

82 συναπτικών βαρών. Η διόρθωση γίνεται με τέτοιο τρόπο ώστε το δίκτυο συνολικά να δώσει ως έξοδο την επόμενη φορά μια τιμή που είναι πιο κοντά στην επιθυμητή. Ο σκοπός της εκπαίδευσης είναι να βρεθεί μία μοναδική ομάδα τιμών των w i, που όταν βρεθεί και χρησιμοποιηθεί, τότε το δίκτυο θα βρίσκει την σωστή τιμή για κάθε πρότυπο. Μετά την εκπαίδευση τα w i δεν αλλάζουν καθόλου. Η εκπαίδευση με την μέθοδο του κανόνα Δέλτα περιλαμβάνει ένα μεγάλο αριθμό κύκλων έως ότου καταλήξουμε στα τελικά συναπτικά βάρη. Ως ένα κύκλο θεωρούμε όλη την διεργασία που ακολουθούμε από την παρουσίαση των τιμών όλων των προτύπων στην είσοδο μέχρι τον στόχο στην έξοδο, και ακολούθως την διόρθωση των τιμών των w i με τον κατάλληλο τρόπο. Όταν ακολουθηθεί ο αλγόριθμος αυτός μετά από ορισμένους κύκλους (περάσματα), το δίκτυο θα μάθει να αναγνωρίζει τα πρότυπα και να δίνει κάθε φορά τη σωστή απάντηση. Σύμφωνα με τον κανόνα Δέλτα, ορίζουμε ως παράμετρο δ τη διαφορά εξόδου και στόχου : t o (4.1) Ο κανόνας Δέλτα μοιάζει σημασιολογικά αρκετά με τον τύπο (3.3) στον οποία ορίζαμε τη συνολική διαφορά ως το άθροισμα της συνάρτησης πρόβλεψης με τα πραγματικά δεδομένα εισόδου. Έτσι και εδώ η μεταβλητή Δέλτα υπολογίζεται ως η διαφορά της εξόδου που παράγεται μέσω του νευρώνα με την εκάστοτε τιμή του διανύσματος εξόδου που παρουσιάζουμε εξαρχής στο δίκτυο κατά την διάρκεια της εκπαίδευσης. Εάν δ = 0, τότε η έξοδος είναι σωστή και δεν γίνεται καμία διόρθωση, ενώ εάν δ > 0 ή δ < 0, τότε θα γίνει η αντίστοιχη διόρθωση στα συναπτικά βάρη. Υπολογίζουμε τώρα την ποσότητα Δ ως εξής : a x (4.2) i i όπου x i είναι η τιμή του σήματος εισόδου και α είναι ο ρυθμός εκπαίδευσης. Ακολούθως η τιμή ανανέωσης του εκάστοτε συναπτικού βάρους είναι : 1 w m w m (4.3) i i i όπου wi (m) είναι η τιμή του βάρους πριν την διόρθωση στο βήμα m, wi (m+1) είναι η τιμή του βάρους μετά την διόρθωση στο βήμα m+1, δηλαδή η διορθωμένη τιμή από το βήμα m στο m+1 και Δ είναι το ποσό της διόρθωσης. Ο κανόνας αυτός μεταβάλλει ένα βάρος w i μόνον αν το P a g e 81

83 σήμα εξόδου από τον νευρώνα είναι διαφορετικό από το επιθυμητό σήμα του διανύσματος εξόδου. Η τιμή του α είναι συνήθως 0 < α < 1, ενώ ο χρόνος εκπαίδευσης είναι μεγάλος αν το α είναι μικρό και μικραίνει όταν το α είναι μεγαλύτερο. Όταν παρουσιάσουμε στο δίκτυο όλα τα πρότυπα παρατηρούμε ότι το δίκτυο αρχίζει να εκπαιδεύεται και λέμε ότι το δίκτυο μαθαίνει σταδιακά τα πρότυπα τα οποία του παρουσιάζονται αποκτώντας την ικανότητα να λύνει κάποιο πρόβλημα. Η εκπαίδευση αυτή δεν γίνεται σε ένα βήμα, αλλά ακολουθεί μία διαδικασία πολλών κύκλων. Μια διαδικασία η οποία επαναλαμβάνεται πολλές φορές και κατά την οποία το δίκτυο καλυτερεύει συνεχώς τις τιμές των συναπτικών βαρών του. Μετά από έναν αριθμό κύκλων, που μπορεί και να είναι πολλές χιλιάδες, το δίκτυο έχει ήδη βρει τις κατάλληλες τιμές των w i και έτσι έχει αναπτύξει την ικανότητα διαχωρισμού των προτύπων. Σε κάποια φάση της εκπαίδευσης η πρόοδος αυτή σταματάει, αφού πλέον το σφάλμα μένει σταθερό και συνεπώς θεωρούμε ότι το δίκτυο έχει πλέον συγκλίνει εξάγοντας τις τελικές τιμές των w i ΤΟ ΠΡΟΒΛΗΜΑ ΤΗΣ ΑΠΟΚΛΕΙΣΤΙΚΗΣ ΔΙΑΖΕΥΞΗΣ Η μελέτη του μονοεπίπεδου perceptron έγινε με βάση το τυπικό μοντέλο νευρώνα του McCulloch - Pitts. Το μη γραμμικό στοιχείο του μοντέλου αυτού αναπαραστάθηκε με μία βηματική συνάρτηση, παρόλα αυτά θα ήταν ενδιαφέρον να σκεφτεί κανείς πώς επηρεάζονται οι δυνατότητες του perceptron στη περίπτωση που χρησιμοποιείται μία παραγωγίσιμη σιγμοειδής συνάρτηση, όπως η υπερβολική εφαπτομένη στη θέση της βηματικής [Ref. 2]. Η πρώτη σημαντική κριτική του perceptron του Rosenblatt, παρουσιάστηκε από τους Minsky και Selfridge (1961), οι οποίοι υπογράμμισαν ότι το perceptron δεν μπορεί ούτε καν να υλοποιήσει τη συνάρτηση της ισοτιμίας δύο bits, δηλαδή το πρόβλημα XOR κατά το οποίο η έξοδος είναι μονάδα μόνο όταν μία και μόνο μία από τις δύο εισόδους είναι μονάδα, διαφορετικά ως έξοδο δίνει μηδέν. Τα υπολογιστικά όρια του perceptron του Rosenblatt καθόρισαν με αυστηρά μαθηματική διατύπωση στο βιβλίο των Minsky και Papert Perceptron (1969), όπου απέδειξαν με αυστηρή μαθηματική ανάλυση ότι το perceptron είναι έμφυτα ανίκανο να αντιμετωπίσει δύσκολα προβλήματα ταξινόμησης [Ref. 2]. Ερευνώντας πιο βαθιά το πρόβλημα αντιλαμβανόμαστε ότι πρακτικά εάν χρησιμοποιήσουμε τον στοιχειώδη αισθητήρα με δύο εισόδους και μία έξοδο τότε διαμορφώνεται ο αισθητήρας δυαδικής ταξινόμησης με ένα δισδιάστατο πρότυπο εισόδου, σαν αυτό που περιγράφουμε θεωρητικά παραπάνω. Χρησιμοποιώντας το απλό αυτό δίκτυο όλοι οι δυνατοί συνδυασμοί στο επίπεδο x 1- x 2, παρουσιάζονται στην εικόνα [31] όπου οι δύο άξονες αναπαριστώνται από τις εισόδους x 1 και x 2 μέσω ενός δισδιάστατου χαρακτηριστικού. Στο δίκτυο που περιγράφουμε, P a g e 82

84 κάθε φορά που λαμβάνεται μία είσοδος τίθεται το ερώτημα της σύγκρισης μεταξύ της συνάρτησης υπόθεσης h(x) και του κατωφλίου θ. Θέλουμε το δίκτυο να δίνει έξοδο = 0, όταν η συνάρτηση υπόθεσης είναι h(x) < 0.5 και να δίνει έξοδο = 1, όταν η συνάρτηση υπόθεσης είναι h(x) > 0.5. Βλέπουμε όμως καθαρά ότι δεν υπάρχει κανένας συνδυασμός τιμών των w 1 και w 2 που να παράγει τις σχέσεις που ικανοποιούν τις συνθήκες της πύλης XOR. Αν θεωρήσουμε ότι το κατώφλι θ = 0.5. Η αλγεβρική σχέση γίνεται x 1 w 1 + x 2 w 2 = 0.5 και παρουσιάζεται στη παρακάτω εικόνα. Εικόνα 31. Το πρόβλημα XOR αναπαριστώμενο στο επίπεδο x 1-x 2. Η εξίσωση αυτή είναι γραμμική ως προς x 1 και x 2. Αυτό σημαίνει ότι όλες οι τιμές των x 1 και x 2 που ικανοποιούν την εξίσωση αυτή θα βρίσκονται σε μία ευθεία γραμμή στο επίπεδο x 1 - x 2, όπως λ.χ. η παραπάνω ευθεία. Οποιαδήποτε τιμή αν έχουν τα x 1 και x 2 πάνω στην γραμμή αυτή, θα δώσουν h(x) = 0.5. Εάν τα x 1 και x 2 βρίσκονται στην μία πλευρά της γραμμής, τότε το h(x) > θ, και έξοδος = 1. Αν τα x 1 και x 2 βρίσκονται στην άλλη πλευρά της γραμμής, τότε h(x) < θ και έξοδος = 0. Αλλάζοντας τις τιμές w 1 και w 2 καθώς και την τιμή του θ, θα αλλάξει η κλίση και η θέση της γραμμής αυτής. Αυτό που θέλουμε εμείς όμως είναι τα σημεία (0,0) και (1,1) να βρίσκονται από τη μία πλευρά της ευθείας και τα σημεία (0,1) και (1,0) να βρίσκονται από την άλλη. Μόνον τότε το δίκτυο θα δίνει την σωστή απάντηση. Βλέπουμε ότι δεν υπάρχει κανένας τρόπος να τραβήξουμε μία ευθεία γραμμή, με οποιαδήποτε κλίση, που να ικανοποιεί την συνθήκη αυτή. Καταλήγουμε λοιπόν στο συμπέρασμα ότι το δίκτυο του στοιχειώδους αισθητήρα, ανεξάρτητα από τις τιμές w 1, w 2, και θ, δεν μπορεί να λύσει το πρόβλημα της συνάρτησης XOR. P a g e 83

85 4.1.4 ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ ΣΤΟΙΧΕΙΩΔΟΥΣ ΑΙΣΘΗΤΗΡΑ Σε αυτό το σημείο θα εκτελέσουμε με τη βοήθεια του προγράμματος matlab τον αλγόριθμο του στοιχειώδους αισθητήρα με χρήση του κανόνα Δ για την καλύτερη κατανόηση της θεωρίας. Η εκτέλεση θα γίνει χρησιμοποιώντας ένα δισδιάστατο διάνυσμα εισόδου, καθώς αποτελεί την πιο απλή προσέγγιση του προβλήματος. Το χαρακτηριστικό εισόδου με το οποίο τροφοδοτούμε το δίκτυο διαμορφώνει δύο γραμμικά διαχωρίσιμες κατηγορίες, έτσι ώστε το παράδειγμα που αναπτύσσουμε να ολοκληρωθεί σε μικρότερο χρόνο και με μηδενικό τελικό in sample error. Το αρχείο που χρησιμοποιείται για την εκτέλεση ονομάζεται Percepton_2C_Classification.m και περιέχει όλα τα απαραίτητα δομικά στοιχεία που απαιτούνται. Κατά την εκτέλεση του κυρίως προγράμματος, παρατηρούμε ότι καλούνται δύο επιπρόσθετα αρχεία τα οποία περιέχουν σε μορφή συνάρτησης τη διαδικασία της εκπαίδευσης του αισθητήρα και τη διαδικασία ελέγχου ορθής λειτουργίας, εξάγοντας σε κάθε περίπτωση το τελικό σφάλμα. Τα αρχεία αυτά είναι τα PerceptonTrn.m και PerceptonTst.m τα οποία επισυνάπτονται στην ενότητα Listing που ακολουθεί. Στον αλγόριθμο που αναπτύσσουμε, οι ανανεώσεις των συναπτικών βαρών πραγματοποιούνται για κάθε τιμή του διανύσματος εισόδου, συγκλίνοντας σε κάθε βήμα εκπαίδευσης στις επιθυμητές τελικές τιμές. Κατά την εκκίνηση του αλγορίθμου, δημιουργούμε μία βάση δεδομένων 600 τιμών, σε τυχαίες τιμές κανονικής κατανομής, με την κάθε τιμή να εντοπίζεται εντός του ορίου [0,1]. Σε δεύτερη φάση διαχωρίζουμε γραμμικά τα δεδομένα αυτά, επισυνάπτοντας τα σε δύο γραμμικά διαχωρίσιμες κλάσεις, ορίζοντας μία αντιστοιχία σε κάθε δείγμα εισόδου με την αντίστοιχη κλάση (-1 ή 1). Τα δείγματα αυτά διαχωρίζονται κατάλληλα, έτσι ώστε να χρησιμοποιήσουμε τα πρώτα 400 για την εκπαίδευση του συστήματος και τα υπόλοιπα για τον έλεγχο της σωστής λειτουργίας. Αμέσως μετά από την ενέργεια αυτή, καλούμε προς εκτέλεση το αρχείο PerceptonTrn.m το οποίο δέχεται ως ορίσματα εισόδου το δισδιάστατο διάνυσμα του χαρακτηριστικού και τις αντίστοιχες κλάσεις του κάθε δείγματος. Σαν έξοδο, η συνάρτηση εκπαίδευσης εξάγει την μεταβλητή OptW (Optimum weights) η οποία κρατά τις τιμές των συναπτικών βαρών με το ελάχιστο in sample error, την τιμή του bias την οποία θα χρησιμοποιήσουμε σαν είσοδο κατά τη διαδικασία της αξιολόγησης του δικτύου, το διάνυσμα ISE_H (In sample error History) το οποία κρατά σε κάθε επανάληψη τη πορεία του εντός εκπαίδευσης σφάλματος και τέλος τη μεταβλητή Weight_H (Weight History) που κρατά την πορεία των τιμών των συναπτικών βαρών έως τη σύγκλιση. Εντός της συνάρτησης αρχικοποιούμε το διάνυσμα των συναπτικών βαρών w σε τυχαίες τιμές, το μέτρο bias στη τιμή 0, όπως επίσης και το ρυθμό εκπαίδευσης στη τιμή 0,3. Η τιμή αυτή έχει επιλεγεί να είναι μικρή, έτσι ώστε η ποσότητα ανανέωσης των συναπτικών βαρών να είναι επίσης μικρή για να επέλθει το σύστημα σε κατάσταση σύγκλισης. Εντός του βρόγχου while P a g e 84

86 που εντοπίζουμε κατά την εκτέλεση, επανεξετάζουμε την τιμή του εσωτερικού σφάλματος ier (internal error) και εξαγόμαστε από αυτόν μόνο όταν το σφάλμα αυτό καταλήξει στη τιμή 0 ή όταν ο αριθμός επαναλήψεων φτάσει την τιμή των αφού σε κάθε επανάληψη αυξάνουμε την τιμή της μεταβλητής iterations την οποία ελέγχουμε στο τέλος κάθε επανάληψης. Η βασική διαδικασία της εκπαίδευσης πραγματοποιείται εντός του βρόγχου for κατά τον οποίο, για κάθε δείγμα εισόδου x εκτελούμε το μαθηματικό τύπο (3.2) υπολογίζοντας την ενδιάμεση τιμή εντός του νευρώνα. Αργότερα, την τιμή αυτή την συγκρίνουμε με το κατώφλι θ το οποίο έχουμε επιλέξει να έχει την τιμή 0, αφού οι αντιστοιχισμένη κλάση του κάθε δείγματος είναι -1 ή 1. Αν η τιμή εξόδου ύστερα από την κατωφλιοποίηση είναι διαφορετική της τιμής της αντίστοιχης κλάσης, τότε εφαρμόζουμε τον κανόνα Δ, ανανεώνοντας τα βάρη με χρήση των τύπων (4.1, 4.2 και 4.3). Ύστερα αποθηκεύουμε τον συνολικό αριθμό των σφαλμάτων που προέκυψαν σε όλα τα δείγματα εισόδου, καθώς και τα συναπτικά βάρη που προκαλούν το ελάχιστο σφάλμα. Στο τέλος της διαδικασίας εκτυπώνουμε το ελάχιστο σφάλμα, τον αριθμό των δεδομένων εκπαίδευσης και τον χρόνο ολοκλήρωσης της διαδικασίας. Επιστρέφοντας πάλι στο κύριο πρόγραμμα, καλούμε τη συνάρτηση ελέγχου του συστήματος PerceptonTst με ορίσματα εισόδου το χαρακτηριστικό διανύσματα εισόδου xt (x train) και τις αντίστοιχες κλάσεις yt (y train), όπως τη μεταβλητή OptW και τη μεταβλητή bias. Στη συνάρτηση αυτή, δεν κάνουμε τίποτα άλλο από να υπολογίζουμε την έξοδο του νευρώνα χρησιμοποιώντας τα βέλτιστα συναπτικά βάρη μέσω του τύπου (3.2). Το αποτέλεσμα αυτό, όπως και πριν, το συγκρίνουμε με το κατώφλι θ, εξάγοντας την τελική κλάση του. Εάν η κλάση αυτή είναι λάθος, τότε προσθέτουμε μία μονάδα στη μεταβλητή e η οποία αντιπροσωπεύει το out of sample error, ενώ σε αντίθετη περίπτωση δεν πραγματοποιούμε κάποια ενέργεια. Έχοντας ολοκληρώσει τη διαδικασία του training και testing, εμφανίζουμε τα αποτελέσματα της διαδικασίας μέσω της συνάρτησης plot. Στην εικόνα [32] παρουσιάζουμε τα δεδομένα εκπαίδευσης, το καθένα με διαφορετικό χαρακτηριστικό, εφόσον γνωρίζουμε εκ των προτέρων την κλάση την οποία ανήκουν. Παράλληλα, εκτυπώνουμε τη γραμμή διαχωρισμού μέσω της συνάρτησης plotpc χρησιμοποιώντας τα βέλτιστα συναπτικά βάρη. Διαπιστώνουμε ότι, η γραμμή διαχωρίζει τέλεια τα δείγματα, το οποίο είναι λογικό, αφού τα δείγματα είναι προεπεξεργασμένα, έτσι ώστε να είναι γραμμικά διαχωρίσιμα. P a g e 85

87 Εικόνα 32. Αποτελέσματα στοιχειώδους αισθητήρα σε γραμμικά διαχωρίσιμα δεδομένα. Αργότερα, στην εικόνα [33] εκτυπώνουμε το εσωτερικό σφάλμα κατά τη διαδικασία της εκπαίδευσης, με χρήση του διανύσματος ISE_H, παρατηρώντας ότι το σφάλμα γίνεται 0 στο τέλος της εκπαίδευσης. Οι ενδιάμεσες τιμές των τριών επαναλήψεων στον άξονα x υπολογίζονται με τη διαδικασία του interpolation και εξάγονται αυτόματα από τη συνάρτηση plot. Εικόνα 33. Ιστορικό του in-sample-error κατά την εκπαίδευση του στοιχειώδους αισθητήρα. P a g e 86

88 Επιπροσθέτως, στην εικόνα [34] εκτυπώνουμε την πορεία των ληφθεισών τιμών που τέθηκαν τα συναπτικά βάρη κατά τη διαδικασία της εκπαίδευσης, παρατηρώντας και τις τελικές τιμές (+3, -3) τις οποίες έλαβαν. Εικόνα 34. Ιστορικό των τιμών των συναπτικών βαρών κατά την εκπαίδευση του στοιχειώδους αισθητήρα. Τέλος, βλέπουμε στο command window όλα τα στοιχεία, τόσο της διαδικασίας εκπαίδευσης όσο και της διαδικασίας ελέγχου. Εκτυπώνουμε το εσωτερικό και το εξωτερικό σφάλμα, το μέγεθος των δεδομένων εκπαίδευσης και ελέγχου, το χρόνο μεσολάβησης εκπαίδευσης και ελέγχου και τον αριθμό των επαναλήψεων έως την ολοκλήρωση της εκπαίδευσης. Από ότι μπορούμε να παρατηρήσουμε, ο συνολικός αριθμός δεδομένων δεν είναι 600, εφόσον έχουμε αφαιρέσει τα δείγματα που βρίσκονται πολύ κοντά στη διαχωριστική γραμμή των δύο κλάσεων για τον ευκολότερο έλεγχο του συστήματος. P a g e 87

89 Listing 4.1. Percepton_2C_Classification.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : Perceptron_2C_Classification.m Description : Adaline Binary Perceptron for classification Author : Monahopoulos Konstantinos clc;clear all;close all; Generate 2 dimensions linear separable data You may change the size of the data from here or input your own data note that the drawing is for two dimensions only, hence you need to modify the code for different data. mydata = rand(600,2); Separate the data into two classes Every X,Y or Y,X difference point must be greater than this way we remove the data points that X and Y are very close (diagonal - line). acceptindex = abs(mydata(:,1)-mydata(:,2))>0.012; mydata = mydata(acceptindex,:); Keep the data that is linear seperetable label the data to [-1,1] proportion to X > Y (down - right, under the conceivable diagonal) myclasses = int8(mydata(:,1)>mydata(:,2)); Set the first class to 1 myclasses(myclasses==0)=-1; Set the second class to -1 [m n]=size(mydata); training data x=mydata(1:400,:); y=myclasses(1:400); test data xt=mydata(401:m,:); yt=myclasses(401:m); Train the Percepton [OptW,b,iterations,ISE_H,Weight_H] = PerceptonTrn(x,y); iterations P a g e 88

90 Test the Percepton e=perceptontst(xt,yt,optw,b); disp(['out-of-sample-error=' num2str(e) ' num2str(m-400)]) Test Data Size= ' Draw the result (sparating hyperplane) l=y==-1; Index l holds zeros points of y flaged as -1. figure,plot(x(l,1),x(l,2),'kx' ); hold on plot(x(~l,1),x(~l,2),'ro'); [l,p]=size(x); axis([ ]), axis square, grid on title(' Linear Classification through Percepton ') leg('class A','Class B'); plotpc(optw',b) hold off Plot the In sample error figure,plot(1:iterations,ise_h,'r-'); leg('ein'); title('in-sample-error-history') xlabel('iterations -> '); ylabel('in-sample-error '); grid on; Plot the weight history figure,plot(1:iterations,weight_h,'b-'); leg('weights'); title('weight-history'); xlabel('iterations -> '); ylabel('weights '); grid on; P a g e 89

91 Listing 4.2. PerceptonTrn.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : PerceptronTrn.m Description : Train the perceptron finding the optimum weights with the smallest in sample error or within 1000 iterations Author : Monahopoulos Konstantinos function [OptW,b,iterations,ISE_H,Weight_H]=PerceptonTrn(x,y) [l,p]=size(x); w=rand(p,1); initialize weights b=0; initialize bias ier=1; initialize a misclassification indicator iterations=0; number of iterations n=0.3; learning rate while ier==1, repeat until no internal error occurs ier=0; e=0; number of training errors iterations=iterations+1; Increase iterations in every step for i=1:l a pass through x xx=x(i,:); Pass every observation x to the network ey=xx*w+b; estimate y Perceptron threshold. if ey>=0 ey=1; else ey=-1; if y(i)~=ey; miss-classification er=y(i)-ey; error difference [target - output] w=w'+ double(er*n)*x(i,:); Update weigths e=e+1 ; number of training errors w=w'; ; ; Find the best weights corresponding to minimum error - "Pocket Algorithm" ee=e; number of training errors if (iterations == 1) OptError=ee; P a g e 90

92 OptW=w; else if(ee<opterror) OptW=w; if ee>0 Continue if there is still errors ier=1; Store In-sample-error and weights ISE_H(iterations)=ee; Weight_H(:,iterations)=w; if iterations==10000 Stop after iterations if algorithm does not converge ier=0; ; ; disp(['in-sample-error=' num2str(e) ' num2str(l)]) Training data Size=' P a g e 91

93 Listing 4.3. PerceptonTst.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : PerceptronTst.m Description : Test the perceptron with the test data and measure the out of sample error Author : Monahopoulos Konstantinos function e=perceptontst(x,y,w,b) Testing phase [l,p]=size(x); e=0; number of test errors for i=1:l xx=x(i,:); Pass each test data xt to the network ey=xx*w+b; Apply the Percepton Transfer Function with the optimum weights if ey>=0 Sign each data to a Class ey=1; else ey=-1; if y(i)~=ey; Set Out-Of-Sample error if data is misclassified e=e+1; ; P a g e 92

94 4.2 ΠΟΛΥΣΤΡΩΜΑΤΙΚΟ ΔΙΚΤΥΟ ΑΙΣΘΗΤΗΡΑ - MLP Λόγω των περιοριστικών λύσεων που έδιναν τα δίκτυα ενός ή δύο επιπέδων, υπήρξε η ανάγκη για τη δημιουργία ενός δικτύου περισσοτέρων επιπέδων. Τη λύση στο πρόβλημα αυτό έδωσε ένα πολυστρωματικό δίκτυο, το οποίο ονομάστηκε αισθητήρας πολλών επιπέδων (Multi-Layer Perceptron - MLP). Εξαιτίας της έλλειψης τρόπων εκπαίδευσης δικτύων με πολλά επίπεδα, έγινε γρήγορα αντιληπτό, ότι ήταν απαραίτητο να βρούμε ένα τρόπο να εκπαιδεύσουμε νευρωνικά δίκτυα που μπορούν να εκτελέσουν πιο περίπλοκες διεργασίες. Ένα τέτοιου είδους πρόβλημα αναλύσαμε στο προηγούμενο κεφάλαιο (πρόβλημα αποκλειστικής διέλευσης) και αναδείξαμε την αδυναμία του απλού αισθητήρα να βρει την επιθυμητή λύση. Με το πρόβλημα αυτό θα ασχοληθούμε εκτενέστερα σε αυτό το κεφάλαιο, καλύπτοντας το κενό με τη μέθοδο εκπαίδευσης οπισθοδιάδοσης του σφάλματος (backpropagation), η οποία αναπτύχθηκε και έγινε ευρύτατα γνωστή την δεκαετία του ογδόντα, ενώ σύντομα έγινε η υπ αριθμόν ένα διαδικασία στα ΤΝΔ. Με μεγάλη διαφορά είναι η πιο συχνά συναντώμενη τεχνική,σχεδόν σε όλες τις εφαρμογές που χρησιμοποιούνται σήμερα. Στην μέθοδο αυτή όμως, είναι απαραίτητη προϋπόθεση εκτός από τα επίπεδα εισόδου/εξόδου και η ύπαρξη περισσοτέρων επιπέδων, των λεγόμενων κρυφών επιπέδων, που βρίσκονται μετά την είσοδο και πριν την έξοδο, ενώ παράλληλα η συνάρτηση μεταφοράς πρέπει να είναι οπωσδήποτε μία σιγμοειδής μη γραμμική συνάρτηση, όπως αυτή που παρουσιάσαμε στο κεφάλαιο [ ] ΕΙΣΑΓΩΓΗ ΣΤΟ ΠΟΛΥΣΤΡΩΜΑΤΙΚΟ ΑΙΣΘΗΤΗΡΑ Ως τεχνική, τα πολυστρωματικά δίκτυα Perceptron, βασίζονται σε καθαρά μαθηματική θεώρηση με αυστηρά τεκμηριωμένες αποδείξεις. Το νευρωνικό δίκτυο στο οποίο εφαρμόζεται, είναι αρκετά πιο περίπλοκο από τον απλό αισθητήρα. Είναι ένα δίκτυο πολλαπλών επιπέδων και κάθε επίπεδο έχει (ή μπορεί να έχει) πολλούς νευρώνες [Ref 1]. Η ροή της πληροφορίας σε ένα τέτοιο δίκτυο γίνεται πάντα από τα αριστερά προς τα δεξιά, ενώ δεν υπάρχει κανένας βρόγχος ανάδρασης. Θεωρούμε επίσης, ότι οι νευρώνες σε κάθε επίπεδο αλληλεπιδρούν μόνο με εκείνους τους νευρώνες που ανήκουν στα άμεσα γειτονικά τους επίπεδα. Δηλαδή, το πρώτο κρυφό επίπεδο δέχεται τις τιμές του επιπέδου εισόδου, τα αποτελέσματα του πρώτου κρυφού επιπέδου περνάνε στο δεύτερο κρυφό, του οποίου τα αποτελέσματα στη συνέχεια περνάνε στο επίπεδο εξόδου [Ref. 6]. P a g e 93

95 Συνεπώς οι νευρώνες του οποιουδήποτε στρώματος l, τροφοδοτούν αποκλειστικά τους νευρώνες του επόμενου στρώματος l+1 και τροφοδοτούνται αποκλειστικά από τους νευρώνες του προηγούμενου στρώματος l-1. Ένα δίκτυο πολυεπίπεδου αισθητήρα στο οποίο υπάρχουν όλες οι επιτρεπτές συνδέσεις μεταξύ των νευρώνων, ονομάζεται πλήρως συνδεδεμένο (fully connected), ενώ σε αντίθετη περίπτωση ονομάζεται μερικά συνδεδεμένο (partially connected) [Ref. 8]. Στα δίκτυα Perceptron πολλών στρωμάτων, για την ενεργοποίηση (ή μη) των νευρώνων, όπως αναφέραμε και στην εισαγωγή, αποφεύγεται η χρήση της βηματικής συνάρτησης ή της συνάρτησης προσήμου, διότι δεν είναι διαφορίσιμες, αφού οι περισσότεροι κανόνες εκπαίδευσης κάνουν χρήση παραγώγων για τη βελτιστοποίηση των παραμέτρων των MLP. Για το λόγω αυτό, προτιμούμε να χρησιμοποιούμε είτε τη σιγμοειδή συνάρτηση ή κάποια άλλη παραγωγίσιμη συνάρτηση. Τα πολυστρωματικά δίκτυα Perceptron που κάνουν χρήση της σιγμοειδούς συνάρτησης, έχουν πολύ ισχυρές δυνατότητες για την αναπαράσταση συναρτήσεων. Η πιο σημαντική τους δυνατότητα, είναι ότι μπορούν να προσεγγίσουν οποιαδήποτε ομαλή συνάρτηση όσο κοντά επιθυμούμε. Η αρχιτεκτονική ενός δικτύου MLP τριών επιπέδων με δύο κρυφά επίπεδα απεικονίζεται στην εικόνα [35] [Ref. 10]. Εικόνα 35. Αρχιτεκτονικό διάγραμμα MLP με δύο κρυφά επίπεδα. P a g e 94

96 4.2.2 ΤΡΟΠΟΣ ΕΚΠΑΙΔΕΥΣΗΣ ΤΟΥ ΠΟΛΥΣΤΡΩΜΑΤΙΚΟΥ ΑΙΣΘΗΤΗΡΑ Ένα δίκτυο ξεκινά την διαδικασία μάθησης από τυχαίες τιμές των βαρών. Εάν δώσει λάθος απάντηση (που είναι και το πιο πιθανό), τότε τα βάρη διορθώνονται έτσι ώστε το λάθος να γίνει μικρότερο. Η ίδια διαδικασία επαναλαμβάνεται πολλές φορές, έτσι ώστε σταδιακά το λάθος να ελαττώνεται μέχρις ότου γίνει πολύ μικρό και ανεκτό. Στο σημείο αυτό το δίκτυο έχει μάθει τα παραδείγματα που του διδάξαμε με την ακρίβεια που θέλαμε να μάθει. Έχουμε δει λεπτομερώς την δομή του μοντέλου του αισθητήρα, όπου τα εισερχόμενα σήματα στο δίκτυο φθάνουν στο επίπεδο εισόδου, επεξεργάζονται στους νευρώνες και από εκεί οδηγούνται κατευθείαν προς το επίπεδο εξόδου. Τέτοια δίκτυα δεν έχουν εσωτερική αναπαράσταση. Αυτό σημαίνει ότι οποιαδήποτε κωδικοποίηση δίνεται στο σήμα εισόδου, θεωρείται αρκετή, καθόσον τα πρότυπα που εισάγονται στην είσοδο και αυτά που παράγονται στην έξοδο είναι του ίδιου τύπου. Αυτό επιτρέπει στα δίκτυα αυτά να κάνουν λογικές γενικεύσεις και να βρίσκουν πρότυπα τα οποία ποτέ δεν έχουν δει [Ref 1]. Ο περιορισμός όμως του ότι οι είσοδοι και έξοδοι πρέπει να είναι του ίδιου τύπου, δεν τους επιτρέπει να λύσουν πιο γενικά ή πιο περίπλοκα προβλήματα. Στο γνωστό πρόβλημα του Χ ΟR βλέπουμε ότι δύο πρότυπα που είναι τελείως διαφορετικά πρέπει να δώσουν ίδια απάντηση. Η λύση στην δυσκολία αυτή βρίσκεται με το να δώσουμε στο δίκτυο μια διαφορετική δομή και να αποκτήσει έτσι μία καινούρια ικανότητα. Προσθέτουμε τώρα και ένα τρίτο επίπεδο, μεταξύ του επιπέδου εισόδου και εξόδου, που ονομάζεται κρυφό επίπεδο και το οποίο τώρα μπορεί να δημιουργήσει την εσωτερική αναπαράσταση των σημάτων εισόδου. Ο λόγος που ονομάζουμε το επίπεδο αυτό κρυφό επίπεδο είναι διότι το επίπεδο αυτό δεν είναι σε άμεση επαφή ούτε με την είσοδο ούτε με την έξοδο του δικτύου και άρα παραμένει κρυφό από τον παρατηρητή [Ref 1]. Μετά τις πολλές εργασίες που έγιναν με το μοντέλο του αισθητήρα φάνηκε ότι όταν υπάρχει ένα κρυφό επίπεδο τότε δημιουργείται πάντοτε ένας τρόπος αναπαράστασης στο κρυφό αυτό επίπεδο, το οποίο τώρα μπορεί να ξεπεράσει τον περιορισμό που υπήρχε προηγουμένως περί της ομοιότητας εισόδου εξόδου. Αρκεί να έχουμε αρκετές μονάδες (νευρώνες) στο κρυφό επίπεδο και να βρούμε τα σωστά βάρη w με μια κατάλληλη διαδικασία. Ως συντομογραφία ενός πολυεπιπέδου νευρωνικού δικτύου συχνά χρησιμοποιείται ο εξής: p l 1 l 2. l o o, όπου p είναι ο αριθμός των εισόδων, o είναι o αριθμός των εξόδων, l ο αριθμός των κρυμμένων επιπέδων με l 1 κόμβους το πρώτο, l 2 κόμβους το δεύτερο,... και l o το τελευταίο [Ref. 1]. Ο αριθμός νευρώνων στην είσοδο και την έξοδο είναι εύκολο να υπολογιστεί, γιατί ο αριθμός αυτός θα παρέχεται άμεσα από τα δεδομένα του προβλήματος. Εάν, λ.χ. θέλουμε να P a g e 95

97 αναπαραστήσουμε μία συνάρτηση που ορίζεται από 256 σημεία, τότε η είσοδος θα πρέπει να έχει 256 μονάδες. Παρόμοια η έξοδος θα αποτελείται από έναν κατάλληλο αριθμό νευρώνων έτσι ώστε να μπορεί να καλυφθεί ο επιθυμητός συνδυασμός προτύπων που θέλουμε να κατηγοριοποιήσουμε. Παρόλα αυτά για τον αριθμό μονάδων στο κρυμμένο επίπεδο δεν υπάρχει κάποιου είδους υπόδειξη για τον αριθμό των νευρώνων. Στην βιβλιογραφία αναφέρεται ότι τέτοιες απαντήσεις βγαίνουν ακόμη και με μαύρη τέχνη. Πολλές φορές αναγκαζόμαστε και καταφεύγουμε στην μέθοδο των δοκιμών (trial and error) και με τον τρόπο αυτό βρίσκουμε μία απάντηση που σίγουρα δουλεύει, αλλά είναι επίπονη και χρονοβόρα. Ανάλογα με το πρόβλημα υπάρχουν πολλοί εμπειρικοί κανόνες που βάζουν κάποια όρια στην αρχιτεκτονική του δικτύου που θα χρησιμοποιηθεί σε μία πρακτική εφαρμογή. Έχει αποδειχθεί λ.χ. ότι ένα δίκτυο δεν μπορεί να μάθει περισσότερα παραδείγματα από το διπλάσιο του αριθμού των βαρών του. Όμως δεν υπάρχει ένας γενικός κανόνας, δηλ. πόσοι και ποιοι νευρώνες είναι συνδεδεμένοι με ποιους. Σε μία περίπτωση θα μπορούσε κάθε νευρώνας να είναι συνδεδεμένος με όλους τους άλλους νευρώνες, όλων των επιπέδων (μέγιστος αριθμός συνδέσεων), ενώ σε άλλη περίπτωση θα μπορούσε κάθε νευρώνας να συνδέεται με έναν μόνο άλλο νευρώνα (ο ελάχιστος αριθμός των συνδέσεων που μπορεί να έχει). Αρκετά συνηθισμένες είναι οι ενδιάμεσες περιπτώσεις, όπου συνήθως υπάρχουν μερικές συνδέσεις μεταξύ των νευρώνων. Όπως είναι προφανές ο αριθμός των συνδέσεων, ιδίως για την πλήρη συνδεσμολογία είναι πολύ μεγάλος. Αν έχουμε Ν νευρώνες, τότε ο αριθμός των συνδέσεων σε πλήρη συνδεσμολογία είναι Ν(Ν 1)/2 [Ref 1]. Το πρώτο είδος σήματος από αυτά που παρατηρούνται σε ένα πολυστρωματικό δίκτυο αισθητήρα είναι τα λειτουργικά σήματα (function signals), τα οποία αποτελούν τα σήματα εισόδου. Αυτά διαδίδονται προς τα εμπρός διαμέσου του δικτύου και τελικά εμφανίζονται στην έξοδο ως σήματα εξόδου, ενώ υπολογίζονται ως συνάρτηση των εισόδων του νευρώνα και των αντίστοιχων συναπτικών βαρών. Το δεύτερο είδος σήματος είναι τα σήματα σφάλματος (error signals) που δημιουργούνται σε έναν νευρώνα εξόδου του δικτύου και διαδίδονται προς τα πίσω διαμέσου του δικτύου, επίπεδο προς επίπεδο. Παρακάτω θα αναλύσουμε τη διαδικασία οπισθοδιάδοσης καλύπτοντας το κομμάτι αυτό [Ref. 10]. Η διαδικασία εκπαίδευσης έχει την ίδια φιλοσοφία με αυτή του αισθητήρα, αλλά έχει μερικές ουσιώδεις διαφορές. Το σήμα εισόδου έρχεται σε κάθε νευρώνα του επιπέδου εισόδου (το πρώτο επίπεδο). Πολλαπλασιάζεται επί το αντίστοιχο βάρος w ij κάθε σύναψης (και στα τεχνητά δίκτυα μπορούμε ελεύθερα να χρησιμοποιήσουμε τον όρο σύναψη από τα βιολογικά δίκτυα για να υποδηλώσουμε την σύνδεση μεταξύ δύο νευρώνων). Σε κάθε νευρώνα αθροίζονται τα γινόμενα όπως και στον απλό αισθητήρα, σε όλες τις ij συνδέσεις, τα οποία έρχονται ως είσοδος στη συνάρτηση μεταφοράς του κάθε νευρώνα. Εδώ όμως υπάρχει μία ουσιαστική διαφορά. P a g e 96

98 Ενώ στον αισθητήρα το άθροισμα συγκρίνεται με το κατώφλι θ και συνήθως έχουμε συνάρτηση μεταφοράς με δυαδική μορφή, εδώ είναι απαραίτητο να χρησιμοποιήσουμε μία συνάρτηση με σιγμοειδή μορφή όπως στη λογιστική παλινδρόμηση. Τέλος, έχοντας ορίσει τις βασικές ιδιότητες του πολυστρωματικού αισθητήρα, στο παρακάτω κεφάλαιο θα εμβαθύνουμε περισσότερο στη τεχνική εκπαίδευσης και στο μαθηματικό μοντέλο που περιλαμβάνει, με χρήση του αλγορίθμου οπισθοδιάδοσης του σφάλματος ΕΚΠΑΙΔΕΥΣΗ ΜΕ ΧΡΗΣΗ ΤΗΣ ΜΕΘΟΔΟΥ ΟΠΙΣΘΟΔΙΑΔΩΣΗΣ ΤΟΥ ΣΦΑΛΜΑΤΟΣ Στο κεφάλαιο αυτό παρουσιάζεται η πιο διαδεδομένη μέθοδος για την εκπαίδευση ενός νευρωνικού δικτύου, η μέθοδος της οπισθοδιάδοσης του λάθους. Παρουσιάζεται η μαθηματική υποδομή και όλες οι λεπτομέρειες της τεχνικής που χρησιμοποιείται για την εκπαίδευση του δικτύου. Η μέθοδος αυτή βασίζεται στην μαθηματική μέθοδο της ελαχιστοποίησης του σφάλματος με την τεχνική της πλέον απότομης καθόδου (steepest descent) στην επιφάνεια του σφάλματος, ένα πρόβλημα που ανήκει στη γενικότερη κατηγορία προβλημάτων επικλινούς καθόδου (gradient descent), μέρη των οποίων είδαμε και σε προηγούμενα κεφάλαια. Αυτό που επιτελεί είναι να ελαχιστοποιεί το τετράγωνο της διαφοράς μεταξύ του σήματος που λαμβάνεται στην έξοδο και της επιθυμητής τιμής (στόχος), για όλους τους νευρώνες εξόδου και για όλα τα πρότυπα. Αυτό σημαίνει ότι η παράγωγος του σφάλματος ως προς κάθε βάρος w ij είναι ανάλογος ως προς την μεταβολή της τιμής του βάρους, όπως δίνεται από τον κανόνα Δέλτα. Έτσι έχουμε : 1 E 2 p t pj opj (4.4) 2 j όπου E p είναι το σφάλμα (διαφορά εισόδου εξόδου) στο πρότυπο p, t pj και o pj είναι ο στόχος και η έξοδος του νευρώνα j για το πρότυπο p ενώ το συνολικό σφάλμα Ε αποτελεί το άθροισμα των σφαλμάτων όλων των προτύπων: E E (4.5) p p Παρατηρούμε ότι για κάθε πρότυπο παίρνουμε το τετράγωνο της διαφοράς και όχι την διαφορά, και επίσης το ½ της ποσότητας αυτής. Ο λόγος είναι ότι χρειαζόμαστε την απόλυτη P a g e 97

99 τιμή του σφάλματος και όχι αν το σφάλμα είναι θετικό ή αρνητικό. Ο παράγων ½ είναι μία αυθαίρετη σταθερά που δεν επηρεάζει την ανάπτυξη. Για την καλύτερη κατανόηση της διαδικασίας εκτέλεσης του αλγορίθμου οπισθοδιάδοσης του σφάλματος έχουμε αναπτύξει ένα παράδειγμα κατά το οποίο αναλύοντας όλες τις μαθηματικές πράξεις μπορούμε να αντιληφθούμε τις επιμέρους λειτουργίες που τον αποτελούν. Στην εικόνα [36] έχουμε απομονώσει ένα μέρος ενός νευρωνικού δικτύου τριών επιπέδων με σκοπό ακολουθώντας ένα δρόμο της διαδικασίας οπισδοδιάδοσης του σφάλματος να μπορέσουμε να βρούμε τα καινούρια βάρη στους συγκεκριμένους ενδιάμεσους κόμβους. Εικόνα 36. Block διάγραμμα μέρους ενός νευρωνικού δικτύου δύο επιπέδων. Στο παραπάνω διάγραμμα το πρότυπο εισόδου μονής διάστασης συμβολίζεται με το block X:Input, ενώ τις εξόδους των νευρώνων με τις μεταβλητές (Ο1 = Output1) και (Ο2 = Output2), με τη μεταβλητή Ο 2 να σηματοδοτεί την τελική έξοδο του δικτύου. Τα εκάστοτε βάρη συμβολίζονται με w 1 και w 2 και οι μεταβλητές (P1 = Product1) και (P2= Product2) συμβολίζουν τις εισόδους στους νευρώνες ως γινόμενα των πράξεων (P1= Χw1) και (P2= Ο1w2). Η βασική ιδέα του αλγόριθμου οπισθοδιάδοσης είναι να προσαρμόζονται τα συναπτικά βάρη, σε κάθε βήμα της επανάληψης, έτσι ώστε η συνάρτηση κόστους να μειώνεται. Στην πραγματικότητα επομένως, η προσαρμογή των βαρών γίνεται σύμφωνα με τα σφάλματα που υπολογίζονται σε κάθε βήμα της διαδικασίας, δηλαδή για κάθε δεδομένο παράδειγμα. Ο μέσος όρος της μεταβολής των βαρών σε όλο το σύνολο των σετ δεδομένων, που προκύπτει με αυτόν τον τρόπο, είναι επομένως μία εκτίμηση της μεταβολής που προκύπτει, αν ελαχιστοποιούσαμε τη συνάρτηση κόστους όλου του συνόλου, όπως τη θεωρήσαμε παραπάνω. Διαδικαστικά σε πρώτη φάση παρουσιάζουμε κάποιο παράδειγμα στην είσοδο του δικτύου και από την έξοδό του υπολογίζουμε την τιμή της συνάρτησης σφάλματος. Στη συνέχεια υπολογίζουμε με φορά από την έξοδο προς την είσοδο (ανάστροφη) τα σήματα σφάλματος δ. Τέλος με βάση τα σήματα αυτά καθώς και τις εισόδους των νευρώνων ανανεώνουμε τα βάρη. P a g e 98

100 Κάθε σύνολο δεδομένων εκπαίδευσης χρειάζεται να περάσει πολλές φορές από ένα δίκτυο ώστε να συγκλίνουν τα βάρη σε τέτοιες τιμές που να εξασφαλίζουν ότι το νευρωνικό δίκτυο έμαθε τα παραδείγματα. Πολλοί αλγόριθμοι εκπαίδευσης αντί να αλλάζουν τα βάρη με κάθε παράδειγμα που τους παρουσιάζεται κάνουν συνολική αλλαγή των βαρών μετά το πέρας όλου του συνόλου εκπαίδευσης, δηλαδή στο τέλος κάθε εποχής. Στη δική μας όμως περίπτωση η ανανέωση των βαρών θα γίνεται ύστερα από την παρουσίαση κάθε προτύπου διαδοχικά. Ύστερα από την παρουσίαση του πρώτου προτύπου υπολογίζεται η έξοδος Ο 2 μέσω των πολλαπλασιασμών και της μη γραμμικότητας που παρουσιάζουν οι συναρτήσεις μεταφοράς. Αμέσως μετά θα πρέπει να ελέγξουμε αν το πρότυπο εισόδου ακολουθεί το πρότυπο εξόδου στο οποίο θέλουμε να κατηγοριοποιηθεί. Είναι λογικό κατά την εκκίνηση του αλγορίθμου μέσω των τυχαίων τιμών αρχικοποίησης που έχουν λάβει τα συναπτικά βάρη η κατηγοριοποίηση να είναι εσφαλμένη. Εφόσον λοιπόν υπολογίσουμε το σφάλμα με χρήση του τύπου (4.4), πρέπει να αποφανθούμε για το μέγεθος της αλλαγής που πρέπει να πραγματοποιηθεί τόσο στο συναπτικό βάρος w 1 όσο και στο w 2. Όπως και στις άλλες μεθόδους απότομης καθόδου έτσι και εδώ ψάχνουμε το ποσό και το είδος της αλλαγής που πραγματοποιείται στο σφάλμα μέσω της αλλαγής των συναπτικών βαρών. Αυτομάτως αυτό σημαίνει ότι ψάχνουμε τη μερική παράγωγο του σφάλματος ως προς το εκάστοτε συναπτικό βάρος. Πηγαίνοντας προς τα πίσω (από την έξοδο στην είσοδο), συναντάμε πρώτα το συναπτικό βάρος w 2, του οποίου η αλλαγή στο επόμενο βήμα εκτέλεσης (n+1) πραγματοποιείται μέσω του τύπου : E w2 n 1 w 2 w 2 (4.6) Η ποσότητα της μερικής παραγώγου είναι αδύνατο να υπολογιστεί σε ένα βήμα, διότι μεσολαβούν αρκετά ενδιάμεσα σήματα τα οποία πρέπει να υπολογιστούν. Η λύση στο πρόβλημα αυτό έρχεται με εφαρμογή του κανόνα αλυσίδας (Chain Rule) που ισχύει στο διαφορικό λογισμό. Έτσι η άγνωστη ποσότητα της μερικής παραγώγου θα πάρει την παρακάτω μορφή : E w E w (4.7) P a g e 99

101 Ο πρώτος όρος της αλυσίδας μερικών παραγώγων υπολογίζεται εύκολα, παραγωγίζοντας το τύπο (4.4) ως προς την έξοδο Ο 2 ενώ αντίστοιχα τον δεύτερο όρο τον «σπάμε» σε δύο μερικές παραγώγους ακολουθώντας τα σήματα με αντίθετη φορά, όπως παρουσιάζεται παρακάτω : E E P t w w P w (4.8) Ο τρίτος όρος της αλυσίδας υπολογίζεται εύκολα, αφού η μερική παράγωγος του δεύτερου γινομένου (P 2) ως προς το συναπτικό βάρος (w 1), δεν είναι τίποτε άλλο από την έξοδο του πρώτου νευρώνα (O 1). Ο υπολογισμός του μεσαίου όρου που αφορά τη μερική παράγωγο της εξόδου της συνάρτησης μεταφοράς ως προς την είσοδο, είναι μια πιο πολύπλοκη διαδικασία την οποία έχουμε ήδη ορίσει ως την μερική παράγωγο της σιγμοειδούς συνάρτησης στον μαθηματικό τύπο (3.9). Είναι πλέον εμφανές ο λόγος ο οποίος η συνάρτηση μεταφοράς του νευρώνα έχουμε επιλέξει να είναι συνεχείς, αφού σε αντίθετη περίπτωση (step function) δεν θα ήταν παραγωγίσιμη. Έτσι με τις παραπάνω ιδιότητες καταλήγουμε στο παρακάτω τύπο : E E P t t 1 w w P w (4.9) Αποδεικνύεται ότι στο τελικό αποτέλεσμα δεν έχουμε κάποια άγνωστη μεταβλητή, άρα μπορούμε πλέον με την ίδια διαδικασία να υπολογίσουμε το συναπτικό βάρος w 1 και τη ποσότητα ανανέωσης στο επόμενο βήμα του αλγορίθμου. Συνεπώς για το συναπτικό βάρος w 2 μέσω του τύπου ( ), παράγεται η παρακάτω ισότητα : 1 1 w n w t (4.10) Και για το συναπτικό βάρος w 1 παράγεται η παρακάτω ισότητα : P a g e 100

102 1 1 1 w n w t w (4.11) Παρουσιάσαμε με ένα πολύ απλό παράδειγμα τη διαδικασία υπολογισμού των συναπτικών βαρών σε ένα μόνο κομμάτι ενός νευρωνικού δικτύου. Όσο περίπλοκο και εάν είναι ένα νευρωνικό δίκτυο και όσους νευρώνες και επίπεδα και να βάλουμε η διαδικασία είναι ακριβώς η ίδια. Η μοναδική διαφορά είναι ότι περιπλέκονται πιο πολύ οι υπολογισμοί των συναπτικών βαρών λόγω μεγέθυνσης του δικτύου ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ ΟΠΙΣΘΟΔΙΑΔΟΣΗΣ ΤΟΥ ΣΦΑΛΜΑΤΟΣ Όπως είδαμε προηγουμένως, ένας απλός αισθητήρας δεν μπορεί να δώσει σωστά αποτελέσματα σε μη γραμμικά διαχωρίσιμα προβλήματα, καθώς δεν μπορεί να χωρίσει το επίπεδο σε περισσότερες από δύο περιοχές. Αν λοιπόν μπορούσαμε με κάποιο τρόπο να συνδυάσουμε τα αποτελέσματα δύο διαφορετικών αισθητήρων, τότε θα ήταν δυνατό να χωρίσουμε το επίπεδο σε περισσότερες περιοχές και να είχαμε το επιθυμητό αποτέλεσμα. Το παραπάνω γίνεται εύκολα κατανοητό ξαναβλέποντας το παράδειγμα της XOR. Θεωρούμε και πάλι ένα νευρωνικό δίκτυο με δύο εισόδους και μία έξοδο, αλλά αυτή τη φορά παρεμβάλλουμε και ένα κρυφό επίπεδο με δύο νευρώνες μεταξύ τους, όπως αυτό που φαίνεται στην εικόνα [37]. Ένας τέτοιος πολυεπίπεδος αισθητήρας αναφέρεται για συντομία ως 2:2:1. Εικόνα 37. Αρχιτεκτονικό διάγραμμα MLP με ένα κρυφό επίπεδο. P a g e 101

103 Στο σημείο αυτό θα εκτελέσουμε με τη βοήθεια του προγράμματος matlab τον αλγόριθμο οπισθοδιάδοσης του σφάλματος, με χρήση της μεθόδου απότομης καθόδου. Ο αλγόριθμος που έχουμε αναπτύξει αποτελείται από συνολικά δύο αρχεία. Το βασικό αρχείο εκτέλεσης είναι το BP2layersXOR.m το οποίο με τη σειρά του χρησιμοποιεί το αρχείο sigma.m το οποίο εντοπίζεται υπό μορφή συνάρτησης. Κατά την εκκίνηση του αλγορίθμου πραγματοποιούμε τις απαραίτητες αρχικοποιήσεις στις αντίστοιχες μεταβλητές. Πιο συγκεκριμένα θέτουμε στο πίνακα input τις συντεταγμένες τεσσάρων σημείων που καλούμαστε να διαχωρίσουμε. Ο διαχωρισμός ορίζεται στο διάνυσμα target στο οποίο έχουμε θέσει τις στοχευμένες εξόδους του νευρωνικού δικτύου, δηλαδή τις κλάσεις στις οποίες πρέπει να ανήκουν τα δείγματα. Ο ρυθμός μάθησης έχει αρχικοποιηθεί στη τιμή 0,7 στη μεταβλητή a, θέτοντας έτσι έναν σχετικά υψηλό ρυθμό εκπαίδευσης. Στη μεταβλητή iterations έχουμε θέσει το μέγιστο αριθμό επαναλήψεων εποχών που μπορεί να εκτελέσει το νευρωνικό δίκτυο για να εξάγει τα κατάλληλα αποτελέσματα. Η τιμή αυτή ανέρχεται στις εποχές. Ύστερα και από την αρχικοποίηση των βαρών σε τυχαίες τιμές και την επιθυμητή τιμή του μέσω τετραγωνικού σφάλματος, στο τέλος της εκτέλεσης θέτουμε τη μεταβλητή Ein (In Sample Error) στη μέγιστη δυνατή τιμή, έτσι ώστε να μειώνεται σταδιακά κατά την εκπαίδευση. Στο βρόγχο while αρχικά ελέγχουμε εάν έχουν εκπληρωθεί οι στόχοι του δικτύου. Πιο συγκεκριμένα η έξοδος από τη while πραγματοποιείται μόνο εάν η τιμή του In Sample Error γίνει μικρότερη από το MSE ενώ ταυτόχρονα ο αριθμός των εποχών υπερβεί το όριο που του έχουμε θέσει. Άρα εάν ένα από τα δύο δεν ισχύει, τότε σταματά η εκπαίδευση του δικτύου. Εντός του εμφωλευμένου βρόγχου for για κάθε δείγμα εισόδου προωθούμε κάθε λειτουργικό σήμα εισόδου προς τα εμπρός (feed forward - από αριστερά προς τα δεξιά) για να εξάγουμε το αποτέλεσμα με τα τυχαία αυτά αρχικά βάρη, περνώντας το σήμα από όλα τα κρυφά επίπεδα. Το αποτέλεσμα του αθροίσματος των γινομένων στο πρώτο κρυφό νευρώνα αποθηκεύεται στη μεταβλητή H1 την οποία ύστερα χρησιμοποιούμε σαν όρισμα εισόδου στη συνάρτηση sigma. Η συνάρτηση sigma είναι αποθηκευμένη σε ξεχωριστό αρχείο, και σαν αρμοδιότητα έχει να αποστέλλει σαν αποτέλεσμα το σήμα εξόδου του κάθε νευρώνα μέσω μίας μη γραμμική σιγμοειδής συνάρτηση στο επόμενο επίπεδο. Όπως φαίνεται και στην εικόνα [37] τα αποτελέσματα εξάγονται αντίστοιχα μέσω του Νευρώνα 1 και του Νευρώνα 2 ενώ μέσω των συναπτικών βαρών w 31 και w 32, περνώντας το σήμα μέσω του Νευρώνα 3, συμπεραίνουμε την τελική τιμή του δικτύου η οποία ύστερα αποθηκεύεται στη μεταβλητή output. Για κάθε ένα δείγμα εισόδου, πρέπει να επαναπροσδιορίσουμε τις τιμές των συναπτικών βαρών του δικτύου. Για να πραγματοποιηθεί αυτό εφαρμόζουμε τον αλγόριθμο οπισθοδιάδοσης του σφάλματος. Εφόσον κατέχουμε την έξοδο του δικτύου για το συγκεκριμένο δείγμα, P a g e 102

104 υπολογίζουμε το σήμα σφάλματος (4.4) όπως και τις μερικές παραγώγους σε κάθε νευρώνα ως προς αυτό (4.9). Έτσι εξάγονται οι μεταβλητές delta3_1, delta2_1 και delta2_2 που αφορούν τους αντίστοιχους κόμβους. Έχοντας τις αυτές τιμές μπορούμε πλέον να ανανεώσουμε τις τιμές των συναπτικών βαρών με την ανάλογη μερική παράγωγο που αφορά το κάθε διαφορετικό κομμάτι του δικτύου ( ). Ύστερα από αυτό για όλα τα δείγματα εισόδου εντοπίζουμε το μέσω τετραγωνικό σφάλμα καταγράφοντας την ιστορία του σφάλματος στο διάνυσμα ISE_H (4.5). Δηλαδή για κάθε είσοδο που διαβάζει το δίκτυο, εντοπίζει το σφάλμα του στόχου ως προς την έξοδο του δικτύου, ανανεώνει τα συναπτικά βάρη αναλόγως του σφάλματος (αν αυτό υπάρχει) και τέλος εντοπίζει το μέσω τετραγωνικό σφάλμα για όλα τα δείγματα εισόδου. Η διαδικασία επαναλαμβάνεται έως ότου να εξαχθούμε από την while, πράγμα το οποίο σημαίνει είτε ότι πετύχαμε σφάλμα μικρότερο του κατωφλίου που έχουμε θέσει, είτε ότι φτάσαμε στο μέγιστο αριθμό επαναλήψεων εποχών. Ύστερα από την εκπαίδευση του δικτύου εκτυπώνουμε στο παράθυρο εντολών το τελικό σφάλμα που προέκυψε καθώς και τον αριθμό εποχών που καταγράφτηκαν κατά τη διάρκεια της εκπαίδευσης. Τέλος μέσω της συνάρτησης plot μπορούμε να οπτικοποιήσουμε τα αποτελέσματα έτσι ώστε με ευκολία να αντιληφθούμε την ορθή λειτουργία του προγράμματος μέσω της σωστής κατηγοριοποίησης των δειγμάτων εκπαίδευσης όπως προβλέπει το πρόβλημα αποκλειστικής διέλευσης. Παρακάτω επισυνάπτουμε και τα αποτελέσματα που προέκυψαν ύστερα από την εκτέλεση. Σε πρώτη φάση βλέπουμε ότι το σφάλμα που προκύπτει ύστερα από την εκπαίδευση ανέρχεται στη τιμή Mean-Square-Error = ενώ ο αριθμός επαναλήψεων στη τιμή Number of epochs = 7844 μη ξεπερνώντας το όριο που του είχαμε θέσει (10.000). Στην εικόνα [38] επισυνάπτουμε το ιστορικό του σφάλματος (In Sample Error), το οποίο παρατηρούμε να καταλήγει σε τιμή μικρότερη του κατωφλίου. Στον x άξονα καταγράφεται ο αριθμός των επαναλήψεων, ενώ στον άξονα y η τιμή του σφάλματος. P a g e 103

105 Εικόνα 38. Ιστορικό σφάλματος του προβλήματος αποκλειστικής διέλευσης μέσω νευρωνικού δικτύου 2:2:1. Στη συνέχεια εκτυπώνουμε στην εικόνα [39] τα αποτελέσματα της αποκλειστικής διέλευσης, περνώντας κάθε σημείο συντεταγμένων (-1, 2) και για τους δύο άξονες από το νευρωνικό δίκτυο παρατηρώντας τη κατηγοριοποίηση που πραγματοποιεί μέσω των εξαγόμενων συναπτικών βαρών. Μέσω των αποτελεσμάτων παρατηρούμε ότι ο αλγόριθμος εκτελέστηκε με επιτυχία και τα αποτελέσματα ικανοποιούν τις συνθήκες που έχουμε θέσει. Εικόνα 39. Κατηγοριοποίηση προτύπων εισόδου στο πρόβλημα αποκλειστικής διέλευσης X-OR. P a g e 104

106 Listing 5.1. BP2layersXOR.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : BP2layersXOR.m Description : Backpropagation XOR 2 layer perceptorn Author : Monahopoulos Konstantinos clc;clear;close all; XOR input coordinates for x1 and x2 input = [0 0; 0 1; 1 0; 1 1]; Desired output of XOR - target variables target = [0;1;1;0]; Initialize the bias bias = [ ]; Learning coefficient coeff = 0.7; Number of learning iterations (optional) iterations = 10000; In sample mean square error (optional) MSE = 0.001; Calculate weights randomly using seed. rand('state',sum(100*clock)); weights = *rand(3,3); Initialize epoch counter i=0; Initial In sample error variable Ein=inf; while (Ein > MSE) && (i<iterations) While In sample error is bigger than mean square error i=i+1; out = zeros(4,1); numin = length (input(:,1)); for j = 1:numIn Pass all the features from the network Hidden layer H1 = bias(1,1)*weights(1,1)... P a g e 105

107 + input(j,1)*weights(1,2)... + input(j,2)*weights(1,3); S data through sigmoid function 1/1+e^-x Note that sigma is a different m file x2(1) = sigma(h1); H2 = bias(1,2)*weights(2,1)... + input(j,1)*weights(2,2)... + input(j,2)*weights(2,3); x2(2) = sigma(h2); Target layer x3_1 = bias(1,3)*weights(3,1)... + x2(1)*weights(3,2)... + x2(2)*weights(3,3); output(j) = sigma(x3_1); Adjust delta values of weights backpropagating the error For the target layer: (1) d(sj)/d(wij) = xi = output (2) d(e(w))/d(sj) = d(output-target)/d(sj) = d(θ(sj)- target)/d(sj) = = (1-actual target)*(desired target - actual target)= delta. d(sj)/d(wij)*d(e(w))/d(sj) = output * delta (chain rule) delta3_1 = output(j)*(1-output(j))*(target(j)-output(j)); Propagate the delta backwards into hidden layers delta2_1 = x2(1)*(1-x2(1))*weights(3,2)*delta3_1; delta2_2 = x2(2)*(1-x2(2))*weights(3,3)*delta3_1; Add weight changes to original weights And use the new weights to repeat process. delta weight = coeff*x*delta for k = 1:3 if k == 1 Bias cases weights(1,k) = weights(1,k) + coeff*bias(1,1)*delta2_1; weights(2,k) = weights(2,k) + coeff*bias(1,2)*delta2_2; weights(3,k) = weights(3,k) + coeff*bias(1,3)*delta3_1; else When k=2 or 3 input cases to neurons weights(1,k) = weights(1,k) + coeff*input(j,1)*delta2_1; weights(2,k) = weights(2,k) + coeff*input(j,2)*delta2_2; weights(3,k) = weights(3,k) + coeff*x2(k-1)*delta3_1; IN SAMPLE MEAN SQUARE ERROR For every sample - feauture calculate the total error Ein=0; for erm = 1:numIn Hidden layer H1 = bias(1,1)*weights(1,1)... + input(erm,1)*weights(1,2)... + input(erm,2)*weights(1,3); P a g e 106

108 S data through sigmoid function 1/1+e^-x Note that sigma is a different m file x2(1) = sigma(h1); H2 = bias(1,2)*weights(2,1)... + input(erm,1)*weights(2,2)... + input(erm,2)*weights(2,3); x2(2) = sigma(h2); Target layer x3_1 = bias(1,3)*weights(3,1)... + x2(1)*weights(3,2)... + x2(2)*weights(3,3); output(erm) = sigma(x3_1); Calculate In - Sample - Error Ein = Ein + (output(erm)-target(erm))^2 ; ISE_H(i)=Ein; Store In - Sample - Error history figure,plot(ise_h); title('in sample error history'); xlabel('iterations') x-axis label ylabel('error') y-axis label disp(['mean-square-error= ' num2str(ein)]); fprintf('\n'); Feed forward the network to plot the results figure; hold on for ix=-1:0.1:2; for iy=-1:0.1:2; Hidden layer H1 = bias(1,1)*weights(1,1)... + ix*weights(1,2)... + iy*weights(1,3); S data through sigmoid function 1/1+e^-x Note that sigma is a different m file that I created to run this operation x2(1) = sigma(h1); H2 = bias(1,2)*weights(2,1)... + ix*weights(2,2)... + iy*weights(2,3); x2(2) = sigma(h2); target layer x3_1 = bias(1,3)*weights(3,1)... + x2(1)*weights(3,2)... + x2(2)*weights(3,3); output = sigma(x3_1); if(output>0.5) plot(ix,iy,'y.'); P a g e 107

109 else plot(ix,iy,'c.'); plot(input(target==1,1),input(target==1,2),'r*'); plot(input(target==0,1),input(target==0,2),'b*'); title(' Classification through BackPropagation ') hold off P a g e 108

110 Listing 5.2. sigma.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : sigma.m Description : Non Linear Sigmoid activation function Author : Monahopoulos Konstantinos function [ y ] = sigma( x ) y=1/(1+exp(-x)) ; P a g e 109

111 ΚΕΦΑΛΑΙΟ 5: ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ ΜΗ ΕΠΟΠΤΕΥΟΜΕΝΗΣ ΜΑΘΗΣΗΣ Η τεχνική μη εποπτευομένης μάθησης μελετά με ποιο τρόπο τέτοιου είδους νευρωνικά δίκτυα είναι σε θέση να εκπαιδευτούν και να μάθουν συγκεκριμένα πρότυπα εισόδου χρησιμοποιώντας τα στατιστικά χαρακτηριστικά τους. Σε αντίθεση με τα δίκτυα εποπτευομένης μάθησης, δεν προσδιορίζονται συγκεκριμένοι στόχοι που να χαρακτηρίζουν την είσοδο των συστημάτων, αφήνοντας το δίκτυο να προσαρμοστεί κατάλληλα έτσι ώστε να αντιπροσωπεύει τις στατιστικές δομές των προτύπων και να τις αποτυπώνει στην έξοδο. Η κύρια εργασία που εκτελούν τα δίκτυα μη εποπτευομένης μάθησης για να εκπαιδευτούν στα δεδομένα, είναι θεωρώντας ότι τα πρότυπα προέρχονται από κάποιες κατανομές P(x) να αντιληφθεί τη πυκνότητά αυτών και να εκφράσει την κατανομή που αντιπροσωπεύει κάθε διαφορετική είσοδος x i [Ref. 11]. Στο κεφάλαιο αυτό θα ασχοληθούμε κυρίως με τους θεμελιώδης αλγορίθμους που συμπεριλαμβάνονται σε αυτή τη κατηγορία μάθησης. Πιο αναλυτικά θα επεκτείνουμε το θεωρητικό υπόβαθρο των αλγορίθμων SOM Kohonen και Hebb Hopfield που αποτελούν το ορόσημο των τεχνικών μη εποπτευομένης μάθησης. Παράλληλα θα αναπτύξουμε μία σειρά παραδειγμάτων μέσω των οποίων θα είναι σε θέση ο αναγνώστης να αντιληφθεί στη πράξη τον τρόπο λειτουργίας των νευρωνικών δικτύων αυτών. Για κάθε παράδειγμα έχουμε επισυνάψει και έναν κώδικα αναλύοντας και εξηγώντας κάθε βήμα του παραδείγματος, ακολουθώντας πάντα τη θεωρία που το συνοδεύει. Έτσι παρουσιάζουμε ένα ολοκληρωμένο πακέτο αναφοράς το οποίο θα μας βοηθήσει ιδιαίτερα να καταλάβουμε πιο προηγμένες τεχνολογίες που χρησιμοποιούνται σήμερα στη τεχνική νοημοσύνη, που όπως είναι φυσικό στηρίζονται σε προγενέστερες τεχνολογίες. 5.1 KOHONEN SOM Αυτό το μοντέλο νευρωνικών δικτύων παρουσιάζει την διαδικασία εκπαίδευσης ενός νευρωνικού δικτύου χωρίς επίβλεψη, δηλαδή δεν δίδεται καμία εξωτερική επέμβαση σχετικά με τους στόχους που πρέπει να εκπαιδευθεί και να αναγνωρίζει ένα δίκτυο. Λέμε ότι το δίκτυο αυτό παρουσιάζει χαρακτηριστικά αυτο-οργάνωσης και αποτελεί μέρος της ομάδας ανταγωνιστικών δικτύων (Competitive learning). Η αυτο οργάνωση απλώς ως ιδέα είχε προταθεί από πολύ καιρό πριν από τον von der Malsburg το 1973, αλλά ο Kohonen ήταν αυτός P a g e 110

112 που προχώρησε στην εξέλιξη της, και θεωρείται ο πατέρας των δικτύων αυτών εξού και η ονομασία τους. Τα χαρακτηριστικά του δικτύου Kohonen είναι ότι μπορεί να ταξινομεί διανύσματα με την βοήθεια ενός αλγόριθμου αυτόνομης, χωρίς επίβλεψη μάθησης. Το δίκτυο οργανώνει τα βάρη του w με τέτοιο τρόπο ώστε να αναγνωρίζει όποια κανονικότητα μπορεί να υπάρχει στα διανύσματα εισόδου. Κάνει λοιπόν μία αντιστοίχιση των εισόδων στην έξοδο και για τον λόγο αυτό λέμε ότι επιτελεί μία αυτο οργανούμενη απεικόνιση χαρακτηριστικών (self organizing feature map). Μία σημαντική αρχή της οργάνωσης των αισθητηρίων οργάνων στον εγκέφαλο είναι ότι η κατανομή των νευρώνων παρουσιάζει μια κανονικότητα που αντικατοπτρίζει κάποια ειδικά χαρακτηριστικά των εξωτερικών ερεθισμάτων που διαδίδονται σε αυτά. Κάθε ξεχωριστό ερέθισμα που λαμβάνεται από τον ανθρώπινο εγκέφαλο ενεργοποιεί ένα διαφορετικό τοπολογικό πεδίο, ενεργοποιώντας τους νευρώνες εντός του πεδίου αυτού. Έτσι τα δίκτυα Kohonen εμφανίζοντας παρόμοια λειτουργία, ακολουθούν κάποια βασικά χαρακτηριστικά των βιολογικών δικτύων. Εικόνα 40. Block διάγραμμα ενός SOM νευρωνικού δικτύου ΔΟΜΗ ΤΩΝ ΔΙΚΤΥΩΝ KOHONEN SOM Το δίκτυο Kοhonen αποτελείται από δύο επίπεδα. Το πρώτο επίπεδο, όπως συνήθως, είναι το επίπεδο εισόδου. Το δεύτερο επίπεδο έχει το ιδιαίτερο χαρακτηριστικό, ότι είναι οργανωμένο σε μορφή πλέγματος, που μπορεί να έχει οποιαδήποτε διάσταση, π.χ μπορεί να έχουμε ένα δισδιάστατο πλέγμα, δηλαδή μία επιφάνεια που έχει επάνω της m x m μονάδες (λ.χ. μικρές τελίτσες) που αντιστοιχούν στους νευρώνες. Τα δύο αυτά επίπεδα έχουν πλήρη συνδεσμολογία, δηλαδή κάθε μονάδα εισόδου συνδέεται με όλες τις μονάδες του επιπέδου. Η εικόνα [40] δείχνει το block διάγραμμα ενός τέτοιου δικτύου. Το σήμα εισόδου είναι ένα διάνυσμα με n στοιχεία. Έτσι τελικά έχουμε ένα πλήθος από n x m x m συνδέσεις [Ref 1]. P a g e 111

113 Εικόνα 41. Δομή του δικτύου Kohonen ΔΙΑΔΙΚΑΣΙΑ ΕΚΠΑΙΔΕΥΣΗΣ ΤΟΥ ΔΙΚΤΥΟΥ KOHONEN SOM Όπως τα περισσότερα νευρωνικά δίκτυα, έτσι και τα SOMs λειτουργούν σε δύο καταστάσεις. Την κατάσταση εκπαίδευσης και την κατάσταση χαρτογράφησης. Η εκπαίδευση είναι σε θέση να χτίσει τον χάρτη χρησιμοποιώντας τα δεδομένα εισόδου, μία ανταγωνιστική διαδικασία, που επίσης καλείται και διανυσματικός κβαντισμός - vector quantization, ενώ χαρτογραφεί αυτόματα τα νέα μη παρουσιασμένα δείγματα μέσω του δικτύου σε μια συγκεκριμένη κατηγορία αντικατοπτρίζοντας μία συγκεκριμένη κατάσταση ερεθίσματος. Ένας αυτο οργανούμενος χάρτης περιέχει κάποια στοιχεία που ονομάζονται νευρώνες [Ref. 28]. Όταν παρουσιάζεται ένα πρότυπο στο επίπεδο εισόδου, κάθε νευρώνας παίρνει την αντίστοιχη τιμή του εισερχόμενου σήματος. Οι νευρώνες στο δεύτερο επίπεδο αθροίζουν τις τιμές των εισόδων και από όλους τους νευρώνες στο επίπεδο εξόδου επιλέγεται ένας μόνον με έξοδο 1, ενώ όλοι οι άλλοι έχουν έξοδο 0. Ακολούθως, πραγματοποιούνται οι αλλαγές στα βάρη w μέχρις ότου το δίκτυο εκπαιδευτεί στα εισερχόμενα πρότυπα. Η προσαρμογή των βαρών γίνεται με τέτοιο τρόπο, ώστε μετά την εκπαίδευση το δίκτυο να είναι σε θέση να διεγείρει τον ίδιο πάντα νευρώνα εξόδου για διανύσματα εισόδου που ανήκουν στην ίδια τάξη. Επειδή η εκπαίδευση γίνεται αυτόνομα (χωρίς στόχους), δεν μπορούμε να γνωρίζουμε εκ των προτέρων σε ποια από τις τάξεις θα αντιστοιχεί ο καθένας από τους νευρώνες εξόδου, με αποτέλεσμα η αντιστοίχιση να γίνεται μόνο μετά την εκπαίδευσή τους. Όπως και σε άλλα δίκτυα, αρχικά οι τιμές των w είναι τυχαίες. Επιλέγονται, λ.χ. από μία γεννήτρια τυχαίων αριθμών η οποία παράγει αριθμούς στο διάστημα από 0,0 ως 1,0 με ομαλή κατανομή [Ref 1]. P a g e 112

114 Ένα πρότυπο λοιπόν που παρουσιάζεται στο επίπεδο εισόδου έχει την μορφή X = (x 1, x 2, x 3,..,x n) ενώ τα βάρη w που συνδέουν το επίπεδο εισόδου με την μονάδα i στο επίπεδο εξόδου δίδονται από την μορφή W ij = (w 11, w 12, w 13,..,w n1n2). Πρώτα υπολογίζουμε μία αντίστοιχη τιμή για κάθε νευρώνα στο επίπεδο εξόδου, η οποία δείχνει κατά πόσο τα βάρη αντιστοιχούν στις τιμές εισόδου. Η αντίστοιχη τιμή για τον νευρώνα i υπολογίζεται μέσω της ευκλείδειας απόστασης ή ευκλείδειας νόρμας όπως αναφέρεται μεταξύ των διανυσμάτων X και W i μέσω της σχέσης : 2 d X w (5.1) j j ij j Η μονάδα αυτή που έχει την μικρότερη αντίστοιχη τιμή είναι η πλέον κατάλληλη ανάμεσα σε όλες τις άλλες μονάδες και έτσι επιλέγουμε τη μονάδα αυτή, την οποία ονομάζουμε c και που εκπροσωπεί τον νευρώνα «νικητή». Έτσι λέμε ότι : X Wc min X Wi (5.2) όπου το min θεωρείται ότι λαμβάνεται σε όλες τις μονάδες i του επιπέδου εξόδου. Αν συμβεί δύο μονάδες να έχουν ακριβώς την ίδια τιμή, τότε παίρνουμε αυτή που έχει την μικρότερη τιμή του δείκτη i. Οι διπλές κάθετες γραμμές στις εξισώσεις υποδηλώνουν ότι έχουμε πράξεις μεταξύ διανυσμάτων, που πρέπει να γίνουν κανονικά, στοιχείο προς στοιχείο. Οι νόρμες στο δεξί μέρος της εξίσωσης (5.2) υπολογίζονται πάλι από την εξίσωση (5.1). Αφού επιλέξουμε τον νευρώνα c που υπερτερεί, ακολούθως ορίζουμε την γειτονία γύρω από τον νευρώνα αυτό. Ως γειτονία θεωρούμε όλες τις μονάδες που είναι κοντά στην πλέον κατάλληλη μονάδα. Το μέγεθος της γειτονίας διαφέρει από περίπτωση σε περίπτωση ενώ περιέχει Ν c μονάδες ανάλογα με το μήκος της πλευράς του τετραγώνου. Η τετραγωνική μορφή της γειτονιάς αποτελεί την πιο απλή διαδικασία υπολογισμού γειτονιάς ενώ μπορεί να επιλεχτεί και διαφορετικό σχήμα όπως ρομβοειδές, κυψελοειδές ή και επιλογή των νευρώνων γειτονιάς με εφαρμογή μίας Gaussian συνάρτησης. Στην εικόνα [42] φαίνεται ο νευρώνας νικητής που εμφανίζει την ελάχιστη ευκλείδεια απόσταση του διανύσματος εισόδου ως προς τα συναπτικά βάρη όλων των νευρώνων. P a g e 113

115 Εικόνα 42. Διαδοχικές τετραγωνικές γειτονιές με κέντρο τον νευρώνα <<νικητή>>. Στην αρχή της διαδικασίας εκπαίδευσης το Ν c είναι μεγάλο και η γειτονία περιλαμβάνει ένα μεγάλο τετράγωνο. Κατά την διάρκεια όμως της διαδικασίας τα βάρη αλλάζουν τιμή και έτσι συνεχώς η περιοχή της γειτονίας μικραίνει, ώσπου στο τέλος περιλαμβάνει μόνον τη μονάδα c. Η διόρθωση των βαρών w γίνεται με την εξίσωση: j ij ( ) a X w i Nc wij 0 ( i Nc) (5.3) Αφού βρούμε το Δwij, εύκολα αναπροσαρμόζουμε τα wij μέσω του τύπου: 1 wi t wi t a t X t wi t (5.4) Αυτό έχει ως αποτέλεσμα η μονάδα c και οι μονάδες που ανήκουν στην γειτονία της να αλλάζουν και να μοιάζουν περισσότερο με τα πρότυπα εισόδου. Για να προχωρήσουμε στην λύση του προβλήματος πρέπει να ορισθούν η σταθερά α και το μέγεθος του Nc. Η σταθερά α είναι ο ρυθμός εκπαίδευσης. Αρχικά έχει μία μεγάλη τιμή, αλλά κατά την διαδικασία εκπαίδευσης ελαττώνεται. Η εξίσωση της ελάττωσης αυτής δίδεται από τον παρακάτω τύπο: a t a 0 1 t T (5.5) P a g e 114

116 όπου α 0 είναι η αρχική τιμή του α, Τ είναι ο συνολικός αριθμός των κύκλων εκπαίδευσης που υφίσταται το δίκτυο και t είναι ο τρέχων κύκλος. Συνήθεις τιμές του α 0 είναι 0,2 < α 0 < 0,5, ενώ κατά την διάρκεια της εκπαίδευσης το α ελαττώνεται και τελικά γίνεται 0. Η ελάττωση αυτή είναι γραμμική με τον αριθμό των κύκλων (δηλαδή με τον χρόνο). Ως προς το μέγεθος της γειτονίας, θεωρούμε την αρχική μονάδα με συντεταγμένες (x c, y c). Εάν d είναι η απόσταση από το c ως το τέλος της γειτονίας, τότε η γειτονία περιλαμβάνει όλα τα (x, y) για τα οποία: c d x c d c d y c d (5.6) Αρχικά το d έχει μία τιμή d 0. Το d 0 τίθεται αυθαίρετα, και πρέπει να είναι περί το ½ του μεγέθους ολοκλήρου του επιπέδου. Η ελάττωση του d καθώς προχωράει η εκπαίδευση γίνεται με την εξίσωση: d d 0 1 t T (5.7) όπου όπως βλέπουμε έχουμε μία εξίσωση ανάλογη με την εξίσωση του α. Η εκπαίδευση σταματάει είτε όταν το d γίνει d = 1, καθόσον έχουμε ένα πλέγμα όπου η μικρότερη δυνατή απόσταση είναι 1, είτε θέτοντας εκ των προτέρων τον μέγιστο αριθμό εποχών ως αριθμό επαναλήψεων εκπαίδευσης. Το πόσο γρήγορα θα γίνει d = 1 εξαρτάται από τα d 0, t, T, όπως δίνεται από την εξίσωση (5.7) ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ KOHONEN SOM Στο κεφάλαιο αυτό θα αναλύσουμε και θα εκτελέσουμε τον αλγόριθμο SOM με τη βοήθεια του προγράμματος Matlab. Η εκτέλεση θα γίνει χρησιμοποιώντας ένα δισδιάστατο διάνυσμα εισόδου που σε συνεργασία με το επίπεδο εξόδου μας δίνει την δυνατότητα να οπτικοποιήσουμε τα αποτελέσματα. Το αρχείο που χρησιμοποιείται για την εκτέλεση ονομάζεται KohonenSOM.m και περιέχει όλα τα απαραίτητα δομικά στοιχεία που απαιτούνται. Στον αλγόριθμο που αναπτύσσουμε οι ανανεώσεις των συναπτικών βαρών πραγματοποιούνται με την παρουσίαση του κάθε διανύσματος εισόδου ξεχωριστά. Συνοπτικά ο αλγόριθμος εκπαίδευσης του δικτύου SOM του Kohonen όταν έχουμε σαν δεδομένα τις διαστάσεις του πλέγματος Ν 1 x Ν 2 και τα n πρότυπα εισόδου (x 1, x 2, x 3,..,x n) είναι ο παρακάτω: P a g e 115

117 - Αρχικοποιούμε τα διανύσματα των βαρών w ij σε τυχαίες τιμές - Επιλέγουμε αρχικές τιμές για τον ρυθμό εκπαίδευσης α και το εύρος της γειτονιάς d - Για κάθε εποχή =1,,Τ { Για κάθε πρότυπο εισόδου k=1,..,n { Για κάθε νευρώνα i,j { Υπολόγισε την ευκλείδεια απόσταση μέσω της σχέσης (5.1) } Βρες τον νικητή νευρώνα σύμφωνα με τη σχέση (5.2) Για κάθε νευρώνα i, j στην γειτονιά του νευρώνα <<νικητή>> { Εκπαίδευσε το διάνυσμα βαρών σύμφωνα με τη σχέση (5.4) } } Μείωσε τον ρυθμό εκπαίδευσης α και το μέγεθος της γειτονίας d ( ) } Η εκπαίδευση μπορεί να σταματήσει είτε όταν δεν παρατηρούμε αξιοσημείωτες διαφορές στα συναπτικά βάρη είτε όταν φτάσουμε στο μέγιστο αριθμό εποχών που έχουμε θέσει. Κατά την εκκίνηση του αλγορίθμου δημιουργούμε μία βάση δεδομένων δύο διαστάσεων με 1000 στοιχεία σε τυχαίες τιμές κανονικής κατανομής, με τη κάθε τιμή να εντοπίζεται εντός του ορίου [0,1]. Αργότερα πραγματοποιείται αρχικοποίηση των παραμέτρων του δικτύου θέτοντας το μέγεθος του πλέγματος νευρώνων εξόδου στη διάσταση 10 x 10 μέσω της μεταβλητής NeuGridSz=10, την αρχική τιμή του ρυθμού μάθησης ao=0.3, την αρχική τιμή του μεγέθους γειτονιάς στην τιμή do=5 που είναι το μισό του μεγέθους της γειτονιάς και τον συνολικό αριθμό εποχών στην τιμή T=300. Στην συνέχεια πραγματοποιείται αρχικοποίηση των συναπτικών βαρών σε τυχαίες αρχικές τιμές εντός του ορίου [ ] όπως αναγράφεται στην θεωρία. Ύστερα ακολουθεί η εκπαίδευση του δικτύου Kohonen με χρήση του αλγορίθμου SOM. Πιο αναλυτικά εντός του βρόγχου εκπαίδευσης υπολογίζεται η μεταβλητή του ρυθμού μάθησης σε κάθε εποχή a=ao*(1- t/t) με χρήση του τύπου (5.5), όπως επίσης υπολογίζεται το μέγεθος της τετραγωνικής γειτονιάς d=round(do*(1-t/t))με χρήση του τύπου (5.7). Όπως αναφέραμε για κάθε εποχή παρουσιάζουμε στο δίκτυο όλα τα δεδομένα εισόδου υπολογίζοντας για κάθε δεδομένο την ευκλείδεια απόσταση eucl_norm=(input1(i)-w1).^2+(input2(i)-w2).^2 ως προς όλα τα P a g e 116

118 συνοπτικά βάρη που αποτελούν το πλέγμα βρίσκοντας τον νευρώνα <<νικητή>> με την μικρότερη απόσταση ως προς το συγκεκριμένο δεδομένο. Εφόσον εντοπίσουμε τον κατάλληλο νευρώνα αποθηκεύουμε τις συντεταγμένες του στο πλέγμα νευρώνων στις αντίστοιχες μεταβλητές (j1winner, j2winner). Ύστερα με χρήση του τύπου (5.4) ανανεώνουμε το συναπτικό βάρος στον συγκεκριμένο νευρώνα w1(j1winner,j2winner)=w1(j1winner,j2winner)+a*(input1(i)- w1(j1winner,j2winner)); w2(j1winner,j2winner)=w2(j1winner,j2winner)+a*(input2(i)- w2(j1winner,j2winner)); αλλά και στους νευρώνες που βρίσκονται εντός της γειτονιάς με χρήση του ιδίου τύπου. Για τον υπολογισμό των νευρώνων που βρίσκονται εντός της γειτονιάς χρησιμοποιούμε τον τύπο (5.6) και για τις τέσσερις κατευθύνσεις από το κέντρο σε κάθε πλευρά του τετραγώνου. Για κάθε εποχή εκτυπώνουμε τόσο τα δεδομένα εισόδου, όσο και τα συναπτικά βάρη που εντοπίζονται στο χώρο του χαρακτηριστικού, σηματοδοτώντας τους νευρώνες που θεωρούνται εντός της γειτονιάς του κάθε νευρώνα, ενώνοντας τους πιο συσχετισμένους νευρώνες με μία γραμμή. Εφόσον ολοκληρωθεί η εκπαίδευση (δηλαδή μετά το πέρας 300 εποχών) προχωρούμε στη διαδικασία του clustering. Η διαδικασία αυτή μπορεί να γίνει με πολλούς τρόπους. Είτε χρησιμοποιώντας τον αλγόριθμο k means, είτε δημιουργώντας έναν πίνακα συσχέτισης U- matrix ο οποίος αναπαριστά τη μέση συσχέτιση μεταξύ των νευρώνων, είτε αποδίδοντας σε κάθε δείγμα εισόδου μία τάξη που αντιπροσωπεύεται από τον πιο κοντινό νευρώνα. Ο αλγόριθμος k-means μοιάζει αρκετά με την τελευταία διαδικασία θεωρώντας ότι κάθε νευρώνας αποτελεί και μία ξεχωριστή τάξη ή επιλέγοντας ως κέντρα μόνο τους νευρώνες με τη μεγαλύτερη συσχέτιση ως προς τη γειτονιά τους. Στη δική μας περίπτωση ανάγουμε κάθε δείγμα στη κλάση που αναπαρίσταται από τον νευρώνα με τη μικρότερη απόσταση. Στην εικόνα [43] παρουσιάζουμε τις τιμές των συναπτικών βαρών κατά την εκκίνηση του αλγορίθμου. Μπορούμε να παρατηρήσουμε οι τιμές εντοπίζονται εντός του ορίου [ ] όπως θέτει η θεωρία. Με μπλε κουκίδες σηματοδοτείτε το διάνυσμα εισόδου, με κόκκινους κύκλους τα συναπτικά βάρη ενώ οι μαύρες γραμμές παρουσιάζουμε την συσχέτιση του κάθε νευρώνα με τους υπόλοιπους, με τις συνδέσεις να γίνονται μόνο με τους νευρώνες εντός γειτονιάς. P a g e 117

119 Εικόνα 43. Παρουσίαση των συναπτικών βαρών κατά την εκκίνηση του αλγορίθμου SOM. Στην εικόνα [44] παρουσιάζουμε την πρόοδο των συναπτικών βαρών κατά τη διάρκεια της εκτέλεσης και πιο συγκεκριμένα στο μέσο των προκαθορισμένων εποχών. Παρατηρούμε ότι οι νευρώνες προσπαθούν να αναπαραστήσουν την είσοδο όσο αυξάνονται οι εποχές και προχωρά η εκπαίδευση του δικτύου. Εικόνα 44. Παρουσίαση των συναπτικών βαρών στη μέση της εκτέλεσης του αλγορίθμου SOM. P a g e 118

120 Στο τέλος της εκπαίδευσης στην εικόνα [45] παρουσιάζονται οι τελικές τιμές των συναπτικών βαρών, παρατηρώντας ότι ο αλγόριθμος έχει συγκλίνει αφού οι νευρώνες είναι πλέον σε θέση να αναπαραστήσουν την είσοδο. Εικόνα 45. Παρουσίαση των συναπτικών βαρών στο τέλος της εκτέλεσης του αλγορίθμου SOM. Στις εικόνες [46] και [47] βλέπουμε την πρόοδο του ρυθμού μάθησης και του μεγέθους γειτονιάς κατά τη διάρκεια της εκτέλεσης. Όπως είναι φυσικό οι τιμές αυτές μειώνονται όσο αυξάνονται οι εποχές εφόσον στο μαθηματικό τύπο που χρησιμοποιούν η μεταβλητή της εποχής βρίσκεται στον αριθμητή και αφαιρείται κάθε φορά από την μονάδα. Και στις δύο περιπτώσεις οι τιμές των μεταβλητών μηδενίζονται στο τέλος του αλγορίθμου ενώ η τιμή του ρυθμού μάθησης ακολουθεί μία γραμμική συμπεριφορά. P a g e 119

121 Εικόνα 46. Πρόοδος του ρυθμού μάθησης κατά την εκτέλεση του αλγορίθμου SOM. Εικόνα 47. Πρόοδος του μεγέθους γειτονιάς κατά την εκτέλεση του αλγορίθμου SOM. Εφόσον το δίκτυο μας έχει εκπαιδευτεί και έχουν εξαχθεί οι τιμές τω συναπτικών βαρών προχωράμε στη διαδικασία της ομαδοποίησης των δειγμάτων. Στην εικόνα [48] θεωρούμε ότι κάθε νευρώνας αποτελεί και μία ξεχωριστή κλάση και ανάγουμε κάθε δείγμα στην κλάση που μας εξάγει την μικρότερη ευκλείδεια απόσταση ως προς αυτό. Η σηματοδότηση της κάθε κλάσης γίνεται με χρήση διαφορετικού χρώματος στα δείγματα εισόδου. P a g e 120

122 Εικόνα 48. Διαδικασία ομαδοποίησης των δειγμάτων ελάχιστης απόστασης νευρώνων-δειγμάτων με χρήση του αλγορίθμου SOM. Τέλος για να επαληθεύσουμε τη λειτουργικότητα του αλγορίθμου στα τυχαία δείγματα εισόδου θέτουμε μία ελλειψοειδές μορφή έτσι ώστε να παρατηρήσουμε εάν ο χάρτης βαρών ακολουθήσει τα χαρακτηριστικά της εισόδου. Στην εικόνα [49] παρουσιάζουμε τα τελικά αποτελέσματα της διαδικασίας αυτής συμπεραίνοντας την ορθή λειτουργία του αλγορίθμου SOM. Εικόνα 49. Παρουσίαση των συναπτικών βαρών στο τέλος της εκτέλεσης του αλγορίθμου SOM σε ελλειψοειδής μορφής δεδομένα. P a g e 121

123 Listing 6. KohonenSOM.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : KohonenSOM.m Description : Self Organizing feature Map - Kohonen Author : Monahopoulos Konstantinos clc;clear all;close all; Data Size DataSize=1000; Neuron Grid Size NeuGridSz=10; Initial Learning rate value ao=0.3; Initial neuron neighbor size do=5; Max number of epochs T=300; Current epoch t=0; Initialize Learning rate history array LRhistory=zeros(length(T)); Initialize Neighbor dimensions history array Dhistory=zeros(length(T)); Random data points no form Set randmon values to 2d input data in limit [0,1] rand(1,1000) sto x1 kai sto x2 (Input 1,Input 2) Input1=rand(1,1000); Input2=rand(1,1000); Random data points in ellipse form r = sqrt(rand(datasize,1)); Start out as if filling a unit circle c = 2*pi*rand(DataSize,1); X = 3*sqrt(2/59)*r.*cos(c); Rescale by major & minor semi-axis lengths Y = 3*sqrt(2)*r.*sin(c); P a g e 122

124 Input1 = (0.3*X-0.7*Y)/sqrt(100)+0.5; Rotate back to original coordinates Input2 = (0.7*X+0.3*Y)/sqrt(100)+0.5; Randomly initialize the weights in a 10x10 grid. Typical weight values are within limit [0.3,0.7] because input values are within limit [0,1], so we want the initial weights to form a neighbor in the center of input values. for j1=1:neugridsz for j2=1:neugridsz w1(j1,j2)=0.30+rand*( ); w2(j1,j2)=0.30+rand*( ); Plotting Training Data Plot initial data points and random neurons figure(1) plot(input1,input2,'.b'); hold on plot(w1,w2,'or') plot(w1,w2,'k','linewidth',2) plot(w1',w2','k','linewidth',2) xlabel('x1 (input), w1 (weight)') x-axis label ylabel('x2 (input), w2 (weight)') y-axis label hold off suptitle ('Self Organizing feature Map Training') title(['current epoch=' num2str(t)]); Update figure window and execute ping callbacks drawnow Train SOM while number of epochs is smaller than maximum number of epochs recalculate weights and "winner" neuron neighbor for all data inputs. while (t<=t) t=t+1; a=ao*(1-t/t); (decreasing) LRhistory(t)=a; d=round(do*(1-t/t)); (decreasing) Dhistory(t)=d; Increase epoch number recalculate new Learning Rate Save Learning history in every epoch recalculate new neighbor size Save neighbor dimensions in every epoch loop for the 1000 inputs for i=1:datasize Calculate euclidean norm of input (i,j) with all weights eucl_norm=(input1(i)-w1).^2+(input2(i)-w2).^2; mathematical function [5.1] minj1=1; minj2=1; min_norm=eucl_norm(minj1,minj2); random initial minimum norm P a g e 123

125 [5.2] for j1=1:neugridsz for j2=1:neugridsz if eucl_norm(j1,j2)<min_norm mathematical function Save minimum norm min_norm=eucl_norm(j1,j2); Find coordinates of minimum norm minj1=j1; minj2=j2; Save coordinates of minimum norm j1winner= minj1; j2winner= minj2; Find and Save minimum euclidean norm value and coordinates (the winner neuron) [j1winner,j2winner,min_norm]=find(eucl_norm==min(eucl_norm(:))); Update the winning neuron weight using mathematical function [4.4] w1(j1winner,j2winner)=w1(j1winner,j2winner)+a*(input1(i)- w1(j1winner,j2winner)); w2(j1winner,j2winner)=w2(j1winner,j2winner)+a*(input2(i)- w2(j1winner,j2winner)); [5.6] Update the neighbour neurons using mathematical function for CurNDist=1:1:d Index coordinates of neighbour neurons to the left of the winner neuron NeighbourJ1=j1winner-CurNDist; mathematical function [5.6] NeighbourJ2=j2winner; mathematical function [5.6] Update the neighbour neurons weights using mathematical function [5.4] if (NeighbourJ1>=1) w1(neighbourj1,neighbourj2)=w1(neighbourj1,neighbourj2)+... a*(input1(i)-w1(neighbourj1,neighbourj2)); w2(neighbourj1,neighbourj2)=w2(neighbourj1,neighbourj2)+... a*(input2(i)-w2(neighbourj1,neighbourj2)); the Index coordinates of neighbour neurons to the right of winner neuron P a g e 124

126 NeighbourJ1=j1winner+CurNDist; function [5.6] NeighbourJ2=j2winner; function [5.6] mathematical mathematical Update the neighbour neurons weights using mathematical function [5.4] if (NeighbourJ1<=NeuGridSz) w1(neighbourj1,neighbourj2)=w1(neighbourj1,neighbourj2)+... a*(input1(i)-w1(neighbourj1,neighbourj2)); w2(neighbourj1,neighbourj2)=w2(neighbourj1,neighbourj2)+... a*(input2(i)-w2(neighbourj1,neighbourj2)); Index coordinates of neighbour neurons below the winner neuron NeighbourJ1=j1winner; mathematical function [5.6] NeighbourJ2=j2winner-CurNDist; mathematical function [5.6] Update the neighbour neurons weights using mathematical function [5.4] if (NeighbourJ2>=1) w1(neighbourj1,neighbourj2)=w1(neighbourj1,neighbourj2)+... a*(input1(i)-w1(neighbourj1,neighbourj2)); w2(neighbourj1,neighbourj2)=w2(neighbourj1,neighbourj2)+... a*(input2(i)-w2(neighbourj1,neighbourj2)); Index coordinates of neighbour neurons over the winner neuron NeighbourJ1=j1winner; mathematical function [5.6] NeighbourJ2=j2winner+CurNDist; mathematical function [5.6] Update the neighbour neurons weights using mathematical function [5.4] if (NeighbourJ2<=NeuGridSz) w1(neighbourj1,neighbourj2)=w1(neighbourj1,neighbourj2)+... a*(input1(i)-w1(neighbourj1,neighbourj2)); w2(neighbourj1,neighbourj2)=w2(neighbourj1,neighbourj2)+... a*(input2(i)-w2(neighbourj1,neighbourj2)); For every iteration plot initial data points and neurons using updated weights figure(1) plot(input1,input2,'.b') hold on plot(w1,w2,'or') P a g e 125

127 plot(w1,w2,'k','linewidth',2) plot(w1',w2','k','linewidth',2) xlabel('input1, w1 (weight)') x-axis label ylabel('input2, w2 (weight)') y-axis label hold off suptitle ('Self Organizing feature Map Training') title(['current epoch=' num2str(t)]); drawnow Plot Learning rate history figure(2),plot(1:length(lrhistory),lrhistory); title('learning Rate history'); xlabel('epochs') x-axis label ylabel('learning Rate value') y-axis label Plot Neighbor Dimensions history figure(3),plot(1:length(dhistory),dhistory); title('neighbor Dimensions history'); xlabel('epochs') x-axis label ylabel('neighbor Dimensions value') y-axis label Clustering Process fprintf('clustering Process... \n'); Create Random Colour map that refers to each cluster colourmap=rand(10,10,3); for i=1:datasize For each data find the neuron that is closest to the data eucl_norm=(input1(i)-w1).^2+(input2(i)-w2).^2; [j1winner,j2winner,min_norm]=find(eucl_norm==min(eucl_norm(:))); hold on figure(4); p=plot(input1(i),input2(i),'.b', 'markersize', 10); set the cluster colour to the input set(p,'color',colourmap(j1winner,j2winner,:)); Plot the cluster centers (neuron weights) plot(w1,w2,'or') xlabel('x1 (input), w1 (weight)') x-axis label ylabel('x2 (input), w2 (weight)') y-axis label hold off pause(0.1) suptitle ('Self Organizing feature Map Training') title('colour Clustering'); P a g e 126

128 5.2 ΤΟ ΔΙΚΤΥΟ HOPFIELD Τα δίκτυα Hopfield ανήκουν στην τοπολογία των αναδρομικών δικτύων, τα οποία παρουσιάστηκαν σε μία πολύ γνωστή εργασία το 1982 από τον John Hopfield. Έχουν το χαρακτηριστικό ότι χρησιμοποιούν μηχανισμό ανάδρασης και συνεπώς η έξοδος του κάθε νευρώνα θα χρησιμοποιείται ως είσοδος για όλους τους άλλους νευρώνες, κάτι που δεν έχουμε δει μέχρι τώρα στα προηγούμενα. Η συγκεκριμένη κατηγορία δικτύων παρέχει μεγάλες υπολογιστικές ικανότητες και είναι σε θέση να λύσει δύο διαφορετικές κατηγορίες προβλημάτων. Πρώτα, προβλήματα μνήμης συνειρμού (associative memory) και δεύτερον προβλήματα βελτιστοποίησης (optimization) [Ref 1]. Ο Hopfield έδειξε ότι τα μοντέλα των φυσικών συστημάτων μπορούν να χρησιμοποιηθούν για να λύσουν υπολογιστικά προβλήματα. Η σπουδαιότητα των δικτύων αυτών στην πρακτική τους εφαρμογή θεωρείται αρκετά περιορισμένη λόγω των θεωρητικών μετριασμών της δομής του δικτύου, αλλά σε συγκεκριμένες συνθήκες, μπορούν να σχηματίσουν πολύ ενδιαφέροντα δομικά μοντέλα. Τα δίκτυα Hopfield συνήθως χρησιμοποιούνται σε προβλήματα ταξινόμησης δυαδικών προτύπων υποστηρίζοντας διαφορετικά πρότυπα και διαφορετικές κλάσεις που η κάθε μία αντιπροσωπεύεται από ένα διαφορετικό διάνυσμα εισόδου. Εφόσον το μοντέλο εκπαιδευτεί μέσω της παρουσίασης των διαφορετικών προτύπων, ύστερα μπορούμε να παρουσιάσουμε στο δίκτυο οποιοδήποτε διάνυσμα εισόδου αντιπροσωπεύοντας κάποιο «κατεστραμμένο» πρότυπο και το δίκτυο θα είναι σε θέση να μας εξάγει το πρότυπο στο οποίο το διάνυσμα ανατίθεται [Ref. 29]. Έτσι τα δίκτυα Hopfield είναι σε θέση μέσω της σταθερής κατάστασης που τα χαρακτηρίζουν να συγκλίνουν πάντα σε κάποιο ελάχιστο, χωρίς όμως να εγγυούνται ότι το ελάχιστο θα είναι ολικό παρά κάποιο τοπικό. Περιστασιακά τα δίκτυα αυτά καλούνται και συνειρμικά δίκτυα (associative networks) εφόσον μέσω της τεχνικής τους συνείδησης μπορούν να συνδέσουν κάθε κλάση σε οποιοδήποτε δείγμα εισόδου τους παρουσιαστεί. Ένα σημαντικό προτέρημα είναι ότι για την εκπαίδευση του δικτύου υπάρχει ανάγκη από μόνο ένα αντιπροσωπευτικό δείγμα εισόδου της κάθε κλάσης. Ενώ για την πιο αποτελεσματική λειτουργία τα αντιπροσωπευτικά δείγματα που θα παρουσιαστούν στο δίκτυο θα πρέπει να είναι ασυσχέτιστα [Ref. 29]. P a g e 127

129 5.2.1 ΔΟΜΗ ΤΟΥ ΔΙΚΤΥΟΥ HOPFIELD Τα δίκτυα τύπου Hopfield αποτελούνται από ένα μόνο επίπεδο με πολλές όμως μονάδες (νευρώνες). Στα δίκτυα αυτά όμως η έννοια των επιπέδων νευρώνων είναι διαφορετική από ό,τι έχουμε δει μέχρι τώρα. Δεν υπάρχει χωριστό επίπεδο εισόδου ή εξόδου. Κάθε νευρώνας δέχεται σήματα από το περιβάλλον και έχει εξόδους προς αυτό ενώ έχει τις ίδιες ιδιότητες όπως ο στοιχειώδης αισθητήρας. Στα δίκτυα Hopfield κάθε νευρώνας δίνει στην έξοδό του σήμα Si προς όλες τις άλλες μονάδες j, το οποίο σηματοδοτεί την κατάσταση του αισθητήρα. Το σήμα αυτό παράγεται μέσω του γνωστού μας τύπου (3.2) με την διαφοροποίηση ότι το άθροισμα γινομένων h(x) παράγεται από πρότυπα εισόδου δυαδικής κατάστασης. Με τον τρόπο αυτό μπορούμε να θέσουμε αυτή την έξοδο σαν την κατάσταση του αισθητήρα (Status) και για τον λόγο αυτό τα σήματα καταστάσεις των αισθητήρων τις ορίζουμε με την μεταβλητή S [Ref 1]. Συνήθως οι τιμές αυτές είναι 0 και 1 (binary values), αλλά αυτό δεν είναι απόλυτο, στη θεωρία που αναπτύσσουμε οι καταστάσεις αυτές αντιπροσωπεύονται από τις τιμές 1 και 1. Μία κατάσταση του συστήματος είναι πλήρης όταν δίδονται οι τιμές των μονάδων από τις οποίες αποτελείται, λ.χ. S = (s1, s2, s3,,sn) = (1,-1,1,,-1) για ένα δίκτυο με n μονάδες. Οι μονάδες του δικτύου έχουν πλήρη συνδεσμολογία, δηλαδή κάθε μονάδα συνδέεται με κάθε άλλη μονάδα στο σύστημα, έτσι για ένα δίκτυο με n μονάδες αυτό σημαίνει ότι θα έχουμε n(n 1) συνδέσεις. Αυτό ισχύει διότι κάθε μονάδα συνδέεται με κάθε άλλη μονάδα, αλλά όχι με τον εαυτό της. Στην γενική περίπτωση οι συνδέσεις έχουν και συγκεκριμένη κατεύθυνση. Έτσι σε κάθε ζευγάρι μονάδων που συνδέονται υπάρχει σύνδεση και προς τις δύο κατευθύνσεις, δηλαδή μεταξύ των μονάδων i και j υπάρχει η σύνδεση w ij και η σύνδεση w ji. Γενικά, στα δίκτυα Hopfield θα έχουμε πάντοτε ότι w ij = w ji, πράγμα που σημαίνει ότι τα βάρη θα είναι ίσα για σήματα και προς τις δύο κατευθύνσεις. Τότε εξασφαλίζεται ότι το δίκτυο συγκλίνει και καταλήγει σε μία σταθερή κατάσταση [Ref 1]. P a g e 128

130 Εικόνα 50. Δομή του νευρωνικού δικτύου Hopfield. Μία δομή δικτύου Hopfield φαίνεται στην εικόνα [50]. Το δίκτυο στην εικόνα αυτή έχει 4 νευρώνες. Άρα, έχουμε ένα σύνολο από n(n 1) = 4 x 3 = 12 συνάψεις. Από το Σχήμα αυτό βλέπουμε ότι το δίκτυο Hopfield χρησιμοποιεί τον μηχανισμό ανάδρασης (feedback mechanism), καθόσον η έξοδος από κάθε νευρώνα ταυτόχρονα γίνεται είσοδος για τους άλλους νευρώνες του δικτύου. H έξοδος υπολογίζεται πάλι και η διαδικασία αυτή επαναλαμβάνεται ξανά και ξανά. Εάν το δίκτυο είναι ευσταθές, οι αλλαγές που επιτελούνται σε κάθε κύκλο γίνονται συνεχώς μικρότερες και μικρότερες, μέχρις ότου τελικά οι έξοδοι δεν αλλάζουν καθόλου. Αν όμως το δίκτυο είναι ασταθές τότε, δεν συγκλίνει ποτέ και παρουσιάζει χαρακτηριστικά χαοτικού συστήματος. Εδώ ασχολούμαστε μόνο με ευσταθή δίκτυα. Όλα τα δίκτυα που εξετάσαμε σε προηγούμενα κεφάλαια, όπως ο αισθητήρας, το δίκτυο οπισθοδιάδοσης κτλ. δεν χρησιμοποιούν το φαινόμενο ανάδρασης [Ref 1] ΔΙΑΔΙΚΑΣΙΑ ΕΚΠΑΙΔΕΥΣΗΣ ΤΟΥ ΔΙΚΤΥΟΥ HOPFIELD Η εκπαίδευση στα δίκτυα αυτά γίνεται με τρόπο συναφή με τις προηγούμενες κατηγορίες δικτύων. Οι βασικές διεργασίες γίνονται σε κάθε νευρώνα χωριστά, όπου και εδώ οι παράμετροι που υπεισέρχονται είναι οι τιμές των εισερχομένων σημάτων και τα βάρη των συνάψεων. Έτσι μέσω του τύπου (3.2) πραγματοποιείται η άθροιση των σημάτων Χ i με τα αντίστοιχα βάρη και εξάγουμε την κατάσταση του νευρώνα S. Το νέο κριτήριο είναι τώρα το εξής ότι εάν το S είναι θετικό, τότε η έξοδος του συγκεκριμένου νευρώνα είναι 1, ενώ εάν είναι αρνητικό τότε η έξοδος είναι -1 [Ref 1]. P a g e 129

131 Αυτό σημαίνει ότι έχουμε και εδώ μια κρίσιμη τιμή, ένα κατώφλι με τιμή ίση με το μέσο του εύρους των δύο τιμών που χρησιμοποιούμε για να θέσουμε τη κατάσταση του κάθε νευρώνα. Στη περίπτωση που αναλύουμε το μέσω των τιμών που αντικατοπτρίζει το κατώφλι είναι η τιμή 0 αφού το εύρος είναι [-1,1]. Το δίκτυο Hopfield έχει ως χαρακτηριστικό ότι οι νευρώνες του συνεχώς αναπροσαρμόζονται. Αυτό αποτελεί την εκπαίδευση του δικτύου. Αρχικά μπορεί να βρίσκεται σε μία τυχαία κατάσταση, και ακολούθως κάθε νευρώνας αναπροσαρμόζει την κατάσταση του, ακολουθώντας κάποιους κανόνες, ως συνάρτηση του χρόνου (αυθαίρετες μονάδες χρόνου). Κατά την αναπροσαρμογή αυτή μερικές φορές η κατάσταση των νευρώνων αλλάζει, ενώ μερικές φορές παραμένει η ίδια. Η εκπαίδευση ολοκληρώνεται όταν δεν πραγματοποιούνται πλέον άλλες αλλαγές σε όλους τους νευρώνες του δικτύου [Ref 1]. Τα δίκτυα Hopfield ως δίκτυα συνειρμικής μνήμης κατέχουν σταθερά βάρη τα οποία δεν αλλάζουν κατά την εκπαίδευση. Ουσιαστικά τα βάρη αυτά αρχικοποιούνται στην εκκίνηση της διαδικασίας και μετά χρησιμοποιούνται για να ανανεώσουν τις καταστάσεις των αισθητήρων εφόσον παρουσιαστεί κάποιο πρότυπο προς αναγνώριση. Για το λόγο αυτό το πιο κρίσιμο σημείο της εκπαίδευσης αποτελεί την εύρεση των βαρών αυτών [Ref. 4]. Παρουσιάζονται τα πρότυπα στο δίκτυο, και τα βάρη w κανονίζονται κατευθείαν από τις τιμές των προτύπων, και όχι με αρχικά τυχαίες τιμές, όπως συμβαίνει στα προηγούμενα κεφάλαια. Το δίκτυο τώρα παριστάνει μία μνήμη, είναι δηλ. ένας αποθηκευτικός χώρος στον οποίο μπορούμε να φυλάξουμε μία πληροφορία. Η διαδικασία για να αποθηκεύσουμε στο δίκτυο λ.χ. ένα διάνυσμα, είναι να πάρουμε το εξωτερικό γινόμενο του διανύσματος επί τον εαυτό του. Αυτό παράγει μία μήτρα, η οποία περιέχει τα βάρη ενός δικτύου Hopfield [Ref 1]. Εάν υποθέσουμε ότι επιθυμούμε να αποθηκεύσουμε στη μνήμη του συστήματος πολλαπλά πρότυπα, τότε ο κανόνας του hebb μας παρέχει τα καλύτερα αποτελέσματα. Ο κανόνας αυτός απαιτεί εφόσον κατέχουμε τα m διανύσματα πρότυπα να ορίσουμε τα ορθογώνια πρότυπα X j μέσω της εισόδου X i έτσι ώστε η αρχικοποίηση των βαρών για κάθε πρότυπο p να πραγματοποιείται από τον παρακάτω τύπο (Hebbian Rule): m ( p) ( p) (5.8) W X X X X ij i j j i p1 Με τον τρόπο αυτό ορίζονται τα βάρη των συνδέσεων όλων των νευρώνων προς όλους τους υπόλοιπους του δικτύου. Εφόσον όμως κανένας νευρώνας δεν συνδέεται με τον εαυτό του θα πρέπει τα διαγώνια στοιχεία του πίνακα που εκπροσωπούν τις συνδέσεις W ii για όλους του νευρώνες να μηδενιστούν. Ο πολλαπλασιασμός με έναν ταυτοτικό πίνακα ιδίου μεγέθους, με P a g e 130

132 το πίνακα βαρών, αλλαγμένων όμως των στοιχείων του μέσω του λογικού τελεστή ~, μπορεί να μας παρέχει την επιθυμητή λύση. W W (~ I ) (5.9) [ j j] [ j j] [ j j] x x x Τα δίκτυα συνειρμικής μνήμης αποτελούν αυτοσυσχετιζόμενα δίκτυα εφόσον οι πίνακες που παράγονται από τον κανόνα Hebb είναι συμμετρικοί. Για να το αντιληφθούμε αυτό, ορίζουμε το X ως πίνακα m προτύπων και n στοιχείων, έτσι ώστε αφού ο πίνακας βαρών W υποδηλώνει έναν πίνακα σύνδεσης αυτοσυσχετιζόμενης μνήμης, τότε ισχύει ότι X=sign(XW) και X T =sign(w X T ) όταν X και X T είναι διαγώνιοι και ο πίνακας W είναι συμμετρικός [Ref. 4]. Με τον τρόπο αυτό έχουμε αρχικοποιήσει τον πίνακα βαρών με τον οποίο θα ανανεώνουμε τις καταστάσεις S (States) των νευρώνων. Η ανανέωση αυτή γίνεται σε κάθε χρονική στιγμή t για κάθε noise pattern (np) που επιθυμούμε να αναγνωρίσουμε με χρήση του τύπου : np np j ij i j i1 np (5.10) S t W S t b Να σημειωθεί ότι ως σταθερές καταστάσεις στο δίκτυο (ολικά ελάχιστα) δεν αποτελούν μόνο τα S j με τα οποία έχει αρχικοποιηθεί ο πίνακας βαρών αλλά και τα S j, αφού η ενέργεια του κάθε προτύπου θα είναι ακριβώς η ίδια. Η ανανέωση των καταστάσεων μπορεί να γίνει είτε ασύγχρονα επιλέγοντας με τυχαίο τρόπο ξεχωριστά κάθε νευρώνα για την ανανέωση, είτε σύγχρονα επιλέγοντας σειριακά όλους τους νευρώνες. Στην μεθοδολογία που αναπτύσσουμε έχουμε επιλέξει την σύγχρονη ανανέωση, η οποία πραγματοποιείται με εφαρμογή του τύπου που περιγράψαμε ΣΥΝΑΡΤΗΣΗ ΕΝΕΡΓΕΙΑΣ ΔΙΚΤΥΟΥ Το δίκτυο Hopfield χαρακτηρίζεται από μία παράμετρο Ε, που εξαρτάται από τα σήματα εισόδου και τα βάρη, και η οποία είναι αντίστοιχη της ενέργειας σε φυσικά προβλήματα, αν και το Ε σε ένα νευρωνικό δίκτυο δεν υποδηλώνει καμία φυσική ποσότητα. Η ενέργεια του δικτύου υπολογίζεται μέσω του τύπου : n 1 W S S S b, S S 2 (5.11) i, k p p p p ik i k i i i k i P a g e 131

133 Παρατηρούμε ότι το άθροισμα των γινομένων κάθε στοιχείου της εισόδου S i του προτύπου p με το πίνακα βαρών και το ορθογώνιο στο πρότυπο S i, πρότυπο S k, ακολουθώντας τον τύπο (5.10) σε κάθε βήμα σύγκλισης, αποτελεί την συνολική ενέργεια του δικτύου. Με τις αλλαγές που πραγματοποιούνται στα θορυβώδη πρότυπα κατά την διάρκεια της εκπαίδευσης, το Ε αλλάζει με τον χρόνο αφού αλλάζει και το διάνυσμα της εξόδου S j κάθε φορά μετά τον επανυπολογισμό των καταστάσεων. Η απαίτηση του δικτύου Hopfield είναι ότι η συνάρτηση Ε κατά την διάρκεια της αναπροσαρμογής ελαχιστοποιείται, λόγω του αρνητικού πρόσημου, όπως θα περιμέναμε και σε ένα φυσικό πρόβλημα, αν το Ε ήταν η ενέργεια του συστήματος. Σε κάθε αναπροσαρμογή η παράμετρος Ε ή ελαττώνεται ή παραμένει η ίδια. Ποτέ δεν μεγαλώνει, κατ αντίθεση με άλλες κατηγορίες δικτύων, όπως είναι λ.χ. τα δίκτυα Boltzmann που θα δούμε σε επόμενο κεφάλαιο. Κατά την διάρκεια εκτέλεσης του αλγορίθμου παρατηρούμε ότι η διαφορά της ενέργειας σε κάθε βήμα σύγκλισης ως προς την προηγούμενη είναι πάντα αρνητικός αριθμός. Αυτό σημαίνει ότι το σύστημα θα βαίνει προς ένα ελάχιστο της παραμέτρου Ε. Όπως και με προηγούμενες μεθόδους το ελάχιστο αυτό μπορεί να είναι τοπικό ή ολικό. Αν τύχει το σύστημα να εγκλωβιστεί σε ένα τοπικό ελάχιστο τότε δεν μπορεί να ξεφύγει και έτσι τελικά δεν μπορεί να βρει το επιθυμητό ολικό ελάχιστο, τότε το σύστημα θα μας έχει δώσει μια ικανοποιητική λύση, αλλά όχι την βέλτιστη. Εάν θέλουμε πραγματικά να βρούμε την βέλτιστη λύση, τότε πρέπει να επανεκκινήσουμε την διαδικασία με διαφορετικές αρχικές συνθήκες, ελπίζοντας ότι δεν θα παγιδευτεί σε τοπικό ελάχιστο όπως πριν ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ HOPFIELD Στο σημείο αυτό θα αναπτύξουμε τον αλγόριθμο Hopfield με χρήση του προγράμματος Matlab. Χρησιμοποιώντας όλα τα θεωρητικά στοιχεία που εξηγήσαμε θα ερευνήσουμε τα χαρακτηριστικά και την αποτελεσματικότητα του αλγορίθμου. Τα δεδομένα εισόδου που χρησιμοποιούμε αποτελούν ένα μονοδιάστατο σήμα το οποίο μορφοποιούμε κατάλληλα για την οπτικοποίηση των αποτελεσμάτων. Ο αλγόριθμος που έχουμε αναπτύξει αποτελείται από τρία αρχεία με συνδυασμό των οποίων πραγματοποιείται η τελική εκτέλεση. Πιο συγκεκριμένα ο βασικός κορμός εντοπίζεται στο αρχείο Ηopfield.m το οποίο καλεί τα αρχεία RandNoise.m και CalcEnrgy.m. Τα καλούμενα αρχεία είναι διαδοχικά υπεύθυνα τόσο για την εφαρμογή τυχαίου θορύβου όσο και για τον υπολογισμό της ενέργειας κατά την εκτέλεση. Συνοπτικά ο σκοπός του αλγορίθμου είναι να παρουσιάσουμε κάποιες δυαδικές σειρές από πρότυπα εισόδου, που στην περίπτωση P a g e 132

134 μας αναπαριστούν τους αριθμούς ένα έως τέσσερα και με τα πρότυπα αυτά να κατασκευάσουμε τον πίνακα βαρών. Στην συνέχεια θέτουμε τυχαίο θόρυβο κανονικής κατανομής στα πρότυπα εισόδου και μέσω του πίνακα βαρών είμαστε σε θέση να αναγνωρίσουμε την κατηγορία που ανήκει το κάθε πρότυπο. Κατά την εκκίνηση της εκτέλεσης στο κύριο αρχείο Ηopfield.m αρχικοποιούμε τα πρότυπα εισόδου στα διανύσματα num1 έως num4, ορίζοντας αντίστοιχα την μορφολογική δυαδική αντιστοιχία των αριθμών ένα έως τέσσερα. Προς διευκόλυνση της εύρεσης του πίνακα βαρών κάνουμε concatenate των διανυσμάτων εισόδου δημιουργώντας ένα τελικό πίνακα δεδομένων που αποθηκεύουμε στον πίνακα nums. Για την αρχικοποίηση των βαρών χρησιμοποιούμε τον μαθηματικό τύπο του Hebb (5.8) εξάγοντας τα τελικά βάρη στο πίνακα W. Όπως έχουμε ήδη αναφέρει κανένας νευρώνας δεν συνδέεται με τον εαυτό του παρά μόνο με όλους τους υπόλοιπους νευρώνες που συναποτελούν το δίκτυο. Για το λόγο αυτό η διαγώνιος του πίνακα βαρών πρέπει να εμπεριέχει μηδενικά στοιχεία. Η πράξη αυτή γίνεται μέσω του τύπου (5.9) διατηρώντας έτσι όλα τα στοιχεία του πίνακα βαρών ανέπαφα, μηδενίζοντας όμως τη διαγώνιο του. Στη συνέχεια καλούμε τη συνάρτηση CalcEnrgy.m με ορίσματα το διάνυσμα εισόδου, τα τελικά συναπτικά βάρη που εξήχθησαν από κανόνα hebb και το bias του κάθε νευρώνα. Ως έξοδο αποθηκεύουμε στη μεταβλητή InitEnergy τις αρχικές ενέργειες των δειγμάτων εισόδου, οι οποίες είναι και οι τελικές στοχευμένες ενέργειες του προτύπου προς αναγνώριση. Ακολούθως καλούμε τη συνάρτηση θορύβου με ορίσματα εισόδου τα δεδομένα εισόδου, το μέγεθος του πίνακα των δεδομένων αυτών καθώς επίσης και το κατώφλι θορύβου n. Το κατώφλι αυτό έχει αρχικοποιηθεί στη τιμή 0.3 αλλά μπορεί να διαμορφωθεί ανάλογα. Θέτοντας το κατώφλι θορύβου σε κάποια τιμή εντός της συνάρτησης τυχαίου θορύβου κανονικής κατανομής, επηρεάζουμε το ποσοστό των συνιστωσών που αποτελούν το διάνυσμα εισόδου. Για την ακρίβεια εντός του αρχείου RandNoise.m καλούμε επανειλημμένα τη συνάρτηση rand() ελέγχοντας εάν η τυχαία παραγόμενη τιμή είναι μεγαλύτερη ή μικρότερη από το κατώφλι θορύβου. Με τον τρόπο αυτό θέτουμε τυχαίο θόρυβο αναστρέφοντας [-1 1,1-1] το ποσοστό των συνιστωσών που ορίζεται από το κατώφλι. Τα θορυβώδη δεδομένα πλέον αποθηκεύονται με την ίδια σειρά στο πίνακα NoiseInput, τα οποία καλούμαστε να κατηγοριοποιήσουμε. Εάν αντιστρέψουμε μεγαλύτερο ποσοστό από τα μισά στοιχεία του αρχικού προτύπου, τότε πιθανόν το εκάστοτε πρότυπο θα συγκλίνει στο - X i εφόσον και αυτό θεωρείται σταθερή κατάσταση του δικτύου. Κάθε αλλοιωμένο δεδομένο αποθηκεύεται εντός του βρόγχου for στη μεταβλητή NoiseChr, όπως επίσης για κάθε δεδομένο αρχικοποιούμε την σημαία ανανέωσης κατάστασης P a g e 133

135 UpdatingFlag στην τιμή ένα. Όσο η τιμή αυτή είναι αληθές ή οι επαναλήψεις εκτέλεσης είναι μικρότερες απο 100, οι νευρώνες του δικτύου θα αναπροσαρμόζονται με τις νέες τιμές μέσω του μαθηματικού τύπου (5.10). Η πράξη αυτή πραγματοποιείται με σύγχρονο τρόπο σε όλους τους νευρώνες ταυτόχρονα NoiseChrUpd=sign(W*NoiseChr'+bias)'. Από το βρόγχο επανάληψης αναγνώρισης εξερχόμαστε μόνο όταν οι ανανεωμένες τιμές των νευρώνων είναι ίδιες με τις προηγούμενες ~isequal(noisechrupd,noisechr) θέτοντας τη σημαία ανανέωσης κατάστασης στην τιμή μηδέν, η οποία με τη σειρά της μας οδηγεί εκτός του βρόγχου while. Σε κάθε βήμα ανανέωσης καλούμε τη συνάρτηση υπολογισμού ενέργειας CalcEnrgy με ορίσματα εισόδου τις τιμές κατάστασης των νευρώνων σε όλη τη διάρκεια ανανέωσης τους. Σύμφωνα με το τύπο (5.11) υπολογίζουμε τη νέα τιμή ενέργειας για το συγκεκριμένο δείγμα, υπολογίζοντας το άθροισμα των γινομένων των καταστάσεων των συναπτικών βαρών ύστερα από κάθε ανανέωση τους συμπεριλαμβάνοντας και τον όρο κανονικοποίησης -(1/2)και εξάγοντας κάθε φορά το αποτέλεσμα στη τοπική μεταβλητή Energy. Ακολουθώντας τη θεωρία η ενέργεια αυτή πρέπει να μειώνεται σε κάθε επανάληψη, καθώς ο αλγόριθμος συγκλίνει σε κάποιο ελάχιστο, τοπικό ή ολικό, στη συνάρτηση της ενέργειας. Ο όρος bias στη περίπτωσή μας είναι μηδενικός αφού το κατώφλι της συνάρτησης ενεργοποίησης του κάθε νευρώνα είναι στη τιμή μηδέν, δηλαδή στην αρχή των αξόνων. Η τιμή της διαφοράς της ενέργειας σε κάθε βήμα επανάληψης αποθηκεύεται στη μεταβλητή de, η οποία όπως προαναφέραμε είναι πάντα αρνητική. Να σημειωθεί ότι σε αναλογία των ονομάτων των μεταβλητών που χρησιμοποιούμε ως προς τις μαθηματικές μεταβλητές, ακολουθούμε τον εξής συμβολισμό : NoiseChr=Si, NoiseChrUpd=Sj, bias=θi. Εφόσον ολοκληρωθεί η διαδικασία της αναγνώρισης αποθηκεύουμε για κάθε χαρακτήρα τις τελικές τιμές κατάστασης των νευρώνων ResultChar(i,:)=NoiseChr. Για να αντιληφθούμε την αποτελεσματικότητα του αλγορίθμου, εκτυπώνουμε τα παραγόμενα δεδομένα που εξάγονται με χρήση της συνάρτησης plot. P a g e 134

136 Εικόνα 51. Αποτελέσματα αλγορίθμου αναγνώρισης ψηφίου με χρήση του δικτύου Hopfield, n=0.3. Στην εικόνα [51] παρατηρούμε την αποτελεσματικότητα των δικτύων Hopfield. Πιο αναλυτικά στη πρώτη στήλη εκτυπώνουμε τα διανύσματα εισόδου με τα οποία εκπαιδεύτηκε το δίκτυο και μέσω αυτών κατασκευάσαμε το πίνακα βαρών με χρήση του Hebbian κανόνα. Στη δεύτερη στήλη παρουσιάζουμε τα ίδια δεδομένα εμπεριέχοντας όμως θόρυβο κανονικής κατανομής. Παρατηρούμε ότι ο θόρυβος έχει επηρεάσει αρκετά τα δεδομένα εισόδου με αποτέλεσμα τα πρότυπα προς αναγνώριση να έχουν αλλάξει σε μεγάλο βαθμό σε σχέση με τα αρχικά. Στη τελευταία στήλη παρουσιάζονται τα δεδομένα εξόδου ύστερα από τη σύγκλιση του αλγορίθμου για κάθε ψηφίο χωριστά. Το γεγονός ότι τα δεδομένα εξόδου είναι ίδια με τα δεδομένα εισόδου που χρησιμοποιήθηκαν για την εκπαίδευση σηματοδοτεί την επιτυχή εκτέλεση του αλγορίθμου. Αυτό σημαίνει ότι στη συνάρτηση ενέργειας όλα τα τυχαία δεδομένα εισόδου εγκλωβίστηκαν σε ολικά ελάχιστα, τα οποία αντιπροσωπεύονται από τα αρχικά πρότυπα. Παρακάτω εμφανίζουμε τις ενέργειες τις οποίες έλαβε κάθε ψηφίο από το σημείο εκκίνησης έως το σημείο σύγκλιση της ενέργειας στα ελάχιστα αυτά. Εικόνα 52. Καταγραφή ενεργειών των προτύπων εκπαίδευσης κατά την εκτέλεση του αλγορίθμου Hopfield. P a g e 135

137 Βλέπουμε ότι σε μόλις δύο επαναλήψεις ο αλγόριθμος για κάθε ψηφίο σύγκλινε στα διαδοχικά ελάχιστα. Ακολουθώντας τη θεωρία και παρατηρώντας τα τελικά αποτελέσματα, επαληθεύεται ότι ο η ενέργεια σε κάθε βήμα ανανέωσης μικραίνει, εξάγοντας τα ολικά μέγιστα για τους αριθμούς [1,2,3,4] που είναι οι τιμές [-69,-65.8,-63.6,-58.4]. Τα αποτελέσματα αυτά είναι ικανοποιητικά για το συγκεκριμένο κατώφλι θορύβου. Εάν το κατώφλι αυτό αυξηθεί και συνεπώς αυξηθεί και ο θόρυβος, τότε οι τιμές εκκίνησης των ενεργειών των εισόδων προς αναγνώριση μπορεί να μας οδηγήσουν σε κάποιο τοπικό ελάχιστο. Το γεγονός αυτό παρατηρείται στα παρακάτω αποτελέσματα που πειραματικά έχουμε αυξήσει το κατώφλι θορύβου στη τιμή Εικόνα 53. Αποτελέσματα αλγορίθμου αναγνώρισης ψηφίων με χρήση του δικτύου Hopfield, n=0.36. Με χρήση του κατωφλίου αυτού η ενέργεια του διανύσματος δυαδικής κατάστασης που αντιπροσωπεύει τον αριθμό δύο έχει εγκλωβιστεί σε κάποιο τοπικό ελάχιστο. Έτσι όλες οι τελικές ενέργειες των υπόλοιπων δεδομένων εισόδου είναι ίδιες με πριν, εκτός του συγκεκριμένου που τώρα έχει εγκλωβιστεί στη τιμή [-69] αντί [-65.8]. Μία αναπαράσταση των προτύπων σε σχέση με την ενέργεια συνάρτησης παρουσιάζεται στην εικόνα [54] που ακολουθεί. P a g e 136

138 Εικόνα 54. Αναπαράσταση συνάρτησης ενέργειας και προτύπων προς αναγνώριση. Τα δίκτυα Hopfield όπως αναφέραμε στην εισαγωγή μπορούν να χρησιμοποιηθούν είτε σε προβλήματα συνειρμικής μνήμης, είτε σε προβλήματα βελτιστοποίησης. Στο παράδειγμα που αναπτύξαμε ασχοληθήκαμε μόνο με τη πρώτη κατηγορία προβλημάτων καθώς σκοπός μας ήταν να εισάγουμε στη εργασία μας την έννοια των δυαδικών προτύπων εισόδου και τη βασική μεθοδολογία κατηγοριοποίησης αυτών. Ιδίου τύπου πρότυπα χρησιμοποιούν και τα δίκτυα Boltzmann machines με τα οποία θα ασχοληθούμε στο επόμενο κεφάλαιο εισέρχοντας έτσι στα δομικά στοιχεία των στοχαστικών νευρωνικών δικτύων. P a g e 137

139 Listing 7.1 Hopfield_Bin.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : Hopfield_Bin.m Description : Character recognition using hopfield network Author : Monahopoulos Konstantinos clc;clear all;close all; Define a standard vector of 4 characters [ ] Number 1 array num1= [ ]; Number 2 array num2= [ ]; Number 3 array num3= [ P a g e 138

140 ]; Number 4 array num4= [ ]; Concatenate all numbers nums(1,:)=num1; nums(2,:)=num2; nums(3,:)=num3; nums(4,:)=num4; Initialize Weight matrix W=zeros(120); Hebb Rule weight matrix initialization for i=1:4 Xi=nums(i,:); Xj=nums(i,:)'; W=W+(Xj*Xi); mathematical function [5.8] Normalize weight matrix W=W/120; Set diagonal elements to zero so non of the neurons is connected to itself W=W.*(~eye(120)); mathematical function [5.9] Set the bias term is the mean of the different pattern components bias=(max(num1)+min(num1))/2; Create a noise threshold n=0.30; Energy matrix Energy=[]; InitEnergy=zeros(size(nums,1),1); for i=1:4 Calculate Energy InitEnergy(i)=CalcEnrgy(nums(i,:),nums(i,:)',W,bias); mathematical function [5.11] Initialize noise input matrix and result character matrix NoiseInput=zeros(size(nums)); ResultChar=zeros(size(nums)); NoiseChrUpd=zeros(1,size(nums,2)); P a g e 139

141 Set random noise to all characters by noise threshold coefficient for i=1:size(nums,1) NoiseInput(i,:)=RandNoise(nums(i,:),size(nums,2),n); Train hopfield network for i=1:size(noiseinput,1) Fetch each noise character NoiseChr=NoiseInput(i,:); Set Updating flag to "true". UpdatingFlag=1; iterations=0; While Updating flag is set to "true" and maximum iterations is less than > Keep updating neuron status. while (UpdatingFlag==1 && iterations<100) Increace iteration value iterations=iterations+1; Set update flag to zero UpdatingFlag=0; Asynchronus Hopfield network training Update each neuron at a time for k=1:size(w,2) hi=0; for j=1:size(w,1) hi=hi+(w(k,j)*noisechr(j)); NoiseChrUpd(k)=sign(hi); Threshold state [+1,-1] Calculate Energy Energy(i,iterations)=CalcEnrgy(NoiseChr,NoiseChr,W,bias); mathematical function [4.11] network if (iterations>1) de is always negative minimizing the energy untill reach steady state!! de(i,iterations-1)=energy(i,iterations)- Energy(i,iterations-1); Check if the new neurons status is the same as the previous status. If not update the neurons status else training is finished for that pattern. if ~isequal(noisechrupd,noisechr) UpdatingFlag=1; NoiseChr=NoiseChrUpd; ResultChar(i,:)=NoiseChr; P a g e 140

142 Plot the results figure(1); origcoor=[ ]; for i=1:length(origcoor) subplot(4,3,origcoor(i)),imshow(reshape(nums(i,:),[10,12])') title('original character'); corcooor=[ ]; for i=1:length(corcooor) subplot(4,3,corcooor(i)),imshow(reshape(noiseinput(i,:),[10,12])') title('noise Character'); resultcoor=[ ]; for i=1:length(resultcoor) ResultChar( ResultChar==-1 )=0; subplot(4,3,resultcoor(i)),imshow(reshape(resultchar(i,:),[10,12])') title('noise Character after network converge'); suptitle('character Recognition - Hopfield Net') P a g e 141

143 Listing 7.2 RandNoise.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : RandNoise.m Description : Set noise with a propabilistic NoiseRatio coefficient Author : Monahopoulos Konstantinos function [NoiseChArray] = RandNoise (CharArray, Length, NoiseRatio) for k=1:1:length if (rand()<noiseratio) CharArray(k) = -CharArray(k); NoiseChArray=CharArray; P a g e 142

144 Listing 7.3 CalcEnrgy.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : CalcEnrgy.m Description : Set noise with a propabilistic NoiseRatio coefficient Author : Monahopoulos Konstantinos function [ Energy ] = CalcEnrgy( Si,Sj,Wij,b) Energy = (-(1/2)*(Si*Wij*Sj)) - (sum(si.*b)); P a g e 143

145 ΚΕΦΑΛΑΙΟ 6: ΣΤΟΧΑΣΤΙΚΑ ΜΟΝΤΕΛΑ ΚΑΙ ΣΥΣΤΗΜΑΤΑ 6.1 ΤΥΧΑΙΑ ΦΑΙΝΟΜΕΝΑ Στους επιστημονικούς τομείς κατά την διερεύνηση διαφόρων συστημάτων, συχνά συναντάμε προβλήματα των οποίων η λύση δεν μπορεί να καθοριστεί με βεβαιότητα, και συνεπώς είναι καλύτερα η λύση να προσδιοριστεί με στοχαστικό (τυχαίο) τρόπο. Ένα παράδειγμα ενός τυχαίου τέτοιου πειράματος είναι το γύρισμα ενός νομίσματος. Η έξοδος ενός δίκαιου νομίσματος μπορεί να είναι είτε κορώνα είτε γράμματα, με την έξοδο να έχει ισομερή πιθανότητα. Η πιθανότητα μίας δοσμένης εξόδου ορίζεται ως η συχνότητα της εμφάνισης, όταν το πείραμα εκτελείται σε ένα μεγάλο αριθμό επαναλήψεων. Με άλλα λόγια όταν υποστηρίζουμε ότι υπάρχει ίση πιθανότητα κορώνας και γράμματος αυτό ισχύει εάν περιστρέψουμε το νόμισμα σε ένα μεγάλο (πρακτικά άπειρο) αριθμό επαναλήψεων. Περιμένουμε η έξοδος ενός τυχαίου πειράματος να έχει απρόβλεπτα αποτελέσματα, αφού ένα νόμισμα που παράγει την σειρά εξόδου ΓΚΓΚΓΚΓΚ (Γ=Γράμματα, Κ=Κορώνα) ή τη σειρά ΓΓΓΚΚΚΓΓΓΚΚΚ, δύσκολα μπορεί να χαρακτηριστεί σαν τυχαίο. Η έξοδος του νομίσματος σε κάθε εκτέλεση του πειράματος πρέπει να είναι απρόβλεπτη ή τυχαία, χωρίς να είμαστε σε θέση να μπορούμε να προβλέψουμε την επόμενη έξοδο, παρατηρώντας τις προηγούμενες εξόδους αφού η έξοδος κάθε μεμονωμένης εκτέλεσης είναι ασυσχέτιστη και ανεξάρτητη ως προς τις άλλες εκτελέσεις. Ενώ η έξοδος του πειράματος είναι τυχαία, η κατανομή της πιθανότητας της εξόδου μέσω ενός μεγάλου αριθμού επαναλήψεων ορίζεται από μη τυχαίες παραμέτρους. Στη περίπτωση του γυρίσματος ενός νομίσματος η πυκνότητα πιθανότητας είναι ίση με τη πιθανότητα της κορώνας, η οποία είναι 1/2 για ένα δίκαιο νόμισμα. Ακόμα όμως και το νόμισμα να μην είναι δίκαιο, πάλι η πυκνότητα πιθανότητας θα αποτελεί έναν αριθμό ανάμεσα στο 0 και το 1. Σαφώς στη πραγματικότητα το σύστημα περιγράφεται από μία ντετερμινιστική διαδικασία. Εάν καταφέρουμε και περιγράψουμε πλήρως τις συνιστώσες του πειράματος, όπως τη μάζα και τη ροπή αδράνειας του νομίσματος, την αρχική ταχύτητα κατά την εκκίνηση της περιστροφής, την ελαστικότητα της επιφάνειας, τη πυκνότητα της ατμόσφαιρας κλπ. μπορούμε να προβλέψουμε την έξοδο του νομίσματος με χρήση κάποιων ντετερμινιστικών εξισώσεων, όπως η εξίσωση του Euler για την δυναμική της ακαμψίας του σώματος, τη συνάρτηση Navier - Stokes για την αεροδυναμική κλπ. P a g e 144

146 Παρατηρούμε ότι για ένα τόσο απλό πείραμα όπως είναι το γύρισμα ενός νομίσματος ο αριθμός των μεταβλητών που χαρακτηρίζει το σύστημα είναι πολύ μεγάλος και οι έξοδοι των εξισώσεων είναι πολύ ευαίσθητοι στις μικρές αλλαγές στις τιμές των μεταβλητών. Η πολυπλοκότητα τέτοιων συστημάτων μας οδηγεί στη στατιστική ανάλυση των εξόδων με χρήση της μεθόδου Monte Carlo [Ref. 12]. 6.2 ΠΡΟΣΟΜΟΙΩΣΗ MONTE CARLO Η Monte Carlo προσομοίωση αποτελεί μια ευέλικτη μέθοδος για την ανάλυση της συμπεριφοράς ορισμένων δραστηριοτήτων, προγραμμάτων ή διαδικασιών που αφορούν την αβεβαιότητα. Η μέθοδος αυτή εφευρέθηκε από επιστήμονες το 1944 περίπου, και ονομάστηκε έτσι από την πόλη του Μονακό, εξαιτίας μιας ρουλέτας που αποτελεί μια απλή γεννήτρια τυχαίων αριθμών. Η μέθοδος Monte Carlo είναι μια κατηγορία υπολογιστικών αλγορίθμων που στηρίζονται σε επαναλαμβανόμενες τυχαίες δειγματοληψίες για τον υπολογισμό των αποτελεσμάτων τους και χρησιμοποιούνται συχνά κατά την προσομοίωση φυσικών και μαθηματικών συστημάτων. Λόγω της εξάρτησης από τον επαναλαμβανόμενο υπολογισμό τυχαίων αριθμών, οι Monte Carlo μέθοδοι είναι οι πλέον κατάλληλες προς υλοποίηση μέσω ενός υπολογιστή. Για το λόγο αυτό τείνουν να χρησιμοποιούνται περισσότερο σε προβλήματα που είναι αδύνατο να υπολογιστεί το ακριβές αποτέλεσμα με ντετερμινιστικό τρόπο [Ref. 30]. Οι Monte Carlo μέθοδοι προσομοίωσης είναι ιδιαίτερα χρήσιμοι στη μελέτη συστημάτων με μεγάλο αριθμό συνδυασμών βαθμού ελευθερίας, όπως τα υγρά, ισχυρά συνδεδεμένα στερεά, και η κυτταρική δομή. Γενικότερα, τέτοιου είδους μέθοδοι χρησιμοποιούνται για τη μοντελοποίηση των φαινομένων με σημαντική αβεβαιότητα όσον αφορά τους διαθέσιμους πόρους στηριζόμενοι ευρέως στα μαθηματικά. Μια άλλη κλασική χρήση της μεθόδου αποτελεί η αξιολόγηση των ολοκληρωμάτων, ιδιαίτερα των πολυδιάστατων, με περίπλοκες οριακές συνθήκες ενώ είναι ευρέως επιτυχείς μέθοδοι ανάλυσης κινδύνου σε σύγκριση με εναλλακτικές ευέλικτες μεθόδους όπως την ανθρώπινη διαίσθηση. Παρόλη τη χρησιμότητα τους, οι μέθοδοι Monte Carlo δεν συγκλίνουν σχετικά γρήγορα ενώ εξάγουν το επιθυμητό αποτέλεσμα μαζί με έναν εκτιμητή σφάλματος. Η μέθοδος Monte Carlo στηρίζεται κυρίως στο νόμο των μεγάλων αριθμών και στο κεντρικό οριακό θεώρημα που θα περιγράψουμε παρακάτω [Ref. 30]. P a g e 145

147 6.3 ΟΡΙΑΚΑ ΘΕΩΡΗΜΑΤΑ ΣΤΗ ΜΕΘΟΔΟ MONTE CARLO Όταν δυσκολευόμαστε να βρούμε την κατανομή ενός δείγματος για πεπερασμένο αριθμό δειγμάτων χρησιμοποιούμε στατιστικά δεδομένα για να προσεγγίσουμε τη κατανομή αυτή. Τα πιο σημαντικά θεωρητικά αποτελέσματα της Θεωρίας Πιθανοτήτων είναι τα Οριακά Θεωρήματα τα οποία ταξινομούνται σε δύο κατηγορίες. Στη πρώτη κατηγορία συμπεριλαμβάνονται οι Νόμοι των Μεγάλων Αριθμών (The Strong Law of Large Numbers - LLN) οι οποίοι δίνουν τη θεωρητική βάση της διαισθητικής και πειραματικής διαπίστωσης των Μαθηματικών του 18 ου - 19ου αιώνα σύμφωνα με την οποία, αν επαναλάβουμε ένα πείραμα τύχης πολλές φορές τότε αποδίδεται ο στατιστικός ορισμός της πιθανότητας του πειράματος. Έτσι οι Νόμοι των Μεγάλων Αριθμών συνιστούν ένα ισχυρό εργαλείο για τη μελέτη διάφορων θεωρητικών και εφαρμοσμένων προβλημάτων Πιθανοτήτων και Στατιστικής. Στη δεύτερη κατηγορία συμπεριλαμβάνεται το Κεντρικό Οριακό Θεώρημα σύμφωνα με το οποίο, κάτω από αρκετά γενικές συνθήκες, η κατανομή του αθροίσματος ενός μεγάλου αριθμού τυχαίων μεταβλητών μπορεί να προσεγγιστεί ικανοποιητικά από μία κανονική κατανομή [Ref. 31] ΝΟΜΟΣ ΤΩΝ ΜΕΓΑΛΩΝ ΑΡΙΘΜΩΝ Ο Ισχυρός Νόμος των Μεγάλων Αριθμών είναι ένα από τα πιο γνωστά αποτελέσματα της Θεωρίας Πιθανοτήτων. Σύμφωνα με το παρακάτω θεώρημα, το οποίο παρατίθεται χωρίς απόδειξη, κάτω από κατάλληλες υποθέσεις, ο δειγματικός μέσος μιας ακολουθίας ανεξάρτητων τυχαίων μεταβλητών που ακολουθούν μία κοινή κατανομή συγκλίνει σχεδόν βεβαίως προς τον θεωρητικό μέσο (τη μέση τιμή) της κατανομής. Έστω ότι μία ακολουθία ανεξάρτητων και ισόνομων τυχαίων μεταβλητών X n, n 1, 2, τέτοιων ώστε να υπάρχει η μέση τιμή και η διακύμανση της τυχαίας μεταβλητής X 1 (δηλαδή να ισχύει ότι EX 1 και 2 Var( X 1) ). Τότε το άθροισμα της τυχαίας μεταβλητής ως προς το σύνολο των δειγμάτων, συγκλίνει με πιθανότητα 1 στη θεωρητική μέση τιμή, που αποτελεί την αναμενόμενη τιμή της πιθανότητας, καθώς n, και άρα P ( lim X ) 1. n n n 1 n i (6.1) n i1 E x X X P a g e 146

148 6.3.2 ΚΕΝΤΡΙΚΟ ΟΡΙΑΚΟ ΘΕΩΡΗΜΑ Το Κεντρικό Οριακό Θεώρημα (The Central Limit Theorem - CLT) είναι ένα από τα πιο αξιοσημείωτα αποτελέσματα της Θεωρίας Πιθανοτήτων. Σύμφωνα με το παρακάτω θεώρημα, το άθροισμα ενός μεγάλου αριθμού ανεξάρτητων τυχαίων μεταβλητών ακολουθεί μία κατανομή η οποία προσεγγίζει την κανονική κατανομή. Έστω μία ακολουθία ανεξάρτητων και ισόνομων τυχαίων μεταβλητών X n, n 1, 2, τέτοιων ώστε EX 1 και 2 Var( X 1). Τότε, η τυχαία μεταβλητή : Z n X X X n 1 2 n (6.2) n συγκλίνει κατά κατανομή, καθώς n, στη συνάρτηση κατανομής της τυποποιημένης κανονικής κατανομής, κάθε 2 δηλαδή ισχύει ότι lim PZ x ( x) e dt, n x. Η τυχαία μεταβλητή Z n είναι ο γενικός όρος της ακολουθίας των τυποποιημένων δειγματικών μέσων. Το Κ.Ο.Θ. μας επιτρέπει να κατανοήσουμε το λόγο για τον οποίον η κανονική κατανομή κατέχει εξέχουσα θέση στη Θεωρία Πιθανοτήτων και στη Στατιστική. Τα χαρακτηριστικά του υπό εξέταση πληθυσμού περιγράφονται από κατάλληλες τυχαίες μεταβλητές που μπορούν να θεωρηθούν ως αποτέλεσμα άθροισης πολλών μικρών τυχαίων παραγόντων. Αν από έναν πληθυσμό που ακολουθεί οποιαδήποτε κατανομή με μέση τιμή μ και διασπορά σ 2, επιλέξουμε τυχαία δείγματα μεγέθους n και υπολογίσουμε τους μέσους τους, τότε, για μεγάλα n (θεωρητικά n ) η κατανομή αυτών των μέσων (των δειγματικών) είναι κατά προσέγγιση κανονική κατανομή με μέση τιμή επίσης μ και διασπορά σ 2 / n. Αυτό συμβαίνει για δειγματικούς μέσους υπολογισμένους από οποιαδήποτε κατανομή. Η μέση τιμή από μόνη της για την περιγραφή μιας κατανομής δεν δίνει την πλήρη πληροφορία αφού δεν γνωρίζουμε τη διακύμανση της κατανομής. Αντίθετα ο συνδυασμός της μέσης τιμής με τη διασπορά μπορεί να μας δώσει πιο ολοκληρωμένη στατιστική εκτίμηση αφού μας δίνει την πληροφορία πόσο τα δείγματα απέχουν από τη μέση τιμή. Ο μαθηματικός τύπος της διασποράς δίνεται παρακάτω. 2 n 1 2 x 2 t n 1 Xi X (6.3) n i1 για P a g e 147

149 Για να διαπιστώσουμε στη πράξη ότι η κατανομή των μέσων, λαμβάνοντας δείγματα από οποιασδήποτε κατανομής, ακολουθεί την κανονική κατανομή, θα πρέπει να πραγματοποιήσουμε στατιστική ανάλυση στα δεδομένα εξόδου. 6.4 ΣΤΑΤΙΣΤΙΚΗ ΕΚΤΙΜΗΣΗ ΣΤΗ ΜΕΘΟΔΟ MONTE CARLO ΔΕΙΓΜΑΤΟΛΗΠΤΙΚΗ ΚΑΤΑΝΟΜΗ Η στατιστική εκτίμηση αποτελεί μία διαδικασία μέσω της οποίας εξάγουμε τους παραμέτρους που χαρακτηρίζουν τη συμπεριφορά του τυχαίου πειράματος βασιζόμενοι σε ένα πολύ μεγάλο αλλά διακριτό αριθμό δειγμάτων της εξόδου. Στις περισσότερες περιπτώσεις εξάγουμε μία πυκνότητα κατανομής, βασιζόμενοι σε εύλογες παραδοχές και παρατηρήσεις μέσω ενός ιστογράμματος το οποίο περιγράφεται με αρκετές παραμέτρους. Το ιστόγραμμα ή αλλιώς η δειγματοληπτική κατανομή (Sampling Distribution) αντιπροσωπεύει τη κατανομή των δειγμάτων που συλλέξαμε για κάθε διαφορετικό στατιστικό χαρακτηριστικό. Έτσι όταν χρησιμοποιούμε επαναλαμβανόμενη δειγματοληψία σε ένα πληθυσμό και κάθε φορά υπολογίζουμε την ίδια στατιστική παράμετρο, η κατανομή που εξάγεται αποτελεί τη δειγματοληπτική κατανομή του στατιστικού [Ref. 12]. Η κατανομή εξόδου (Output Distribution) που παράγεται μέσω της Monte Carlo προσομοίωσης αποτελεί την δειγματοληπτική κατανομή πυκνότητας πιθανότητας που με τη σειρά της έχει προέλθει από μία άγνωστης μορφής κατανομή εισόδου. Η δειγματοληπτική κατανομή αυτή από οποιαδήποτε κατανομή και αν προέρχεται, αποδεικνύεται με αυστηρά μαθηματικά μέσω των οριακών θεωρημάτων, ότι ακολουθεί την κανονική κατανομή. Εικόνα 55. Διαδικασία υπολογισμού δειγματοληπτικής κατανομής. P a g e 148

150 Πιο συγκεκριμένα η κατανομή του στατιστικού ορίζεται ανάλογα το στατιστικό που συλλέγεις. Για παράδειγμα, εάν το στατιστικό που υπολογίζεις είναι η μέση τιμή, τότε η δειγματοληπτική κατανομή θα λάβει το όνομα δειγματοληπτική κατανομή του μέσου. Αν υποθέσουμε ότι ο πληθυσμός που παράγονται τα δεδομένα μπορεί να πάρει τις εξής πιθανές τιμές {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} και δειγματοληπτήσουμε τα δεδομένα με μέγεθος n=3, τότε κάποιες πιθανές τυχαίες δειγματοληψίες μπορεί να εξαχθούν με τη μορφή { 8, 3, 7}, { 2, 1, 5}, { 6, 3, 5}, { 10, 7, 5}. Εάν η μέση τιμή (X) του κάθε δείγματος υπολογιστεί, τότε αυτή θα ακολουθούσε τη μορφή 6, 2.67, 4.67, Εάν επαναλάβουμε τη διαδικασία για πρακτικά άπειρο αριθμό δειγμάτων τότε η δειγματοληπτική κατανομή του μέσου θα ακολουθεί τη κανονική κατανομή όπως ορίζει το Κεντρικό Οριακό θεώρημα [Ref. 12]. Εικόνα 56. Δειγματοληπτική κατανομή του μέσου. Κάθε στατιστικό έχει τη δικιά του δειγματοληπτική κατανομή. Για παράδειγμα, εάν αντί του μέσου υπολογίσουμε ως στατιστικό τον ενδιάμεσο (M d), τότε η δειγματοληπτική κατανομή του ενδιάμεσου θα εξάγει τις τιμές για το παραπάνω παράδειγμα δειγμάτων 7, 2, 5, 7, συμπληρώνοντας τη παρακάτω μορφή [Ref. 12]. Εικόνα 57. Δειγματοληπτική κατανομή του ενδιάμεσου. Όπως ο πληθυσμός της αρχικής κατανομής μπορεί να περιγραφεί με παραμέτρους, έτσι μπορεί να περιγραφεί και η δειγματοληπτική κατανομή. Η αναμενόμενη τιμή και η διακύμανση P a g e 149

151 οποιασδήποτε κατανομής αναπαριστώνται με τα σύμβολα m (mu) και 2 (Sigma squared). Συνήθως ο συμβολισμός της κάθε παραμέτρου ακολουθείται με το είδος του στατιστικού που συλλέγεις. Για παράδειγμα η μέση τιμή της δειγματοληπτικής κατανομής εφόσον αυτή προέρχεται από δειγματοληψία του μέσου θα συμβολιζόταν με μ X, αντιθετα η μέση τιμή της δειγματοληπτικής κατανομής εφόσον αυτή προέρχεται από δειγματοληψία του ενδιάμεσου θα συμβολιζόταν με μ Md [Ref. 12]. Η τετραγωνική ρίζα της διακύμανσης της δειγματοληπτικής κατανομής ορίζεται ως το τυπικό σφάλμα. Για να ξεχωρίζουμε τη κατανομή από την οποία προέρχεται το σφάλμα, το συμβολίζουμε με X αν προέρχεται από κατανομή μέσης τιμής ή αντίστοιχα με Md αν προέρχεται από κατανομή ενδιάμεσου. Οποιοδήποτε στατιστικό και εάν επιλέξουμε για να περιγράψουμε την αρχική κατανομή, εξάγοντας τις δειγματοληπτικές κατανομές κάθε στατιστικού με το ανάλογο τυπικό σφάλμα, μπορεί να περιγράψει την κατανομή εισόδου μέσω του στατιστικού αυτού. Παρόλα αυτά τα τελικά στατιστικά χαρακτηριστικά που επιλέγουμε θα είναι αυτά με το μικρότερο τυπικό σφάλμα. Στατιστικές μελέτες έχουν δείξει ότι το τυπικό σφάλμα του μέσου είναι πάντα μικρότερο από το τυπικό σφάλμα του ενδιάμεσου και για το λόγο αυτό προτιμάται σαν αντιπροσωπευτικό στατιστικό χαρακτηριστικό [Ref. 12]. Γνωρίζοντας ότι η δειγματοληπτική κατανομή είναι ολοκληρώσιμη στο πεδίο της αρχικής κατανομής και ουσιαστικά αποτελεί ένα περιγραφικό μοντέλο είμαστε σε θέση να ελέγξουμε την αξιοπιστία της. Όταν υπολογίσουμε τη δειγματοληπτική κατανομή τότε συλλέγουμε ένα μεμονωμένο δείγμα της αρχικής κατανομής, υπολογίζοντας το ανάλογο στατιστικό χαρακτηριστικό. Το στατιστικό αυτό συγκρίνεται με τη μέση τιμή του στατιστικού της δειγματοληπτικής κατανομής και παρατηρείται με ποια πιθανότητα αυτή η τιμή εξάγεται. Εάν η πιθανότητα είναι μεγαλύτερη ενός μέτρου που έχουμε θέσει εμείς (διαστήματος εμπιστοσύνης) τότε δεχόμαστε τη δειγματοληπτική κατανομή σαν αντιπροσωπευτική της αρχικής, ενώ σε αντίθετη περίπτωση τη απορρίπτουμε. Η διαδικασία αυτή πραγματοποιείται με χρήση τεχνικών της οικογένειας (Goodness Of Fit - GOF). Πιο συγκεκριμένα όταν ολοκληρωθεί η διαδικασία στατιστικής εκτίμησης της εξόδου, μπορούμε να εκτιμήσουμε την προσέγγιση της εξόδου του συστήματος εκτελώντας διαδικασίες ταιριάσματος κατανομών, όπως μέσω της τεχνικής Chi - Square. Με τη τεχνική αυτή μπορούμε να εξάγουμε τη πιθανότητα οι πραγματικές τιμές εξόδου του συστήματος να προέρχονται από την κατανομή εξόδου [Ref. 12]. O μαθηματικός φορμαλισμός για την εκτίμηση των βασικών χαρακτηριστικών αποτελείται από ορισμένες ιδιότητες που περιγράφουμε παρακάτω. Έστω ότι οι παρατηρήσεις τυχαίων δειγμάτων X 1, X 2,, X n (μεγέθους n) ακολουθεί τη κατανομή Ν(μ, σ 2 ). Τότε ο μαθηματικός P a g e 150

152 φορμαλισμός για την εκτίμηση των βασικών χαρακτηριστικών περιγράφεται από τα εξής χαρακτηριστικά : Μέση τιμή : X 1 n Xi n i 1 (6.4) Διακύμανση : 2 i1 2 Xi X n 1 (6.5) n 1 Τυπικό σφάλμα : 2 2 n X i X X i X n 1 1 n 1 n n (6.6) i1 i1 Το τελικό τυπικό σφάλμα μπορεί να χρησιμοποιηθεί για να αντιληφθούμε πόσο καλά προσεγγίσαμε την αρχική κατανομή μέσω της δειγματοληπτικής κατανομής που καταλήξαμε μετά από προσομοίωση αρκετών δειγματοληπτικών ομάδων. Το αποτέλεσμα του σφάλματος μπορεί να χρησιμοποιηθεί και σαν κανόνας διακοπής στη προσομοίωση Monte Carlo, συγκρίνοντας το κάθε φορά, ύστερα από χρήση κάθε επιπρόσθετης δειγματοληπτικής ομάδας ΕΚΤΕΛΕΣΗ ΠΕΙΡΑΜΑΤΟΣ ΡΙΨΗΣ ΝΟΜΙΣΜΑΤΟΣ Στο πείραμα της ρίψης ενός δίκαιου νομίσματος οι πιθανές τιμές που μπορεί να λάβει η έξοδος κατά την εκτέλεση είναι είτε 0 είτε 1. Έτσι κάθε φορά καταγράφουμε το αποτέλεσμα και υπολογίζουμε τη μέση τιμή ως παράμετρο για να εξάγουμε τη πιθανότητα της κορώνας ή του γράμματος αντίστοιχα. Περιμένουμε από την επαναλαμβανόμενη διαδικασία να είμαστε σε θέση να εκτιμήσουμε τη πιθανότητα των γεγονότων παρόλο που δεν μπορούμε να την αξιολογήσουμε αφού αυτό θα απαιτούσε άπειρο αριθμό επαναλήψεων. Έτσι μπορούμε να υποστηρίξουμε ότι η εμπιστευτικότητα του αποτελέσματος εξάγοντας τη κατανομή πιθανότητας αυξάνεται όσο αυξάνεται ο αριθμός επαναλήψεων του πειράματος. P a g e 151

153 Για παράδειγμα εάν περιστρέψουμε ένα νόμισμα 3 φορές μόνο και έρθει και τις τρείς φορές κορώνα θα αποφανθούμε εσφαλμένα ότι η πιθανότητα της κορώνας είναι 100. Σε αντίθετη περίπτωση εάν περιστρέψουμε το νόμισμα 100 ή και 1000 φορές μπορούμε να εμπιστευθούμε το αποτέλεσμα περισσότερο αφού αυτό θα είναι πολύ πιο αντιπροσωπευτικό. Για τη καλύτερη κατανόηση έχουμε αναπτύξει έναν αλγόριθμο μέσω του προγράμματος Matlab, εκτελώντας το συγκεκριμένο πείραμα. Το πρόγραμμα ονομάζεται MC_Flip_coin.m και ανατίθεται στην ενότητα Listing. Στον αλγόριθμο που αναπτύξαμε, για μεγάλο αριθμό δειγμάτων, αν αθροίσουμε τις φορές που ήρθε κορώνα και διαιρέσουμε τον αριθμό αυτό με το σύνολο των επαναλήψεων είμαστε σε θέση να εξάγουμε τη μέση τιμή (Expectation E[x]), η οποία καθώς γνωρίζουμε είναι η τιμή 0,5. Αυτό αποδεικνύεται τόσο θεωρητικά από το Νόμο των μεγάλων αριθμών όσο και πρακτικά. Παρακάτω αναθέτουμε το αποτέλεσμα του πειράματος αυτού μέσω του προγράμματος Matlab για το σύνολο των 300 επαναλήψεων αναθέτοντας τα ενδιάμεσα αποτελέσματα, για να παρατηρήσουμε τη διαδικασία της σύγκλισης και το αποτέλεσμα του μέσου. Οι κόκκινες γραμμές αντιπροσωπεύουν τη εκ των προτέρων πιθανότητα του κάθε γεγονότος ενώ οι μπλε μπάρες τη πιθανότητα μετά από προσομοίωση των συμβάντων. Εικόνα 58. Εξαγωγή αποτελεσμάτων πειράματος ρίψης νομίσματος. P a g e 152

154 Listing 8 MC_Flip_coin.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : MC_Flip_coin.m Description : Probability coin flip approximation Author : Monahopoulos Konstantinos clc;clear;close all; size=1; pl=1; N=round(linspace(10,300,4)); for n=1:length(n) Repeat random generation for N times Generate Random variables from Uniform distribution for i=1:n(n) rnd(i)=rand(); Head or tails (zero or one) rnd=round(size * rnd)+1; Initialize histogram histogram=zeros( 1,size+1); Sum the random results to the histogram for i=1:n(n) histogram(1, rnd(i))=histogram(1, rnd(i))+1; Normalize and plot the results subplot(1,4,pl),bar(0:size,(histogram/n(n))); hold on; stem(0:size,ones(1,2)*1/2,'r') hold off pl=pl+1; xlabel('x'); ylabel('probability'); suptitle('flip Coin Distribution Aproximation') Compute Statistics Exp=(0*histogram(1)+1*histogram(1)) / (histogram(1)+histogram(2)); Ph=histogram(1)/sum(sum(histogram)); Pt=(1-Ph); P a g e 153

155 variance=((0-exp)^2) * Ph + ((1-Exp)^2) * Ph; Print the Results fprintf('expectation - Mean is.3f\n',exp) ; fprintf('probability of heads is.3f\n',ph) ; fprintf('probability of tails is.3f\n',pt) ; fprintf('variance is.3f\n',variance); fprintf('se is.3f\n',sqrt(variance)); P a g e 154

156 6.4.3 ΕΚΤΕΛΕΣΗ ΠΕΙΡΑΜΑΤΟΣ ΡΙΨΗΣ ΖΑΡΙΟΥ Ένα άλλο κλασσικό παράδειγμα που αποδεικνύει τα οριακά θεωρήματα είναι να προσεγγίσουμε τη κατανομή που περιγράφει τις πιθανότητες μέσω της ρήξης ενός ζαριού. Ως γνωστόν, γνωρίζουμε εκ των προτέρων ότι η αναμενόμενη τιμή της κάθε διακριτής πιθανότητας είναι ίση με 1/6. Χρησιμοποιώντας τη μέθοδο της προσομοίωσης μπορούμε να προσεγγίσουμε τη πιθανότητα του κάθε γεγονότος να συμβεί. Για τη καλύτερη κατανόηση έχουμε αναπτύξει έναν αλγόριθμο μέσω του προγράμματος Matlab, εκτελώντας το συγκεκριμένο πείραμα. Το πρόγραμμα ονομάζεται MC_Roll_die.m και ανατίθεται στην ενότητα Listing. Μετά από 100 ρήξεις του ζαριού για 500 επαναλήψεις, μπορούμε να διαπιστώσουμε ότι η κατανομή του τυχαίου γεγονότος προσεγγίζει τη binomial κατανομή ή οποία ουσιαστικά αποτελεί τη κανονική κατανομή στη διακριτή της μορφή. Οι κόκκινες γραμμές αντιπροσωπεύουν τη εκ των προτέρων πιθανότητα του κάθε γεγονότος ανεξάρτητα να συμβεί ενώ οι μπλε μπάρες τη πιθανότητα μετά από προσομοίωση των συμβάντων. Όπως βλέπουμε και εδώ ισχύει το Κεντρικό Οριακό Θεώρημα προσεγγίζοντας τη binomial κατανομή. Εικόνα 59. Εξαγωγή αποτελεσμάτων πειράματος ρίψης ζαριού. Καθώς δειγματοληπτούμε όλο και περισσότερα δείγματα, η διακύμανση ως προς τη μέση δειγματοληπτική τιμή μειώνεται. Ως αποτέλεσμα με την αύξηση των επαναλήψεων, μειώνεται P a g e 155

157 και το τυπικό σφάλμα. Στη εικόνα [60] παρουσιάζουμε τη πορεία του τυπικού σφάλματος κατά την εκτέλεση των 500 επαναλήψεων. Εικόνα 60. Ιστορική καταγραφή τυπικού σφάλματος κατά τη διάρκεια εκτέλεσης του πειράματος ρίψης ζαριού. Listing 9 MC_Roll_die.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : MC_Roll_die.m Description : Rolling a Die approximation Author : Monahopoulos Konstantinos clc;clear;close all; die_out_history=[]; for i = 1:500 Repeat 500 times for j = 1:100 Roll the die 100 times rnd_die_out(j) = 1+round(5*rand()); Keep the means die_avr(i) = mean(rnd_die_out); P a g e 156

158 Save the rolling outputs die_out_history = [die_out_history rnd_die_out]; Plot Std Error hold on plot(i,sqrt(var(die_avr))/sqrt(i*j),'b.'); hold off pause(0.01) title('standar Error') xlabel('trials ->') ylabel('std/sqrt(n)') Expected values through the experiement figure; Exp=hist(die_out_history,6); subplot(1,2,1),bar(exp/(i*j)); title('expected values of probabilities') xlabel('die Output') ylabel('frequency') hold on; stem(1:6,ones(1,6)*1/6,'r') hold off Central Limit Theorem CLT=hist(die_avr, 6); subplot(1,2,2),bar(clt); title('central Limit Theorem - Binomial') xlabel('die means') ylabel('frequency') suptitle('rolling a die Distribution Aproximation') Print the Results fprintf('mean is.3f\n',mean(die_avr)) ; fprintf('variance is.3f\n',var(die_avr)); fprintf('standar error is.3f\n',sqrt(var(die_avr))/sqrt(i*j)); P a g e 157

159 6.4.4 ΕΚΤΕΛΕΣΗ ΠΕΙΡΑΜΑΤΟΣ ΤΥΧΑΙΑΣ ΣΥΝΑΡΤΗΣΗΣ Οι παραπάνω ιδιότητες στατιστικής εκτίμησης ισχύουν για όλες τις συναρτήσεις πυκνότητας πιθανότητας της αρχικής κατανομής. Για το λόγο αυτό επιθυμούμε να εξάγουμε τη δειγματοληπτική κατανομή επιλέγοντας τυχαίες προς δειγματοληψία κατανομές. Έτσι έχουμε αναπτύξει έναν αλγόριθμο στο πρόγραμμα Matlab πραγματοποιώντας το συγκεκριμένο πείραμα. Το πρόγραμμα ονομάζεται MC_Multiple_fnctns.m και ανατίθεται στην ενότητα Listing. Πραγματοποιώντας επανειλημμένα δειγματοληψία της αρχικής κατανομής αποδεικνύεται και εδώ το Κεντρικό Οριακό Θεώρημα. Παρακάτω αναδεικνύουμε τα αποτελέσματα για 500 επαναλήψεις, συλλέγοντας τυχαία κάθε φορά 100 δείγματα ανά επανάληψη από τυχαίες κατανομές εισόδου. Εικόνα 61. Εξαγωγή αποτελεσμάτων πειράματος τυχαίας συνάρτησης. P a g e 158

160 Listing 10 MC_Multiple_fnctns.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : MC_Multiple_fnctns.m Description : Central Limit Theorem on random sampling Author : Monahopoulos Konstantinos clc;clear;close all; Number of iterations N=500; Plot the functions that we want to find the means by law of large numbers subplot(3,2,1),plot( (0:1/(N-1):1),sqrt(0:1/(N-1):1),'b.') xlabel('x ->'); ylabel('f(x)=sqrt(x)'); subplot(3,2,3),plot( (0:1/(N-1):1),(0:1/(N-1):1).^2,'r.') xlabel('x ->'); ylabel('f(x)=x^2'); subplot(3,2,5),plot((0:1/(n-1):1),1./(pi.*(1+(0:1/(n-1):1).^2)),'g.') xlabel('x ->'); ylabel('f(x)=1/pi*x^2'); cnt=0; for i=1:n r1_h=[]; r2_h=[]; r3_h=[]; for j=1:100 cnt=cnt+1; Calculate each f(x) for random x r1=sqrt(rand()); r2val=rand(); r2=r2val*r2val; r3=1/(pi*(1+rand()^2)); r1_h(j)=r1; r2_h(j)=r2; r3_h(j)=r3; r1_h_v(cnt)=r1; r2_h_v(cnt)=r2; P a g e 159

161 r3_h_v(cnt)=r3; means_r1(i)=mean(r1_h); means_r2(i)=mean(r2_h); means_r3(i)=mean(r3_h); plot the results subplot(3,2,2),hist(means_r1,50); xlabel('n[μ,σ^2]'); ylabel('sample Means'); subplot(3,2,4),hist(means_r2,50); xlabel('n[μ,σ^2]'); ylabel('sample Means'); subplot(3,2,6),hist(means_r3,50); xlabel('n[μ,σ^2]'); ylabel('sample Means'); suptitle('central Limit Theorem in random equations'); fprintf('eq1 -> mean =.3f eq2 -> mean =.3f eq3 -> mean =.3f\n',... mean(r1_h_v),mean(r2_h_v),mean(r3_h_v)); fprintf('eq1 -> var =.3f eq2 -> var =.3f eq3 -> var =.3f\n',... var(r1_h_v),var(r2_h_v),var(r3_h_v)); fprintf('eq1 -> SE =.3f eq2 -> SE =.3f eq3 -> SE =.3f\n',... std(r1_h_v),std(r2_h_v),std(r3_h_v)); P a g e 160

162 6.5 ΕΚΤΙΜΗΣΗ ΠΕΡΙΟΧΩΝ ΜΕ ΤΗ ΜΕΘΟΔΟ MONTE CARLO ΟΛΟΚΛΗΡΩΣΗ MONTE CARLO Η μέθοδος ολοκλήρωσης Monte Carlo αποτελεί επίσης μία τεχνική αριθμητικής ολοκλήρωσης χρησιμοποιώντας τυχαίους αριθμούς. Έχουμε ήδη περιγράψει ότι οι παράμετροι που περιγράφουν πυκνότητες πιθανότητας μπορούν να εκτιμηθούν χρησιμοποιώντας ένα ορισμένο αριθμό από πραγματοποιήσεις της τυχαίας μεταβλητής, δημιουργώντας ένα όριο σφάλματος (με τη μορφή του διαστήματος εμπιστοσύνης) για την εκτίμηση αυτή. Σε αυτό το κεφάλαιο, παρουσιάζουμε τη μέθοδο Monte Carlo για την εκτίμηση του εμβαδού μίας ορισμένης περιοχής με δύο τρόπους. Με χρήση της μεθόδου προσέγγισης εμβαδού χρησιμοποιώντας τη μέση τιμή της δειγματοληπτικής κατανομής και χρησιμοποιώντας τη μέθοδο Acceptance/ Rejection. Για να ολοκληρώσεις μία περιοχή σε ένα πολυδιάστατο χώρο D, η μέθοδος Monte Carlo διαλέγει τυχαία σημεία σε μία ορισμένη περιοχή D που αποτελεί υπερσύνολο της D και ελέγχει όλα τα σημεία στη περιοχή D εκτιμώντας το εμβαδό της περιοχής ως περιοχή της D πολλαπλασιασμένη με το σύνολο των σημείων εντός της D. Διαλέγοντας N τυχαία σημεία ομοιόμορφα κατανεμημένα x 1, x 2,, x N σε ένα πολυδιάστατο χώρο V μπορούμε να ορίσουμε το εμβαδό της συνάρτησης f σε αυτό το χώρο. Το παραπάνω θεώρημα περιγράφεται μαθηματικά από τη σχέση : 2 2 f f N N fdv V f V, f f x, f f xi (6.7) N N N i i1 i1 Πιο συγκεκριμένα ας θεωρήσουμε ότι υπάρχει η συνάρτηση f(x): R d R, η οποία είναι ολοκληρώσιμη στο πεδίο ορισμού της. Θέλουμε να υπολογίσουμε το ολοκλήρωμα : x I f x dx (6.8) Το παραπάνω ολοκλήρωμα μπορεί να γραφεί ως : P a g e 161

163 x x f I f xdx x dx h x x dx E h x x x (6.9) Όπου h(x) = f(x) π(χ), αναπαριστώντας τη κανονικοποιημένη συνάρτηση f(x): Rd R στο διάστημα [0,1] και π(x) οποιαδήποτε μη μηδενική συνάρτηση πυκνότητας πιθανότητας. Το ζητούμενο ολοκλήρωμα δίνεται ως μία μέση τιμή της τυχαίας μεταβλητής h(x), οπου x ορίζεται στο διάστημα ολοκλήρωσης Χ και έχει συνάρτηση πυκνότητας πιθανότητας την π(x). Παίρνοντας ένα τυχαίο δείγμα X 1, X 2,, X n (μεγέθους n) από τον πίνακα π(x) μπορούμε να προσεγγίσουμε την Ε π (h) με το δειγματικό μέσο h n με χρήση του τύπου [5.1] ο οποίος περιγράφεται στα οριακά θεωρήματα μέσω του Νόμου των μεγάλων αριθμών. Συμπερασματικά λέμε ότι ο δειγματικός μέσος προσεγγίζει το ολοκλήρωμα της συνάρτησης f(x) συγκλίνοντας για μεγάλο αριθμό δειγμάτων. Όταν θέλουμε να υπολογίσουμε το εμβαδόν μιας συνάρτησης της μορφής Ε π (h) τότε θα δειγματοληπτήσουμε την h(x), όταν το X αποτελεί μία τυχαία μεταβλητή παραγόμενη από τη συνάρτηση π(x) που αποτελεί μία ανεξάρτητη και ισόνομα κατανεμημένη (i.i.d) πυκνότητας πιθανότητας. Αθροίζοντας τις τιμές που εξάγονται από την Ε π (h) και διαιρώντας με το σύνολο των δειγμάτων προσεγγίσουμε το ολοκλήρωμα της f(x) που αρχικά επιθυμούσαμε να υπολογίσουμε. Ένας δεύτερος τρόπος ολοκλήρωσης είναι μέσω της μεθόδου Acceptance / Rejection που ορίζεται σαν μέθοδος δειγματοληψίας από κατανομές. Παρακάτω θα εμφανίσουμε δύο παραδείγματα συγκρίνοντας τους τρόπου ολοκλήρωσης που περιγράψαμε ΕΚΤΕΛΕΣΗ ΠΕΙΡΑΜΑΤΟΣ ΥΠΟΛΟΓΙΣΜΟΥ ΕΜΒΑΔΟΥ ΜΟΝΑΔΙΑΙΟΥ ΚΥΚΛΟΥ Ένα κλασσικό παράδειγμα χρήσης της μεθόδου Monte Carlo (Acceptance / Rejection) για την αξιολόγηση ολοκληρωμάτων είναι η εκτίμηση της περιοχής ενός μοναδιαίου κύκλου. Φυσικά, ήδη γνωρίζουμε ότι η περιοχή ενός μοναδιαίου κύκλου είναι ίση με π, αλλά η διαδικασία υπολογισμού θα ήταν πολύ πιο δύσκολη εάν δεν γνωρίζαμε ότι η περιοχή (Area) ορίζεται ως A = πr 2. Ένας ντετερμινιστικός τρόπος υπολογισμού είναι να διακριτοποιήσουμε την περιοχή σε μικρά κομμάτια και να υλοποιήσουμε κάποιες ολοκληρωτικές διακριτές τεχνικές για την εύρεση της. Παρ' όλα αυτά, οι εφαρμογές διακριτών τεχνικών για τον υπολογισμό περιοχών, γίνονται όλο P a g e 162

164 και πιο δύσκολα εφαρμόσιμες, καθώς αυξάνεται η πολυπλοκότητα της περιοχής που θέλουμε να υπολογίσουμε. Αν θεωρήσουμε ότι η περιοχή ενδιαφέροντος του μοναδιαίου κύκλου εμπεριέχεται σε μία περιοχή μοναδιαίου τετραγώνου, τότε η έκταση της περιοχής ενδιαφέροντος ισούται με τη πιθανότητα ενός τυχαίου σημείου στο μοναδιαίο κύκλο ως προς τη περιοχή του μοναδιαίου τετραγώνου. Έτσι, προς αντιστοιχία με το πείραμα του γυρίσματος ενός νομίσματος, εάν ορίσουμε την τιμή του 0 (γράμματα) και την τιμή του 1 (κορώνα), κατά αναλογία του να διαλέξουμε ένα τυχαίο σημείο εκτός και εντός του μοναδιαίου κύκλου, μπορούμε να προσεγγίσουμε το εμβαδό της περιοχής εκτιμώντας τη πιθανότητα του να βρεθούμε μέσα στο μοναδιαίο κύκλο. Η διαδικασία αυτή πραγματοποιείται βρίσκοντας απλά το λόγο των τυχαίων σημείων που εντοπίστηκαν μέσα στον κύκλο ως προς τα σημεία εκτός αυτού. Ο λόγος αυτός (Ν /Ν), όπου Ν το σύνολο των σημείων εντός και Ν το σύνολο των σημείων εκτός, μας εξάγει το εμβαδό και για πολλαπλές επαναλήψεις ο λόγος αυτός θα συγκλίνει στον αριθμό π. Για τη καλύτερη κατανόηση έχουμε αναπτύξει έναν αλγόριθμο στο πρόγραμμα Matlab πραγματοποιώντας το συγκεκριμένο πείραμα. Το πρόγραμμα ονομάζεται MC_integration_Pi_Estimation.m και ανατίθεται στην ενότητα Listing. Ο αλγόριθμος εκτελείται επανειλημμένα για σημεία ομοιόμορφα κατανεμημένα στη περιοχή [0,1], υπολογίζοντας κάθε φορά το εμβαδό του μοναδιαίου κύκλου. Καθώς ο αριθμός των σημείων αυξάνει, προσεγγίζουμε όλο και περισσότερο τον αριθμό π, που αποτελεί και το τελικό επιθυμητό αποτέλεσμα. Η τελική τιμή προσέγγισης που υπολογίζεται μέσω του αλγορίθμου είναι Εικόνα 62. Υπολογισμός εμβαδού μοναδιαίου κύκλου μέσω της μεθόδου Acceptance / Rejection. P a g e 163

165 Listing 11 MC_integration_Pi_Estimation.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : MC_integration_Pi_Estimation.m Description : Estimate unit circle area A=pi*r^2 Author : Monahopoulos Konstantinos clc;clear all;close all; Plot a rectangular -1 to 1 subplot(1,2,1),hold on;rectangle('position',[ ]) Plot a circle, center 0,0 radius 1 th = 0:pi/50:2*pi; xunit = 1 * cos(th) + 0; yunit = 1 * sin(th) + 0; subplot(1,2,1),hold on;plot(xunit, yunit,'k'); xlabel('x ->'); ylabel('y->'); title('unit Circle'); Initialize percentage (in circle), piestimate percentage=0; piestimate=0; Number of Monte Carlo samples n=10000; for i=1:n x = 2*rand()-1; sample the input random variable x y = 2*rand()-1; sample the input random variable y isinside = (x^2 + y^2 < 1); is the point inside a unit circle? if isinside == 1 percentage=percentage+1; piestimate = 4*(percentage/i); estimate pi ratio subplot(1,2,1),hold on;plot (x,y,'r.'); hold off; else subplot(1,2,1),hold on; plot (x,y,'b.'); hold off ; Pause to see the intermediate results pause(0.01) subplot(1,2,2);hold on;plot(i,piestimate,'g.') xlabel('iterations'); ylabel('pi estimation'); title(['estimation pi # ' num2str(piestimate)]) hold off; suptitle('monte Carlo Unit Circle Area Estimation'); P a g e 164

166 6.5.3 ΕΚΤΕΛΕΣΗ ΠΕΙΡΑΜΑΤΟΣ ΥΠΟΛΟΓΙΣΜΟΥ ΕΜΒΑΔΟΥ ΠΟΛΥΩΝΥΜΙΚΗΣ ΣΥΝΑΡΤΗΣΗ Ο νόμος των μεγάλων αριθμών μπορεί να εφαρμοστεί σε οποιαδήποτε συνάρτηση εισόδου. Λαμβάνοντας επανειλημμένα τυχαία δείγματα από μία τυχαία συνάρτηση κατανομή μπορούμε να προσεγγίσουμε και να εκτιμήσουμε τη μέση τιμή που αναπαριστά το εμβαδό της συνάρτησης κατανομής. Όσο περισσότερα τα δείγματα τόσο περισσότερο προσεγγίζουμε το πραγματικό μέσο. Στο επόμενο παράδειγμα που παρουσιάζουμε στην εικόνα [63] εκτιμούμε το εμβαδό της συνάρτησης f(x) = x 2 πρώτα με τη μέθοδο προσέγγισης μέσου και αργότερα με τη μέθοδο Acceptance / Rejection, λύνοντας πρώτα το ολοκλήρωμα με ντετερμινιστικό τρόπο. Το ολοκλήρωμα ορίζεται εντός της περιοχής [0,1] και περιγράφεται από τη παρακάτω αριθμητική ντετερμινιστική λύση x dx Σε πρώτη φάση έχουμε αναπτύξει έναν αλγόριθμο στο πρόγραμμα Matlab που προσεγγίζει το εμβαδό της συνάρτησης εκτιμώντας τη μέση τιμή της, μέσω επαναλαμβανόμενης δειγμαληψίας. Το πρόγραμμα ονομάζεται MC_integration_by_M.m και εμπεριέχεται στην ενότητα Listing. Παρακάτω επισυνάπτουμε τα αποτελέσματα του αλγορίθμου για την πρώτη μέθοδο. Εικόνα 63. Υπολογισμός εμβαδού πολυωνυμικής συνάρτησης με τη μέθοδο των μέσων. P a g e 165

167 Παρατηρούμε ότι η μέθοδος των μέσων έχει προσεγγίσει πολύ ικανοποιητικά το ολοκλήρωμα της συνάρτησης f(x) = x 2 το οποίο θέλουμε να εκτιμήσουμε. Το αποτέλεσμα αυτής της μεθόδου είναι 0,33281 το οποίο προσεγγίζει τη ντετερμινιστική λύση στο τρίτο δεκαδικό ψηφίο εκτελώντας τον αλγόριθμο συνολικά για επαναλήψεις. Σε δεύτερη φάση έχουμε κατασκευάσει έναν δεύτερο αλγόριθμο στο πρόγραμμα Matlab που προσεγγίζει το εμβαδό της συνάρτησης με τη μέθοδο Acceptance / Rejection όπως χρησιμοποιήσαμε και στο προηγούμενο κεφάλαιο για τον υπολογισμό του μοναδιαίου κύκλου. Το πρόγραμμα ονομάζεται MC_integration_by_AR.m και εμπεριέχεται στην ενότητα Listing. Παρακάτω επισυνάπτουμε τα αποτελέσματα του αλγορίθμου για την δεύτερη μέθοδο. Εικόνα 64. Υπολογισμός εμβαδού πολυωνυμικής συνάρτησης με τη μέθοδο Acceptance / Rejection. Η δεύτερη μέθοδος εκτίμησης του εμβαδού για τυχαία σημεία μας εξάγει το αποτέλεσμα 0,3324 εξάγοντας ουσιαστικά την ίδια διαφορά ως προς την ντετερμινιστική λύση με την μέθοδο των μέσων. Με τον τρόπο αυτό μετατρέψαμε ένα διακριτό πρόβλημα υπολογισμού περιοχής σε ένα στατιστικό πρόβλημα εκτίμησης πιθανότητας. Την ίδια διαδικασία μπορούμε να επαναλάβουμε για πολύ πιο πολύπλοκα σχήματα και περισσότερες διαστάσεις. Η μέθοδος ολοκλήρωσης μας επιτρέπει να εκτιμήσουμε το εμβαδό μιας περιοχής αλλά όχι με ακριβές αποτέλεσμα. Για να αυξήσουμε την ακρίβεια κατά ένα δεκαδικό ψηφίο ακολουθώντας το τύπο D/N, όπου D μία σταθερά και όπου N ο αριθμός επαναλήψεων, πρέπει να αυξηθεί το N κατά 100. Η ολοκλήρωση, συγκλίνει με ρυθμό O( N 1/2 ) που είναι ανεξάρτητο των διαστάσεων του ολοκληρώματος. Για αυτό το λόγο, η μέθοδος MC είναι η μόνη βιώσιμη λύση σε ένα μεγάλο πεδίο προβλημάτων πολλών διαστάσεων, από την φυσική ως την οικονομία [Ref. 12]. P a g e 166

168 Listing 12 MC_integration_by_M.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : MC_integration_by_M.m Description : Estimate under the curve area using Mean Value method Author : Monahopoulos Konstantinos clc;clear;close all; Set the function to be estimated x=0:0.0001:1; fx=x.^2; Plot the function subplot(1,2,1),plot(x,fx); xlabel('x'); ylabel('f(x)=x^2'); Initiallize total iterations N=500; for i=1:n y=[]; x=[]; for j=1:50 Set a random point inside the limits [0,1] x(j)=rand(); y(j)=x(j)^2; Sample(i)=mean(y); hold on; subplot(1,2,2),plot(i,mean(sample),'.g'); xlabel('sample iterations ->'); ylabel('mean of samples'); hold off; pause(0.1) suptitle(['monte Carlo Area Under the Curve Estimation M = ' num2str(mean(sample))]) print the collected random spots over all random spots, this is the area under te curve fprintf('area under the curve is.3f\n',mean(sample)) P a g e 167

169 6.6 ΓΕΝΝΗΤΡΙΕΣ ΤΥΧΑΙΩΝ ΑΡΙΘΜΩΝ Η μέθοδος Monte Carlo μπορεί να εφαρμοστεί και σε πραγματικά μοντέλα που ορίζονται με αυστηρό μαθηματικό τρόπο. Σε αντίθεση με το παράδειγμα της ρήξης του ζαριού που αδυνατούμε να ορίσουμε το μαθηματικό μοντέλο της συνάρτησης μεταφοράς, κάνοντας στατιστική ανάλυση μόνο στην έξοδο, υπάρχουν συστήματα που η συνάρτηση μεταφοράς ορίζεται. Στα μοντέλα αυτά ο στόχος είναι να μπορέσουμε να παρατηρήσουμε με στατιστικό τρόπο την έξοδο του συστήματος προσομοιώνοντας τις μεταβλητές εισόδου. Η διαδικασία παρόλα αυτά είναι ίδια ως προς την ανάλυση της εξόδου, όπως περιγράφουμε στο κεφάλαιο αυτό. Για να αντιληφθούμε τη συμπεριφορά του συστήματος αρκεί να προσημειώσουμε το μαθηματικό μοντέλο στον προσομοιωτή και αργότερα με καθαρά στοχαστικό τρόπο να ορίσουμε την είσοδο του συστήματος για κάθε δυνατή τυχαία μεταβλητή χωριστά, προερχόμενη από διάφορες κατανομές. Καταγράφοντας τις διαφορετικές εξόδους εξάγουμε τα χαρακτηριστικά προβαίνοντας σε παραμετρικά συμπεράσματα των εξόδων. Εικόνα 65. Παραμετρικό σύστημα προσομοίωσης αυθαίρετων εισόδων. Πολλές φορές τα δεδομένα σε ένα μαθηματικό μοντέλο που χαρακτηρίζει το σύστημά μας, δεν ακολουθούν την ομοιόμορφη κατανομή αλλά κάποια άλλη κατανομή. Όπως αναπτύξαμε στο προηγούμενο κεφάλαιο στη μέθοδο ολοκλήρωσης που περιγράφεται από τον τύπο (6.9), είναι εφικτό να υπολογίσουμε το ολοκλήρωμα της κανονικοποιημένης h(x) μέσω μιας μη ομοιόμορφα κατανεμημένης κατανομής π(x) εξάγοντας το Ε π (h). Κατά την προσωμοίωση όταν το μοντέλο ακολουθεί μία μη ομοιόμορφη κατανομή τότε η δειγματοληψία δεν P a g e 168

170 προτιμάται να γίνεται από μία ομοιόμορφη κατανομή, για λόγους βελτιστοποίησης και ταχύτερης σύγκλισης. Για να μπορέσουμε όμως να εξάγουμε τυχαία δείγματα από γνωστές μη ομοιόμορφες κατανομές απαιτούνται κάποιες μέθοδοι μετασχηματισμού. Στο κεφάλαιο αυτό θα αναπτύξουμε τις τεχνικές που ακολουθούμε για να εξάγουμε τέτοιου είδους δεδομένα από γνωστές προς εμάς κατανομές. Καθώς αποδεικνύεται ότι η τυχαία δειγματοληψία από μη ομοιόμορφες κατανομές δεν είναι καθόλου εύκολη υπόθεση. Έτσι στο σημείο αυτό θα δούμε πώς μπορούμε να δημιουργήσουμε τυχαίους αριθμούς τόσο από την ομοιόμορφη κατανομή στο διάστημα [0,1] όσο και από άλλες κατανομές. Η ομοιόμορφη κατανομή, συμβολίζεται με U(0,1) και αποτελεί την απλούστερη συνεχή κατανομή. Για το λόγο αυτό είναι σημαντικό να μπορέσουμε να δημιουργήσουμε τυχαίους αριθμούς από αυτήν, αφού στη συνέχεια έχουμε τη δυνατότητα να πάρουμε τυχαίες τιμές από όλες τις άλλες κατανομές (εκθετική, κανονική, γάμμα, δυωνυμική κ.α.), εφαρμόζοντας ένα μετασχηματισμό στους τυχαίους αριθμούς της ομοιόμορφης κατανομής. Το είδος του μετασχηματισμού εξαρτάται από την κατανομή ή τη διαδικασία από την οποία θέλουμε να πάρουμε τις τυχαίες τιμές. Οι μέθοδοι δημιουργίας τυχαίων αριθμών που θα δούμε στη συνέχεια (όπως και όλες οι γεννήτριες τυχαίων αριθμών που έχουν υλοποιηθεί σε υπολογιστές), είναι αριθμητικές και εντελώς ντετερμινιστικές, αφού κάθε νέος τυχαίος αριθμός καθορίζεται από έναν ή περισσότερους από τους προηγούμενους αριθμούς σύμφωνα με μια σταθερή μαθηματική φόρμουλα. Το γεγονός αυτό μας οδηγεί στην παρατήρηση ότι ουσιαστικά δεν έχουμε τυχαίους αριθμούς, αλλά ψεύδο-τυχαίους, όπως εξάλλου πολλές φορές ονομάζονται. Παρ όλα αυτά, μία σωστά σχεδιασμένη γεννήτρια ψεύδο-τυχαίων αριθμών, μπορεί να παράγει ακολουθίες αριθμών με τυχαία στατιστικά χαρακτηριστικά, όπως μπορεί να αποδειχθεί, αν οι ακολουθίες περάσουν με επιτυχία μια σειρά από στατιστικά τεστ, όπως το τεστ συσχέτισης, τεστ εκτελέσεων, τεστ φάσματος κ.α. Για το λόγο αυτό θα συνεχίσουμε να χρησιμοποιούμε τον όρο τυχαίοι αριθμοί. Μία καλή γεννήτρια τυχαίων αριθμών πρέπει να έχει ορισμένες ιδιότητες. Πάνω απ όλα, οι παραγόμενοι αριθμοί πρέπει να φαίνονται ομοιόμορφα κατανεμημένοι στο διάστημα [0,1] και δεν θα πρέπει να εμφανίζουν καμμιά συσχέτιση μεταξύ τους. Η γεννήτρια θα πρέπει να είναι γρήγορη και να μην απαιτεί πολύ χώρο αποθήκευσης στον υπολογιστή. Είναι P a g e 169

171 επιθυμητό να μπορούμε να ξαναπάρουμε μια δεδομένη ακολουθία τυχαίων αριθμών, με την ίδια ακριβώς μορφή, είτε με τη χρήση ίδιας ακολουθίας, που μπορεί να γίνει ευκολότερη η επιβεβαίωση και η διόρθωση λαθών του προσομοιωτή, είτε μέσω σύγκρισης της προσομοίωσης διαφορετικών συστημάτων. Η γεννήτρια θα πρέπει να μπορεί να δημιουργεί αρκετά διαφορετικά ρεύματα τυχαίων αριθμών. Μπορούμε να θεωρήσουμε τα διαφορετικά ρεύματα ως ξεχωριστές και ανεξάρτητες γεννήτριες, οι οποίες τροφοδοτούν με τυχαίους αριθμούς διαφορετικές πηγές τυχαιότητα του προσομοιωτή. Στο σημείο αυτό θα αναλύουμε τόσο τις γραμμικές γεννήτριες τυχαίων αριθμών (Linear Congruential Generator - LCG) όσο και τις μη γραμμικές και μικτές γεννήτριες ΠΑΡΑΓΩΓΗ ΤΥΧΑΙΩΝ ΑΡΙΘΜΩΝ ΑΠΟ ΟΜΟΙΟΜΟΡΦΗ ΣΥΝΕΧΗΣ ΚΑΤΑΝΟΜΗ Η μεγάλη πλειονότητα των γεννητριών τυχαίων αριθμών που χρησιμοποιούνται σήμερα, είναι Γραμμικές Αναλογικές Γεννήτριες (LCG). Στις γεννήτριες αυτές, ορίζεται μία ακολουθία ακεραίων Z 1, Z 2 από την αναδρομική σχέση: Zi azi 1 c mod m (6.10) όπου m (ο διαιρέτης), a (ο πολλαπλασιαστής), c (η αύξηση) και Z 0 αρχική τιμή, είναι όλα μηαρνητικοί ακέραιοι. Έτσι, η παραπάνω συνάρτηση ορίζει ότι για να πάρουμε το Z i, διαιρούμε το (az i-1+c) με m και κρατάμε το υπόλοιπο της διαίρεσης. Συνεπώς, 0 Z i m-1 και για να πάρουμε τους τυχαίους αριθμούς U i (για i = 1,2,.) στο διάστημα [0,1], θέτουμε: U i Z m i (6.11) Θα επικεντρώσουμε την προσοχή μας κυρίως στα Zi, αν και έχει σημασία η φύση της διαίρεσης των Zi με το m, λόγω του τρόπου χειρισμού της από τους διάφορους υπολογιστές και γλώσσες προγραμματισμού. Για τους ακέραιους m, a, c και Z0, εκτός από τη μηαρνητικότητα, πρέπει να ισχύουν οι σχέσεις: 0 < m, a < m, c < m και Z 0 < m. Με προσεκτική επιλογή των τεσσάρων αυτών παραμέτρων, προσπαθούμε να έχουμε τέτοια Z i, ώστε τα αντίστοιχα U i να φαίνονται ότι είναι ανεξάρτητες, όμοια κατανεμημένες U(0,1) τυχαίες μεταβλητές, όταν υποβληθούν στα κατάλληλα τεστ. Η επαναληπτική αυτή συμπεριφορά της P a g e 170

172 γεννήτριας, είναι φυσικά αναπόφευκτη, λόγω της μορφής της παραπάνω συνάρτησης, σύμφωνα με την οποία όποτε το Z i παίρνει μια τιμή που είχε πάρει και προηγουμένως, δημιουργείται στη συνέχεια η ίδια ακριβώς ακολουθία τιμών. Ο κύκλος αυτός επαναλαμβάνεται συνεχώς. Το μήκος του κύκλου ονομάζεται περίοδος της γεννήτριας. Στις LCG, το Z i εξαρτάται μόνο από την αμέσως προηγούμενη τιμή Z i 1 και όχι από παλιότερες τιμές. Μία προσομοίωση μπορεί να χρειασθεί εκατοντάδες χιλιάδων τυχαίους αριθμούς και κατά συνέπεια είναι επιθυμητό να έχουμε LCGs με μεγάλες περιόδους [Ref. 13] ΠΑΡΑΓΩΓΗ ΤΥΧΑΙΩΝ ΑΡΙΘΜΩΝ ΜΕΣΩ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ ΑΝΤΙΣΤΡΟΦΗΣ Όπως είδαμε στη προηγούμενη ενότητα θεωρήσαμε κυρίως για απλούστευση ότι χρησιμοποιούμε τυχαίες μεταβλητές από μία συνεχής ομοιόμορφη κατανομή. Δεν ισχύει όμως πάντα αυτό. Μπορεί να χρειάζεται να χρησιμοποιήσουμε τυχαίους αριθμούς από μια άλλη κατανομή. Οι συνήθεις γεννήτριες τυχαίων αριθμών στους υπολογιστές μας δίνουν τυχαίες μεταβλητές-αριθμούς από την ομοιόμορφη κατανομή. Για να πάρουμε τυχαίους αριθμούς από μη-ομοιόμορφες κατανομές θα πρέπει να ακολουθήσουμε κάποιες διαδικασίες που θα μας φέρουν το επιθυμητό αποτέλεσμα. Η πιο κοινή μέθοδος για την παραγωγή τυχαίων αριθμών μη-ομοιόμορφης κατανομής βασίζεται στην αντιστροφή της αθροιστική συνάρτηση κατανομής, την οποία θέλουμε να δειγματοληπτήσουμε. Στη δεύτερη περίπτωση χρησιμοποιούμε τη μέθοδο Acceptance / Rejection για να εξάγουμε δείγματα από μη-ομοιόμορφες συνεχείς κατανομές. Σε αυτό το σημείο θα αναλύσουμε το θεωρητικό υπόβαθρο που χαρακτηρίζουν τις δύο μεθόδους ενώ δεν θα αναφέρουμε διακριτές κατανομές και δειγματοληψία αυτών εφόσον η πλειοψηφία των τυχαίων φαινομένων ακολουθούν συνεχείς κατανομές ΔΕΙΓΜΑΤΟΛΗΨΙΑ ΑΝΤΙΣΤΡΟΦΗΣ ΑΘΡΟΙΣΤΙΚΗΣ ΚΑΤΑΝΟΜΗΣ Έστω ότι θέλουμε να κάνουμε μια τυχαία δοκιμή από μια τυχαία μεταβλητή X που έχει συνάρτηση πυκνότητας πιθανότητας f(x) και αθροιστική συνάρτηση κατανομή F(x). Αφού η f(x) είναι αυξανόμενη, ορίζουμε την F 1 ως F 1 (y) = inf{x: F(x) y}, 0 y 1. Γνωρίζοντας ότι η U είναι ομοιόμορφα κατανεμημένη στο πεδίο [0,1], τότε η αθροιστική συνάρτηση πυκνότητας της αντίστροφης F 1 (U) δίνεται από P(F 1 (U) x) = P(U F(x)) = F(x). Έτσι αρκεί να βρούμε την αντίστροφη της συνάρτησης κατανομής F(x) και να P a g e 171

173 εφαρμόσουμε αυτήν σε μια ομοιόμορφα κατανεμημένη τυχαία δοκιμή u για να πάρουμε μια τυχαία δοκιμή-αριθμό από την ζητούμενη κατανομή [Ref. 14]. Εικόνα 66. Τυπική Μορφή της αντίστροφης αθροιστικής συνάρτησης. Για την καλύτερη κατανόηση περιγράφουμε ένα παράδειγμα τυχαίας δειγματοληψίας από μία τυχαία συνάρτηση πυκνότητας πιθανότητας που ακολουθεί στη παρακάτω εικόνα [67]. Εντός του σχήματος έχουμε συμπεριλάβει και την αντίστοιχη αθροιστική πυκνότητα κατανομής. Για να δειγματοληπτήσουμε τυχαία από την αθροιστική κατανομή χρησιμοποιούμε μία γεννήτρια αριθμών ομοιόμορφης κατανομής (rand()). Η γεννήτρια αυτή μας παράγει τυχαίους αριθμούς με ίδια πιθανότητα εμφάνισης του κάθε αριθμού, κανονικοποιημένους στο όριο [0,1]. Την ίδια κανονικοποίηση ακολουθεί και αθροιστική κατανομή η οποία εφόσον αναπαριστά συνάρτηση πιθανότητας θα έχει και αυτή εμβαδό 1 όπως η αρχική κατανομή p(x). b a p( x) dx 1 Εφόσον θέλουμε να παράγουμε τυχαία δείγματα ακολουθώντας τη κατανομή εισόδου τότε θα πρέπει να εξάγουμε ένα τυχαίο αριθμό από την ομοιόμορφη κατανομή που θα αναπαριστά τη τιμή στον άξονα CDF(x) πραγματοποιώντας έτσι δειγματοληψία από την ανάστροφη αθροιστική συνάρτηση F 1 (U). Ο τρόπος ο οποίος μέσω της F 1 (U) εξάγουμε τα αντίστοιχα x, ακολουθεί πλήρως την κατανομή από την οποία θέλουμε να δειγματοληπτήσουμε. Αφού όλες οι τιμές στη CDF(x) έχουν την ίδια πιθανότητα εμφάνισης πιο πιθανό είναι η μεταβλητή U να «πέσει» σε επιφάνεια μεγαλύτερης κλήσης ως προς τον x άξονα, αναπαριστώντας μεγαλύτερη πιθανότητα (κόκκινος κύκλος) παρά επιφάνεια μικρότερης κλίσης αναπαριστώντας μικρότερη επιφάνεια (πράσινος κύκλος). Η μέθοδος αυτή αποτελείται από δύσκολους υπολογισμούς αλλά είναι πιο αποτελεσματική και πιο ευθέως εκτελέσιμη για να P a g e 172

174 εξάγουμε τυχαίες μεταβλητές ακολουθώντας μία συνάρτηση πυκνότητας πιθανότητας. Για τη μέθοδο αυτή λέμε ότι η πιθανότητα εμφάνισης ενός τυχαίου αριθμού είναι ανάλογη της κλίσης της CDF(x). Εικόνα 67. Εξαγωγή τυχαίων μεταβλητών μέσω της μεθόδου αντίστροφης αθροιστικής συνάρτησης. Παρόλα αυτά ίσως εμφανιστούν ουσιαστικά προβλήματα στην εύρεση ή την προσέγγιση της αντίστροφης συνάρτησης της F(x), για το λόγο αυτό αργότερα θα αναλύσουμε τον τρόπο που μπορούμε να αποφύγουμε την αντιστροφή της συνάρτησης και να κάνουμε δειγματοληψία μέσω του Acceptance / Rejection αλγόριθμου ΚΑΤΑΝΟΜΕΣ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ ΑΝΤΙΣΤΡΟΦΗΣ Παρακάτω θα παρουσιάσουμε διάφορους τη μέθοδο δειγματοληψίας αντιστροφής από κάποιες βασικές κατανομές [Ref. 14]. KATANOMH WEIBULL Στην κατανομή Weibull οι παράμετροι a, b αποτελούν θετικούς αριθμούς και συνεπώς η συνάρτηση πυκνότητας πιθανότητας είναι. b b1 ax f x abx e (6.12) P a g e 173

175 Η αθροιστική συνάρτηση πυκνότητας είναι : b ax F x 1 e, x 0 (6.13) Έτσι ο αντίστροφος μετασχηματισμός της γεννήτριας, για ομοιόμορφη κατανομή U στο πεδίο [0,1] είναι : X ln 1 a 1 U b (6.14) ΕΚΘΕΤΙΚΗ ΚΑΤΑΝΟΜΗ Η εκθετική κατανομή, αποτελεί ειδική περίπτωση της γάμα κατανομής και χρησιμοποιείται τακτικά στις περισσότερες εφαρμογές πιθανοτήτων. Η εκθετική κατανομή ακολουθεί τον τύπο : x 1 F x e x Η αθροιστική συνάρτηση πυκνότητας είναι :, 0και F x 0, x 0 (6.15) x F( x) 1 e, x 0 (6.16) Έτσι ο αντίστροφος μετασχηματισμός της γεννήτριας, για ομοιόμορφη κατανομή U στο πεδίο [0,1] είναι : X ln U (6.17) KANONIKH KATANOMH Η κανονική κατανομή είναι από τις πλέον πιο χρησιμοποιούμενες κατανομές, λόγω του Κεντρικού Οριακού Θεωρήματος. Η συνάρτηση πυκνότητας πιθανότητας είναι. P a g e 174

176 2 x 2 1 f ( x) e (6.18) 2 Η αθροιστική συνάρτηση πυκνότητας είναι : x t ( ) ( / 2) F x e dt erf x 2 (6.19) 2 2 Όπου erf είναι η συνάρτηση σφάλματος που ορίζεται από : z 2 2 t erf z e dt 2 (6.20) 0 Έτσι ο αντίστροφος μετασχηματισμός της γεννήτριας, για ομοιόμορφη κατανομή U στο πεδίο [0,1] είναι : X erf y (6.21) KATANOMH CAUCHY Η κατανομή Cauchy είναι εφάμιλλη της κανονικής κατανομής με τη διαφορά ότι είναι στενότερη στο κέντρο και πιο απλωμένη στις άκρες της. Παρακάτω στην εικόνα [68] συγκρίνουμε την Cauchy κατανομή με τη κανονική και μπορούμε να παρατηρήσουμε την ιδιομορφία που έχουν. Εικόνα 68. Σύγκριση πυκνότητας πιθανότητας της κανονικής και της Cauchy κατανομής. P a g e 175

177 Η κατανομή Cauchy ακολουθεί τον τύπο : ( ) b f x, x 2 2 b x a (6.22) Η αθροιστική συνάρτηση πυκνότητας είναι : 1 1 x a Fx ( ) arctan 2 b (6.23) Έτσι ο αντίστροφος μετασχηματισμός της γεννήτριας, για ομοιόμορφη κατανομή U στο πεδίο [0,1] είναι : X b a (6.24) tan U KATANOMH LOGISTIC Η κατανομή logistic έχει πανομοιότυπη μορφή με τη Cauchy και την κανονική κατανομή, έχοντας όμως πιο πολλά κοινά στοιχεία με τη κανονική. Παρακάτω στην εικόνα [69] συγκρίνουμε την logistic κατανομή με τη κανονική παρατηρώντας την ιδιομορφία που έχουν. Η logistic κατανομή είναι λίγο πιο στενή στο κέντρο και ελάχιστα πιο αυξημένη στις άκρες [Ref. 14]. Εικόνα 69. Σύγκριση πυκνότητας πιθανότητας της κανονικής και της λογιστικής κατανομής. P a g e 176

178 Η κατανομή logistic ακολουθεί τον τύπο : f x 1 e 1 xa b (6.25) Η αθροιστική συνάρτηση πυκνότητας έχει την ίδια μορφή με τη κατανομή της : F x 1 e 1 xa b (6.26) Έτσι ο αντίστροφος μετασχηματισμός της γεννήτριας, για ομοιόμορφη κατανομή U στο πεδίο [0,1] είναι : U X a bln 1 U (6.27) ΠΑΡΑΓΩΓΗ ΤΥΧΑΙΩΝ ΑΡΙΘΜΩΝ ΜΕΣΩ ΤΗΣ ΜΕΘΟΔΟΥ ACCEPTANCE / REJECTION Η μέθοδος Acceptance Rejection χρησιμοποιείται κυρίως στις περιπτώσεις τις οποίες δεν μπορεί να οριστεί η αντίστροφη αθροιστική συνάρτηση πιθανότητας F 1 μέσω της f(x) ή P(x) αντίστοιχα. Στη περίπτωση αυτή ορίζουμε ένα τετραγωνικό χώρο με πλάτος ανάλογο των σημείων [a,b] και ύψος [0,M], όπου M το μέγιστη τιμή της P(x) που ορίζει τη μέγιστη πιθανότητα. Η τεχνική Acceptance Rejection απαιτεί τον υπολογισμό δύο τυχαίων αριθμών (t,u) εντός των δύο ορίων του τετραγωνικού χώρου. Η μεταβλητή t ορίζεται ως : t ( b a) rand() a (6.28) Και αντίστοιχα η μεταβλητή u ορίζεται ως : u Mrand() (6.29) P a g e 177

179 Η μέθοδος αποδοχής ενός δείγματος της συνάρτησης πραγματοποιείται μέσω της σύγκρισης της μεταβλητής u με την f(t). Εάν η μεταβλητή u προερχόμενη από ομοιόμορφη κατανομή είναι μεγαλύτερη από την P(t) τότε δεχόμαστε την μεταβλητή t σαν αντιπροσωπευτικό δείγμα της συνάρτησης P(x), αλλιώς το απορίπτουμε και επαναλλαμβάνεται η διαδικασία. Πιο αναλυτικά τα βήματα του αλγορίθμου είναι : Παίρνουμε μία τυχαία μεταβλητή t εντός του ορίου [a,b] που ορίζεται η συνάρτηση πυκνότητας πιθανότητας. Υπολογίζουμε την P(t). Παράγουμε μια τυχαία μεταβλητή u, ομοιόμορφα κατανεμημένο εντός του ορίου [0, max(p(x))]. Εάν η τιμή P(t) είναι μεγαλύτερη της τιμής u τότε δεχόμαστε τη τιμή t ως αντιπροσωπευτικό δείγμα της συνάρτησης P(x). Εάν η τιμή P(t) είναι μικρότερη της τιμής u τότε απορρίπτουμε τη τιμή t και επαναλαμβάνουμε τη διαδικασία. Για την καλύτερη κατανόηση περιγράφουμε ένα παράδειγμα τυχαίας δειγματοληψίας από μία τυχαία συνάρτηση πυκνότητας πιθανότητας που περιγράφεται στην εικόνα [70]. Έχουμε διαλέξει δύο τυχαία σημεία (u1,u2) και ένα τυχαίο σημείο t εντός των αντίστοιχων ορίων. Αργότερα αφού υπολογίσουμε την P(t), συγκρίνουμε τη τιμή με το τυχαίο σημείο u1 (κόκκινη κουκίδα) και παρατηρώντας ότι είναι μικρότερη αυτής απορρίπτουμε το συγκεκριμένο t. Αντίθετα στη περίπτωση που η τιμή P(t) είναι μεγαλύτερη της τυχαίας μεταβλητής u2 (πράσινη κουκίδα) τότε αποδεχόμαστε τη τιμή t σαν αντιπροσωπευτικό δείγμα της κατανομής P(x). Εικόνα 70. Εξαγωγή τυχαίων μεταβλητών μέσω της μεθόδου Acceptance / Rejection. P a g e 178

180 Η δεύτερη μέθοδος για τη διαδικασία του random sampling είναι πιο εύκολα εφαρμόσιμή και υπολογίσιμη αλλά απαιτεί περισσότερο χρόνο να μας εξάγει δείγματα. Παρόλα αυτά χρησιμοποιείται αρκετά συχνά ακόμα και σε περίπτωση που δεν γνωρίζουμε τα ακριβής όρια των μεταβλητών (a,b) αλλά κάποιες ακραίες τιμές. Για τη μέθοδο αυτή λέμε ότι η πιθανότητα εμφάνισης ενός τυχαίου αριθμού είναι ανάλογη του ύψους της P(x) Ο ΑΛΓΟΡΙΘΜΟΣ METROPOLIS HASTING (MCMC) Ο αλγόριθμος Metropolis - Hastings (MH) τον οποίο εισήγαγαν οι Metropolis et al. (1953) και το γενίκευσε ο Hastings (1970) αποτελεί μία από τις σπουδαιότερες Markov Chain Monte Carlo (MCMC) μεθόδους για την δημιουργία τυχαίων δειγμάτων μέσω μίας πυκνότητα πιθανότητας, της οποίας η δειγματοληψία μέσω άλλων τεχνικών είναι αδύνατη. Ο αλγόριθμος Metropolis Hasting (MH) προσομοιώνει παρατηρήσεις από κάποια προτεινόμενη κατανομή πυκνότητα πιθανότητας f(x) διαφορετική από την κατανομή-στόχο P(x) που επιθυμούμε να δειγματοληπτήσουμε, υπό την προϋπόθεση ότι η συνάρτηση πυκνότητας πιθανότητας f(x) είναι ανάλογη με τη πυκνότητα πιθανότητας P(x) [Ref. 15]. Σε πολλές περιπτώσεις είναι δυνατή η αναλυτική αναπαράσταση της συνάρτησης P(x), αλλά είναι άγνωστος ο τρόπος παραγωγής τυχαίων δειγμάτων X. Για το λόγο αυτό προσεγγίζουμε τη πυκνότητα P(x) ακολουθώντας την MCMC μέθοδο. Παράγοντας αλληλουχίες καταστάσεων μέσω της αλυσίδας Markov (X1, X2, X3,,Xn) είναι βέβαιο ότι όταν n, τα δείγματα X θα ακολουθούν την P(x), X~P(x). Το κάθε τυχαίο δείγμα που παράγεται από την κατανομή εξαρτάται μόνο από το ακριβώς προηγούμενο παραγόμενο δείγμα δημιουργώντας έτσι μία εργοδική αλυσίδα Markov. Σε κάθε επανάληψη, ο αλγόριθμος διαλέγει μία υποψήφια τυχαία μεταβλητή παραγόμενη από τη προτεινόμενη συνάρτηση πυκνότητας f(x) αναπαριστώντας έτσι μία κατάσταση σε μια αλυσίδα Markov. Η προτεινόμενη μεταβλητή με τη σειρά της είτε θα γίνει δεκτή υπολογίζοντας μία πιθανότητα και θα αντικαταστήσει τη τρέχων τιμή της αλυσίδας, είτε θα απορριφθεί και η αλυσίδα θα παραμείνει στη προηγούμενη κατάσταση [Ref. 15]. P a g e 179

181 Εικόνα 71. Εξαγωγή τυχαίων μεταβλητών μέσω της μεθόδου Metropolis - Hasting. Ας υποθέσουμε ότι η τρέχων κατάσταση σε μία αλυσίδα Markov είναι η κατάσταση x n και επιθυμούμε να παράγουμε την επόμενη τυχαία μεταβλητή x n+1. Μέσω του MH αλγορίθμου η παραγωγή της τυχαίας μεταβλητής x n+1 αποτελείται από δύο κύριες διαδικασίες. Η πρώτη διαδικασία είναι να παράγουμε ένα προτεινόμενο σημείο x * το οποίο παράγεται από την προτεινόμενη κατανομή f(x) = Q(x x n ) το οποίο εξαρτάται από την τωρινή κατάσταση της αλυσίδας, x n. Λόγω των περιορισμών που έχουμε στην επιλογή της προτεινόμενης κατανομής και για λόγους απλότητας θα επιλέξουμε ως προτεινόμενη κατανομή τη κανονική κατανομή με κέντρο κάθε φορά τη μεταβλητή x n έτσι ώστε να ισχύει για κάποια ορισμένη τυπική απόκλιση ο παρακάτω τύπος : * 2 n x x Normal x, (6.30) Η δεύτερη διαδικασία είναι ο υπολογισμός της πιθανότητας αποδοχής (Acceptance Probability) A(x n x ), η οποία δίνεται από τον τύπο : A x n x * P x Q x x min 1, * * n * P xn Q x xn (6.31) Η πιθανότητα αποδοχής ουσιαστικά καθορίζεται από δύο σκέλη δεξιά της ισότητας, επιστρέφοντας το ελάχιστο των δύο όρων. Το πρώτο σκέλος είναι ο λόγος P(x ) / P(x n ) ο οποίος όπως παρατηρούμε δεν εξαρτάται από την σταθερά κανονικοποίησης της κατανομή P(x) και άρα δεν μας ενδιαφέρει το ύψος της κατανομής σε αντίθεση με τον αλγόριθμο Acceptance / Rejection. Το δεύτερο σκέλος είναι ο λόγος Q(x n x ) / Q(x x n ) ο οποίος εκτελεί τη διόρθωση τυχών διαφορών που μπορεί να εισαχθούν από την κανονική κατανομή. Σε αυτή P a g e 180

182 τη σχέση ο παρονομαστής Q(x x n ) περιγράφει τη πιθανότητα παραγωγής μιας τυχαίας τιμής x * ως προτεινόμενης κατάστασης δεδομένης της τωρινής κατάστασης x n και ο αριθμητής Q(x n x ) περιγράφει τη πιθανότητα της τωρινής κατάστασης x * αν η προτεινόμενη κατάστασης ήταν η x n. Στη περίπτωση που η προτεινόμενη κατάσταση περιγράφεται από μεγαλύτερη πιθανότητα μέσω της κατανομής P(x), το ελάχιστο των δύο παραμέτρων θα είναι το 1 και συνεπώς μέσω της διαδικασίας της σύγκρισης θα γίνεται πάντα αποδεκτό. Εάν η προτεινόμενη κατανομή είναι συμμετρική, το οποίο ισχύει στη περίπτωση της κανονικής κατανομής, τότε αυτός ο όρος ισούται με 1. Αυτό αποδεικνύεται μέσω της παρακάτω ισότητας : Q x Q x n * 1 * xn x 2 * x e 2 1 (6.32) 1 * 2 x 1 2 x xn n 2 e 2 Η παραπάνω ειδική περίπτωση του αλγορίθμου MH αποτελεί τη κλασσική προσέγγιση του αλγορίθμου Metropolis χωρίς τη συμβολή του Hasting, εφόσον η κατανομή πρότασης είναι συμμετρική και ο όρος εκφυλίζεται στη μονάδα. Μετά τη πρόταση κατάστασης μέσω της κανονικής κατανομής και αφού έχουμε υπολογίσει τη πιθανότητα αποδοχής θα πρέπει να αποφανθούμε αν δεχόμαστε τη νέα κατάσταση ή την απορρίπτουμε. Για να πάρουμε αυτή την απόφαση παράγουμε μία τυχαία μεταβλητή από την ομοιόμορφη κατανομή και στη συνέχεια πραγματοποιούμε τη σύγκριση που ακολουθεί καθορίζοντας έτσι την επόμενη τυχαία μεταβλητή ή κατά αντιστοιχία την επόμενη κατάσταση της αλυσίδας Markov: x n1 x, u A x x xn, u A xn x * * n * (6.33) Ύστερα από τον ορισμό του νέου σημείου η διαδικασία επαναλαμβάνεται δημιουργώντας και πάλι μια τυχαία μεταβλητή μέσω της κανονικής κατανομής, με μέση τιμή (μ) ορισμένη πλέον από το νέο σημείο x *. Η διαδικασία της ολισθαίνουσας κανονικής κατανομής ονομάζεται αλγόριθμος τυχαίου περιπάτου (Random Walk Metropolis Hasting) και αποτελεί μία πιο αποτελεσματική προσέγγιση εκτίμησης μεταβλητών μη ομοιόμορφων κατανομών. P a g e 181

183 Περιληπτικά ο αλγόριθμος ακολουθεί τα παρακάτω βήματα εκτέλεσης : - Αρχικοποιούμε την αρχική μέση τιμή της κανονικής κατανομής x n - Για κάθε επανάληψη i =1,,n { Προτείνουμε : x * Normal x, 2 n * Υπολογίζουμε τη πιθανότητα αποδοχής : Axn x P x Q x x min 1, * * n * P xn Q x xn Υπολογίζουμε μια τυχαία μεταβλητή μέσω της ομοιόμορφης κατανομής : u Uniform(0,1) { Εάν u A Δεχόμαστε τη πρόταση x n x Αλλιώς Απορρίπτουμε τη πρόταση x n x n 1 } } ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ METROPOLIS - HASTING Σε αυτό το σημείο θα εκτελέσουμε με τη βοήθεια του προγράμματος Matlab τον αλγόριθμο Metropolis - Hasting παράγοντας δείγματα από μια τυχαία κατανομή πυκνότητα πιθανότητας. Ο αλγόριθμος ακολουθεί τη μέθοδο Random Walk Markov Chain, χρησιμοποιώντας την κανονική κατανομή πυκνότητα πιθανότητας ως κατανομή πρότασης, εκμεταλλέυοντας τη συμμετρία που τη χαρακτηρίζει. Η προσομοίωση επαναλαμβάνεται για 1000 επαναλήψεις αρκετές για εμπιστευτούμε τη προσέγγιση των δειγμάτων από τη κατανομή X~P(x). Το αρχείο που χρησιμοποιείται για την εκτέλεση ονομάζεται Metropolis_Hasting.m και περιέχει όλα τα απαραίτητα δομικά στοιχεία που απαιτούνται. Έστω ότι η τυχαία συνάρτηση πυκνότητας πιθανότητας που επιθυμούμε να δειγματοληπτήσουμε περιγράφεται από το παρακάτω τύπο: 2 x P x e 2 sin 5x sin 2x (6.34) P a g e 182

184 Όπως αναλύσαμε και θεωρητικά σε κάθε επανάληψη ορίζεται μια νέα κανονική κατανομή μέσω της οποίας ορίζεται το νέο πιθανό τυχαίο δείγμα ή κατά αναλογία η νέα κατάσταση της αλυσίδας Markov. Εφόσον υπολογίσουμε το λόγο (διαφορά) του προτεινόμενου σημείου ως προς το προηγούμενο, τότε μέσω της στοχαστικής διαδικασίας αποφαινόμαστε για την νέα κατάσταση της αλυσίδας. Επιπροσθέτως καταγράφουμε τον αριθμό των περιπτώσεων που η νέα τιμή έγινε αποδεκτή και τον αριθμό όλων των δειγμάτων καταγράφοντας το ποσοστό αποδοχής. Ύστερα από τη εκτέλεση του αλγορίθμου εμφανίζουμε τα αποτελέσματα της διαδικασίας μέσω της συνάρτησης plot. Εικόνα 72. Εξαγωγή αποτελεσμάτων της μεθόδου Metropolis Hasting σε τυχαία συνάρτηση. Στην εικόνα [72] παρατηρούμε τα τέσσερα γραφήματα που αντιπροσωπεύουν το αποτέλεσμα του αλγορίθμου. Στο πάνω αριστερά γράφημα παρουσιάζουμε τη συμμετρική κανονική κατανομή μαζί με τη συνάρτηση πυκνότητας που θέλουμε να δειγματοληπτήσουμε. Μέσω της κανονικής κατανομής παράγεται το πρώτο προτεινόμενο δείγμα που συγκρίνοντάς το με το λόγο αποδοχής, είτε το αποδεχόμαστε, είτε το απορρίπτουμε. Στο κάτω αριστερά γράφημα παρουσιάζουμε τις διαφορετικές κανονικές κατανομές των νέων καταστάσεων όπως περιγράφεται στη Random Walk τεχνική. Στο πάνω - δεξιά γράφημα παρουσιάζουμε τη εκ των προτέρων (prior) κατανομή P(x) μαζί με τα αποτελέσματα της κατανομής των δειγματολληπτιμένων τυχαίων μεταβλητών. Τέλος στο κάτω δεξιά γράφημα παρουσιάζουμε την αλληλουχία των τιμών που κάναμε δειγματοληψία κατά τη διαδικασία της εκτέλεσης του αλγορίθμου, οι οποίες καθώς παρατηρούμε τείνουν να προέρχονται από περιοχές μεγαλύτερης πιθανότητας. Ύστερα από την εκτέλεση του αλγορίθμου παρατηρούμε ότι το ποσοστό αποδοχής ανέρχεται στο ποσοστό P a g e 183

185 Listing 13 Metropolis_Hasting.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : Metropolis_Hasting.m Description : Random Walk Markov Chain Monte Carlo Author : Monahopoulos Konstantinos clc;clear all;close all; parameters NSamples = 10000; Number of samples sig = 0.5; Standard deviation of Gaussian proposal x = -1; Start point X = zeros(nsamples,1); Sequence of samples drawn from the Markov chain acc = [0 0]; Vector to track the acceptance rate bias=0.0; PRPx=-3:0.1:3; Plots figure; PRP=exp(-PRPx.^2).* (2 + sin(prpx*5) + sin(prpx*2)); Calculate P(x) subplot(2,2,1),plot(-3:0.1:3,prp,'r'); Plot P(x) norm = normpdf(-3:.1:3,-1,sig); Calculate Norm(μ,σ^2) hold on; subplot(2,2,1),plot(-3:.1:3,norm,'b'); Plot Norm(μ,σ^2) stem(x,norm(norm==max(norm))); hold off; title('first Sample - N(μ,σ^2)') xlabel('random Variables') ylabel('p(x)') subplot(2,2,3),plot(-3:0.1:3,prp,'r') MH routine lol=0; For the first 20 iterations keep thee norms for i = 1:NSamples xp = normrnd(x,sig); Generate candidate from Gaussian accprob=(exp(-xp.^2).* (2 + sin(xp*5) + sin(xp*2)))/... (exp(-x.^2).* (2 + sin(x*5) + sin(x*2))) ; Acceptance rate Draw the first 20 iterations if (i<20 && lol==1) norm = normpdf(-3:.1:3,x,sig); hold on; subplot(2,2,3),plot(-3:.1:3,norm); stem(x,norm(norm==max(norm))); P a g e 184

186 hold off; lol=0; title('random Samples - N(μ,σ^2)') xlabel('random Variables') ylabel('p(x)') u = rand; Uniform random number if u <= accprob If accepted x = xp; New point is the candidate lol=1; a = 1; Note the acceptance else If rejected x = x; New point is the same as the old one a = 0; Note the rejection acc = acc + [a 1]; Track accept-reject status [accepted / all] X(i) = x; Store the i-th sample - sequence Plots Exp=hist(X,61); subplot(2,2,2),bar(linspace(-2,2,61),exp/200); title('expected values HM') xlabel('random Variables') ylabel('frequency') hold on; plot(linspace(-3,3,61),prp,'r') hold off; subplot(2,2,4),plot((x'-bias),1:length(x)); axis([ NSamples]) title('sample Sequence') xlabel('random Variables') ylabel('iterations') P a g e 185

187 6.6.5 Ο ΔΕΙΓΜΑΤΟΛΗΠΤΗΣ GIBBS (MCMC) Ο δειγματολήπτης Gibbs αποτελεί και αυτός μία MCMC τεχνική, η οποία χρησιμοποιείται για την εξαγωγή τυχαίων μεταβλητών παρατηρήσεων. Οι τυχαίες μεταβλητές μπορούν να προσεγγιστούν από μία καθορισμένη πολυδιάστατη πυκνότητα πιθανότητας που με τη σειρά της περιγράφεται μέσω δύο ή παραπάνω διαστάσεων. Ο δειγματολήπτης Gibbs είναι εφαρμόσιμος σε συγκεκριμένες κλάσεις προβλημάτων, βασισμένος σε δύο βασικά κριτήρια. Δοσμένης της πολυδιάστατης πυκνότητας πιθανότητας P(x), όπου x =(x 1, x 2,., x D), το πρώτο κριτήριο που πρέπει να ικανοποιείται είναι να είναι εφικτή η αναλυτική περιγραφή της υπο συνθήκη κατανομής για κάθε μεταβλητή που την περιγράφει. Πιο αναλυτικά, εάν η υπο συνθήκη κατανομή P(x) είναι διάστασης D, τότε πρέπει να έχουμε διαθέσιμες D ανεξάρτητες μαθηματικές εκφράσεις για κάθε εξαρτημένη μεταβλητή που συναποτελεί τη πολυδιάστατη πυκνότητα πιθανότητας P(x i x 1, x 2,., x i 1, x i+1,, x D ) = P(x i x j ), i j. Κάθε μία από τις παραπάνω μαθηματικές εκφράσεις, ορίζει τη πιθανότητα της μεταβλητής της i- th διάστασης, αφού μπορούμε να την εκφράσουμε ως προς τις υπόλοιπες j i διαστάσεις. Έχοντας τις υπο - συνθήκη κατανομές για κάθε μεταβλητή, δεν χρειάζεται να χρησιμοποιήσουμε κάποια κατανομή πρότασης ή το κριτήριο acceptance / rejection, όπως στον Metropolis Hasting αλγόριθμο. Έτσι μπορούμε απλά να δειγματοληπτήσουμε από κάθε κατανομή κρατώντας σταθερές τις μεταβλητές των υπολοίπων διαστάσεων. Αυτό μας οδηγεί στο δεύτερο κριτήριο, το οποίο ορίζει τη δυνατότητα δειγματοληψίας από τις επιμέρους πυκνότητες πιθανότητας. Παρατηρούμε ότι ο δειγματολήπτης Gibbs λειτουργεί αρκετά όμοια με τον MH αλγόριθμο, με τη βασική διαφορά υπολογισμού τυχαίας μεταβλητής, μέσω μη παραγόμενης κατανομής πρότασης για κάθε διάσταση και ελέγχου αποδοχής, αλλά μόνο υπολογίζοντας τις επιμέρους υπο - συνθήκη κατανομές. Περιληπτικά ο αλγόριθμος ακολουθεί τα παρακάτω βήματα εκτέλεσης : - Παράγουμε ένα αρχικό σημείο από τη κατανομή στόχου x (0) ~ π (0) - Για κάθε επανάληψη i =1,,Μ { Για κάθε διάσταση τυχαία μεταβλητή j = 1,.,D Υπολόγισε το x i από τις επιμέρους κατανομές P(x i x 1, x 2,., x i 1, x i+1,, x D ) } } P a g e 186

188 ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ ΔΕΙΓΜΑΤΟΛΗΠΤΗ GIBBS Σε αυτό το σημείο θα εκτελέσουμε με τη βοήθεια του προγράμματος Matlab τον αλγόριθμο Gibbs Sampling παράγοντας δείγματα από μια δισδιάστατη κανονική κατανομή πυκνότητας πιθανότητας P(x) = N(μ, Σ). Η προσομοίωση επαναλαμβάνεται για 1000 επαναλήψεις αρκετές για να εμπιστευτούμε τη προσέγγιση των δειγμάτων από τη κατανομή X~P(x). Το αρχείο που χρησιμοποιείται για την εκτέλεση ονομάζεται Gibbs_Sampling.m και περιέχει όλα τα απαραίτητα δομικά στοιχεία που απαιτούνται. Αρχικά δημιουργούμε τη δισδιάστατη κανονική κατανομή πυκνότητας πιθανότητας συνδυάζοντας δύο επιμέρους κανονικές κατανομές (Mixture Of Gaussians) που περιγράφονται αντίστοιχα από τα κέντρα μ= [0,0], τη διασπορά sigma = [0.6,2.2] και με παράμετρο συσχέτισης rho = 0.8 για τη στρέψη της Multivariance Gaussian κατανομής στόχου. Για να μπορέσουμε να δειγματοληπτήσουμε χρησιμοποιώντας τον δειγματολήπτη Gibbs, πρέπει να περιγράψουμε τις δυο υπο συνθήκη κατανομές για τις δύο διαστάσεις x (1) και x (2). Έτσι αντίστοιχα η υπο συνθήκη κατανομή P(x1 x2 (t 1) ) περιγράφει τη κατανομή εξαγωγής της μεταβλητής x (1) και η P(x2 x1 (t) ) περιγράφει τη κατανομή εξαγωγής της μεταβλητής x (2). Όπου x2 (t 1) αποτελεί τη προηγούμενη κατάσταση της αλυσίδας markov και x1 (t) αποτελεί τη τωρινή κατάσταση της αλυσίδας markov εφόσον έχουμε πραγματοποιήσει δειγματοληψία της τυχαίας μεταβλητής της πρώτης διάστασης - x (1). Με το παραπάνω τρόπο δειγματοληψίας σε κάθε κατάσταση δειγματοληπτούμε πρώτα τη μεταβλητή x (1) σύμφωνα με την υπο - συνθήκη πιθανότητα ως προς τη μεταβλητή x (2) και αργότερα δειγματοληπτούμε τη μεταβλητή x (2) σύμφωνα με την υπο - συνθήκη πιθανότητα ως προς τη μεταβλητή x (1) της ίδιας κατάστασης στην αλυσίδα. Οι δύο κανόνες εξαγωγής τυχαίας μεταβλητής είναι για τη διάσταση x (1) : t t ( 1) ( 1) 2 p x x N rho x, 1 rho (6.35) Και αντίστοιχα για τη διάσταση x (2) : t t ( ) ( ) 2 p x x N rho x, 1 rho (6.36) P a g e 187

189 Όπου και οι δύο αποτελούν μονοδιάστατες κανονικές κατανομές με τις ανάλογες μέσες τιμές και με την αντίστοιχη παράμετρο συσχέτισης. Χρησιμοποιώντας τις παραπάνω μαθηματικές εκφράσεις ως κανόνα εξαγωγής τυχαίων μεταβλητών, εξάγουμε τα παρακάτω αποτελέσματα τόσο κατά την αρχικοποίηση όσο και μετά το πέρας των 1000 επαναλήψεων. Όλες οι τυχαίες μεταβλητές σε κάθε βήμα επανάληψης αποθηκεύονται στο πίνακα RandomVariable τον οποίο έχουμε αρχικοποιήσει ως κενό πίνακα μη ορισμένων διαστάσεων. Εικόνα 73. Η τεχνική Gibbs-Sampling κατά την αρχικοποίηση των τυχαίων μεταβλητών. Στην εικόνα [73] παρουσιάζεται με μπλε τετράγωνο το αρχικό τυχαίο σημείο κατά την εκκίνηση του αλγορίθμου καθώς επίσης και το σχήμα της πολυδιάστατης κατανομής πυκνότητας πιθανότητας στόχου. Στην εικόνα [74] παρουσιάζονται με κόκκινες κουκίδες 1000 τυχαίες δειγματοληπτημένες τυχαίες μεταβλητές, ένα σετ τιμών για κάθε επανάληψη, ακολουθώντας την prior mixture of gaussian κατανομή. Εικόνα 74. Εξαγωγή δειγμάτων μέσω της τεχνικής Gibbs-Sampling σε ελλειψοειδής κατανομή δειγμάτων. P a g e 188

190 Listing 14 Gibbs_Sampling.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : Gibbs_Sampling.m Description : Gibbs Markov Chain Monte Carlo Sampler Author : Monahopoulos Konstantinos clc;clear all;close all; Sampled Random variables RandomVariable=[]; linear coordinates in meshgrid [-256,256]. 2d-sampling min=-3;max=3; [xg,yg] = meshgrid(min:0.1:max,min:0.1:max); Covariance coefficient between norms rho=pi/4; Change the eccentricity of the normal distribution th1 = cos(rho)*(xg)-sin(rho)*(yg); th2 = sin(rho)*(yg)+cos(rho)*(xg); Define sigma N[μ,sigma] for each diretion s1=0.6; s2=2.2; m1=0; m2=0; Generate a custom 2D gaussian Z = exp(-((th1)/s1).^2).*(exp(-((th2)/s2).^2)); Plot the 2-d normal distribution contour(xg,yg,z) x(1)=2*max*rand()-max; Initial theta values x1 x(2)=2*max*rand()-max; Initial theta values x2 Plot initial point hold on plot(x(1),x(2),'s','markerfacecolor',[.3.4.5],... 'MarkerEdgeColor',[.3.4.5], 'MarkerSize',5 ); title('markov Chain Monte Carlo Gibbs Sampling'); xlabel('x1'); ylabel('x2'); leg('mixture of Gaussian','Initial Point'); hold off for t=1:1000 Number of samples P a g e 189

191 old =[x(1) x(2)]; Keep the old values x(1) = normrnd( m1+rho*(x(2)-m2), sqrt(1-rho^2) ); x1 ~ P( x1(i) x2(t-1) ) line([old(1),x(1)],[old(2),x(2)],'color',[.3.4.5]); old =[x(1) x(2)]; Keep the old values x(2)= normrnd(m2+rho*(x(1)-m1),sqrt(1-rho^2)); x2 ~ P( x2(t) x1(t) ) line([old(1),x(1)],[old(2),x(2)],'color',[.3.4.5]); Plot the Random variables hold on plot(x(1),x(2),'r.','markersize',10) title('markov Chain Monte Carlo Gibbs Sampling'); xlabel('x1'); ylabel('x2'); hold off RandomVariable = [RandomVariable; [x(1) x(2)]]; Keep sampling variables pause(0.001) leg('mixture of Gaussian','Initial Point','Transitions'); P a g e 190

192 6.6.6 ΠΡΟΣΟΜΟΙΩΜΕΝΗ ΑΝΟΠΤΗΣΗ (MCMC) Η μέθοδος της προσομοιωμένης ανόπτησης (Simulated Annealing - SA) προέρχεται από τη στατιστική φυσική και χρησιμοποιείται για προβλήματα βελτιστοποίησης. Η Στατιστική Φυσική είναι η κατεξοχήν περιοχή της Φυσικής που χρησιμοποιεί την τυχαιότητα στα φαινόμενα που εξετάζει. Υπεισέρχεται στον μικρόκοσμο και στις ατομικές κινήσεις των μονάδων της ύλης (άτομα, μόρια). Θεωρεί ένα πολύ μεγάλο αριθμό δειγμάτων για τα οποία επιχειρεί πάρα πολλές πραγματοποιήσεις ή μετρήσεις του φαινομένου που μελετάται. Από τις μετρήσεις αυτές υπολογίζει τις κατανομές και τις μέσες τιμές των ιδιοτήτων (δηλ. τον μέσο όρο) που μελετά ακολουθώντας τη Monte Carlo τεχνική. Η διαδικασία βελτιστοποίησης που ακολουθεί η μέθοδος SA είναι ανάλογη μιας γνωστής διεργασίας στην Φυσική η οποία περιγράφει με ποιο ρυθμό ψύχεται ένα μέταλλο ή ένας κρύσταλλος. Η διαδικασία αυτή λέγεται ανόπτηση (Annealing). Σε ένα σύστημα ελαττώνεται η παράμετρος Τ, που είναι μία αφηρημένη παράμετρος που αντιστοιχεί στην θερμοκρασία σε ένα πρόβλημα Φυσικής. Η αντίστοιχη διαδικασία λέγεται προσομοιωμένη ανόπτηση (Simulated Annealing) και το μοντέλο που την περιγράφει είναι και αυτό ένα μοντέλο προσομοίωσης. Πιο αναλυτικά όταν ένα υλικό είναι στην υγρή κατάσταση, τα μόριά του έχουν υψηλή σχετικά ενέργεια και κάνουν πολλές βίαιες κινήσεις. Καθόσον σιγά σιγά πέφτει η θερμοκρασία του συστήματος, πέφτει και η ενέργεια των μορίων, των οποίων οι κινήσεις τώρα είναι πιο μικρές, και με κάποιο ρυθμό το υγρό σύστημα μετατρέπεται σε στερεό, στην κατάσταση κατά την οποία οι κινήσεις των μορίων είναι μικρές και περιορίζονται από το πλέγμα στο οποίο τώρα βρίσκονται. Όταν το σύστημα είναι κοντά στην θερμοκρασία μεταβολής της φάσης, τότε και οι πιο μικρές αλλαγές είναι πολύ κρίσιμες. Από την εμπειρία ξέρουμε ότι τα αποτελέσματα θα είναι πολύ διαφορετικά αν ο ρυθμός της μεταβολής είναι γρήγορος ή αργός. Όταν ο ρυθμός είναι αργός τότε δημιουργείται ένα απόλυτα κρυσταλλικό υλικό, καθαρό, διαφανές, με μεγάλο βαθμό συμμετρίας. Όταν ο ρυθμός είναι γρήγορος, τότε δημιουργείται ένας πρόχειρος κρύσταλλος, με μεγάλες ατέλειες, αδιαφανής, χωρίς συμμετρία. Το σημαντικότερο πρόβλημα λοιπόν είναι να βρούμε τον σωστό ρυθμό μεταβολής, ο οποίος δεν πρέπει να είναι ούτε πολύ γρήγορος ούτε πολύ αργός [Ref 1]. Η μέθοδος της προσομοιωμένης ανόπτησης αποτελεί μία Markov Chain Monte Carlo τεχνική μέσω της οποίας προσεγγίζουμε το ολικό ελάχιστο σε μία κατανομής πυκνότητας P(x) ή αντίστοιχα σε οποιαδήποτε συνάρτηση όπως είναι η συνάρτηση σφάλματος. P a g e 191

193 Εικόνα 75. Περιγραφή βασικής αρχής της τεχνικής προσομοιωμένης ανόπτησης. Όπως και στον MH αλγόριθμο έτσι και εδώ ξεκινάμε από μια τυχαία κατάσταση στη κατανομή πυκνότητας και υπολογίζουμε τη P(x) μέσω του αντίστοιχου σημείου x n, ή κατά αναλογία την συνολική ενέργεια των ατόμων στο πείραμα της στατιστικής φυσικής των μετάλλων για συγκεκριμένη θερμοκρασία. Σε κάθε επανάληψη διαλέγουμε τυχαία ένα σημείο της συνάρτησης x* το οποίο θέτουμε ως παράμετρο σημείου πρότασης ελαχιστοποίησης της ενέργειας. Για το νέο σημείο υπολογίζουμε ξανά την ενέργεια P(x ) την οποία δεχόμαστε μέσω μιας πιθανότητας αποδοχής (Acceptance Probability) που ακολουθεί την κατανομή Boltzmann. Εάν η προτεινόμενη κατάσταση κατέχει μικρότερη ενέργεια από τη κατάσταση που βρισκόμαστε, τότε την δεχόμαστε πάντα. Αυτό σημαίνει ότι υπολογίζοντας τη διαφορά της ενέργειας της προτεινόμενης κατάστασης με τη τωρινή, η διαφορά De = P(x ) P(x) θα είναι πάντα ένας αρνητικός αριθμός. Σε κάθε επανάληψη υπολογισμού της διαφοράς της ενέργειας μεταξύ των σημείων υπολογίζεται η πιθανότητα αποδοχής της προτεινόμενης κατάστασης συγκρίνοντας το αποτέλεσμα της κατανομής Boltzmann με ένα τυχαίο αριθμό προερχόμενος από τη ομοιόμορφη κατανομή U(0,1). Η κατανομή Boltzmann που υπολογίζει τη πιθανότητας αποδοχής ακολουθεί τη παρακάτω μαθηματική φόρμουλα : De KT b P e (6.37) Στη περίπτωση που η μετάβαση κατάστασης ελαχιστοποιεί τη συνάρτηση που ερευνούμε, η πιθανότητα αποδοχής θα είναι ένας αριθμός μεγαλύτερος του 1 και έτσι πάντα θα γίνεται αποδεκτή η νέα κατάσταση. Σε αντίθετη περίπτωση ο αριθμός πιθανότητας αποδοχής θα είναι ένας αριθμός ανάμενα στο [0,1], συγκρίσιμος με τον τυχαίο αριθμό της ομοιόμορφης P a g e 192

194 κατανομής. Εάν πιθανότητα αποδοχής είναι μεγαλύτερη της τυχαίας μεταβλητής ομοιόμορφης κατανομής τότε δεχόμαστε τη νέα κατάσταση παρόλο που χαρακτηρίζει σημείο μεγαλύτερης ενέργειας από αυτή που βρισκόμαστε. Ο εκθετικός τύπος που αναπτύσσουμε παραπάνω έχει ως παραμέτρους τη διαφορά των ενεργειών (De), τη σταθερά Boltzmann (K b) και τη θερμοκρασία (T) που βρίσκεται το σύστημα. Η θερμοκρασία αυτή κατά την εκτέλεση του αλγορίθμου μειώνεται με σταθερό ρυθμό, το οποίο σημαίνει ότι όσο η θερμοκρασία μειώνεται τόσο μικραίνει ο εκθετικός όρος, λόγω του αρνητικού πρόσημου που προηγείται και παράλληλα τόσο μειώνεται η συνολική τιμή της πιθανότητας αποδοχής. Για κάθε ντετερμινιστικό βήμα της θερμοκρασίας του συστήματος επαναλαμβάνουμε τη διαδικασία έως ότου αφιχθούμε στο σημείο θερμικής ισορροπία (Thermal Equilibrium). Η διαδικασία επαναλαμβάνεται όσο το κριτήριο της ελάχιστης θερμοκρασίας δεν έχει ικανοποιηθεί. Εικόνα 76. Κατανομή Boltzmann για διάφορες θερμοκρασίες. Η παραπάνω μέθοδος αναγκάζει το σύστημα να «παγιδευτεί» στο ολικό ελάχιστο και να αποφύγει τα τοπικά ελάχιστα. Περιληπτικά ο αλγόριθμος ακολουθεί τα παρακάτω βήματα εκτέλεσης : - Αρχικοποιούμε την αρχική παράμετρο x n - Αρχικοποιούμε την θερμοκρασία T - Όσο η θερμοκρασία είναι μεγαλύτερη της θερμικής ισορροπίας, while (Τ>Τ 0) P a g e 193

195 { - Για κάθε επανάληψη i =1,,n { Προτείνουμε με τυχαίο τρόπο τη παράμετρο της νέας κατάστασης : * x Υπολογίζουμε τη διαφορά De = P(x ) P(x) Υπολογίζουμε μια τυχαία μεταβλητή μέσω της ομοιόμορφης κατανομής : u Uniform [0,1] { De ( Εάν e KbT ) u Αλλιώς Δεχόμαστε τη πρόταση x n x Απορρίπτουμε τη πρόταση x n x n 1 } } } - Όταν φτάσω στη θερμική ισορροπία μειώνω τη θερμοκρασία με ένα σταθερό λόγο T=T*a, a<1 Για την επιτυχία του αλγορίθμου σημαντικό ρόλο κατέχει η μέθοδος που η κατάσταση πρότασης δημιουργείται, η αρχική κατάσταση, η αρχική θερμοκρασία και το βήμα μείωσης της θερμοκρασίας. Υπάρχουν μηχανισμοί υπολογισμού βέλτιστων τιμών τα οποία δεν θα καλύψουμε σε αυτό το κεφάλαιο ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ SIMULATED ANNEALING Σε αυτό το σημείο θα εκτελέσουμε με τη βοήθεια του προγράμματος Matlab τον αλγόριθμο Simulated Annealing παράγοντας δείγματα από μια τυχαία κατανομή πυκνότητα πιθανότητας. Ο αλγόριθμος ακολουθεί τη μέθοδο Random Walk Markov Chain, χρησιμοποιώντας την κανονική κατανομή πυκνότητα πιθανότητας ως κατανομή πρότασης, εκμεταλλέυοντας τη συμμετρία που τη χαρακτηρίζει. Η προσομοίωση επαναλαμβάνεται για 100 επαναλήψεις σε κάθε θερμοκρασία, μειώνοντας τη σε κάθε βήμα επαναλήψεων. P a g e 194

196 Το αρχείο που χρησιμοποιείται για την εκτέλεση ονομάζεται Simulated_Annealing.m και περιέχει όλα τα απαραίτητα δομικά στοιχεία που απαιτούνται. Έστω ότι η τυχαία συνάρτηση πυκνότητας πιθανότητας που επιθυμούμε να βρούμε το ελάχιστο περιγράφεται από το τύπο (6.34) ακριβώς τον ίδιο που χρησιμοποιήσαμε στο MH αλγόριθμο. Όπως αναλύσαμε και θεωρητικά σε κάθε επανάληψη ορίζεται μια νέα κανονική κατανομή μέσω της οποίας ορίζεται το νέο πιθανό τυχαίο δείγμα ή κατά αναλογία η νέα κατάσταση της αλυσίδας Markov. Εφόσον υπολογίσουμε τη διαφορά της ενέργειας είμαστε σε θέση μέσω της πιθανότητας αποδοχής Boltzmann να ερευνήσουμε εάν δεχόμαστε κάθε φορά το προτεινόμενο σημείο, ως το νέο σημείο κατάστασης. Επιπροσθέτως στο τέλος του αλγορίθμου εκτυπώνουμε το τελικό σημείο ολικού ελαχίστου και πραγματοποιούμε validation μέσω μιας ready-to-use συνάρτησης που παρέχεται από τη βιβλιοθήκη του Matlab. Η συνάρτηση αυτή ονομάζεται και δέχεται τις αντίστοιχες παραμέτρους για τη σωστή χρήση της στη μορφή περίπτωση της συνάρτησης (6.34) που ερευνούμε, δημιουργούμε έναν function handler μέσω της συνάρτησης Pfunction.m, έχοντας παράλληλα θέσει το άνω όριο και το κάτω όριο έρευνας ελαχίστου στις τιμές [-1,1]. Το σημείο εκκίνησης έχει τεθεί αυθαίρετα μέσω της συνάρτησης rand(). Ύστερα από τη εκτέλεση του αλγορίθμου εμφανίζουμε τα αποτελέσματα της διαδικασίας μέσω της συνάρτησης plot. Στη Εικόνα 77. Εύρεση ελαχίστου μέσω της μεθόδου RWMCMC-SA σε τυχαία συνάρτηση. P a g e 195

197 Στα αποτελέσματα που επισυνάπτονται στη εικόνα [77] παρατηρούμε ότι οι τελικές Gaussian συναρτήσεις με τα αντίστοιχα κέντρα είναι πανομοιότυπες. Η κανονική συνάρτηση που εξάγεται μέσω της validation διαδικασίας χρησιμοποιώντας την simulannealbnd συνάρτηση χαρακτηρίζεται με κίτρινο χρώμα, ενώ τα αποτελέσματα του αλγορίθμου με μπλε. Αντίστοιχα μέσω παραγωγής κατάστασης πρότασης με τελείως τυχαίο τρόπο, ακολουθώντας προτάσεις κατάστασης εντός των σημείων μεγίστου ελαχίστου, ο αλγόριθμος είναι σε θέση να εντοπίσει με επιτυχία το ολικό ελάχιστο. Η διαφοροποίηση σε σχέση με το προηγούμενο παράδειγμα είναι στην επιλογή τυχαίων σημείων, η οποία γίνεται χωρίς τη τεχνική Random Walk, η οποία ακολουθούσε παραγωγή καταστάσεων με χρήση της κανονικής κατανομής. Το αρχείο που εκτελεί τον αλγόριθμο ονομάζεται Challenging_Simulated_Annealing.m και χρησιμοποιεί τη συνάρτηση PCfunction.m. Και τα δύο αρχεία επισυνάπτονται στην ενότητα Listings. Τα αποτελέσματα του αλγορίθμου αναπτύσσονται στην παρακάτω εικόνα. Εικόνα 78. Εύρεση ελαχίστου μέσω της μεθόδου MCMC-SA σε τυχαία συνάρτηση. P a g e 196

198 Listing 15.1 Simulated_Annealing.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : Simulated_Annealing.m Description : Random Walk MCMC - Simulated Annealing Optimization Author : Monahopoulos Konstantinos clc;clear;close all; parameters NSamples = 100; sig = 0.5; x = 2*rand()-1; X = []; counter=0; T=1; lowerbound=-1; uperbound=1; Number of samples Standard deviation of Gaussian proposal Start point Sequence of samples drawn from the Markov chain Initial temperature Upper bound Lower bound while (T>0.01) for i = 1:NSamples counter=counter+1; Energynow=Pfunction(x); xp = normrnd(x,sig); Generate candidate from Gaussian if (xp<lowerbound) xp=lowerbound; if (xp>uperbound) xp=uperbound; Energyprop=Pfunction(xp); u = rand; Uniform random number De=Energyprop-Energynow; one if (De<0) always accept negative difference x = xp; New point is the candidate elseif (De>0) if(exp(-de/t) > u) If accepted x = xp; New point is the candidate else If rejected x = x; New point is the same as the old X(counter) = x; Store the i-th sample - sequence P a g e 197

199 Plots PRPx=-3:0.1:3; PRP=Pfunction(PRPx); plot(-3:0.1:3,prp,'r'); Plot P(x) title('optimization - Rocks!!') title('random Walk Markov Chain Monte Carlo Simulated Annealing') xlabel('random Variables') ylabel('p(x)') hold on; stem(x, Pfunction(x) ) norm = normpdf(-3:.1:3,x,sig); plot(-3:.1:3,norm,'b'); hold off; pause(0.1) T=T*0.99 decrease temperature VALIDATION matx=simulannealbnd(@pfunction,0,-1,1); hold on; stem(matx, Pfunction(matx)); norm = normpdf(-3:.1:3,matx,sig); plot(-3:.1:3,norm,'y'); hold off; P a g e 198

200 Listing 15.2 Pfunction.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : Pfunction.m Description : Random Walk Markov Chain Monte Carlo Author : Monahopoulos Konstantinos function y = Pfunction(x) y = exp(-x.^2).* (2 + sin(x.*5) + sin(x.*2)); P a g e 199

201 ΚΕΦΑΛΑΙΟ 7: ΣΤΟΧΑΣΤΙΚΑ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ ΜΗ ΕΠΟΠΤΕΥΟΜΕΝΗΣ ΜΑΘΗΣΗΣ 7.1 ΜΗΧΑΝΕΣ BOLTZMANN Οι μηχανές Boltzmann (Boltzmann Machine - BM) αποτελούν ένα στοχαστικό νευρωνικό δίκτυο μη εποπτευομένης μάθησης, που κατέχουν την ιδιότητα να ανακαλύπτουν πυκνότητες πιθανοτήτων και στατιστικές συμπεριφορές πραγματικών δεδομένων. Έτσι, ο στόχος ενός BM είναι, παρουσιάζοντας τα πραγματικά δεδομένα προς εκπαίδευση να δημιουργήσει ένα εσωτερικό μοντέλο (μια κατανομή πυκνότητα πιθανότητας) που θα είναι σε θέση να αναπαράγει τα ίδια δεδομένα με υψηλή πιθανότητα και χωρίς εξωτερική παρέμβαση. Με τον τρόπο αυτό είναι δυνατή η αναγνώριση δεδομένων, προερχόμενα από την ίδια κατανομή που ακολουθούν τα πρότυπα εισόδου ακόμα και αν τα συγκεκριμένα πρότυπα δεν έχουν παρουσιαστεί στο δίκτυο. Τέτοιου είδους νευρωνικά δίκτυα δεν είχαν τόσο ευρεία χρήση όπως τα άλλα είδη νευρωνικών δικτύων πχ Perceptron [3.1], λόγο της πολυπλοκότητας του αλγορίθμου μάθησης που τα χαρακτηρίζουν και της αυξημένης υπολογιστικής ισχύς που απαιτούν [Ref. 16]. Τα BM, κατά την εκπαίδευσή τους βασίζονται σε διαδικασίες εκτίμησης πιθανότητας χρησιμοποιώντας τεχνικές Markov Chain Monte Carlo Simulation (MCMC), Simulated Annealing (SA) και Metropolis Hasting (MH). Με χρήση των παραπάνω αλγορίθμων, τα δίκτυα BM χαρακτηρίζονται σαν ένα είδος εξελιγμένου Hopfield [Hopfield, 1982] νευρωνικού δικτύου, εκπαιδευμένο μέσω στοχαστικών μεθόδων και όχι ντετερμινιστικών όπως περιγράψαμε σε προηγούμενο κεφάλαιο. Με χρήση της στοχαστικής μεθόδου, οι καταστάσεις των νευρώνων θα αλλάζουν συνέχεια χωρίς να αλλάζει η είσοδος που αντικατοπτρίζει το πρότυπο προς εκπαίδευση. Εάν αφήσουμε να εκτελεστεί μια τέτοιου είδους στοχαστική διαδικασία είμαστε σε θέση να καταγράψουμε τις τυχαίες καταστάσεις που εντοπίζεται το δίκτυο και να κατασκευάσουμε μία συνάρτηση πυκνότητας πιθανότητας μέσω των καταστάσεων - προτύπων αυτών. Παρόλα αυτά πρέπει διασφαλίσουμε ότι η κατανομή πιθανότητας λαμβάνεται υπόψιν μόνο όταν το δίκτυο φτάσει σε θερμική ισορροπία. Στο κεφάλαιο [5.2] δείξαμε ότι τα Hopfield δίκτυα μπορούν να χρησιμοποιηθούν για να παρέχουν λύσεις σε πολύπλοκα προβλήματα, εκφρασμένα απλά ως την ελαχιστοποίηση της συνάρτησης ενέργειας, χωρίς όμως να εγγυούνται την εύρεση του ολικού ελαχίστου. Το μοντέλο Hopfield καθοριζόταν μέσω συγκεκριμένων τιμών των συναπτικών βαρών μεταξύ των P a g e 200

202 μονάδων και συγκεκριμένων αρχικών συνθηκών κατά την εκτέλεση. Για το λόγο αυτό το δίκτυο παρουσίαζε πάντα συγκεκριμένη δυναμική συμπεριφορά και συνεπώς κατέληγε πάντα στην ίδια σταθερή κατάσταση (τοπικό ή ολικό ελάχιστο) [Ref. 16]. Σε ένα πρόβλημα μάθησης τα BM τροφοδοτούνται με ένα δυαδικό διάνυσμα δεδομένων εισόδου, μέσω του οποίου εντοπίζονται τα βάρη των συνδέσεων, έτσι ώστε τα δεδομένα εισόδου να αποτελούν ικανοποιητικές λύσεις στο πρόβλημα βελτιστοποίησης (εύρεση ολικού ελαχίστου) μέσω των βαρών που το χαρακτηρίζουν. Το παραπάνω πραγματοποιείται αναθέτοντας μια μεγάλη τιμή πιθανότητας στα πρότυπα που θέτουμε προς εκπαίδευση. Παρατηρούμε ότι αντίθετα από τα δίκτυα Hopfield που τα βάρη ήταν σταθερά ακολουθώντας το Hebbian κανόνα (5.8) κατά την αρχικοποίηση τους, στα δίκτυα Boltzmann τα βάρη αυτά καθορίζονται από αρχικά τυχαίες σταθερές τιμές οι οποίες προσαρμόζονται κατά την εκπαίδευση. Η ενεργοποίηση του κάθε νευρώνα καθορίζεται παρόμοια με τα δίκτυα Hopfield αφού εξαρτάται από τα βάρη και τις καταστάσεις των υπόλοιπων νευρώνων του δικτύου. Για να υπολογιστεί το πρόβλημα μάθησης που θέτουμε, τα BM πραγματοποιούν μικρές αλλαγές στα βάρη των συνδέσμων, με κάθε αλλαγή να απαιτεί την εκτέλεση πολλών διαφορετικών αναζητήσεων για την εύρεση της βέλτιστης λύσης ακολουθώντας τη SA μέθοδο βελτιστοποίησης [Ref. 16] ΔΥΝΑΜΙΚΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ ΔΙΚΤΥΟΥ BM Τα δυναμικά χαρακτηριστικά ενός BM μπορούν να οριστούν ακολουθώντας ένα εργοδικό φυσικό σύστημα. Παρόμοια με το δίκτυο Hopfield, οι μονάδες του δικτύου καθορίζουν μία ολική ενέργεια ακολουθώντας και εδώ το μαθηματικό τύπο (5.11). Η διαφορά της συνολικής ενέργειας του δικτύου εντοπίζεται κυρίως στη πλειάδα των νευρώνων και ανάλογα στο μέγεθος των συνδέσεων που εντοπίζονται στο δίκτυο. Έτσι η συνολική ενέργεια της από κοινού διαμόρφωσης του δικτύου θα ακολουθεί το παρακάτω μαθηματικό κανόνα : 1 1 v, h v b h b v v w v h w h h w (7.1) i i k k i j ij i k ik k l kl ivis khid 2 i j i, k 2 k l Στο παραπάνω κανόνα, ο πρώτος όρος αναφέρεται στη συνδεσμολογία της κατάστασης του κάθε ορατού νευρώνα με το bias που το χαρακτηρίζει, ενώ αντίστοιχη ιδιότητα συναντάμε και στο δεύτερο όρο όσον αφορά τους κρυφούς νευρώνες. Ο τρίτος και ο πέμπτος όρος αναφέρονται στις συνδεσμολογίες των καταστάσεων των νευρώνων του ιδίου επιπέδου, των ορατών και των κρυφών αντίστοιχα, ενώ ο παράγοντας (1/2) τοποθετείται για να εξαλείψει τον P a g e 201

203 διπλό υπολογισμό που γίνεται όταν αθροίζουμε τους όρους (v iv jw ij, v jv iw ji) και (h kh lw kl, h lh kw lk) αντίστοιχα. Τέλος, ο τέταρτος όρος αναφέρεται στη συνδεσμολογία που εντοπίζεται ανάμεσα στους ορατούς και τους κρυφούς νευρώνες με τα αντίστοιχα βάρη. Όταν δίνεται η ευκαιρία ανανέωσης της δυαδικής κατάστασης σε μια μονάδα i, πρέπει πρώτα να υπολογιστεί η ολική είσοδος σε αυτόν τον νευρώνα. Η ολική είσοδος αποτελεί το άθροισμα του bias που συνδέεται στο νευρώνα αυτό με το άθροισμα των γινομένων όλων των καταστάσεων των νευρώνων, όλων των επιπέδων με το συναπτικό βάρος που συνδέει κάθε νευρώνα με τον i νευρώνα. Εφόσον οι συνδέσεις του δικτύου είναι συμμετρικές, τότε κάθε νευρώνας προς ανανέωση πραγματοποιεί την απόφαση ενεργού ανενεργού μέσω υπολογισμού της διαφοράς ενέργειας (ΔΕ i) όταν ο νευρώνας αλλάξει τη κατάστασή του. Πραγματοποιώντας σε κάθε βήμα μεταπηδήσεις των καταστάσεων που ελαχιστοποιούν το σφάλμα οδηγούμαστε σε κάποιο ελάχιστο. Η συνολική είσοδος σε κάθε νευρώνα υπολογίζεται από τη διαφορά δύο ενεργειών όπως περιγράφεται στο τύπο (5.10) παίρνοντας τη παρακάτω μορφή : E E ( 1) E ( 1) b W S (7.2) i i i i ij j j Ο παραπάνω κανόνας εξηγεί ότι η διαφορά των συνολικών ενεργειών πριν και μετά από κάθε ανανέωση κάποιου νευρώνα ισούται με την ολική είσοδο στο νευρώνα ως προς τους υπόλοιπους. Στη περίπτωση που η διαφορά ΔΕ i είναι αρνητική τιμή τότε θα προτιμούσαμε ο νευρώνας να ήταν ανενεργός, σε αντίθετη περίπτωση θα προτιμούσαμε να ήταν ενεργός αφού η ενέργεια υπολογίζεται με αρνητικό πρόσημο. Με χρήση του παραπάνω τύπου παρατηρούμε ότι η τοπική διαφορά της ενέργειας επηρεάζει την ολική ενέργεια του δικτύου. Η κατάσταση του νευρώνα σηματοδοτείται με 1 όταν ο νευρώνας είναι ενεργός ή -1 όταν ο νευρώνας είναι ανενεργός. Χρησιμοποιώντας τη συνάρτηση υπολογισμού της ενέργειας (7.2) η οποία χαρακτηρίζεται και ως συνάρτηση Lyapunov, διασφαλίζεται ότι το δίκτυο θα καταλήξει σε θερμική ισορροπία και στη στοχαστική του μορφή, με παρόμοιο τρόπο όπως είδαμε στη ντετερμινιστική μορφή ανεξάρτητα όμως της αρχικής κατάστασης του δικτύου. Έτσι καθώς η θερμοκρασία μειώνεται δεχόμαστε με όλο και μικρότερη πιθανότητα μια νέα κατάσταση μεγαλύτερης ενέργειας, συγκλίνοντας έτσι σε μία κατανομή ενεργειών όπου η κάθε ενέργεια θα κυμαίνεται κοντά στο ολικό ελάχιστο στην επιφάνεια του σφάλματος. Αν η μεταβλητή της θερμοκρασίας T φτάσει στο 0 τότε η λογιστική συνάρτηση εικόνα [7] εκφυλίζεται σε βηματική εικόνα [6] [Ref. 17]. P a g e 202

204 Όπως εξηγήσαμε παραπάνω ο κάθε νευρώνας ενεργοποιείται δοσμένης κάποιας πιθανότητας έτσι ώστε το δίκτυο να ακολουθεί μια στοχαστική διαδικασία. Για να αποφύγουμε τον εγκλωβισμό σε κάποιο τοπικό ελάχιστο πρέπει κάποιες φορές κατά την αναζήτηση του ολικού ελαχίστου να δεχόμαστε καταστάσεις μεγαλύτερης ενέργειας από αυτή της κατάστασης του δικτύου την οποία βρισκόμαστε (MH). Αυτό θα μας βοηθήσει να ξεπεράσουμε το τοπικό εγκλωβισμό και να οδηγηθούμε σε ένα διαφορετικό σημείο στην επιφάνεια σφάλματος. Η στοχαστική διαδικασία λαμβάνει μέρος μόνο στην ανανέωση του κάθε νευρώνα και ακολουθεί το τύπο της λογιστικής συνάρτησης (2.3) (6.25) όπως παρουσιάζεται παρακάτω : 1 PS ( i 1) Ei 1 e (7.3) Η μεταβλητή T αντιπροσωπεύει τη θερμοκρασία του δικτύου, όπως περιγράφεται στο κεφάλαιο [ ] ακολουθώντας την SA μέθοδο βελτιστοποίησης. Αν οι μονάδες ανανεώνονται μέσω του παραπάνω κανόνα, ύστερα από την εκτέλεση σε μεγάλο χρονικό διάστημα για κάθε θερμοκρασία, η πιθανότητα της κατάστασης στην οποία θα βρεθεί το δίκτυο εξαρτάται μόνο από την ενέργεια της κατάστασης αυτής και όχι από τη κατάσταση εκκίνησης του δικτύου. Ο τρόπος που χρησιμοποιούμε την ολική ενέργεια του δικτύου για να ορίσουμε κάθε φορά την πιθανότητα εύρεσης του δικτύου σε κάθε κατάσταση, πραγματοποιείται συγκρίνοντας την ενέργεια του δικτύου στη κατάσταση θερμικής ισορροπίας, σε σχέση με όλες τις ενέργειες που μπορεί να λάβει το δίκτυο. Έτσι μπορεί να περιγραφεί η ολική πιθανότητα χρησιμοποιώντας αντίστοιχα την ολική ενέργεια (7.1) περιλαμβάνοντας τόσο τους ορατούς όσο και τους κρυφούς νευρώνες στον υπολογισμό. p v, h e ug, vh, e ug, (7.4) Στο παραπάνω κανόνα ο αριθμητής περιγράφει τον εκθετικό όρο περιγραφής της ενέργειας της κατάστασης του δικτύου, ενώ ο παρονομαστής περιγράφει τον όρο κανονικοποίησης μεταξύ όλων των πιθανών καταστάσεων που μπορεί να λάβει το δίκτυο. Ο λόγος που ορίζουμε τον όρο κανονικοποίησης με τις μεταβλητές u και g είναι ότι όλες οι καταστάσεις που μπορεί να λάβει το δίκτυο αποτελούνται είτε από τις καταστάσεις - δεσμευμένων ορατών, ελεύθερων κρυφών νευρώνων - είτε από τις καταστάσεις - ελεύθερων ορατών, ελεύθερων κρυφών νευρώνων - αναλόγως της φάση εκπαίδευσης την οποία βρισκόμαστε [Ref. 17]. P a g e 203

205 Η πιθανότητα ενός διανύσματος κατάστασης, v, ορίζεται αποκλειστικά από την ενέργεια του συγκεκριμένου διανύσματος σε σχέση με την ενέργεια όλων των καταστάσεων όλων των πιθανών διανυσμάτων, ορίζοντας έτσι την τελική πιθανότητα του διανύσματος κατάστασης. Έτσι ο γενικός κανόνας κατανομής πιθανότητας των προτύπων προς εκπαίδευση περιγράφεται στη παρακάτω μαθηματική εξίσωση : p v p v, h p u, g ug, e e v ug, (7.5) Ο παραπάνω μαθηματικό τύπος εξηγείται διαφορετικά αναλόγως σε ποια από τις δύο φάσεις εκπαίδευσης βρισκόμαστε, τις οποίες θα αναλύσουμε αναλυτικά στο επόμενο κεφάλαιο. Έτσι στη θετική φάση εκπαίδευσης για να υπολογιστεί η πιθανότητα του κάθε διανύσματος εκπαίδευσης, πρέπει να αθροίσουμε για κάθε κατάσταση των ορατών νευρώνων (v) το σύνολο των καταστάσεων που μπορεί να λάβουν οι κρυφοί νευρώνες. Με τον τρόπο αυτό είμαστε σε θέση να αποδεσμευτούμε από την δεσμευμένη πιθανότητα p(v,h) = p(h v) για τον υπολογισμό της p + (v). Ο μαθηματικός τύπος (7.4) στη θετική φάση εκπαίδευσης παίρνει τη μορφή που ακολουθεί : p v vh, e pv, h ph v h e pu, g pu, g e e v u, g u, g u, g u, g (7.6) Αντίστοιχα στην αρνητική φάση εκπαίδευσης όλοι οι νευρώνες είναι ελεύθεροι να ανανεώσουν τις καταστάσεις τους, έτσι η πυκνότητα της εσωτερική κατανομής του μοντέλου δικτύου για τον υπολογισμό της p - (v) θα πάρει την παρακάτω μορφή : p v p v, h p u, g e ug, vh, e ug, (7.7) Ο παρονομαστής των ισοτήτων (7.4, 7.5, 7.6, 7.7) καλείται συχνά και συνάρτηση διαμερισμού (partition function) και αντιλαμβανόμαστε ότι για μεγάλα δίκτυα είναι σχεδόν αδύνατο να υπολογιστεί αναλυτικά αφού το άθροισμα αποτελείται από ένα πολύ μεγάλο αριθμό όρων. Εφόσον δεν υπάρχει η δυνατότητα ντετερμινιστικού υπολογισμού, μπορούμε να P a g e 204

206 χρησιμοποιήσουμε τη μέθοδο MCMC για να συλλέξουμε με τυχαίο τρόπο τις καταστάσεις που μπορεί να βρεθεί το δίκτυο, ανανεώνοντας επαναληπτικά τις καταστάσεις των αντίστοιχων νευρώνων (αναλόγως της φάσης εκπαίδευσης) με στοχαστικό τρόπο ακολουθώντας τον κανόνα ανανέωσης (7.3). Έτσι διαλέγουμε τυχαία τους νευρώνες προς ανανέωση (για κάθε θερμοκρασία T) χρησιμοποιώντας τον δειγματολήπτη Gibbs όπως περιγράψαμε στο κεφάλαιο [6.6.5], μειώνοντας τη θερμοκρασία μέχρι αυτή να φτάσει στη θερμική ισορροπία (T=1). Μέσω της παραπάνω διαδικασίας το εσωτερικό μοντέλο (κατανομή πιθανότητας) που θα αναπαριστά το δίκτυο, αποτελούμενο από πιθανότητες καταστάσεων ενεργειών στη θερμική ισορροπία του δικτύου, θα ακολουθεί τη κατανομή Boltzmann (Equilibrium Distribution). Για να είναι σε θέση το δίκτυο να ανακατασκευάσει τα πρότυπα εισόδου με ίση πιθανότητα και χωρίς εξωτερική παρέμβαση πρέπει η εσωτερική κατανομή του δικτύου να γίνει ίδια με την κατανομή των δεδομένων. Πιο απλά οι δύο κατανομές p + (v) και p - (v) πρέπει να έχουν όσο το δυνατό μικρότερη απόσταση. Εάν επιθυμούμε η κατανομή των ενεργειών να αποτελείται από χαμηλές ενέργειες υψηλών πιθανοτήτων, τότε πρέπει να ορίσουμε τα σωστά βήματα εκπαίδευσης και τα σωστά βάρη του δικτύου όπως περιγράφουμε παρακάτω [Ref. 17] ΔΙΑΔΙΚΑΣΙΑ ΕΚΠΑΙΔΕΥΣΗΣ ΤΟΥ ΔΙΚΤΥΟΥ BM Ένα τυπικό δίκτυο BM εμπεριέχει 2 επίπεδα πλήρως συνδεδεμένων νευρώνων. Πιο συγκεκριμένα εμπεριέχει, ένα επίπεδο ορατών νευρώνων (Visible Units διάνυσμα v) που αποτελούν τους νευρώνες εισόδου και αντιπροσωπεύουν τις μονάδες διεπαφής με το εξωτερικό περιβάλλον και ένα επίπεδο κρυφών νευρώνων (Hidden Units διάνυσμα h) που αποτελούν τους ανιχνευτές χαρακτηριστικών (Feature Detectors) οι οποίοι επιτρέπουν στο BM να μοντελοποιεί κατανομές των προτύπων εκπαίδευσης. Λόγω της πλήρους σύνδεσης όλων των νευρώνων, συμπεριλαμβανομένου συνδέσεις στο ίδιο επίπεδο, τα βάρη που συνδέουν το ορατό με το κρυφό επίπεδο κατέχουν πλήρη συμμετρία μεταξύ των συνδέσεων έτσι ώστε W ij = W ji. Όπως και στα Hopfield οι νευρώνες δεν συνδέονται με τον εαυτό τους ορίζοντας έτσι το βάρος W ii = 0 (4.9). Στην εικόνα [79] παρουσιάζουμε ένα τυπικό νευρωνικό δίκτυο Boltzmann που εμπεριέχει 4 ορατούς και 3 κρυφούς νευρώνες [Ref. 18]. P a g e 205

207 Εικόνα 79. Επισκόπηση νευρωνικού δικτύου BM με 3 κρυφούς και 4 ορατούς νευρώνες. Για κάθε δεδομένη είσοδος προς εκπαίδευση, το BM «μαθαίνει» το πρότυπο μέσω δύο φάσεων εκπαίδευσης. Στην πρώτη φάση που καλείται «ξύπνια φάση» (wake phase) ή φάση «μάθησης» (learning phase) οι νευρώνες του ορατού επιπέδου δεσμεύονται (clamped) με το πρότυπο εισόδου από το πίνακα δεδομένων, ενώ οι κρυφοί νευρώνες είναι ελεύθεροι να λάβουν οποιαδήποτε κατάσταση. Η παραπάνω διαδικασία περιγράφει τον αριθμητή της εκ των υστέρων κατανομής p(h v) του τύπου (7.6) της θετικής φάσης εκπαίδευσης. Χρησιμοποιώντας τη διαδικασία Gibbs sampling, αναπροσαρμόζεται με στοχαστικό τρόπο η τιμή του κάθε νευρώνα του κρυφού επιπέδου. Πιο συγκεκριμένα οι κρυφοί νευρώνες ενεργοποιούνται βασιζόμενοι στα συναπτικά βάρη του κάθε κρυφού νευρώνα σε συνδυασμό με τις καταστάσεις όλων των νευρώνων του υπολοίπου δικτύου. Αφού υπολογιστεί η είσοδος του κάθε νευρώνα (7.2) υπολογίζεται η πιθανότητα ενεργοποίησης του νευρώνα που ορίζεται από τη λογιστική συνάρτηση (7.3). Η στοχαστική κατάσταση του κάθε κρυφού νευρώνα εξαρτάται από την δεσμευμένη πιθανότητα του συγκεκριμένου νευρώνα ως προς τους υπόλοιπους νευρώνες του κρυφού επιπέδου αφού οι ορατοί νευρώνες είναι δεσμευμένοι και δεν επιτρέπεται να αλλάξουν. Έτσι οι κρυφοί νευρώνες της φάσης «μάθησης» αναπαριστούν όλες τις καταστάσεις της δεσμευμένης κατανομής πυκνότητας πιθανότητας p(h v) ως προς τους δεσμευμένους ορατούς νευρώνες, ενώ σκοπός της «ξύπνια φάση» είναι να ελαχιστοποιήσει την ενέργεια των κρυφών καταστάσεων που μεγιστοποιούν τη πιθανότητα των προτύπων v. Η κατανομή πιθανότητας της φάσης αυτής (p + (v)) αποτελεί το άθροισμα των εκθετικών ενεργειών που το δίκτυο κατέληξε στη θερμική του ισορροπία για κάθε πρότυπο, προς όλες τις πιθανές δειγματοληπτημένες και στοχαστικές καταστάσεις που μπορεί να λάβει το δίκτυο στη θερμοκρασία αυτή, με τους ορατούς νευρώνες σε δεσμευμένη μορφή και τους κρυφούς ελεύθερους προς ανανέωση. P a g e 206

208 Στην δεύτερη φάση που καλείται «φάση ύπνου» (sleep phase) ή φάση «από - μάθησης» (unlearning phase) το BM επιτρέπεται να εκτελείται ελεύθερα, χωρίς δεσμευμένους νευρώνες (Unclamped) σε κανένα επίπεδο. Έτσι δειγματοληπτούμε την από κοινού κατανομή πυκνότητας πιθανότητας p(v,h), υπολογίζοντας τον αριθμητή στο τύπο (7.7), δειγματοληπτώντας επανειλημμένα και διαδοχικά το κρυφό και το ορατό επίπεδο. Οι ορατοί και οι κρυφοί νευρώνες της φάσης «από - μάθησης» αναπαριστούν τις καταστάσεις όλων των νευρώνων της από - κοινού κατανομής πυκνότητας πιθανότητας p(v,h), ενώ σκοπός της «φάσης ύπνου» είναι να μεγιστοποιήσει την ενέργεια, ελαχιστοποιώντας τη πιθανότητα, όλων των καταστάσεων (v,h) όλων των άλλων μη εμφανιζόμενων προτύπων στο δίκτυο. Η κατανομή πιθανότητας της φάσης αυτής (p - (v)) αποτελεί το άθροισμα των εκθετικών ενεργειών που το δίκτυο κατέληξε στη θερμική του ισορροπία για κάθε τυχαία αρχική κατάσταση, προς όλες τις πιθανές δειγματοληπτημένες και στοχαστικές καταστάσεις που μπορεί να λάβει το δίκτυο στη θερμοκρασία αυτή, με τους ορατούς νευρώνες και τους κρυφούς νευρώνες ελεύθερους προς ανανέωση [Ref. 18]. Όταν κάθε ντετερμινιστική στάθμη της μειούμενης θερμοκρασίας φτάνει στη θερμική ισορροπία (thermal equilibrium) και στις δύο φάσεις εκπαίδευσης υπολογίζουμε τα στατιστικά χαρακτηριστικά του δικτύου τα οποία χρησιμοποιούμε για την ανανέωση των βαρών. Δίνοντας ένα σετ διανυσμάτων κατάστασης (state vectors) προς εκπαίδευση, η διαδικασία της μάθησης του δικτύου περιλαμβάνει την εύρεση των συναπτικών βαρών και των παραμέτρων biases, που ορίζουν την ορθότητα των διανυσμάτων αυτών. Πιο συγκριμένα, στόχος είναι η εύρεση των βαρών και των παραμέτρων (biases) που θα ορίσουν μία κατανομή εσωτερικού μοντέλου Boltzmann στην οποία τα διανύσματα προς εκπαίδευση θα έχουν υψηλή πιθανότητα εμφάνισης και αντίστοιχα χαμηλή ενέργεια. Επιδιώκοντας τη μεγιστοποίηση του γινομένου της πιθανότητας που ανατίθεται σε κάθε διάνυσμα εκπαίδευσης ή αντίστοιχα μεγιστοποιώντας το άθροισμα των λογαρίθμων της πιθανότητας του κάθε διανύσματος v μπορεί να αποδειχτεί ότι : log Pv ( ) sis jdata sis jmod el (7.8) vdata wij Όπου < s i s j > data αποτελεί την αναμενόμενη τιμή των s is j όταν το δίκτυο πραγματοποιεί δειγματοληψία διανυσμάτων κατάστασης από τη κατανομή των δεδομένων προς εκπαίδευση και < s i s j > model αποτελεί την αναμενόμενη τιμή όταν το δίκτυο πραγματοποιεί δειγματοληψία διανυσμάτων κατάστασης από την εσωτερική κατανομή Boltzmann P a g e 207

209 (Equilibrium Distribution) όταν η θερμοκρασία έχει φτάσει στη τιμή 1. Μια εκπληκτική ιδιότητα του BM είναι ότι ο κανόνας εκπαίδευσης απαιτεί μόνο τοπικές πληροφορίες. Αυτό θέτει στο δίκτυο την ικανότητα να μάθει τα δυαδικά χαρακτηριστικά (binary features) ανανεώνοντας τα βάρη στη σωστή κατεύθυνση. Έτσι αποδεικνύεται ότι η μοναδική πληροφορία που απαιτείται για την εύρεση των βαρών περιλαμβάνεται στη διαφορά δύο συσχετίσεων. Οι προσδοκώμενες τιμές των συσχετίσεων < s i s j > data αποτελούν το μέσο όρο του γινομένου των καταστάσεων όλων των προτύπων εκπαίδευσης όταν το διάνυσμα των δεδομένων είναι δεσμευμένο στο επίπεδο των ορατών νευρώνων και οι κρυφοί νευρώνες ανανεώνονται επαναλαμβανόμενα. Αντίστοιχα οι προσδοκώμενες τιμές των συσχετίσεων < s i s j > model αποτελούν το μέσο όρο του γινομένου των καταστάσεων όταν το διάνυσμα των δεδομένων εισόδου και το διάνυσμα στο κρυφό επίπεδο είναι ελεύθερο να αλλάζει καταστάσεις ελαχιστοποιώντας την ενέργεια. Η διαφορά των δύο συσχετίσεων όπως περιγράφουμε στο τύπο (6.7) είναι ανάλογη της ποσότητας ανανέωσης των συναπτικών βαρών. w s s s s (7.9) ij i j data i j mod el Η παράγωγος κατέχει τον παραπάνω απλό χαρακτήρα διότι η πιθανότητα κάθε κατάστασης του δικτύου στη θερμική ισορροπία έχει εκθετική μορφή ως προς την ενέργεια του. Άρα, στη θερμική ισορροπία ο λογάριθμος των πιθανοτήτων (log - probabilities) αποτελεί μία γραμμική συνάρτηση των ενεργειών. Έτσι, ορίζοντας τις ενέργειες του δικτύου ως πιθανότητες, ο λογάριθμος με την εκθετική μεταβλητή εξαλείφονται. Παραγωγίζοντας τη συνάρτηση (6.1) αποδεικνύεται ότι η ενέργεια είναι γραμμική συνάρτηση ως προς τα βάρη έτσι ώστε : E w ij ss i j (7.10) Το παραπάνω πραγματοποιεί αχρείαστη τη διαδικασία διάδοσης της παραγώγου του σφάλματος, όπως πραγματοποιούσαμε μέσω της διαδικασίας backpropagation [Ref. 17]. Η διαδικασία εκπαίδευσης του BM ολοκληρώνεται όταν τα παραγόμενα πρότυπα που ανακατασκευάζονται στη «φάση ύπνου» είναι ίδια με τα πρότυπα που θέτουμε σαν είσοδο κατά τη «ξύπνια φάση». Έτσι, για να εξοπλίσουμε τα συστήματα Boltzmann με μία αναλυτική έκφραση μάθησης, ο D. H. Ackley, T. J. Sejnowski και ο G. E. Hinton [Ackley et al., 1985], που θεωρούνται ως οι πατέρες αυτών των δικτύων, πρότειναν ένα μέτρο σύγκρισης μεταξύ της P a g e 208

210 κατανομής πιθανότητας προς εκπαίδευση και τη πυκνότητα πιθανότητας που κατέχει το BM ως ένα χαρακτηριστικό σφάλμα. Το σφάλμα αυτό, ή αλλιώς η απόσταση μεταξύ των πυκνοτήτων πιθανότητας είναι ευρέως γνωστό ως η Kullback - Leibler [Kullback, 1959] απόσταση. Η διαδικασία εύρεσης της ελάχιστης απόστασης μεταξύ των κατανομών πυκνότητας πιθανότητας, είναι ανάλογη της εύρεσης των βαρών που με μεγαλύτερη πιθανότητα παρήγαγαν τα πρότυπα προς εκπαίδευση. Πιο απλά, η θετική φάση εκπαίδευσης αναθέτει χαμηλές ενέργειες και υψηλές πιθανότητες στα πρότυπα που «βλέπει», ενώ η αρνητική φάση αναθέτει υψηλές ενέργειες και αντίστοιχα χαμηλές πιθανότητες, σε όλα τα άλλα πρότυπα που δεν έχουν εμφανιστεί στο δίκτυο [Ref. 16]. p v ln p v (7.11) G p v patterns Πρέπει να σημειωθεί ότι η διαδικασία της μάθησης στα BM δίκτυα είναι πολύ αργή όταν ενσωματώνουμε πολλούς κρυφούς νευρώνες επειδή μεγάλα δίκτυα καταναλώνουν μεγάλο χρόνο μέχρι να φτάσουν τη θερμική ισορροπία. Ειδικά σε περιπτώσεις όπου ο πίνακας βαρών είναι πολύ μεγάλος και η θερμική ισορροπία είναι ιδιαίτερα πολυτροπική, όπως εντοπίζεται συνήθως όταν οι ορατοί νευρώνες είναι μη δεσμευμένοι, η διαδικασία μπορεί να γίνει ακόμα πιο αργή. Ακόμα και αν είμαστε σε θέση να δειγματοληπτήσουμε από τη κατανομή ισορροπίας, το σήμα μάθησης κατέχει μεγάλο ποσοστό θορύβου επειδή αποτελεί τη διαφορά δύο δειγματοληπτικών προσδοκώμενων τιμών. Αυτές οι δυσκολίες μπορούν να εξαλειφθούν περιορίζοντας τη συνδεσιμότητα μεταξύ των νευρώνων, απλοποιώντας τον αλγόριθμο μάθησης και μαθαίνοντας ένα κρυφό επίπεδο τη φορά. Όλα τα παραπάνω ενσωματώνονται στο είδος δικτύου που ονομάζεται Restricted Boltzmann Machines τα οποία περιγράφονται στο επόμενο κεφάλαιο. P a g e 209

211 7.1.3 ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ - BM Στο κεφάλαιο αυτό θα αναλύσουμε και θα εκτελέσουμε τον αλγόριθμο ΒΜ με τη βοήθεια του προγράμματος matlab για την καλύτερη κατανόηση της θεωρίας. Ο κώδικας επισυνάπτεται στην ενότητα Listings που βρίσκεται στο τέλος της αναφοράς. Η εκτέλεση θα γίνει χρησιμοποιώντας τα ίδια πρότυπα εκπαίδευσης που χρησιμοποιήσαμε κατά την παρουσίαση του αλγορίθμου του Hopfiled δικτύου. Με τον τρόπο αυτό θα είναι ευκολότερο να κατανοήσουμε τις διαδικασίες που ακολουθεί η εκτέλεση του αλγορίθμου. Για την εκτέλεση του αλγορίθμου χρησιμοποιούμε δύο διαφορετικά αρχεία. Το ένα από τα δύο αρχεία αποτελεί το κυρίως αρχείο του πηγαίου κώδικα και ονομάζεται Boltzman_Machine_Algorithm.m, ενώ το δεύτερο αρχείο που χρησιμοποιείται αποτελεί την εξίσωση υπολογισμού ενέργειας νευρώνων του δικτύου και ονομάζεται CalcEnrgy.m. Η συνάρτηση υπολογισμού ενέργειας είναι ίδια με αυτή που χρησιμοποιήσαμε και στο Hopfield νευρωνικό δίκτυο και για το λόγο αυτό δεν θα αναλυθεί στη περιγραφή. Κατά την εκκίνηση του αλγορίθμου θέτουμε τα πρότυπα προς εκπαίδευση, σε διανυσματική μορφή. Τα διανύσματα αυτά αποτελούνται από διπολικές τιμές [-1,1] και αντιπροσωπεύουν τους αριθμούς (1,2,3,4) όπως παρουσιάζονται στη δισδιάστατή μορφή τους στη παρακάτω εικόνα. Εικόνα 80. Πρότυπα προς εκπαίδευση μέσω του δικτύου BM. Για τον συγκεκριμένο αλγόριθμο τα διανυσματικά πρότυπα είναι μήκους 120 στοιχείων θέτοντας αυτόματα τον ίδιο αριθμό στο σύνολο των ορατών νευρώνων του δικτύου. Έχουμε θέσει τους κρυφούς νευρώνες να αποτελούν το μισό σε αριθμό των ορατών, με το σύνολο των νευρώνων του δικτύου να φτάνει τους =180. Ο αριθμός αυτός αποθηκεύεται στη μεταβλητή SizeOfAlln που αποτελεί το άθροισμα των ορατών και των κρυφών νευρώνων. Αμέσως μετά αρχικοποιούμε τον πίνακα βαρών σε αρχικά τυχαίες τιμές στο μέγεθος 180 x 180. Ο πίνακας αυτός περιέχει όλες τις συνδέσεις μεταξύ των νευρώνων ενώ κάνοντας concatenate στη τελευταία γραμμή στο πίνακα αυτό, το διάνυσμα των bias [120x1], ο πίνακας συναπτικών βαρών W αποτελείται πλέον από 181x180 στοιχεία. Για την ορθή εκτέλεση του P a g e 210

212 αλγορίθμου αρχικοποιούμε το διάνυσμα clamped_v_signals που αντιπροσωπεύει το κάθε δεσμευμένο (clamped) πρότυπο των ορατών νευρώνων, ενώ αντίστοιχη αρχικοποίηση πραγματοποιείται στη μεταβλητή unclamped_h_signals η οποία αντιπροσωπεύει τους ελεύθερους κρυφούς (unclumped) νευρώνες. Επιπροσθέτως, αρχικοποιούμε τις μεταβλητές normalizefactor, max_iter και max_configs, που αντιπροσωπεύουν τη μεταβλητή κανονικοποίησης κατά την ανανέωση των βαρών, τις μέγιστες επαναλήψεις ανανέωσης των νευρώνων σε κάθε θερμοκρασία και τον μέγιστο αριθμό διανυσμάτων που θα δειγματοληπτήσουμε κατά τη θερμική ισορροπία. Τέλος, απαραίτητη είναι η αρχικοποίηση της μεταβλητής Templow ως μεταβλητή μείωσης θερμοκρασίας για την ενσωμάτωση του αλγορίθμου SA στη βασική εκτέλεση του αλγορίθμου. Ύστερα από τις απαραίτητες αρχικοποιήσεις ξεκινά η εκτέλεση του κυρίου μέρους του προγράμματος. Η εκτέλεση ξεκινά με τον έλεγχο ενός επαναληπτικού βρόγχου while κατά τον οποίο ελέγχεται η απόσταση Kullback Leibler, την οποία συμβολίζουμε με G έχοντας πρώτα αρχικοποιήσει τη μεταβλητή αυτή στη τιμή inf. Για να συγκρίνουμε τις δυο κατανομές πιθανοτήτων (data & model distributions) θα πρέπει αρχικά να εκτελέσουμε τον αλγόριθμο για όλα τα πρότυπα εκπαίδευσης. Έτσι, ξεκινάμε ένα βρόγχο επανάληψης for loop για όλα τα πρότυπα προς εκπαίδευση, ενώ σε κάθε πρότυπο πραγματοποιούμε τις παρακάτω διεργασίες. Για όλους τους πιθανούς δειγματοληπτικούς συνδυασμούς καταστάσεων των κρυφών και ορατών δεσμευμένων νευρώνων, αρχικοποιούμε το διάνυσμα unclamped_h_signals σε τυχαίες αρχικές καταστάσεις κατασκευάζοντας το τελικό διάνυσμα καταστάσεων όλων των νευρώνων [clamped unclumped]. Το διάνυσμα αυτό είναι μεγέθους [1x180] και σηματοδοτείται με την ονομασία Vc_Hu_signals (Vissible clumped Hidden uncluped signals). Ύστερα σε κάθε θερμοκρασία ενώ αυτή μειώνεται σταδιακά μέσω της μεταβλητής Templow πραγματοποιούμε στοχαστικές ανανεώσεις των καταστάσεων των τυχαίων ελεύθερων νευρώνων, χρησιμοποιώντας τη συνάρτηση ανανέωσης (7.3) αφού πρώτα έχουμε υπολογίσει την ολική είσοδο σε κάθε νευρώνα μέσω της εξίσωσης (7.2). Όταν το δίκτυο φτάσει σε θερμική ισορροπία, όπου T=1, τότε πραγματοποιείται η συλλογή του στατιστικού της θετικής φάσης που περιγράφουμε. Τα στατιστικά αυτά, για κάθε τελική κατάσταση του δικτύου αποθηκεύονται στο πίνακα P_HgivenV. Σκοπός είναι στο πίνακα αυτό οι στήλες να αποτελούν όλες τις καταστάσεις που βρέθηκε το δίκτυο στη θερμική ισορροπία, για κάθε πρότυπο, το οποίο σηματοδοτείται σε κάθε γραμμή του πίνακα. Χρησιμοποιώντας το τύπο (7.6) είμαστε σε θέση να δειγματοληπτήσουμε και να κατασκευάσουμε τη πυκνότητα πιθανότητας p + (v) για τη φάση αυτή. Η κατανομή πιθανότητας αντιπροσωπεύεται από τη διανυσματική μεταβλητή P_Plus και αποτελείται από τόσα στοιχεία P a g e 211

213 όσα και ο αριθμός των διανυσμάτων προς εκπαίδευση. Επιπροσθέτως, στη μεταβλητή Fixed_States αποθηκεύουμε τις καταστάσεις θερμικής ισορροπίας των νευρώνων για όλα τα πρότυπα προς εκπαίδευση. Κατά τη δεύτερη «αρνητική» φάση εκπαίδευσης πρέπει να δίκτυο να καταφέρει να μεγιστοποιήσει τις ενέργειες όλων των άλλων καταστάσεων του δικτύου έτσι ώστε μειώνοντας τις πιθανότητες τους να καταλήξει στην ίδια εσωτερική κατανομή, με αυτή της θετικής φάσης εκπαίδευσης. Έτσι για όλα τα πρότυπα αρχικοποιούμε το διάνυσμα καταστάσεων όλων των νευρώνων σε τυχαίες διπολικές αρχικά τιμές. Το διάνυσμα αυτό συμβολίζεται με Vu_Hu_signals (Vissible unclumped Hidden clamped signals) και είναι μεγέθους [1x180] όσος και ο συνολικός αριθμών των νευρώνων. Για κάθε μειούμενη θερμοκρασία που χαρακτηρίζει το δίκτυο, διαλέγουμε τον τυχαίο αριθμό νευρώνων που θα ανανεωθούν. Η αναπροσαρμογή των καταστάσεων τους πραγματοποιείται τόσο στους ορατούς όσο και στους κρυφούς νευρώνες αφού στη φάση αυτή οι νευρώνες είναι ελεύθεροι προς ανανέωση. Ακολουθώντας τον τύπο υπολογισμού ολικής εισόδου (7.2) για κάθε νευρώνα και χρησιμοποιώντας το στοχαστικό κανόνα ανανέωσης (7.3) όλοι οι νευρώνες αλλάζουν καταστάσεις με μικρότερη πιθανότητα ανανέωσης όσο μειώνεται η θερμοκρασία. Χρησιμοποιώντας το τύπο (7.7) είμαστε σε θέση να δειγματοληπτήσουμε και να κατασκευάσουμε τη πυκνότητα πιθανότητας p - (v) για τη φάση αυτή. Η κατανομή πιθανότητας του μοντέλου αντιπροσωπεύεται από τη διανυσματική μεταβλητή P_Minus και αποτελείται από τόσα στοιχεία όσα είναι ο αριθμός των διανυσμάτων προς εκπαίδευση. Στο τέλος της «αρνητικής» φάσης αποθηκεύουμε στη μεταβλητή Free_States τις καταστάσεις θερμικής ισορροπίας των νευρώνων για όλα τα πρότυπα προς εκπαίδευση. Για να πραγματοποιηθεί η ανανέωση των βαρών, πρέπει πρώτα να υπολογίσουμε τις συσχετίσεις μεταξύ των νευρώνων (ορατών και κρυφών) που εξήχθησαν σε κάθε θερμική ισορροπία, για κάθε πρότυπο, υπολογίζοντας το εσωτερικό γινόμενο για κάθε φάση εκπαίδευσης που εκτελέσαμε. Τα αποτελέσματα των αναμενόμενων τιμών τα αποθηκεύουμε στις μεταβλητές Fixed_States_p και Free_States_n αντίστοιχα, ενώ στη συνέχεια ακολουθώντας τους τύπους ( ) υπολογίζουμε τη διαφορά τους, αποθηκεύοντας το αποτέλεσμα στη μεταβλητή deltaw. Αργότερα, η μεταβλητή αυτή προστίθεται στο πίνακα βαρών W αφού έχει πολλαπλασιαστεί με τη μεταβλητή κανονικοποίησης normalizefactor. Αφού ερευνήσουμε τη μεταβλητή απόστασης G που περιγράφεται στο τύπο (7.11) είμαστε σε θέση πλέον να συγκρίνουμε τη τιμή αυτή με το επιτρεπτό σφάλμα σύγκρισης της αρχικής συνθήκης. P a g e 212

214 Εάν αφήσουμε τον αλγόριθμο να εκτελεστεί αρκετές φορές είμαστε σε θέση να εκτυπώσουμε μέσω της μεταβλητής stem, τόσο την κατανομή των δεδομένων, όσο και την εσωτερική κατανομή του μοντέλου δικτύου. Παρακάτω επισυνάπτουμε το αποτέλεσμα των κατανομών, όταν έχει ικανοποιηθεί η Kullback Leibler απόσταση. Εικόνα 81. Πυκνότητες πιθανότητας προτύπων και εσωτερικού μοντέλου του δικτύου. Στη παραπάνω εικόνα παρατηρούμε ότι η κατανομή που ακολουθούν τα δεδομένα P(V) για τα τέσσερα πρότυπα προς εκπαίδευση είναι ίδια με τη κατανομή του μοντέλου P (V), δίνοντας σε όλα ισοπίθανες τιμές (0.25). Η απόσταση Kullback Leibler εκτυπώνεται στο command prompt και είναι Kullback Distance between distributions Για να αντιληφθούμε και διαισθητικά ότι το δίκτυο έχει συγκλίνει στα σωστά βάρη, παρακάτω επισυνάπτουμε στη δισδιάστατη μορφή τις τιμές που αντιπροσωπεύουν οι συνδέσεις των κρυφών νευρώνων ως προς όλους τους ορατούς νευρώνες του δικτύου. P a g e 213

215 Εικόνα 82. Εξαγωγή συναπτικών βαρών των κρυφών νευρώνων ως ανιχνευτές χαρακτηριστικών. Παρατηρούμε ότι οι σύνδεσμοι αυτοί έχουν εκπαιδευτεί ισοπίθανα για τις τέσσερις καταστάσεις των προτύπων εκπαίδευσης, εμφανίζοντας και τα τέσσερα πρότυπα μαζί. Το γεγονός αυτό μας επιτρέπει να αντιληφθούμε εάν ένα πρότυπο προέρχεται από την κατανομή προτύπων που χρησιμοποιήθηκαν για εκπαίδευση. Σχηματίζοντας υψηλού βαθμού συσχετίσεις μεταξύ των δεδομένων, το δίκτυο παράγει με ίση πιθανότητα τα πρότυπα και συνεπώς όλοι οι νευρώνες ενεργοποιούνται ισοπίθανα και ισόποσα για κάθε ανακατασκευή προτύπου που πραγματοποιεί. Το παραπάνω φαινόμενο εμφανίζεται λόγω των συνδέσεων των νευρώνων του ιδίου επιπέδου, αφού οι συνδέσεις αυτές δεν μας παρέχουν στατιστικά ανεξάρτητες μεταβολές των καταστάσεων του κάθε επιπέδου. P a g e 214

216 Listing 16.1 Boltzman_Machine_Algorithm.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : Boltzman_Machine_Algorithm.m Description : BOLTZMANN MACHINE basic algorithm Author : Monahopoulos Konstantinos ===================================================================== === BOLTZMANN - bias bipolar values vissible and 60 hidden units ===================================================================== === clc; clear; close all; Define a standard vector of 4 characters [ ] Number 1 array num1= [ ]; Number 2 array num2= [ ]; Number 3 array num3= [ P a g e 215

217 ]; Number 4 array num4= [ ]; Concatenate all numbers - Patterns nums(1,:)=num1; nums(2,:)=num2; nums(3,:)=num3; nums(4,:)=num4; SizeOfVn=size(nums,2); SizeOfHn=60; SizeOfAlln=SizeOfVn+SizeOfHn; Number of vissible neurons Number of Hidden neurons Number of All neurons clamped_v_signals=zeros(1,sizeofvn); Initialize clamped vissible units unclamped_h_signals=zeros(1,sizeofhn); Initialize unclamped hidden units normalizefactor = 0.002; max_iter= 10; max_configs=10; Templow = 0.90; the temperature Coefficient for lowering Set rand function given the date rand('state',sum(100*clock)); Randomly initialize the weight matrix W=(2 * rand(1,sizeofalln) - 1); W=(W'*W).*(1-eye(SizeOfAlln)); W=horzcat(W,rand(SizeOfAlln,1)); concatinate bias vissible - hidden Weight Matrix raw 1 -> V1 to all b raw 2 -> V2 to all i. a. s. raw i -> Hi to all t P a g e 216

218 raw i+1 -> Hi to all e. r. m. s G=inf; Kullback distance parameter while (G>10e-9) Repeat while error (G) is bigger than 10e-9 for patterns = 1:size(nums,1) repeat for "patterns" training vectors Clumbed vissible units = fixed clamped_v_signals=nums(patterns,:); for confs=1:max_configs repeat for all configurations Set rand function given the date rand('state',sum(100*clock)); Unclumbed hidden units = free unclamped_h_signals = (2*round(rand(1, SizeOfHn)) - 1); Concatenate vissible and hidden units Vc_Hu_signals=[clamped_v_signals unclamped_h_signals]; =================== POSSITIVE PHASE ===================== T = 10; Init temperature while (T > 1) Until no thermal equilibrium Initialize Random sampler for the possitive phase Rand_idx=find(round(rand(1,SizeOfHn))==1); for iter=1:max_iter Reapeat max_iter times Vissible (fixed) and Hidden units (free) a.k.a difference of energies - Lyapunov function Upgrade hidden units at RANDOM. mathematical function [7.2] for i=1:length(rand_idx) SumUnit=0; for j=1:sizeofalln SumUnit= SumUnit+(Vc_Hu_signals(SizeOfVn+Rand_idx(i))... *W(SizeOfVn+Rand_idx(i),j) + W(SizeOfVn+Rand_idx(i),)); UFixed(i)=SumUnit; p(h==1) Hidden unclumped probabillity. mathematical function [7.3] Vc_Hu_Prop = 1./(1 + exp(-ufixed./t)); tighter While T is dicreasing sigmoid function gets P a g e 217

219 the normal function accept 1 Update neuron status given a probability. for i=1:length(rand_idx) Accept the new states with a comparison of distribution rand() and the sigmoid if ( Vc_Hu_Prop(i) > rand() ) unclamped_h_signals(rand_idx(i)) = 1; else unclamped_h_signals(rand_idx(i)) = -1; accept -1 Concatenate vissible and hidden units for the next iteration. Vc_Hu_signals=[clamped_v_signals unclamped_h_signals]; T = T*Templow; decrease the temperature fprintf('possitive phase. Pattern d. T=3f\n',patterns,T); Calculate probabilities propotion to the energies using Gibbs Sampler. P_HgivenV(patterns,confs)=exp(CalcEnrgy( Vc_Hu_signals,Vc_Hu_signals',W(1:SizeOfAlln,1:SizeOfAlln)...,W(1:SizeOfAlln,))); Fixed_States(patterns,:)=Vc_Hu_signals; =================== END OF POSSITIVE PHASE ============= Calculate distribution over the Data. mathematical function [7.6] norm=sum(sum(p_hgivenv)); Normalization factor - denominator P_HgivenV_norm=P_HgivenV./norm; Normalize the distribution P_Plus=sum(P_HgivenV_norm,2); Probability p+(v) =================== NEGATIVE PHASE ===================== for patterns = 1:size(nums,1) repeat for "patterns" training vectors for confs=1:max_configs repeat for all configurations Initialize all units at random Vu_Hu_signals=(2*round(rand(1, SizeOfAlln)) - 1); T = 10; Init temperature while (T > 1) Until no thermal equilibrium Initialize Random sampler for the negative phase Rand_idxh=find(round(rand(1,SizeOfHn))==1); P a g e 218

220 Rand_idxv=find(round(rand(1,SizeOfVn))==1); Rand_idx=[Rand_idxv SizeOfVn+Rand_idxh]; for iter=1:max_iter Reapeat max_iter times Vissible (free) and Hidden units (free) a.k.a difference of energies - Lyapunov function Upgrade hidden units at RANDOM. mathematical function [7.2] for i=1:length(rand_idxh) SumUnit=0; for j=1:sizeofalln SumUnit= SumUnit+(Vu_Hu_signals(SizeOfVn+Rand_idxh(i))... *W(SizeOfVn+Rand_idxh(i),j)+W(SizeOfVn+Rand_idxh(i),)); UFree_h(i)=SumUnit; Vissible (free) and Hidden units (free) a.k.a difference of energies - Lyapunov function Upgrade vissible units at RANDOM. mathematical function [7.2] for i=1:length(rand_idxv) SumUnit=0; for j=1:sizeofalln SumUnit= SumUnit+(Vu_Hu_signals(Rand_idxv(i))... *W(Rand_idxv(i),j)+W(Rand_idxv(i),)); UFree_v(i)=SumUnit; Concatinate the units UFree=[UFree_v UFree_h]; p(h==1,v==1) Vissible - Hidden unclumped probabillity. mathematical function [7.3] Vu_Hu_Prop = 1./(1 + exp(-ufree./t)); tighter the normal function accept 1 accept -1 While T is dicreasing sigmoid function gets Update neuron status given a probability. for i=1:length(rand_idx) Accept the new states with a comparison of distribution rand() and the sigmoid if (Vu_Hu_Prop(i) > rand() ) Vu_Hu_signals(Rand_idx(i)) = 1; else Vu_Hu_signals(Rand_idx(i)) = -1; P a g e 219

221 T = T*Templow; decrease the temperature fprintf('negative phase. Pattern d. T=3f\n',patterns,T); Calculate probabilities propotion to the energies using Gibbs Sampler. P_HandV(patterns,confs)=exp(CalcEnrgy( Vu_Hu_signals,Vu_Hu_signals',W(1:SizeOfAlln,1:SizeOfAlln)...,W(1:SizeOfAlln,))); Free_States(patterns,:)=Vu_Hu_signals; =================== END OF NEGATIVE PHASE ============= Calculate distribution over the Data. mathematical function [7.7] norm=sum(sum(p_handv)); Normalization factor - denominator P_HandV_norm=P_HandV./norm; Normalize the distribution P_Minus=sum(P_HandV_norm,2); Probability p-(v) Possitive phase correlation (clamped - unclamped) Fixed_States_p = Fixed_States' * Fixed_States; Negative phase correlation (unclamped - unclamped) Free_States_n = Free_States' * Free_States; Difference of correlations is deltaw. This is the partial derivative of the log propabilities of vissible vectors respect to the weights. mathematical function [ ] deltaw = Fixed_States_p - Free_States_n; Update weights with this simple form W = (normalizefactor/t).* [W(1:SizeOfAlln,1:SizeOfAlln)... * deltaw.* (1-eye(SizeOfAlln)) W(,1:SizeOfAlln)']; Calculate Kullback distance between distributions. mathematical function [7.11] G = sum( (P_Plus).* log( P_Plus./ P_Minus)); fprintf('kullback Distance between distributions.10f\n',g); Plot hidden weights to identify what the network learned for n=1:sizeofhn figure(1),subplot(6,10,n),imagesc( imresize(reshape( W(SizeOfVn+n,1:SizeOfVn),[10,12])',[28 28] )) suptitle('hidden units weights') colormap('gray') Plot the probability distribution of Data and Model figure(2),subplot(1,2,1),stem(p_plus); title('p(v) - Data'); P a g e 220

222 W figure(2),subplot(1,2,2),stem(p_minus); title('p''(v) - Model'); suptitle('data and Model Distributions over Patterns') pause(0.001); P a g e 221

223 7.2 ΠΕΡΙΟΡΙΣΜΕΝΕΣ ΜΗΧΑΝΕΣ BOLTZMANN Οι περιορισμένες μηχανές Boltzmann (Restricted Boltzmann machines - RBMs) έχουν χρησιμοποιηθεί σαν γενεσιουργά μοντέλα πολλών διαφορετικών τύπων δεδομένων συμπεριλαμβανομένου επισημασμένων και μη επισημασμένων εικόνων (Hinton et al., 2006a) παρόμοια με τα δεδομένα που θα χρησιμοποιήσουμε στη παρούσα εργασία. Τα RBMs δίκτυα αποτελούν μια συγκεκριμένη υποκατηγορία των BM νευρωνικών δικτύων που αναπτύξαμε στο προηγούμενο κεφάλαιο. Η διαφορά τους εντοπίζεται στη συνδεσμολογία μεταξύ των νευρώνων, μη περιέχοντας πλέον συνδέσεις μεταξύ τους σε κάθε επίπεδο, όπως παρουσιάζεται στην εικόνα [83]. Αυτό το χαρακτηριστικό βοηθά στην επιτάχυνση της εκπαίδευσης επιτρέποντας παράλληλη δειγματοληψία με χρήση του δειγματολήπτη Gibbs σε κάθε επίπεδο. Εικόνα 83. Επισκόπηση νευρωνικού δικτύου RBM με 3 κρυφούς και 4 ορατούς νευρώνες. Το γεγονός που εκμεταλλευόμαστε στα RBM s δίκτυα είναι ότι οι νευρώνες του κάθε επιπέδου αποτελούν στατιστικά ανεξάρτητες μεταβλητές μεταξύ τους και συνεπώς η τυχαία δειγματοληψία από αυτούς πραγματοποιείται παράλληλα ανεξάρτητα από τις τιμές των γειτονικών νευρώνων του ιδίου επιπέδου. Έτσι κατά την εκπαίδευση ο υπολογισμός της ανανεωμένης στοχαστικής κατάστασης του κάθε νευρώνα θα εξαρτάται μόνο από τις καταστάσεις των νευρώνων του άλλου επιπέδου. Για το λόγο αυτό οι δύο φάσεις εκπαίδευσης χρησιμοποιούνται πλέον μέσω δεσμευμένων κατανομών πυκνότητας πιθανότητας. Μέσω της παραπάνω ιδιότητας το δίκτυο είναι σε θέση, δεσμεύοντας το πρότυπο προς εκπαίδευση στους ορατούς νευρώνες να φτάσει τη θερμική ισορροπία μέσω μόνο μίας ανανέωσης των κρυφών νευρώνων εξάγοντας κατευθείαν το στατιστικό χαρακτηριστικό της θετικής φάσης εκπαίδευσης <v ih j> v. Το στατιστικό της θετικής φάσης αποτελεί τη πιθανότητα ενεργοποίησης των κρυφών νευρώνων δεδομένου των καταστάσεων των ορατών νευρώνων, όταν αυτοί είναι δεσμευμένοι στα πρότυπα προς εκπαίδευση. Ανάλογη διαδικασία συναντάμε στην αρνητική φάση κατά την οποία πραγματοποιείται ανανέωση των ορατών νευρώνων δοσμένων των P a g e 222

224 καταστάσεων των κρυφών νευρώνων <v ih j> rec, πραγματοποιώντας ανακατασκευή του προτύπου και εξάγοντας το ανάλογο σφάλμα ανακατασκευής σαν μέτρο επίτευξης της εκπαίδευσης. Το στατιστικό της αρνητικής φάσης αποτελεί τη πιθανότητα ενεργοποίησης των κρυφών νευρώνων δεδομένου των καταστάσεων των ορατών νευρώνων, όταν αυτοί αποτελούν ανακατασκευές των προτύπων μέσω των καταστάσεων των κρυφών νευρώνων, ύστερα από τη θετική φάση εκπαίδευσης [Ref. 19] ΔΥΝΑΜΙΚΑ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ ΔΙΚΤΥΟΥ RBM Τα δυναμικά χαρακτηριστικά των RBMs δικτύων δεν διαφέρουν σε μεγάλο βαθμό από αυτά των BM δικτύων, για το λόγο αυτό θα εξηγήσουμε κυρίως τις διαφοροποιήσεις στους μαθηματικούς τύπους που εφαρμόζονται αλλά και την διαφοροποιημένη προσέγγιση στο πρόβλημα της συλλογής των στατιστικών. Στο RBM δίκτυο ισχύει ο ίδιος δυαδικός τύπος δεδομένων προς εκπαίδευση, αλλά διαφορετικές στοχαστικές προσεγγίσεις των δύο διαφορετικών επιπέδων. Στα δύο επίπεδα που συναποτελούν το δίκτυο οι ορατοί νευρώνες ανταποκρίνονται στα pixel της κάθε εικόνας προς εκπαίδευση, αναπαριστώμενο ως διάνυσμα, ενώ οι κρυφοί νευρώνες ανταποκρίνονται στους ανιχνευτές χαρακτηριστικών (feature detectors). Η από-κοινού διαμόρφωση (v,h) που κατέχει σαν δυναμικότητα το δίκτυο ακολουθεί μια ελάχιστα διαφοροποιημένη προσέγγιση υπολογισμού της ενέργειας, παρόμοια με το τύπο (7.1) : (7.12) E v h a v b h v h w, i i j j i j ij ivissible jhidden i, j Για ακόμα μια φορά υπολογίζουμε την αρνητική ενέργεια αφού αυτή είναι που θα χρησιμοποιηθεί για την εξαγωγή των κατανομών πυκνότητας πιθανότητας. Στο παραπάνω τύπο συμβολίζουμε τους ορατούς νευρώνες και τα biases που αντιστοιχούν σε κάθε νευρώνα με το συμβολισμό v i και a i αντίστοιχα. Ενώ με ανάλογο τρόπο συμβολίζουμε τους κρυφούς νευρώνες με τα αντίστοιχα biases χρησιμοποιώντας το συμβολισμό b j και h j. Ο τελευταίος όρος υπολογισμού της ενέργειας αποτελεί το άθροισμα των καταστάσεων των νευρώνων σε κάθε επίπεδο με το αντίστοιχο βάρος w ij για κάθε ζεύγος σύνδεσης [Ref. 19]. Το δίκτυο και σε αυτή του τη μορφή είναι σε θέση να αναθέτει μία πιθανότητα σε κάθε πιθανό ζευγάρι καταστάσεων των ορατών και των κρυφών νευρώνων μέσω της ενέργειας του δικτύου. P a g e 223

225 Ακολουθώντας τη λογική των BM η στοχαστική διαδικασία υπολογισμού πιθανότητας μπορεί να αναλυθεί μέσω των ενεργειών που χαρακτηρίζει το δίκτυο σε κάθε πιθανή κατάσταση που μπορεί να το εντοπίσουμε στη θερμική ισορροπία. Για το λόγο αυτό η πιθανότητα της απόκοινού διαμόρφωσης του δικτύου είναι ανάλογη των BM δικτύων ακολουθώντας τον τύπο (7.4), όπου και εδώ η συνάρτηση διαμερισμού Z, δίνεται μέσω όλων των πιθανών καταστάσεων, ορατών και κρυφών νευρώνων, που μπορεί να εντοπιστεί το δίκτυο στη θερμική ισορροπία [Ref. 19]. Ακολουθώντας τον ίδιο κανόνα υπολογισμού της πιθανότητας ενεργοποίησης ενός νευρώνα (7.2) δοσμένου ενός διανύσματος εισόδου v, η ενεργή δυαδική κατάσταση του κάθε νευρώνα h j του κρυφού επιπέδου, ενεργοποιείται με πιθανότητα : p h j 1 v 1 e 1 bj viwij ivis (7.13) Λόγω της έλλειψης συνδέσεων των νευρώνων του ιδίου επιπέδου με παρόμοιο τρόπο πλέον μπορούμε να υπολογίσουμε τη πιθανότητα ενεργοποίησης ενός νευρώνα v i του ορατού επιπέδου ακολουθώντας το παρακάτω τύπο : p v i 1 h 1 e 1 ai hjw ij jhid (7.14) Η πιθανότητα που αναθέτει το δίκτυο σε κάθε δεδομένο εικόνα προς εκπαίδευση αυξάνεται προσαρμόζοντας τα βάρη και τις μεταβλητές bias έτσι ώστε να επιτευχθεί χαμηλότερη ενέργεια στην συγκεκριμένη εικόνα ως προς τις υπόλοιπες εικόνες και πιο ειδικά σε αυτές που η ενέργειά τους είναι ήδη σε χαμηλά επίπεδα και συνεισφέρουν περισσότερο στη συνάρτηση διαμερισμού Z, εφόσον λαμβάνουμε υπόψιν μόνο τις καταστάσεις θερμικής ισορροπίας. Η παράγωγος των λογαρίθμων των πιθανοτήτων των δεδομένων προς εκπαίδευση ως προς τα βάρη περιγράφεται από μία πολύ απλή μορφή ανάλογη του τύπου (7.8). Όπου οι συσχετίσεις των ορατών και των κρυφών νευρώνων χρησιμοποιούνται για να υποδηλώσουν προσδοκώμενες τιμές της κατανομής των δεδομένων και του μοντέλου αντίστοιχα. Το παραπάνω οδηγεί σε έναν πολύ απλό κανόνα μάθησης (7.9) πραγματοποιώντας στοχαστική αύξηση στο λογάριθμο των πιθανοτήτων των δεδομένων προς εκπαίδευση [Ref. 19]. Για να υπολογίσουμε τη πιθανότητα εμφάνισης των προτύπων κατά τη θετική φάση εκπαίδευσης p(v), θα πρέπει να αθροίσουμε για όλες τις καταστάσεις των νευρώνων του κρυφού επιπέδου ακολουθώντας το τύπο (7.6). Λόγω όμως της στατιστικής ανεξαρτησίας P a g e 224

226 μεταξύ των κρυφών νευρώνων, η κατάσταση θερμικής ισορροπίας του δικτύου πραγματοποιείται σε ένα μόνο βήμα σύγκλισης. Έτσι κατά τη θετική φάση, για κάθε πρότυπο προς εκπαίδευση, η μέση τιμή συλλέγεται με δειγματοληψία πολλών στατιστικών, μέσω ενός μόνο βήματος σύγκλισης για το καθένα. Αντίστοιχα στην αρνητική φάση εκπαίδευσης, το δίκτυο ανανεώνει επαναλαμβανόμενα και διαδοχικά του νευρώνες του κάθε επιπέδου, δεσμεύοντας κάθε φορά ένα από τα δύο επίπεδα [Ref. 19]. Όπως και στα δίκτυα BM έτσι και στα δίκτυα RBMs ο υπολογισμός του στατιστικού της φάσης «από - μάθησης» αποτελεί μία πολύ πιο δύσκολη και χρονοβόρα διαδικασία. Παρόλα αυτά μπορεί να υπολογιστεί θέτοντας τις καταστάσεις των ορατών νευρώνων σε οποιαδήποτε τυχαία κατάσταση και πραγματοποιώντας εναλλακτικά δειγματοληψία με το δειγματολήπτη Gibbs για μεγάλο χρονικό διάστημα. Μία επανάληψη εκτέλεσης του δειγματολήπτη Gibbs περιλαμβάνει επανυπολογισμό όλων των κρυφών και των ορατών νευρώνων χρησιμοποιώντας εναλλακτική δειγματοληψία. Για τη βελτιστοποίηση του χρόνου υπολογισμού της παραπάνω διαδικασίας ο Hinton (2002) πρότεινε έναν πολύ πιο γρήγορο αλγόριθμο τον οποίο θα αναλύσουμε στο επόμενο κεφάλαιο. Δεσμεύοντας τους ορατούς νευρώνες στο διάνυσμα εκπαίδευσης υπολογίζονται οι καταστάσεις των νευρώνων του κρυφού επιπέδου χρησιμοποιώντας τον τύπο (7.13). Ύστερα από την ανανέωση των καταστάσεων στο κρυφό επίπεδο, πραγματοποιείται η ανακατασκευή του διανύσματος εκπαίδευσης θέτοντας κάθε νευρώνα του ορατού επιπέδου ακολουθώντας το τύπο (7.14). Τέλος οι νέες τιμές των βαρών υπολογίζονται όπως παρουσιάζεται παρακάτω : wij sis jdata sis j recon (7.15) Το παραπάνω αποτελεί μια απλοποιημένη μορφή του ιδίου κανόνα μάθησης που χρησιμοποιεί τις καταστάσεις στατιστικά ανεξάρτητων μεμονωμένων νευρώνων αντί του γινομένου των ζευγών νευρώνων που παρουσιάστηκε μέσω του τύπου (7.9). Εάν επιθυμούμε η κατανομή των ενεργειών να αποτελείται από χαμηλές ενέργειες υψηλών πιθανοτήτων, τότε πρέπει να ορίσουμε τα σωστά βήματα εκπαίδευσης και τα σωστά βάρη του δικτύου όπως περιγράφουμε παρακάτω ΔΙΑΔΙΚΑΣΙΑ ΕΚΠΑΙΔΕΥΣΗΣ ΤΟΥ ΔΙΚΤΥΟΥ RBM Για να είναι σε θέση το δίκτυο να συνθέτει την ίδια εσωτερική κατανομή πιθανοτήτων παρόμοια με αυτής που ακολουθούν τα πρότυπα των δεδομένων προς εκπαίδευση, θα πρέπει P a g e 225

227 να ακολουθήσουμε και εδώ τις δύο φάσεις διαδικασιών κατά την εκπαίδευση. Όπως και στη προσέγγιση BM έτσι και εδώ οι δύο φάσεις αποτελούν τη διαδικασία «μάθησης» και «απόμάθησης», οι οποίες πραγματοποιούνται μέσω του Gibbs δειγματολήπτη, για την εύρεση των τελικών επιθυμητών βαρών. Στο σημείο αυτό θα περιγράψουμε τη κλασσική προσέγγιση εκπαίδευσης των RBM s δικτύων ενώ αργότερα θα αναλύσουμε τον βελτιστοποιημένο αλγόριθμο που πρότεινε ο Hinton κατά την έρευνα του στα δίκτυα αυτά. Κατά τη «ξύπνια» φάση εκπαίδευσης οι ορατοί νευρώνες δεσμεύονται με το πρότυπο προς εκπαίδευση και ύστερα ανανεώνονται όλοι οι κρυφοί νευρώνες (7.13), έτσι ώστε να συνθέσουμε τη κατανομή p(h v). Όπως αναλύσαμε και στο κεφάλαιο δυναμικής των δικτύων RBM s λόγω της στατιστικής ανεξαρτησίας μεταξύ των κρυφών νευρώνων, πραγματοποιούμε την στοχαστική ανανέωση των κρυφών νευρώνων φτάνοντας κατευθείαν στη θερμική ισορροπία του δικτύου. Έτσι είμαστε σε θέση να συλλέξουμε το στατιστικό χαρακτηριστικό της θετικής φάσης <v ih j> 0 σε ένα μόνο βήμα σύγκλισης, t=0. Μέσω της μεθόδου αυτής παρατηρούμε ότι ο SA αλγόριθμος που είναι υπεύθυνος για την εύρεση του ολικού ελαχίστου μειώνοντας σταδιακά τη θερμοκρασία, είναι πλέον αχρείαστος. Εικόνα 84. Διαδικασία συλλογής στατιστικού θετικής φάσης εκπαίδευσης του δικτύου RBM. Στο επόμενο βήμα εκτέλεσης, οι νευρώνες του ορατού επιπέδου πραγματοποιούν την ανακατασκευή του προτύπου στη «φάση ύπνου» δειγματοληπτώντας την υπό-συνθήκη κατανομή μέσω των δεσμευμένων καταστάσεων των νευρώνων του κρυφού επιπέδου (7.14), έτσι ώστε να συνθέσουμε τη κατανομή p(v h). Η παραπάνω διεργασία θα πρέπει να πραγματοποιηθεί για πάρα πολλά βήματα σύγκλισης, t = (πρακτικά άπειρα) για να συλλέξουμε το στατιστικό χαρακτηριστικό της αρνητικής φάσης <v ih j>, όπως παρουσιάζεται στην εικόνα [85]. P a g e 226

228 Εικόνα 85. Διαδικασία συλλογής στατιστικού αρνητικής φάσης εκπαίδευσης του δικτύου RBM. Ύστερα από τη διαδικασία αυτή, υπολογίζεται η ποσότητα ανανέωσης των βαρών χρησιμοποιώντας τον τύπο (7.15), θέτοντας τη διαφορά των στατιστικών και χρησιμοποιώντας την παράμετρο ε, που ορίζει το ρυθμό εκπαίδευσης. 0 ij i j i j w v h v h (7.16) Μέσω της παραπάνω διαδικασίας αντιλαμβανόμαστε τη δυσκολία και το υπολογιστικό κόστος που απαιτείται για τη συλλογή των στατιστικών. Παρόλα αυτά, κατά την έρευνα των δικτύων αυτών, προτάθηκε (Hinton, 2002) ένας βελτιστοποιημένος αλγόριθμος εκπαίδευσης που ονομάζεται ( Contrastive Divergence CD ). Ο αλγόριθμος αυτός απαιτεί μεγάλη πρακτική εμπειρία έτσι ώστε να είμαστε σε θέση να ορίσουμε τις αριθμητικές μεταβλητές της διαδικασίας. Οι αριθμητικές μεταβλητές μπορεί να είναι ο ρυθμός μάθησης, η δυναμική συμπεριφορά του δικτύου, οι αρχικές τιμές των συναπτικών βαρών, ο αριθμός των νευρώνων του κρυφού επιπέδου, και το μέγεθος της κάθε δέσμης δεδομένων προς εκπαίδευση. Επιπροσθέτως, πρέπει να οριστεί ποιος τύπος νευρώνων θα χρησιμοποιηθεί, εάν η ανανέωση των νευρώνων θα γίνει με στοχαστική ή ντετερμινιστική διαδικασία, ο αριθμός των ανανεώσεων του κρυφού επιπέδου για κάθε διάνυσμα προς εκπαίδευση, όπως επίσης και ο σωστός χρόνος τερματισμού της εκπαίδευσης. Η πρόταση του Hinton, θέτει απλά τη στατιστική συλλογή του αρνητικού χαρακτηριστικού, μέσω ενός βήματος ανακατασκευής του προτύπου από το δίκτυο. Έτσι, το θετικό στατιστικό <v ih j> 0 συλλέγεται στο πρώτο βήμα σύγκλισης (t=0), ενώ το αρνητικό στατιστικό <v ih j> 1 στο δεύτερο βήμα σύγκλισης (t=1) αντίστοιχα, όπως παρουσιάζεται στην εικόνα [86]. P a g e 227

229 Εικόνα 86. Βελτιστοποιημένη διαδικασία συλλογής στατιστικού αρνητικής φάσης εκπαίδευσης του δικτύου RBM. Η παραπάνω διαδικασία μας αποφέρει πολύ ικανοποιητικά αποτελέσματα, εξάγοντας τον τελικό τύπο ανανέωσης βαρών ως την διαφορά των συσχετίσεων ενός βήματος (CD 1 step), ακολουθώντας τον παρακάτω κανόνα : 0 1 ij i j i j w v h v h (7.17) Τέλος, ο κανόνας μάθησης προσεγγίζει με μεγάλη ικανοποίηση τη ανακατασκευή του προτύπου μέσω της διαφοράς που εξάγεται από το μέτρο σύγκρισης Kullback-Liebler divergences ΕΚΤΕΛΕΣΗ ΑΛΓΟΡΙΘΜΟΥ RBM Στο κεφάλαιο αυτό θα αναλύσουμε και θα εκτελέσουμε τον αλγόριθμο RΒΜ με τη βοήθεια του προγράμματος matlab για την καλύτερη κατανόηση της θεωρίας. Η εκτέλεση θα γίνει χρησιμοποιώντας τα ίδια πρότυπα εκτέλεσης όπως αυτά του αλγορίθμου περιγραφής της τεχνικής των μηχανών Boltzmann. Στο RBM δίκτυο που κατασκευάσαμε χρησιμοποιούμε 120 ορατούς νευρώνες και 12 κρυφούς οι οποίοι ακολουθούν τη στοχαστική διαδικασία ανανέωσης. Το αρχείο που χρησιμοποιείται για την εκτέλεση ονομάζεται RBM_Algorithm.m ενώ δεν απαιτείται χρήση επιπρόσθετου αρχείου όπως η συνάρτηση υπολογισμού ενέργειας που χρησιμοποιούσαμε πριν. Κατά την εκκίνηση του αλγορίθμου αρχικοποιούμε και εδώ τα πρότυπα εισόδου σαν ένα πίνακα πολλαπλών δυαδικών διανυσμάτων καθώς επίσης και τις απαραίτητες μεταβλητές οι οποίες αργότερα θα χρησιμοποιηθούν κατά την εκτέλεση. Η κύρια εκτέλεση του αλγορίθμου P a g e 228

230 πραγματοποιείται εντός του for βρόγχου επανάληψης ο οποίος επαναλαμβάνεται έως 1000 φορές σε περίπτωση που δεν είναι δυνατή η πλήρη ανακατασκευή των προτύπων. Σε αντίθετη περίπτωση ο βρόγχος επανάληψης σταματά αμέσως μετά την μηδενική εξαγωγή σφάλματος της ανακατασκευής. Εντός του βρόγχου αρχικά πραγματοποιούμε πολλαπλή αντιγραφή όλων των bias μέσω της εντολής repmat που συνοδεύουν τόσο τους ορατούς όσο και τους κρυφούς νευρώνες, ενώ το αποτέλεσμα της αντιγραφής αποθηκεύεται αντίστοιχα στις μεταβλητές V_b και H_b. Προχωρώντας απευθείας στη θετική φάση εκτέλεσης του αλγορίθμου υπολογίζουμε με χρήση της λογιστικής συνάρτησης (7.13) τη πιθανότητα ενεργοποίησης των κρυφών νευρώνων P(h v), δοσμένου των καταστάσεων των ορατών νευρώνων που έχουν δεσμευτεί με το εκάστοτε πρότυπο εκπαίδευσης. Ο πίνακας πιθανοτήτων αντιπροσωπεύεται από την μεταβλητή P_h_probs την οποία χρησιμοποιούμε για ανανέωση των κρυφών νευρώνων μέσω της σύγκρισης κάθε πιθανής κατάστασης με μία ομοιόμορφη κατανομή αποθηκεύοντας το αποτέλεσμα στη μεταβλητή καταστάσεων P_h_states. Η παραπάνω απλή και σύντομη διαδικασία αντιπροσωπεύει την θετική φάση εκπαίδευσης του αλγορίθμου και αποτελεί το πρώτο βήμα της εκπαίδευσης. Κατά την αρνητική φάση χρησιμοποιούμε τη τεχνική Contrastive Divergence όπως περιγράφεται στο κεφάλαιο [7.2.2], και μέσω ενός μόνο βήματος προχωράμε στην ανακατασκευή των προτύπων με χρήση της κατανομής πιθανότητας P(v h). Ακολουθώντας το τύπο (7.14), ορίζουμε αρχικά τη πιθανότητα ανανέωσης των ορατών νευρώνων μέσω της μεταβλητής N_v_probs ενώ αμέσως μετά πραγματοποιούμε την ανανέωση μέσω σύγκρισης της πυκνότητας πιθανότητας προς ανανέωση των νευρώνων και μίας ομοιόμορφης κατανομής, αποθηκεύοντας το αποτέλεσμα μεταβλητή Rec. Η διαδικασία της δειγματοληψίας των κατανομών ολοκληρώνεται χρησιμοποιώντας ακόμα μία φορά το δειγματολήπτη Gibbs υπολογίζοντας τη πιθανότητα ανανέωσης των κρυφών νευρώνων χρησιμοποιώντας πλέον το ανακατασκευασμένο πρότυπο ορίζοντας έτσι τη πιθανότητα P(h Rec) και αποθηκεύοντας το αποτέλεσμα στη μεταβλητή N_h_probs. Ύστερα από τον υπολογισμό αποτελεσμάτων ενός βήματος ανακατασκευής CD-1, έχουν εξαχθεί οι πιθανότητες των στατιστικών P_h_probs και N_h_probs που αντιπροσωπεύουν τις εκ των προτέρων κατανομές πιθανότητας μετάβασης. Με χρήση των δύο αυτών στατιστικών υπολογίζουμε το θετικό στατιστικό χαρακτηριστικό P(h v)v-(<v ih j> 0 ) και το αρνητικό στατιστικό χαρακτηριστικό P(h Rec)Rec-(<v ih j> 1 ), τα οποία αποθηκεύονται στις μεταβλητές P_stats και N_stats αντίστοιχα. Μέσω της διαφοράς των στατιστικών και πολλαπλασιάζοντας το αποτέλεσμα με το ρυθμό μάθησης είμαστε σε θέση να υπολογίσουμε τη ποσότητα αλλαγής P a g e 229

231 των συναπτικών βαρών (7.17) τα οποία αντιπροσωπεύονται από τη μεταβλητή Weights_v_h [120x12]. Χρησιμοποιώντας τον ίδιο ρυθμό μάθησης υπολογίζουμε τη ποσότητα αλλαγής των bias τόσο των ορατών νευρώνων (V_biases), όσο και των κρυφών (H_biases) νευρώνων. Όπως αναφέραμε και στην αρχή της περιγραφής η κύρια λειτουργία του αλγορίθμου τερματίζεται όταν το σφάλμα ανακατασκευής γίνει μηδέν ή οι επαναλήψεις εκτέλεσης φτάσουν τις Το σφάλμα ανακατασκευής αντιπροσωπεύεται από τη μεταβλητή err ενώ η πορεία του σφάλματος κατά την εκτέλεση καταγράφεται στη μεταβλητή err_history. Όταν ολοκληρωθεί η διαδικασία εκτέλεσης του αλγορίθμου είμαστε σε θέση να εκτυπώσουμε τους ανιχνευτές χαρακτηριστικών, έτσι ώστε να αντιληφθούμε σε ποιο πρότυπο σύγκλινε ο καθένας. Ο κάθε ανιχνευτής χαρακτηριστικών αντιπροσωπεύεται από τα συναπτικά βάρη που ενώνουν τον εκάστοτε κρυφό νευρώνα με όλους του ορατούς νευρώνες. Στην εικόνα [87] παρουσιάζεται το αποτέλεσμα της καταγραφής των χαρακτηριστικών καθώς και η ανακατασκευή των προτύπων μέσω ενεργοποίησης των αντίστοιχων αντιπροσωπευτικών ανιχνευτών. Εικόνα 87. Ανιχνευτές χαρακτηριστικών και ανακατασκευή προτύπων μέσω του δικτύου RBM. Μέσω του αποτελέσματος παρατηρούμε ότι κάθε πρότυπο ενεργοποιεί και έναν διαφορετικό ανιχνευτή χαρακτηριστικών ενώ το σφάλμα ανακατασκευής κατέληξε στη τιμή 0. Για παράδειγμα το πρότυπο του αριθμού ένα είναι σε θέση να πραγματοποιήσει έντονη δραστηριότητα στους κρυφούς νευρώνες [6,10,11] μέσω των συναπτικών βαρών που το P a g e 230

232 χαρακτηρίζει. Αντίστοιχα το πρότυπο του αριθμού 4 θα πραγματοποιήσει έντονη δραστηριότητα στους κρυφούς νευρώνες [4,5,8] και λιγότερη στου νευρώνες [3,9,12]. Μέσω της τεχνικής αυτής είμαστε σε θέση με χρήση των ανεξάρτητων στατιστικών μεταβλητών επιπέδων, να αναδείξουμε διαφορετική ενέργεια σε κάθε πρότυπο και συνεπώς διαφορετική πιθανότητα εμφάνισης και ενεργοποίησης των νευρώνων. Ως αποτέλεσμα το δίκτυο μπορεί πλέον να χρησιμοποιηθεί για αναγνώριση προτύπων σε αντίθεση με το προγενέστερο δίκτυο BM. Η παραπάνω διαδικασία, φυσικά απαιτεί ένα επιπρόσθετο επίπεδο νευρώνων που θα αντιπροσωπεύουν τις κατηγορίες των προτύπων και χρήση ενός μέρους επισημασμένων προτύπων που θα χρησιμοποιηθούν μέσω εποπτευομένης μάθησης. Επιπροσθέτως, στην εικόνα [88] αναδεικνύουμε την ομοιότητα των κατανομών που ακολουθούν τα πρότυπα με την εσωτερική κατανομή του μοντέλου ανακατασκευής. Οι κατανομές πιθανότητας ορισμένες μέσω των ενεργειών των προτύπων είναι πανομοιότυπες ορίζοντας την ελάχιστη απόσταση Kullback-Liebler divergences. Εικόνα 88. Πυκνότητες κατανομών των προτύπων και του μοντέλου του δικτύου RBM. Τέλος στην εικόνα [89] παρουσιάζουμε τη πορεία του σφάλματος κατά τη σύγκλιση του αλγορίθμου. Παρατηρούμε ότι το σφάλμα ή με άλλα λόγια οι καταστάσεις ενεργειών που βρέθηκε σε κάθε βήμα σύγκλισης το δίκτυο, ακολουθεί τη κατανομή Boltzmann ενώ ορισμένες P a g e 231

233 φορές το δίκτυο επιλέγει να βρεθεί σε καταστάσεις μεγαλύτερης ενέργειας ψάχνοντας για το ολικό ελάχιστο, όπως ακριβώς ορίζει το θεωρητικό υπόβαθρο των δικτύων αυτών. Εικόνα 89. Ιστορικό του σφάλματος κατά τη σύγκλιση της ανακατασκευής των προτύπων μέσω του δικτύου RBM. P a g e 232

234 Listing 16.2 RBM_Algorithm.m Master thesis : Research and development on Deep Learning techniques in the field of computer vision File : RBM_Algorithm.m Description : RESTRICTED BOLTZMANN MACHINE basic algorithm Author : Monahopoulos Konstantinos ===================================================================== === RBM - bias bipolar values vissible and 12 hidden units ===================================================================== === clc; clear; close all; Define a standard vector of 4 characters [ ] Number 1 array num1= [ ]; Number 2 array num2= [ ]; Number 3 array num3= [ P a g e 233

235 ]; Number 4 array num4= [ ]; Concatenate all numbers nums(1,:,1)=num1; nums(2,:,1)=num2; nums(3,:,1)=num3; nums(4,:,1)=num4; nums(nums==-1)=0; maxepoch=1000; number of maximum iterations numhid=12; number of hidden neurons CD=1; Contrastive Divergence steps err_history=[]; initialize error history Set rand and randn function given the date rand('state',sum(100*clock)); randn('state',sum(100*clock)); Learning rate for weights,biases of visible units and hidden units L_rate = 0.05; Normalizations Factor Norm_fact = 0.002; Number of cases (4) and dimensions of each pattern [numcases, numdims]=size(nums); Weights of vissible to hidden units Weights_v_h = randn(numdims, numhid); Biases of hidden units H_biases = zeros(1,numhid); Biases of vissible units V_biases = zeros(1,numdims); Possitive phase hidden units update probabillities P a g e 234

236 P_h_probs = zeros(numcases,numhid); Negative phase hidden units update probabillities N_h_probs = zeros(numcases,numhid); Negative phase vissible units update probabillities N_v_probs = zeros(numcases,numdims); Increasing factor of vissible to hidden units weights V_h_inc = zeros(numdims,numhid); Increasing factor of hidden units biases H_b_inc = zeros(1,numhid); Increasing factor of vissible units biases V_b_inc = zeros(1,numdims); for epoch = 1:maxepoch Concatinate biases for each vissible unit [patterns x total vissible units] V_b = repmat(v_biases,numcases,1); Concatinate biases for each hidden unit [patterns x total hidden units] H_b = repmat(h_biases,numcases,1); =================== POSSITIVE PHASE ===================== Possitive phase - activation probabillity of the hidden units P(h v) P_h_probs = 1./(1 + exp(-nums*weights_v_h - H_b)); Mathematical function [7.13] Possitive phase - update hidden units states given hidden units probabillities P_h_states = P_h_probs > rand(numcases,numhid); =================== END OF POSSITIVE PHASE ============= =================== NEGATIVE PHASE ===================== for CD_counter=1:CD Using CD (Contrastive Divergence) - 1 step Negative phase - activation probabillity of the vissible units P(v h) N_v_probs = 1./(1 + exp(-p_h_states*weights_v_h' - V_b)); Mathematical function [7.14] Negative phase - update vissible units states given vissible units probabillities Rec = N_v_probs > rand(numcases,numdims); Negative phase - activation probabillities of the hidden units P(h Rec) N_h_probs = 1./(1 + exp(-rec * Weights_v_h - H_b)); Possitive phase statistics - <vihj>0 P_stats = nums' * P_h_probs; Negative phase statistics - <vihj>1 N_stats = Rec' * N_h_probs; =================== END OF NEGATIVE PHASE ============= Extract reconstruction error err= sum(sum( (nums-rec).^2 )); err_history(epoch)=err; P a g e 235

237 =================== UPDATE WEIGHTS AND BIASES ============= Vissible - Hidden weights update Mathematical function [7.17] V_h_inc = V_h_inc + L_rate*((P_stats-N_stats)/numcases - Norm_fact * Weights_v_h); Weights_v_h = Weights_v_h + V_h_inc; Vissible biases update V_b_inc = V_b_inc + (L_rate/numcases)*(sum(nums)-sum(Rec)); V_biases = V_biases + V_b_inc; Hidden biases update H_b_inc = H_b_inc + (L_rate/numcases)*(sum(P_h_probs)- sum(n_h_probs)); H_biases = H_biases + H_b_inc; =================== END OF UPDATES ============= fprintf(1, 'Epoch #d Reconstruction error #3.1f\n', epoch, err); Plot vissible - hidden weights figure(1); for i=1:size(weights_v_h,2) subplot(4,4,i),imagesc(imresize(reshape(weights_v_h(:,i),[10,12])',[2 8 28])); colormap('gray') Plot reconstructions figure(1); for j=1:size(rec,1) subplot(4,4,i+j),imshow(reshape(rec(j,:),[10,12])'); suptitle('feature Detectors & Reconstructions'); pause(0.01); if (err==0) Plot the probability distribution of Data and Model figure(2) subplot(1,2,1),stem(sum(p_h_probs,2)'./(sum(sum(p_h_probs)))); title('p(v) - Data'); subplot(1,2,2),stem(sum(n_h_probs,2)'./(sum(sum(n_h_probs)))); title('p''(v) - Model'); Plot Reconstruction Error figure(3); plot(1:epoch,err_history); title('error history'); xlabel('epochs ->'); ylabel('error'); break; P a g e 236

238 ΚΕΦΑΛΑΙΟ 8: DEEP LEARNING 8.1 ΕΙΣΑΓΗ ΣΤΑ DEEP LEARNING ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ Οι αρχιτεκτονικές Deep learning, αποτελούν μία κατηγορία αλγορίθμων που ανήκουν στην ευρύτερη οικογένεια των machine learning τεχνικών. Οι αλγόριθμοι αυτοί χρησιμοποιούνται κυρίως για μοντελοποίηση υψηλού επιπέδου πληροφορίας των δεδομένων, χρησιμοποιώντας πολλαπλά επίπεδα επεξεργασίας μη γραμμικών πολύπλοκων συναρτήσεων. Οι αρχιτεκτονικές Deep Learning, διαιρούνται στις υποκατηγορίες Convolutional Networks (LeCun et al., 1998), Deep Autoencoders (Hinton and Salakhutdinov, 2006), με ιδιάζουσα έμφαση στη κατηγορία Deep Belief Networks (Bengio et al., 2006; Hinton et al., 2006; Hinton and Salakhutdinov, 2006) τα οποία κατέχουν ιδιαίτερη διάκριση στη κατηγορία του machine learning, αποδεικνύοντας την ικανότητα επίλυσης σύνθετων προβλημάτων μέσω των αποτελεσμάτων τους, στις έως προσφάτως State-Of-the-Art τεχνικές. Η επιτυχία των Deep Learning στηρίζεται στην μη εποπτευομένη layer-by-layer προ εκπαίδευση χρησιμοποιώντας τον Contrastive Divergence (CD) αλγόριθμο του κεφαλαίου [6.2.2] (Hinton et al., 2006; Hinton and Salakhutdinov, 2006), μέσω του οποίου πραγματοποιείται η εκπαίδευση του κάθε επιπέδου. Το είδος της προ - εκπαίδευσης που χρησιμοποιείται, είναι σε θέση να παράγει πολύ καλύτερα αποτελέσματα, έναντι της κλασσικής προσέγγισης μέσω της τεχνικής backpropagation που χρησιμοποιούσαμε για την εκπαίδευση πολυεπίπεδων νευρωνικών δικτύων, τα οποία εμφάνιζαν προβλήματα προσαρμογής (Hochreiter et al., 2001; Bengio et al., 2006). Τα δεδομένα που χρησιμοποιούνται για τη διαδικασία της προ εκπαίδευσης δεν είναι απαραίτητο να είναι επισημασμένα και έτσι μπορούμε να χρησιμοποιήσουμε τεράστιες βάσεις δεδομένων, όπως εικόνες, κείμενα, ήχους και videos που είναι πλέον διαθέσιμα ως συλλογές στο internet. Με την σταθερή αύξηση της υπολογιστικής ισχύς που διέπει όλα τα συστήματα στις μέρες μας, τα δίκτυα DBN s γίνονται ιδιαίτερα σημαντικά σε εφαρμογές μεγάλου όγκου δεδομένων. Χρησιμοποιώντας τεράστιους υπολογιστικούς πόρους, εταιρίες όπως η Google και η Microsoft επενδύουν σημαντικά ποσά στη έρευνα της τεχνολογίας αυτής. Μέσω των επενδύσεων αυτών εξήχθησαν σημαντικά αποτελέσματα στο χώρο της υπολογιστικής όρασης (Larochelle et al., 2007; Lee et al., 2009; Ciresan et al., 2010; Le et al., 2012), της αναγνώρισης φωνής (Dahl et al., 2012; Hinton et al., 2012;Mohamed et al., 2012) και της μετάφρασης ομιλίας (Seide et al., 2011; MIT Technology Review, 2013) [Ref. 32]. P a g e 237

239 8.2 Η ΔΟΜΗ ΕΝΟΣ DEEP BELIEF NETWORK Η βασική ιδέα των deep belief networks είναι ότι οι κρυφοί νευρώνες ενός RBMs αντιπροσωπεύουν πλέον χαρακτηριστικά των αναμενόμενων τιμών των κατανομών πιθανότητας και μπορούν πλέον να χρησιμοποιηθούν ως είσοδος στο RBM του επόμενου επιπέδου, όπως παρουσιάζεται στην εικόνα [90]. Μέσω της στίβασης πολλών RBM s δικτύων είναι δυνατή η μάθηση χαρακτηριστικών των ανιχνευτών χαρακτηριστικών, με στόχο την ανάδειξη μιας αναπαράστασης υψηλού επιπέδου. Έτσι, ύστερα από τη διαδικασία εκπαίδευσης, οι τιμές που κατέληξαν οι κρυφοί νευρώνες μπορούν να χρησιμοποιηθούν για την εκπαίδευση ενός υψηλότερου επιπέδου RBM. Συνεπώς, οι καταστάσεις των κρυφών νευρώνων, θα θεωρούνται σαν δεδομένα εισόδου του επόμενου σε ιεραρχία RBM που ακολουθεί. Με τον τρόπο αυτό σχηματίζεται ένα Deep Belief Network όπου η κατανομή του μοντέλου σε κάθε επίπεδο, αποτελεί την κατανομή δεδομένων στο επόμενο προς εκπαίδευση επίπεδο [Ref. 20]. Με τον τρόπο αυτό σχηματίζονται συναρτήσεις που αντιπροσωπεύουν την αντιστοίχιση των παρατηρήσεων - προτύπων με τις αναμενόμενες τιμές του τελευταίου επιπέδου. Οι τιμές αυτές μπορούν να χρησιμοποιηθούν σαν εκπαιδευμένα χαρακτηριστικά, ως είσοδοι σε ένα σύστημα εποπτευομένης μάθησης, όπως θα αναδείξουμε σε επόμενο κεφάλαιο. Το σύστημα αυτό θα χρησιμοποιεί τα εκπαιδευμένα βάρη ως αρχικές τιμές και μέσω της μεθόδου οπισθοδιάδοσης του σφάλματος [4.2.3] θα είναι σε θέση να πραγματοποιήσει fine-tuning σε αυτά. Μέσω της παραπάνω τεχνικής, ένα DBN νευρωνικό δίκτυο, μπορεί να χρησιμοποιηθεί για αναγνώριση προτύπων, θέτοντας ένα επίπεδο εξόδου όπου οι επιπλέον νευρώνες θα χρησιμοποιούνται σαν κλάσεις αναγνώρισης προτύπων εισόδου. Ύστερα από την δόμηση ενός δικτύου τέτοιας αρχιτεκτονικής, είμαστε σε θέση να το χρησιμοποιήσουμε σαν ένα δίκτυο εποπτευομένης μάθησης με προ-εκπαίδευση μη εποπτευομένης μάθησης (Unsupervised Pre-Training) και να σχηματίσουμε ένα πολυεπίπεδο δίκτυο, εμπρόσθιας τροφοδότησης προτύπων. Συνδυάζοντας την παραπάνω τεχνική αρχικοποίησης των βαρών, με τη μέθοδο fine-tuning, δημιουργείται η πρώτη αποτελεσματική μέθοδος εκπαίδευσης πολυεπίπεδων RBM s, εμπεριέχοντας πολλούς κρυφούς νευρώνες και εκατομμύρια συναπτικά βάρη [Ref. 20]. P a g e 238

240 Εικόνα 90. Ανασκόπηση του μοντέλου DBN με δύο κρυφά επίπεδα. Ένα DBN δίκτυο όπως αναλύσαμε αποτελείται από τη σύνθεση πολλών RBMs δικτύων, με το καθένα να αποτελείται από ένα επίπεδο ορατών και ένα επίπεδο κρυφών νευρώνων. Τα δύο επίπεδα συνδέονται μέσω ενός πίνακα βαρών W ενώ στη μορφή αυτή δεν εντοπίζονται σύνδεσμοι μεταξύ των νευρώνων του ίδιου επιπέδου. Δοσμένου ενός διανύσματος προτύπου δεσμευμένου στο ορατό επίπεδο, οι κρυφοί νευρώνες αποτελούν στατιστικά ανεξάρτητες μεταβλητές κάνοντας εύκολη τη διαδικασία δειγματοληψίας από την εκ των υστέρων κατανομή P(h v,w), όπως και από την εκ των προτέρων κατανομή πυκνότητας P(v h,w). Εκκινώντας τη διαδικασία με ένα πρότυπο εισόδου στους ορατούς νευρώνες και πραγματοποιώντας επαναληπτική δειγματοληψία μεταξύ των κατανομών P(h v,w) και P(v h,w), εξάγουμε τη πληροφορία μέσω της διαφορά των συσχετίσεων μεταξύ των ορατών και των κρυφών νευρώνων στην αρχή και στο τέλος της δειγματοληψίας GREEDY LAYER WISE ΠΡΟ-ΕΚΠΑΙΔΕΥΣΗ ΜΗ ΕΠΟΠΤΕΥΟΜΕΝΗΣ ΜΑΘΗΣΗΣ Πολλαπλά πειράματα που έχουν λάβει χώρα χρησιμοποιώντας την κλίση στην επιφάνεια του σφάλματος για εκπαίδευση, αποδεικνύουν ότι πολυεπίπεδα νευρωνικά δίκτυα αρχιτεκτονικής Deep Learning αποδίδουν χειρότερα, με χρήση τεχνικών εποπτευομένης μάθησης. Αποδεικνύεται ότι όσο το νευρωνικό δίκτυο αυξάνεται σε αριθμό επιπέδων, τόσο χειρότερα αποδίδουν οι κλασσικές προσεγγίσεις, ακόμα και με τη χρήση τεχνικών τυχαίας αρχικοποίησης P a g e 239

241 των συναπτικών βαρών. Αυτό συμβαίνει διότι το δίκτυο δεν μπορεί να γενικεύσει ως προς τα δεδομένα εκπαίδευσης και σαν αποτέλεσμα εγκλωβίζεται σε τοπικό ελάχιστο στην επιφάνεια του σφάλματος. Παρόλα αυτά, αποδεικνύεται ότι εξάγονται πολύ καλύτερα αποτελέσματα όταν χρησιμοποιείται προ-εκπαίδευση μη εποπτευομένης μάθησης με χρήση της μεθόδου Greedy Layer-Wise Unsupervised Pre-Training. Η μέθοδος αυτή ορίζει ότι η εκπαίδευση στο δίκτυο θα πραγματοποιείται εναλλακτικά σε κάθε επίπεδο του δικτύου, ξεκινώντας από το πρώτο επίπεδο το οποίο δεσμεύεται από το εκάστοτε πρότυπο προς εκπαίδευση. Η εκπαίδευση προχωρά στο επόμενο επίπεδο μόνο όταν έχει ολοκληρωθεί η εκπαίδευση του προηγούμενου επιπέδου. Σε κάθε βήμα εκπαίδευσης, καταγράφουμε τις τιμές των ανιχνευτών χαρακτηριστικών (κρυφών νευρώνων) του τελευταίου υπαρκτού (k-1) επιπέδου και προσθέτουμε ένα επιπλέον (k- th) επίπεδο στο δίκτυο, ορίζοντας ως ορατό επίπεδο σε αυτό, τις τελικές καταστάσεις των (k- 1) κρυφών νευρώνων. Αποδεικνύεται ότι προσθέτοντας κάθε φορά ένα επιπλέον επίπεδο στο νευρωνικό δίκτυο, αυξάνει τη πιθανότητα ομοιότητας της παραγόμενης κατανομής (κατανομή μοντέλου) με τη κατανομή πιθανότητας που ακολουθούν τα πρότυπα εισόδου, καταγράφοντας με μεγαλύτερη επιτυχία τα στατιστικά χαρακτηριστικά των δεδομένων. Εικόνα 91. Εκπαίδευση ενός DBN με χρήση της μεθόδου greedy layer wise προ-εκπαίδευσης. P a g e 240

242 Ας υποθέσουμε ότι ένα DBN αποτελείται από n επίπεδα και μοντελοποιεί τη κατανομή μεταξύ των δεδομένων εισόδου x και n ορίζοντας το κάθε h k επίπεδο μέσω του παρακάτω τύπου : n2 1 n k k1 n1 n P( x, h,..., h ) Ph h Ph, h (8.1) k0 Όπου x = h 0, P(h k 1 h k ) P(v h) αποτελεί τη κατανομή των ορατών νευρώνων δοσμένου των κρυφών νευρώνων σε κάθε k επίπεδο του δικτύου και P(h n 1, h n ) αποτελεί την απόκοινού κατανομή του τελευταίου σε ιεραρχία επιπέδου με το προηγούμενο. Στο παράδειγμα που αναπτύσσουμε θα συμβολίζουμε τη κάθε υπό-συνθήκη κατανομή ως P(h k h k 1 ) P(h v), ενώ στη παρακάτω εικόνα επισυνάπτεται η διαδικασία εξαγωγής κατανομής πιθανότητας ως προς το κάθε επίπεδο. Εικόνα 92. Πυκνότητες κατανομών μεταξύ επιπέδων σε ένα DBN με δύο τρία κρυφά επίπεδα. Στο παραπάνω δίκτυο τριών επιπέδων ως πρώτη διαδικασία ορίζεται η εξαγωγή πιθανότητας κατανομής του πρώτου κρυφού επιπέδου δοσμένου του διανύσματος εισόδου σχηματίζοντας τη κατανομή των δεδομένων P(h 1 x). Για να συνεχίσουμε στο δεύτερο επίπεδο θα πρέπει να παράγουμε τη κατανομή μοντέλου, μέσω Gibbs Sampling χρησιμοποιώντας τον CD-1 αλγόριθμο έτσι ώστε να προσεγγίζεται ικανοποιητικά η κατανομή των δεδομένων. Στη συνέχεια επαναλαμβάνεται η διαδικασία υπολογίζοντας τη κατανομή P(h 2 h 1 ) και αντίστοιχα P a g e 241

243 τη κατανομή P(h 1 h 2 ), έως ότου καταφτάσουμε στο τελευταίο επίπεδο. Είναι φανερό από τον τύπο (8.1) ότι όσο αυξάνεται ο αριθμός των επιπέδων σε ένα DBN τόσο αυξάνεται η πιθανότητα που θέτει το μοντέλο σε κάθε διάνυσμα εισόδου. Στη μηχανική μάθηση η ορολογία Greedy (άπληστος) προέκυψε από αυτό ακριβώς το γεγονός. Ότι υπάρχει ελευθερία τοποθέτησης όσων επιπέδων επιθυμεί κάποιος βελτιστοποιώντας πάντα την αρχικοποίηση των βαρών. Παρόλα αυτά πρέπει να σημειωθεί ότι όσο προσθέτεις επίπεδα κρυφών νευρώνων, τόσο αυξάνεται η υπολογιστική ισχύ και η πολυπλοκότητα. Η διαδικασία της προ-εκπαίδευσης μη εποπτευομένης μάθησης, εισάγει τον όρο της γενίκευσης και χρησιμοποιείται ορίζοντας τη βέλτιστη αρχικοποίηση των βαρών αντί την τυχαία αρχικοποίηση που πραγματοποιούσαν προηγούμενες τεχνικές. Η τεχνική αυτή μέσω των παραμέτρων του δικτύου (συναπτικά βάρη) είναι σε θέση να πραγματοποιήσει αρχικοποίησή της συνάρτησης κόστους κοντά στο ολικό ελάχιστο και παράλληλα να διαμορφώνει με τέτοιο τρόπο τη συνάρτηση ενέργειας, έτσι ώστε να είναι δύσκολη η μεταφορά της συνάρτησης κόστους μακριά από αυτό. Η γενίκευση που εισάγει η Pre-Training τεχνική, θέτει μεγάλες κορυφές στην επιφάνεια του σφάλματος στις αντίθετες κατευθύνσεις του ολικού ελαχίστου, για να μην είναι δυνατή η μεταφορά της συνάρτησης κόστους σε μη επιθυμητές περιοχές. Οι περιοχή έρευνας του ολικού ελαχίστου ορίζεται από τους παραμέτρους του δικτύου, οι οποίοι μετά την εκπαίδευση αντιπροσωπεύουν τη δομή της κατανομής των προτύπων εισόδου P(X). Αφού έχουν αρχικοποιηθεί όλα τα επίπεδα του δικτύου, αργότερα μπορούμε υλοποιήσουμε τη Fine-Tuning τεχνική, μέσω της γνωστής μεθόδου backpropagation, όπως περιγράφουμε στο επόμενο κεφάλαιο [Ref. 21]. 8.4 ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΠΑΡΑΜΕΤΡΩΝ ΜΕΣΩ ΕΠΟΠΤΕΥΟΜΕΝΗΣ ΜΑΘΗΣΗΣ (FINE-TUNING) Ύστερα από την διαδικασία της αρχικοποίησης των παραμέτρων τα στοιβαγμένα RBM s είναι σε θέση να εντοπίζουν τις συσχετίσεις μεταξύ των προτύπων. Παρόλα αυτά δεν είμαστε σε θέση ακόμα να αναγνωρίσουμε το κάθε πρότυπο σε ποια κατηγορία ανήκει. Για να επιτευχθεί το τελευταίο βήμα εκπαίδευσης ενός DBN θα πρέπει να παρουσιάσουμε τα πρότυπα (Labels) σαν ένα επιπλέον τελικό επίπεδο στο δίκτυο καθώς επίσης να εκτελέσουμε εποπτευομένης μάθησης τεχνικές όπως η μέθοδος backpropagation. Το βήμα αυτό απαιτεί ένα μικρό σύνολο επισημασμένων προτύπων για να οριστεί η σχέση μεταξύ εισόδου προτύπου. Τα βάρη μέσω αυτής της διαδικασίας όπως και τα biases σε κάθε νευρώνα πραγματοποιούν μικρές αλλαγές έτσι ώστε να βελτιστοποιηθεί η ακρίβεια του δικτύου κατά την αναγνώριση. Το γεγονός ότι το μέγεθος των επισημασμένων προτύπων είναι P a g e 242

244 μικρό σε σχέση με τα πρότυπα εκπαίδευσης, αποτελεί γεγονός ιδιαίτερης σημασίας, ειδικά σε εφαρμογές πραγματικών δεδομένων. Στο επιπλέον τελικό επίπεδο που προσθέσαμε κάθε νευρώνας αναπαριστά και μία διαφορετική κλάση των προτύπων εκπαίδευσης, ενώ μπορούμε να σκεφτούμε τη διαδικασία αυτή ως διαδικασία overfitting αντίθετα με τη διαδικασία γενίκευση (underfitting) που μας έθετε η Pre-Training διαδικασία. Παρακάτω επισυνάπτουμε την τελική μορφή ενός DBN συμπεριλαμβανομένου του επιπέδου κατηγοριοποίησης (Output Layer), παρατηρώντας ότι δομικά δεν εμπεριέχει ανομοιότητες σε σχέση με ένα MLP του κεφαλαίου [3.2] [Ref. 22]. Εικόνα 93. Πλήρες επισκόπηση ενός DBN συμπεριλαμβανομένου του επιπέδου αναγνώρισης. 8.5 Η ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ MNIST Η αναγνώριση χειρόγραφων ψηφίων αποτελεί ένα σημαντικό πρόβλημα της κατηγορίας οπτικής αναγνώρισης χαρακτήρων ενώ χρησιμοποιείται πολλές φορές σαν ένα πρόβλημα δοκιμής ανεπτυγμένων θεωριών για την απόδειξη της λειτουργίας τους. Η πιο διαδεδομένη βάση δεδομένων για το σκοπό αυτό είναι η βάση MNIST (Mixed National Institute of Standards and Technology database) η οποία αποτελείται από πληθώρα χειρόγραφων ψηφίων. Η βάση P a g e 243

Τεχνητά Νευρωνικά Δίκτυα. Τσιριγώτης Γεώργιος Τμήμα Μηχανικών Πληροφορικής ΤΕΙ Ανατολικής Μακεδονίας & Θράκης

Τεχνητά Νευρωνικά Δίκτυα. Τσιριγώτης Γεώργιος Τμήμα Μηχανικών Πληροφορικής ΤΕΙ Ανατολικής Μακεδονίας & Θράκης Τεχνητά Τσιριγώτης Γεώργιος Τμήμα Μηχανικών Πληροφορικής ΤΕΙ Ανατολικής Μακεδονίας & Θράκης Ο Βιολογικός Νευρώνας Δενδρίτες Συνάψεις Πυρήνας (Σώμα) Άξονας 2 Ο Βιολογικός Νευρώνας 3 Βασικά Χαρακτηριστικά

Διαβάστε περισσότερα

Μοντέλο Perceptron πολλών στρωμάτων Multi Layer Perceptron (MLP)

Μοντέλο Perceptron πολλών στρωμάτων Multi Layer Perceptron (MLP) Μοντέλο Perceptron πολλών στρωμάτων Multi Layer Perceptron (MLP) x -0,5 a x x 2 0 0 0 0 - -0,5 y y 0 0 x 2 -,5 a 2 θ η τιμή κατωφλίου Μία λύση του προβλήματος XOR Multi Layer Perceptron (MLP) x -0,5 Μία

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα & Περιβάλλον

Πληροφοριακά Συστήματα & Περιβάλλον ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Πληροφοριακά Συστήματα & Περιβάλλον Ενότητα 8: Τεχνητά Νευρωνικά Δίκτυα Παναγιώτης Λεφάκης Δασολογίας & Φυσικού Περιβάλλοντος Άδειες Χρήσης

Διαβάστε περισσότερα

Το Πολυεπίπεδο Perceptron. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Το Πολυεπίπεδο Perceptron. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων Το Πολυ Perceptron Δίκτυα Πρόσθιας Τροφοδότησης (feedforward) Tο αντίστοιχο γράφημα του δικτύου δεν περιλαμβάνει κύκλους: δεν υπάρχει δηλαδή ανατροφοδότηση της εξόδου ενός νευρώνα προς τους νευρώνες από

Διαβάστε περισσότερα

Βασικές αρχές εκπαίδευσης ΤΝΔ: το perceptron. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Βασικές αρχές εκπαίδευσης ΤΝΔ: το perceptron. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων Βασικές αρχές εκπαίδευσης ΤΝΔ: το perceptron Βιολογικός Νευρώνας Δενδρίτες, που αποτελούν τις γραμμές εισόδου των ερεθισμάτων (βιολογικών σημάτων) Σώμα, στο οποίο γίνεται η συσσώρευση των ερεθισμάτων και

Διαβάστε περισσότερα

6. Στατιστικές μέθοδοι εκπαίδευσης

6. Στατιστικές μέθοδοι εκπαίδευσης 6. Στατιστικές μέθοδοι εκπαίδευσης Μία διαφορετική μέθοδος εκπαίδευσης των νευρωνικών δικτύων χρησιμοποιεί ιδέες από την Στατιστική Φυσική για να φέρει τελικά το ίδιο αποτέλεσμα όπως οι άλλες μέθοδοι,

Διαβάστε περισσότερα

Εισαγωγή στα Τεχνητά Νευρωνικά Δίκτυα. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Εισαγωγή στα Τεχνητά Νευρωνικά Δίκτυα. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων Εισαγωγή στα Τεχνητά Νευρωνικά Δίκτυα Τεχνητή Νοημοσύνη (Artificial Intelligence) Ανάπτυξη μεθόδων και τεχνολογιών για την επίλυση προβλημάτων στα οποία ο άνθρωπος υπερέχει (?) του υπολογιστή Συλλογισμοί

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. TMHMA ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ. Εξάμηνο 5ο Οικονόμου Παναγιώτης & Ελπινίκη Παπαγεωργίου. Νευρωνικά Δίκτυα.

Τεχνητή Νοημοσύνη. TMHMA ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ. Εξάμηνο 5ο Οικονόμου Παναγιώτης & Ελπινίκη Παπαγεωργίου. Νευρωνικά Δίκτυα. Τεχνητή Νοημοσύνη. TMHMA ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ Εξάμηνο 5ο Οικονόμου Παναγιώτης & Ελπινίκη Παπαγεωργίου. Νευρωνικά Δίκτυα. 1 ΤΕΧΝΗΤΑ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ Χαρακτηριστικά Είδη εκπαίδευσης Δίκτυα

Διαβάστε περισσότερα

Το μοντέλο Perceptron

Το μοντέλο Perceptron Το μοντέλο Perceptron Αποτελείται από έναν μόνο νευρώνα McCulloch-Pitts w j x x 1, x2,..., w x T 1 1 x 2 w 2 Σ u x n f(u) Άνυσμα Εισόδου s i x j x n w n -θ w w 1, w2,..., w n T Άνυσμα Βαρών 1 Το μοντέλο

Διαβάστε περισσότερα

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΤΕΙ Δυτικής Μακεδονίας ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ 2015-2016 Τεχνητή Νοημοσύνη Νευρώνας Perceptron Διδάσκων: Τσίπουρας Μάρκος Εκπαιδευτικό Υλικό: Τσίπουρας Μάρκος Τζώρτζης Γρηγόρης Περιεχόμενα Εισαγωγή

Διαβάστε περισσότερα

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο Πρόβλημα ο Ασκήσεις Φροντιστηρίου 5 o Φροντιστήριο Δίνεται το παρακάτω σύνολο εκπαίδευσης: # Είσοδος Κατηγορία 0 0 0 Α 2 0 0 Α 0 Β 4 0 0 Α 5 0 Β 6 0 0 Α 7 0 Β 8 Β α) Στον παρακάτω κύβο τοποθετείστε τα

Διαβάστε περισσότερα

ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ

ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα 005 - Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π. Μέθοδοι Μηχανικής Μάθησης & Βελτιστοποίησης μέσω Εννοιών Στατιστικής Φυσικής 1. Αλγόριθμοι Simulated Annealing 2. Gibbs Sampling

Διαβάστε περισσότερα

HMY 795: Αναγνώριση Προτύπων. Διαλέξεις 15-16

HMY 795: Αναγνώριση Προτύπων. Διαλέξεις 15-16 HMY 795: Αναγνώριση Προτύπων Διαλέξεις 15-16 Νευρωνικά Δίκτυα(Neural Networks) Fisher s linear discriminant: Μείωση διαστάσεων (dimensionality reduction) y Τ =w x s + s =w S w 2 2 Τ 1 2 W ( ) 2 2 ( ) m2

Διαβάστε περισσότερα

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ. Καραγιώργου Σοφία

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ. Καραγιώργου Σοφία ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ Καραγιώργου Σοφία Εισαγωγή Προσομοιώνει βιολογικές διεργασίες (π.χ. λειτουργία του εγκεφάλου, διαδικασία

Διαβάστε περισσότερα

ΕΥΦΥΗΣ ΕΛΕΓΧΟΣ. Ενότητα #12: Εισαγωγή στα Nευρωνικά Δίκτυα. Αναστάσιος Ντούνης Τμήμα Μηχανικών Αυτοματισμού Τ.Ε.

ΕΥΦΥΗΣ ΕΛΕΓΧΟΣ. Ενότητα #12: Εισαγωγή στα Nευρωνικά Δίκτυα. Αναστάσιος Ντούνης Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΥΦΥΗΣ ΕΛΕΓΧΟΣ Ενότητα #12: Εισαγωγή στα Nευρωνικά Δίκτυα Αναστάσιος Ντούνης Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. Άδειες Χρήσης Το

Διαβάστε περισσότερα

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων Εισηγητής: ρ Ηλίας Ζαφειρόπουλος Εισαγωγή Ιατρικά δεδοµένα: Συλλογή Οργάνωση Αξιοποίηση Data Mining ιαχείριση εδοµένων Εκπαίδευση

Διαβάστε περισσότερα

Αναγνώριση Προτύπων Ι

Αναγνώριση Προτύπων Ι Αναγνώριση Προτύπων Ι Ενότητα 1: Μέθοδοι Αναγνώρισης Προτύπων Αν. Καθηγητής Δερματάς Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 17η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 17η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 17η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται: στο βιβλίο Artificia Inteigence A Modern Approach των S. Russe και

Διαβάστε περισσότερα

Ασκήσεις μελέτης της 19 ης διάλεξης

Ασκήσεις μελέτης της 19 ης διάλεξης Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 19 ης διάλεξης 19.1. Δείξτε ότι το Perceptron με (α) συνάρτηση ενεργοποίησης

Διαβάστε περισσότερα

Ανδρέας Παπαζώης. Τμ. Διοίκησης Επιχειρήσεων

Ανδρέας Παπαζώης. Τμ. Διοίκησης Επιχειρήσεων Ανδρέας Παπαζώης Τμ. Διοίκησης Επιχειρήσεων Περιεχόμενα Εργ. Μαθήματος Βιολογικά Νευρωνικά Δίκτυα Η έννοια των Τεχνητών Νευρωνικών Δικτύων Η δομή ενός νευρώνα Διαδικασία εκπαίδευσης Παραδείγματα απλών

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 18η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 18η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 18η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται: στο βιβλίο Machine Learning του T. Mitchell, McGraw- Hill, 1997,

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη. 19η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Τεχνητή Νοημοσύνη. 19η διάλεξη ( ) Ίων Ανδρουτσόπουλος. Τεχνητή Νοημοσύνη 19η διάλεξη (2016-17) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτές βασίζονται σε ύλη των βιβλίων: Artificia Inteigence A Modern Approach των S. Russe και P.

Διαβάστε περισσότερα

4.3. Γραµµικοί ταξινοµητές

4.3. Γραµµικοί ταξινοµητές Γραµµικοί ταξινοµητές Γραµµικός ταξινοµητής είναι ένα σύστηµα ταξινόµησης που χρησιµοποιεί γραµµικές διακριτικές συναρτήσεις Οι ταξινοµητές αυτοί αναπαρίστανται συχνά µε οµάδες κόµβων εντός των οποίων

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης

Πληροφοριακά Συστήματα Διοίκησης Πληροφοριακά Συστήματα Διοίκησης Τρεις αλγόριθμοι μηχανικής μάθησης ΠΜΣ Λογιστική Χρηματοοικονομική και Διοικητική Επιστήμη ΤΕΙ Ηπείρου @ 2018 Μηχανική μάθηση αναγνώριση προτύπων Η αναγνώριση προτύπων

Διαβάστε περισσότερα

ΑΝΤΑΓΩΝΙΣΤΙΚΗ ΜΑΘΗΣΗ ΔΙΚΤΥA LVQ και SOM. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

ΑΝΤΑΓΩΝΙΣΤΙΚΗ ΜΑΘΗΣΗ ΔΙΚΤΥA LVQ και SOM. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων ΑΝΤΑΓΩΝΙΣΤΙΚΗ ΜΑΘΗΣΗ ΔΙΚΤΥA LVQ και SOM Μάθηση χωρίς επίβλεψη (unsupervised learning) Σύνολο εκπαίδευσης D={(x n )}, n=1,,n. x n =(x n1,, x nd ) T, δεν υπάρχουν τιμές-στόχοι t n. Προβλήματα μάθησης χωρίς

Διαβάστε περισσότερα

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2

Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας. Version 2 Σέργιος Θεοδωρίδης Κωνσταντίνος Κουτρούμπας Version 2 1 Άλλοι τύποι νευρωνικών δικτύων Αυτοοργανούμενοι χάρτες (Self-organizing maps - SOMs) Αναδρομικά νευρωνικά δίκτυα (Recurrent Neural Networks): γενικής

Διαβάστε περισσότερα

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: βελτιστοποίηση χωρίς περιορισμούς Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών ΤμήμαΠληροφορικής Διάλεξη 7-8 η /2017 Τι παρουσιάστηκε

Διαβάστε περισσότερα

Εισαγωγικά για την αναγνώριση έκφρασης προσώπου (Facial Expression Recognition)

Εισαγωγικά για την αναγνώριση έκφρασης προσώπου (Facial Expression Recognition) Ο στόχος της διπλωματικής είναι η αναγνώριση του συναισθήματος ενός συγκεκριμένου ανθρώπου από μια αλληλουχία εικόνων στις οποίες παίρνει διάφορες εκφράσεις. Αυτό θα γίνει κάνοντας χρήση τεχνικών βαθιάς

Διαβάστε περισσότερα

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος Χιωτίδης Γεώργιος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Διακριτικές Συναρτήσεις

Διακριτικές Συναρτήσεις Διακριτικές Συναρτήσεις Δρ. Δηµήτριος Τσέλιος Επίκουρος Καθηγητής ΤΕΙ Θεσσαλίας Τµήµα Διοίκησης Επιχειρήσεων Θερµικός χάρτης των XYZ ξενοδοχείων σε σχέση µε τη γεωγραφική περιοχή τους P. Adamopoulos New

Διαβάστε περισσότερα

Μέρος Β /Στατιστική. Μέρος Β. Στατιστική. Γεωπονικό Πανεπιστήμιο Αθηνών Εργαστήριο Μαθηματικών&Στατιστικής/Γ. Παπαδόπουλος (www.aua.

Μέρος Β /Στατιστική. Μέρος Β. Στατιστική. Γεωπονικό Πανεπιστήμιο Αθηνών Εργαστήριο Μαθηματικών&Στατιστικής/Γ. Παπαδόπουλος (www.aua. Μέρος Β /Στατιστική Μέρος Β Στατιστική Γεωπονικό Πανεπιστήμιο Αθηνών Εργαστήριο Μαθηματικών&Στατιστικής/Γ. Παπαδόπουλος (www.aua.gr/gpapadopoulos) Από τις Πιθανότητες στη Στατιστική Στα προηγούμενα, στο

Διαβάστε περισσότερα

ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π.

ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π. ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα 005 - Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π. Επισκόπηση Νευρωνικών Δικτύων καθ. Βασίλης Μάγκλαρης maglaris@netmode.ntua.gr www.netmode.ntua.gr Πέμπτη 14/3/2019 Μη Γραμμικό

Διαβάστε περισσότερα

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER

4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER 4. ΚΕΦΑΛΑΙΟ ΕΦΑΡΜΟΓΕΣ ΤΟΥ ΜΕΤΑΣΧΗΜΑΤΙΣΜΟΥ FOURIER Σκοπός του κεφαλαίου είναι να παρουσιάσει μερικές εφαρμογές του Μετασχηματισμού Fourier (ΜF). Ειδικότερα στο κεφάλαιο αυτό θα περιγραφούν έμμεσοι τρόποι

Διαβάστε περισσότερα

Μάθηση και Γενίκευση. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

Μάθηση και Γενίκευση. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων Μάθηση και Γενίκευση Το Πολυεπίπεδο Perceptron (MultiLayer Perceptron (MLP)) Έστω σύνολο εκπαίδευσης D={(x n,t n )}, n=1,,n. x n =(x n1,, x nd ) T, t n =(t n1,, t np ) T Θα πρέπει το MLP να έχει d νευρώνες

Διαβάστε περισσότερα

Μάθηση σε νέα τεχνολογικά περιβάλλοντα

Μάθηση σε νέα τεχνολογικά περιβάλλοντα ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Μάθηση σε νέα τεχνολογικά περιβάλλοντα Ενότητα 10: Θεωρία Συνδεσιασμού Βασιλική Μητροπούλου-Μούρκα Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 2 ΑΝΑΣΚΟΠΗΣΗ ΑΠΑΡΑΙΤΗΤΩΝ ΓΝΩΣΕΩΝ: ΕΚΤΙΜΗΤΕΣ

ΚΕΦΑΛΑΙΟ 2 ΑΝΑΣΚΟΠΗΣΗ ΑΠΑΡΑΙΤΗΤΩΝ ΓΝΩΣΕΩΝ: ΕΚΤΙΜΗΤΕΣ ΚΕΦΑΛΑΙΟ ΑΝΑΣΚΟΠΗΣΗ ΑΠΑΡΑΙΤΗΤΩΝ ΓΝΩΣΕΩΝ: ΕΚΤΙΜΗΤΕΣ Ως γνωστό δείγμα είναι ένα σύνολο παρατηρήσεων από ένα πληθυσμό. Αν ο πληθυσμός αυτός θεωρηθεί μονοδιάστατος τότε μπορεί να εκφρασθεί με τη συνάρτηση

Διαβάστε περισσότερα

Μέθοδοι Μηχανικής Μάθησης στην επεξεργασία Τηλεπισκοπικών Δεδομένων. Δρ. Ε. Χάρου

Μέθοδοι Μηχανικής Μάθησης στην επεξεργασία Τηλεπισκοπικών Δεδομένων. Δρ. Ε. Χάρου Μέθοδοι Μηχανικής Μάθησης στην επεξεργασία Τηλεπισκοπικών Δεδομένων Δρ. Ε. Χάρου Πρόγραμμα υπολογιστικής ευφυίας Ινστιτούτο Πληροφορικής & Τηλεπικοινωνιών ΕΚΕΦΕ ΔΗΜΟΚΡΙΤΟΣ exarou@iit.demokritos.gr Μηχανική

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ ΘΕΜΑ 1 ο (2,5 μονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ Τελικές εξετάσεις Πέμπτη 21 Ιουνίου 2012 16:30-19:30 Υποθέστε ότι θέλουμε

Διαβάστε περισσότερα

Κύρια σημεία. Η έννοια του μοντέλου. Έρευνα στην εφαρμοσμένη Στατιστική. ΈρευναστηΜαθηματικήΣτατιστική. Αντικείμενο της Μαθηματικής Στατιστικής

Κύρια σημεία. Η έννοια του μοντέλου. Έρευνα στην εφαρμοσμένη Στατιστική. ΈρευναστηΜαθηματικήΣτατιστική. Αντικείμενο της Μαθηματικής Στατιστικής Κύρια σημεία Ερευνητική Μεθοδολογία και Μαθηματική Στατιστική Απόστολος Μπουρνέτας Τμήμα Μαθηματικών ΕΚΠΑ Αναζήτηση ερευνητικού θέματος Εισαγωγή στην έρευνα Ολοκλήρωση ερευνητικής εργασίας Ο ρόλος των

Διαβάστε περισσότερα

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων.

Στο στάδιο ανάλυσης των αποτελεσµάτων: ανάλυση ευαισθησίας της λύσης, προσδιορισµός της σύγκρουσης των κριτηρίων. ΠΕΡΙΛΗΨΗ Η τεχνική αυτή έκθεση περιλαµβάνει αναλυτική περιγραφή των εναλλακτικών µεθόδων πολυκριτηριακής ανάλυσης που εξετάσθηκαν µε στόχο να επιλεγεί η µέθοδος εκείνη η οποία είναι η πιο κατάλληλη για

Διαβάστε περισσότερα

ΔΙΚΤΥO RBF. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων

ΔΙΚΤΥO RBF. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Ιωαννίνων ΔΙΚΤΥO RBF Αρχιτεκτονική δικτύου RBF Δίκτυα RBF: δίκτυα συναρτήσεων πυρήνα (radial basis function networks). Πρόσθιας τροφοδότησης (feedforward) για προβλήματα μάθησης με επίβλεψη. Εναλλακτικό του MLP.

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Θ.Ε. ΠΛΗ31 (2004-5) ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ #3 Στόχος Στόχος αυτής της εργασίας είναι η απόκτηση δεξιοτήτων σε θέματα που αφορούν τα Τεχνητά Νευρωνικά Δίκτυα και ποιο συγκεκριμένα θέματα εκπαίδευσης και υλοποίησης.

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

Διαβάστε περισσότερα

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης Μάθημα 1ο Δρ. Ανέστης Γ. Χατζημιχαηλίδης Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΤΕΙ Ανατολικής Μακεδονίας και Θράκης 2016-2017 Αξιολόγηση μαθήματος Εισαγωγή στην ΥΝ Τεχνητά Νευρωνικά Δίκτυα (ΤΝΔ) Προγραμματισμός

Διαβάστε περισσότερα

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης

Δρ. Βασίλειος Γ. Καμπουρλάζος Δρ. Ανέστης Γ. Χατζημιχαηλίδης Μάθημα 4 ο Δρ. Ανέστης Γ. Χατζημιχαηλίδης Τμήμα Μηχανικών Πληροφορικής Τ.Ε. ΤΕΙ Ανατολικής Μακεδονίας και Θράκης 2016-2017 Διευρυμένη Υπολογιστική Νοημοσύνη (ΥΝ) Επεκτάσεις της Κλασικής ΥΝ. Μεθοδολογίες

Διαβάστε περισσότερα

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ Tel.: +30 2310998051, Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Σχολή Θετικών Επιστημών Τμήμα Φυσικής 541 24 Θεσσαλονίκη Καθηγητής Γεώργιος Θεοδώρου Ιστοσελίδα: http://users.auth.gr/theodoru ΙΑ ΟΧΙΚΕΣ ΒΕΛΤΙΩΣΕΙΣ

Διαβάστε περισσότερα

HMY 795: Αναγνώριση Προτύπων

HMY 795: Αναγνώριση Προτύπων HMY 795: Αναγνώριση Προτύπων Διαλέξεις 15 16 Λογιστική παλινδρόμηση (Logistic regression) Νευρωνικά Δίκτυα (Neural Networks) g ( x) = w x+ w T k k k0 1 ( T T WLS = X X) X T= X T Γραμμικές διαχωριστικές

Διαβάστε περισσότερα

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

Διαβάστε περισσότερα

4. Ο αισθητήρας (perceptron)

4. Ο αισθητήρας (perceptron) 4. Ο αισθητήρας (perceptron) Σκοπός: Προσδοκώµενα αποτελέσµατα: Λέξεις Κλειδιά: To µοντέλο του αισθητήρα (perceptron) είναι από τα πρώτα µοντέλα νευρωνικών δικτύων που αναπτύχθηκαν, και έδωσαν µεγάλη ώθηση

Διαβάστε περισσότερα

Υπολογιστική Νοημοσύνη. Μάθημα 13: Αναδρομικά Δίκτυα - Recurrent Networks

Υπολογιστική Νοημοσύνη. Μάθημα 13: Αναδρομικά Δίκτυα - Recurrent Networks Υπολογιστική Νοημοσύνη Μάθημα 13: Αναδρομικά Δίκτυα - Recurrent Networks Γενικά Ένα νευρωνικό δίκτυο λέγεται αναδρομικό, εάν υπάρχει έστω και μια σύνδεση από έναν νευρώνα επιπέδου i προς έναν νευρώνα επιπέδου

Διαβάστε περισσότερα

Εισόδημα Κατανάλωση 1500 500 1600 600 1300 450 1100 400 600 250 700 275 900 300 800 352 850 400 1100 500

Εισόδημα Κατανάλωση 1500 500 1600 600 1300 450 1100 400 600 250 700 275 900 300 800 352 850 400 1100 500 Εισόδημα Κατανάλωση 1500 500 1600 600 1300 450 1100 400 600 250 700 275 900 300 800 352 850 400 1100 500 Πληθυσμός Δείγμα Δείγμα Δείγμα Ο ρόλος της Οικονομετρίας Οικονομική Θεωρία Διατύπωση της

Διαβάστε περισσότερα

Α.Τ.ΕΙ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΟΛΥΜΕΣΩΝ. ΕΡΓΑΣΤΗΡΙΟ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΔΙΚΤΥΩΝ

Α.Τ.ΕΙ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΟΛΥΜΕΣΩΝ. ΕΡΓΑΣΤΗΡΙΟ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΔΙΚΤΥΩΝ Α.Τ.ΕΙ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΟΛΥΜΕΣΩΝ. ΕΡΓΑΣΤΗΡΙΟ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΔΙΚΤΥΩΝ ΑΝΤΑΓΩΝΙΣΤΙΚΗ ΕΚΜΑΘΗΣΗ ΤΑ ΔΙΚΤΥΑ KOHONEN A. ΕΙΣΑΓΩΓΗ Στα προβλήματα που έχουμε αντιμετωπίσει μέχρι τώρα

Διαβάστε περισσότερα

Πληροφορική 2. Τεχνητή νοημοσύνη

Πληροφορική 2. Τεχνητή νοημοσύνη Πληροφορική 2 Τεχνητή νοημοσύνη 1 2 Τι είναι τεχνητή νοημοσύνη; Τεχνητή νοημοσύνη (AI=Artificial Intelligence) είναι η μελέτη προγραμματισμένων συστημάτων τα οποία μπορούν να προσομοιώνουν μέχρι κάποιο

Διαβάστε περισσότερα

Μαθηματικά. Ενότητα 2: Διαφορικός Λογισμός. Σαριαννίδης Νικόλαος Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη)

Μαθηματικά. Ενότητα 2: Διαφορικός Λογισμός. Σαριαννίδης Νικόλαος Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη) Μαθηματικά Ενότητα 2: Διαφορικός Λογισμός Σαριαννίδης Νικόλαος Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

iii ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος

iii ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος iii ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος xi 1 Αντικείμενα των Πιθανοτήτων και της Στατιστικής 1 1.1 Πιθανοτικά Πρότυπα και Αντικείμενο των Πιθανοτήτων, 1 1.2 Αντικείμενο της Στατιστικής, 3 1.3 Ο Ρόλος των Πιθανοτήτων

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ 3.1 Τυχαίοι αριθμοί Στην προσομοίωση διακριτών γεγονότων γίνεται χρήση ακολουθίας τυχαίων αριθμών στις περιπτώσεις που απαιτείται η δημιουργία στοχαστικών

Διαβάστε περισσότερα

Ψηφιακή Επεξεργασία Σημάτων

Ψηφιακή Επεξεργασία Σημάτων Ψηφιακή Επεξεργασία Σημάτων Ενότητα 3: Συστήματα Διακριτού Χρόνου Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Συστήματα Διακριτού Χρόνου Εισαγωγή στα Συστήματα Διακριτού Χρόνου Ταξινόμηση Συστημάτων ΔΧ

Διαβάστε περισσότερα

Πολυτεχνείο Κρήτης Σχολή Ηλεκτρονικών Μηχανικών Και Μηχανικών Η/Υ. ΠΛΗ 513 Αυτόνομοι Πράκτορες

Πολυτεχνείο Κρήτης Σχολή Ηλεκτρονικών Μηχανικών Και Μηχανικών Η/Υ. ΠΛΗ 513 Αυτόνομοι Πράκτορες Πολυτεχνείο Κρήτης Σχολή Ηλεκτρονικών Μηχανικών Και Μηχανικών Η/Υ ΠΛΗ 53 Αυτόνομοι Πράκτορες Εύρεση του utility χρηστών με χρήση Markov chain Monte Carlo Παπίλαρης Μιχαήλ Άγγελος 29349 Περίληψη Η εργασία

Διαβάστε περισσότερα

ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π. Ανάλυση Κυρίων Συνιστωσών (Principal-Component Analysis, PCA)

ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π. Ανάλυση Κυρίων Συνιστωσών (Principal-Component Analysis, PCA) ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα 005 - Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π. Ανάλυση Κυρίων Συνιστωσών (Principal-Coponent Analysis, PCA) καθ. Βασίλης Μάγκλαρης aglaris@netode.ntua.gr www.netode.ntua.gr

Διαβάστε περισσότερα

Στατιστική είναι το σύνολο των μεθόδων και θεωριών που εφαρμόζονται σε αριθμητικά δεδομένα προκειμένου να ληφθεί κάποια απόφαση σε συνθήκες

Στατιστική είναι το σύνολο των μεθόδων και θεωριών που εφαρμόζονται σε αριθμητικά δεδομένα προκειμένου να ληφθεί κάποια απόφαση σε συνθήκες Ορισμός Στατιστική είναι το σύνολο των μεθόδων και θεωριών που εφαρμόζονται σε αριθμητικά δεδομένα προκειμένου να ληφθεί κάποια απόφαση σε συνθήκες αβεβαιότητας. Βασικές έννοιες Η μελέτη ενός πληθυσμού

Διαβάστε περισσότερα

τρόπος για να εμπεδωθεί η θεωρία. Για την επίλυση των παραδειγμάτων χρησιμοποιούνται στατιστικά πακέτα, ώστε να είναι δυνατή η ανάλυση μεγάλου όγκου

τρόπος για να εμπεδωθεί η θεωρία. Για την επίλυση των παραδειγμάτων χρησιμοποιούνται στατιστικά πακέτα, ώστε να είναι δυνατή η ανάλυση μεγάλου όγκου ΠΡΟΛΟΓΟΣ Η γραμμική παλινδρόμηση χρησιμοποιείται για την μελέτη των σχέσεων μεταξύ μετρήσιμων μεταβλητών. Γενικότερα, η γραμμική στατιστική συμπερασματολογία αποτελεί ένα ευρύ πεδίο της στατιστικής ανάλυσης

Διαβάστε περισσότερα

ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π.

ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π. ΣΤΟΧΑΣΤΙΚΕΣ ΔΙΕΡΓΑΣΙΕΣ & ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ Αίθουσα 005 - Νέα Κτίρια ΣΗΜΜΥ Ε.Μ.Π. Δυναμικός Προγραμματισμός με Μεθόδους Monte Carlo: 1. Μάθηση Χρονικών Διαφορών (Temporal-Difference Learning) 2. Στοχαστικός

Διαβάστε περισσότερα

Εκπαίδευση ΤΝΔ με ελαχιστοποίηση του τετραγωνικού σφάλματος εκπαίδευσης. "Τεχνητά Νευρωνικά Δίκτυα" (Διαφάνειες), Α. Λύκας, Παν.

Εκπαίδευση ΤΝΔ με ελαχιστοποίηση του τετραγωνικού σφάλματος εκπαίδευσης. Τεχνητά Νευρωνικά Δίκτυα (Διαφάνειες), Α. Λύκας, Παν. Εκπαίδευση ΤΝΔ με ελαχιστοποίηση του τετραγωνικού σφάλματος εκπαίδευσης Ελαχιστοποίηση συνάρτησης σφάλματος Εκπαίδευση ΤΝΔ: μπορεί να διατυπωθεί ως πρόβλημα ελαχιστοποίησης μιας συνάρτησης σφάλματος E(w)

Διαβάστε περισσότερα

Μαθηματική Εισαγωγή Συναρτήσεις

Μαθηματική Εισαγωγή Συναρτήσεις Φυσικός Ραδιοηλεκτρολόγος (MSc) ο Γενικό Λύκειο Καστοριάς A. Μαθηματική Εισαγωγή Πράξεις με αριθμούς σε εκθετική μορφή Επίλυση βασικών μορφών εξισώσεων Συναρτήσεις Στοιχεία τριγωνομετρίας Διανύσματα Καστοριά,

Διαβάστε περισσότερα

Ανάλυση Δεδομένων με χρήση του Στατιστικού Πακέτου R

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

Διαβάστε περισσότερα

4.3 Δραστηριότητα: Θεώρημα Fermat

4.3 Δραστηριότητα: Θεώρημα Fermat 4.3 Δραστηριότητα: Θεώρημα Fermat Θέμα της δραστηριότητας Η δραστηριότητα αυτή εισάγει το Θεώρημα Fermat και στη συνέχεια την απόδειξή του. Ακολούθως εξετάζεται η χρήση του στον εντοπισμό πιθανών τοπικών

Διαβάστε περισσότερα

ΠΡΟΣΕΓΓΙΣΗ ΚΑΙ ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ ΜΙΑΣ ΔΙΑΣΤΑΣΗΣ ΜΕ ΣΥΝΔΥΑΣΜΟ MLP ΚΑΙ RBF ΝΕΥΡΩΝΙΚΩΝ ΔΙΚΤΥΩΝ Η ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΕΞΕΙΔΙΚΕΥΣΗΣ.

ΠΡΟΣΕΓΓΙΣΗ ΚΑΙ ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ ΜΙΑΣ ΔΙΑΣΤΑΣΗΣ ΜΕ ΣΥΝΔΥΑΣΜΟ MLP ΚΑΙ RBF ΝΕΥΡΩΝΙΚΩΝ ΔΙΚΤΥΩΝ Η ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΕΞΕΙΔΙΚΕΥΣΗΣ. ΠΡΟΣΕΓΓΙΣΗ ΚΑΙ ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ ΜΙΑΣ ΔΙΑΣΤΑΣΗΣ ΜΕ ΣΥΝΔΥΑΣΜΟ MLP ΚΑΙ RBF ΝΕΥΡΩΝΙΚΩΝ ΔΙΚΤΥΩΝ Η ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΕΞΕΙΔΙΚΕΥΣΗΣ Υποβάλλεται στην ορισθείσα από την Γενική Συνέλευση Ειδικής Σύνθεσης

Διαβάστε περισσότερα

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα. i Π Ρ Ο Λ Ο Γ Ο Σ Το βιβλίο αυτό αποτελεί μια εισαγωγή στα βασικά προβλήματα των αριθμητικών μεθόδων της υπολογιστικής γραμμικής άλγεβρας (computational linear algebra) και της αριθμητικής ανάλυσης (numerical

Διαβάστε περισσότερα

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΕΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗ ΨΗΦΙΑΚΩΝ ΜΕΣΩΝ. Πτυχιακή Εργασία

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΕΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗ ΨΗΦΙΑΚΩΝ ΜΕΣΩΝ. Πτυχιακή Εργασία ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΕΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗ ΨΗΦΙΑΚΩΝ ΜΕΣΩΝ Πτυχιακή Εργασία Αλγόριθμοι Βαθειάς Μάθησης για Διακριτική Αυτοκωδικοποίηση Deep Learning Algorithms

Διαβάστε περισσότερα

Αναγνώριση Προτύπων Ι

Αναγνώριση Προτύπων Ι Αναγνώριση Προτύπων Ι Ενότητα 3: Στοχαστικά Συστήματα Αν. Καθηγητής Δερματάς Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Προσομοίωση Νευρωνικού Δικτύου στο MATLAB. Κυριακίδης Ιωάννης 2013

Προσομοίωση Νευρωνικού Δικτύου στο MATLAB. Κυριακίδης Ιωάννης 2013 Προσομοίωση Νευρωνικού Δικτύου στο MATLAB Κυριακίδης Ιωάννης 2013 Εισαγωγή Ένα νευρωνικό δίκτυο αποτελεί μια πολύπλοκη δομή, όπου τα βασικά σημεία που περιλαμβάνει είναι τα εξής: Πίνακες με τα βάρη των

Διαβάστε περισσότερα

Υπολογιστική Νοημοσύνη. Μάθημα 4: Μάθηση στον απλό τεχνητό νευρώνα (2)

Υπολογιστική Νοημοσύνη. Μάθημα 4: Μάθηση στον απλό τεχνητό νευρώνα (2) Υπολογιστική Νοημοσύνη Μάθημα 4: Μάθηση στον απλό τεχνητό νευρώνα (2) Ο κανόνας Δέλτα για συνεχείς συναρτήσεις ενεργοποίησης (1/2) Για συνεχείς συναρτήσεις ενεργοποίησης, θα θέλαμε να αλλάξουμε περισσότερο

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΣΗΜΑΤΑ & ΣΥΣΤΗΜΑΤΑ Ενότητα 1, Μέρος 2ο: ΠΕΡΙ ΣΗΜΑΤΩΝ Aναστασία Βελώνη Τμήμα Η.Υ.Σ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ, ΚΑΙΝΟΤΟΜΙΑ ΚΑΙ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑ 9 Ο εξάμηνο Χημικών Μηχανικών

ΤΕΧΝΟΛΟΓΙΑ, ΚΑΙΝΟΤΟΜΙΑ ΚΑΙ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑ 9 Ο εξάμηνο Χημικών Μηχανικών ΤΕΧΝΟΛΟΓΙΑ, ΚΑΙΝΟΤΟΜΙΑ ΚΑΙ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΤΗΤΑ 9 Ο εξάμηνο Χημικών Μηχανικών Γιώργος Μαυρωτάς, Αν.Καθηγητής ΕΜΠ mavrotas@chemeng.ntua.gr ΑΝΑΛΥΣΗ ΕΥΑΙΣΘΗΣΙΑΣ ΑΝΑΛΥΣΗ ΡΙΣΚΟΥ Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

3. Προσομοίωση ενός Συστήματος Αναμονής.

3. Προσομοίωση ενός Συστήματος Αναμονής. 3. Προσομοίωση ενός Συστήματος Αναμονής. 3.1. Διατύπωση του Προβλήματος. Τα συστήματα αναμονής (queueing systems), βρίσκονται πίσω από τα περισσότερα μοντέλα μελέτης της απόδοσης υπολογιστικών συστημάτων,

Διαβάστε περισσότερα

ΦΙΛΤΡΟ KALMAN ΔΙΑΚΡΙΤΟΥ ΧΡΟΝΟΥ

ΦΙΛΤΡΟ KALMAN ΔΙΑΚΡΙΤΟΥ ΧΡΟΝΟΥ 1 ΦΙΛΤΡΟ KALMAN ΔΙΑΚΡΙΤΟΥ ΧΡΟΝΟΥ Σε αυτό το μέρος της πτυχιακής θα ασχοληθούμε λεπτομερώς με το φίλτρο kalman και θα δούμε μια καινούρια έκδοση του φίλτρου πάνω στην εφαρμογή της γραμμικής εκτίμησης διακριτού

Διαβάστε περισσότερα

Νευρωνικά ίκτυα και Εξελικτικός. Σηµερινό Μάθηµα. επανάληψη Γενετικών Αλγορίθµων 1 η εργασία Επανάληψη νευρωνικών δικτύων Ασκήσεις εφαρµογές

Νευρωνικά ίκτυα και Εξελικτικός. Σηµερινό Μάθηµα. επανάληψη Γενετικών Αλγορίθµων 1 η εργασία Επανάληψη νευρωνικών δικτύων Ασκήσεις εφαρµογές Νευρωνικά ίκτυα και Εξελικτικός Προγραµµατισµός Σηµερινό Μάθηµα επανάληψη Γενετικών Αλγορίθµων η εργασία Επανάληψη νευρωνικών δικτύων Ασκήσεις εφαρµογές Κωδικοποίηση Αντικειµενική Συνάρτ Αρχικοποίηση Αξιολόγηση

Διαβάστε περισσότερα

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ

ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα ΕΛΕΓΧΟΣ ΠΑΡΑΓΩΓΙΚΩΝ ΔΙΕΡΓΑΣΙΩΝ Ενότητα: Αναγνώριση Διεργασίας - Προσαρμοστικός Έλεγχος (Process Identification) Αλαφοδήμος Κωνσταντίνος

Διαβάστε περισσότερα

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης.

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης. Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης. Ένα από τα γνωστότερα παραδείγματα των ΕΑ είναι ο Γενετικός

Διαβάστε περισσότερα

Μαθηματική Εισαγωγή Συναρτήσεις

Μαθηματική Εισαγωγή Συναρτήσεις Φυσικός Ραδιοηλεκτρολόγος (MSc) ο Γενικό Λύκειο Καστοριάς Καστοριά, Ιούλιος 14 A. Μαθηματική Εισαγωγή Πράξεις με αριθμούς σε εκθετική μορφή Επίλυση βασικών μορφών εξισώσεων Συναρτήσεις Στοιχεία τριγωνομετρίας

Διαβάστε περισσότερα

Στατιστική Ι (ΨΥΧ-1202) ιάλεξη 3

Στατιστική Ι (ΨΥΧ-1202) ιάλεξη 3 (ΨΥΧ-1202) Λεωνίδας Α. Ζαμπετάκης Β.Sc., M.Env.Eng., M.Ind.Eng., D.Eng. Εmail: statisticsuoc@gmail.com ιαλέξεις: ftp://ftp.soc.uoc.gr/psycho/zampetakis/ ιάλεξη 3 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΨΥΧΟΛΟΓΙΑΣ Ρέθυμνο,

Διαβάστε περισσότερα

ΕΡΩΤΗΜΑΤΑ σε ΝΕΥΡΩΝΙΚΑ

ΕΡΩΤΗΜΑΤΑ σε ΝΕΥΡΩΝΙΚΑ ηµήτρης Ψούνης ΠΛΗ3, Απαντήσεις Quiz σε ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΕΡΩΤΗΜΑΤΑ σε ΝΕΥΡΩΝΙΚΑ Μάθηµα 3. ΕΡΩΤΗΜΑ Ένας αισθητήρας µπορεί να µάθει: a. εδοµένα που ανήκουν σε 5 διαφορετικές κλάσεις. b. εδοµένα που ανήκουν

Διαβάστε περισσότερα

Υπολογιστικό Πρόβληµα

Υπολογιστικό Πρόβληµα Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις

Διαβάστε περισσότερα

Αναγνώριση Προτύπων Ι

Αναγνώριση Προτύπων Ι Αναγνώριση Προτύπων Ι Ενότητα 4: Νευρωνικά Δίκτυα στην Ταξιμόμηση Προτύπων Αν. Καθηγητής Δερματάς Ευάγγελος Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Πανεπιστήµιο Κύπρου Πολυτεχνική Σχολή

Πανεπιστήµιο Κύπρου Πολυτεχνική Σχολή Πανεπιστήµιο Κύπρου Πολυτεχνική Σχολή Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών ΗΜΜΥ 795: ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ Ακαδηµαϊκό έτος 2010-11 Χειµερινό Εξάµηνο Τελική εξέταση Τρίτη, 21 εκεµβρίου 2010,

Διαβάστε περισσότερα

Εισαγωγή στους Νευρώνες. Κυριακίδης Ιωάννης 2013

Εισαγωγή στους Νευρώνες. Κυριακίδης Ιωάννης 2013 Εισαγωγή στους Νευρώνες Κυριακίδης Ιωάννης 2013 Τι είναι τα Τεχνητά Νευρωνικά Δίκτυα; Είναι μια προσπάθεια μαθηματικής προσομοίωσης της λειτουργίας του ανθρώπινου εγκεφάλου. Είναι ένα υπολογιστικό μοντέλο

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΘΕΜΑ ο 2.5 µονάδες ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ Τελικές εξετάσεις 2 Οκτωβρίου 23 ιάρκεια: 2 ώρες Έστω το παρακάτω γραµµικώς

Διαβάστε περισσότερα

Υπολογιστική Νοημοσύνη. Μάθημα 10: Ομαδοποίηση με Ανταγωνιστική Μάθηση - Δίκτυα Kohonen

Υπολογιστική Νοημοσύνη. Μάθημα 10: Ομαδοποίηση με Ανταγωνιστική Μάθηση - Δίκτυα Kohonen Υπολογιστική Νοημοσύνη Μάθημα 10: Ομαδοποίηση με Ανταγωνιστική Μάθηση - Δίκτυα Kohonen Ανταγωνιστικοί Νευρώνες Ένα στρώμα με ανταγωνιστικούς νευρώνες λειτουργεί ως εξής: Όλοι οι νευρώνες δέχονται το σήμα

Διαβάστε περισσότερα

Νευρωνικά Δίκτυα στο Matlab

Νευρωνικά Δίκτυα στο Matlab Νευρωνικά Δίκτυα στο Matlab Ρ202 Μηχανική Ευφυΐα (Machine Intelligence) Ευστάθιος Αντωνίου Τμήμα Μηχανικών Πληροφορικής Αλεξάνδρειο ΤΕΙ Θεσσαλονίκης E-mail: antoniou@itteithegr Πρόγραμμα Μεταπτυχιακών

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ. ΠΡΟΛΟΓΟΣ... vii ΠΕΡΙΕΧΟΜΕΝΑ... ix ΓΕΝΙΚΗ ΒΙΒΛΙΟΓΡΑΦΙΑ... xv. Κεφάλαιο 1 ΓΕΝΙΚΕΣ ΕΝΝΟΙΕΣ ΑΠΟ ΤΗ ΣΤΑΤΙΣΤΙΚΗ

ΠΕΡΙΕΧΟΜΕΝΑ. ΠΡΟΛΟΓΟΣ... vii ΠΕΡΙΕΧΟΜΕΝΑ... ix ΓΕΝΙΚΗ ΒΙΒΛΙΟΓΡΑΦΙΑ... xv. Κεφάλαιο 1 ΓΕΝΙΚΕΣ ΕΝΝΟΙΕΣ ΑΠΟ ΤΗ ΣΤΑΤΙΣΤΙΚΗ ΠΡΟΛΟΓΟΣ... vii ΠΕΡΙΕΧΟΜΕΝΑ... ix ΓΕΝΙΚΗ ΒΙΒΛΙΟΓΡΑΦΙΑ... xv Κεφάλαιο 1 ΓΕΝΙΚΕΣ ΕΝΝΟΙΕΣ ΑΠΟ ΤΗ ΣΤΑΤΙΣΤΙΚΗ 1.1 Πίνακες, κατανομές, ιστογράμματα... 1 1.2 Πυκνότητα πιθανότητας, καμπύλη συχνοτήτων... 5 1.3

Διαβάστε περισσότερα

Στ Τάξη. Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1

Στ Τάξη. Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1 Ενδεικτική Οργάνωση Ενοτήτων Στ Τάξη Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1 15 Αρ3.1 Απαγγέλουν, διαβάζουν, γράφουν και αναγνωρίζουν ποσότητες αριθμών Επανάληψη μέχρι το 1 000

Διαβάστε περισσότερα

Υπολογιστική Νοημοσύνη. Μάθημα 12: Παραδείγματα Ασκήσεων 2

Υπολογιστική Νοημοσύνη. Μάθημα 12: Παραδείγματα Ασκήσεων 2 Υπολογιστική Νοημοσύνη Μάθημα 12: Παραδείγματα Ασκήσεων 2 Δίκτυα Πολλών Επιπέδων Με μη γραμμικούς νευρώνες Έστω ένα πρόβλημα κατηγοριοποίησης, με δύο βαθμούς ελευθερίας (x, y) και δύο κατηγορίες (A, B).

Διαβάστε περισσότερα

Περιεχόμενα. σελ. Πρόλογος 1 ης Έκδοσης... ix Πρόλογος 2 ης Έκδοσης... xi Εισαγωγή... xiii

Περιεχόμενα. σελ. Πρόλογος 1 ης Έκδοσης... ix Πρόλογος 2 ης Έκδοσης... xi Εισαγωγή... xiii Περιεχόμενα Πρόλογος 1 ης Έκδοσης... ix Πρόλογος 2 ης Έκδοσης... xi Εισαγωγή... xiii 1. Ειδικές συναρτήσεις 1.0 Εισαγωγή... 1 1.1 Εξίσωση του Laplace Συστήματα συντεταγμένων... 2 1.2 Συνάρτηση δ του Dirac...

Διαβάστε περισσότερα

«Αριθμητική και πειραματική μελέτη της διεπιφάνειας χάλυβασκυροδέματος στις σύμμικτες πλάκες με χαλυβδόφυλλο μορφής»

«Αριθμητική και πειραματική μελέτη της διεπιφάνειας χάλυβασκυροδέματος στις σύμμικτες πλάκες με χαλυβδόφυλλο μορφής» ΠΕΡΙΛΗΨΗ ΤΗΣ ΔΙΔΑΚΤΟΡΙΚΗΣ ΔΙΑΤΡΙΒΗΣ «Αριθμητική και πειραματική μελέτη της διεπιφάνειας χάλυβασκυροδέματος στις σύμμικτες πλάκες με χαλυβδόφυλλο μορφής» του Θεμιστοκλή Τσαλκατίδη, Δρ. Πολιτικού Μηχανικού

Διαβάστε περισσότερα

E [ -x ^2 z] = E[x z]

E [ -x ^2 z] = E[x z] 1 1.ΦΙΛΤΡΟ KALMAN ΔΙΑΚΡΙΤΟΥ ΧΡΟΝΟΥ Σε αυτήν την διάλεξη θα πάμε στο φίλτρο με περισσότερες λεπτομέρειες, και θα παράσχουμε μια νέα παραγωγή για το φίλτρο Kalman, αυτή τη φορά βασισμένο στην ιδέα της γραμμικής

Διαβάστε περισσότερα

LOGO. Εξόρυξη Δεδομένων. Δειγματοληψία. Πίνακες συνάφειας. Καμπύλες ROC και AUC. Σύγκριση Μεθόδων Εξόρυξης

LOGO. Εξόρυξη Δεδομένων. Δειγματοληψία. Πίνακες συνάφειας. Καμπύλες ROC και AUC. Σύγκριση Μεθόδων Εξόρυξης Εξόρυξη Δεδομένων Δειγματοληψία Πίνακες συνάφειας Καμπύλες ROC και AUC Σύγκριση Μεθόδων Εξόρυξης Πασχάλης Θρήσκος PhD Λάρισα 2016-2017 pthriskos@mnec.gr LOGO Συμπερισματολογία - Τι σημαίνει ; Πληθυσμός

Διαβάστε περισσότερα

ΣΥΝΕΛΙΚΤΙΚΑ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ

ΣΥΝΕΛΙΚΤΙΚΑ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΜΑ ΦΥΣΙΚΗΣ - Δ.Π.Μ.Σ. «Ηλεκτρονική και Επεξεργασία της Πληροφορίας» ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΣΥΝΕΛΙΚΤΙΚΑ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ ΣΤΗΝ ΥΠΟΛΟΓΙΣΤΙΚΗ ΌΡΑΣΗ ΟΝΟΜΑΤΕΠΩΝΥΜΟ : ΠΑΠΑΔΟΠΟΥΛΟΣ ΑΘΑΝΑΣΙΟΣ

Διαβάστε περισσότερα

HELLENIC OPEN UNIVERSITY School of Social Sciences ΜΒΑ Programme. Επιλογή δείγματος. Κατερίνα Δημάκη

HELLENIC OPEN UNIVERSITY School of Social Sciences ΜΒΑ Programme. Επιλογή δείγματος. Κατερίνα Δημάκη HELLENIC OPEN UNIVERSITY School of Social Sciences ΜΒΑ Programme Επιλογή δείγματος Κατερίνα Δημάκη Αν. Καθηγήτρια Τμήμα Στατιστικής Οικονομικό Πανεπιστήμιο Αθηνών 1 Τρόποι Συλλογής Δεδομένων Απογραφική

Διαβάστε περισσότερα

ΕΦΑΡΜΟΣΜΕΝΗ ΣΤΑΤΙΣΤΙΚΗ Ι Συμπληρωματικές Σημειώσεις Δημήτριος Παντελής

ΕΦΑΡΜΟΣΜΕΝΗ ΣΤΑΤΙΣΤΙΚΗ Ι Συμπληρωματικές Σημειώσεις Δημήτριος Παντελής ΕΦΑΡΜΟΣΜΕΝΗ ΣΤΑΤΙΣΤΙΚΗ Ι Συμπληρωματικές Σημειώσεις Δημήτριος Παντελής ΣΤΑΤΙΣΤΙΚΕΣ ΕΚΤΙΜΗΣΕΙΣ Οι συναρτήσεις πιθανότητας ή πυκνότητας πιθανότητας των διαφόρων τυχαίων μεταβλητών χαρακτηρίζονται από κάποιες

Διαβάστε περισσότερα

ΚΑΤΗΓΟΡΙΕΣ ΤΑΞΙΝΟΜΗΣΗΣ

ΚΑΤΗΓΟΡΙΕΣ ΤΑΞΙΝΟΜΗΣΗΣ ΚΑΤΗΓΟΡΙΕΣ ΤΑΞΙΝΟΜΗΣΗΣ Κατευθυνόμενη ταξινόμηση (supervsed cassfcaton) Μη-κατευθυνόμενη ταξινόμηση (unsupervsed cassfcaton) Γραμμική: Lnear Dscrmnant Anayss Μη- Γραμμική: Νευρωνικά δίκτυα κλπ. Ιεραρχική

Διαβάστε περισσότερα