ΕΞΕΛΙΚΤΙΚΑ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ Σπύρος Λυκοθανάσης, Καθηγητής Διευθυντής Εργαστηρίου Αναγνώρισης Προτύπων Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστημίου Πατρών
2 Το πρόβλημα Η εξέλιξη της αρχιτεκτονικής (τοπολογίας - δομής) και η ταυτόχρονη εκπαίδευση ενός τεχνητού Νευρωνικού Δικτύου. Η αρχιτεκτονική ενός δικτύου παίζει πολύ σημαντικό ρόλο τόσο στην ικανότητα του να μαθαίνει όσο και να γενικεύει. Το πρόβλημα αυτό είναι γνωστό ως πρόβλημα εύρεσης της βέλτιστης αρχιτεκτονικής.
3 Μέθοδοι επίλυσης Η μέθοδος της δοκιμής και του λάθους. Οι κατασκευαστικοί (constructive) και οι καταστροφικοί (destructive) αλγόριθμοι ή αλγόριθμοι ψαλιδίσματος (pruning). Ειδικά σχεδιασμένοι Εξελικτικοί Αλγόριθμοι, οι οποίοι: Είτε εξελίσσουν τη δομή και ταυτόχρονα εκπαιδεύουν το Νευρωνικό Δίκτυο, Είτε εξελίσσουν τη δομή και για την εκπαίδευση χρησιμοποιούν έναν «κλασικό» αλγόριθμο εκπαίδευσης.
4 Πως εμπλέκονται οι Γ.Α. Το πρόβλημα της εύρεσης της βέλτιστης αρχιτεκτονικής μπορούμε πολύ εύκολα να το σχηματοποιήσουμε σαν ένα πρόβλημα αναζήτησης στο χώρο των αρχιτεκτονικών, όπου κάθε σημείο του χώρου αντιπροσωπεύει και μια αρχιτεκτονική. Το πρόβλημα της εκπαίδευσης ενός Νευρωνικού Δικτύου, μπορεί να διατυπωθεί ως πρόβλημα αναζήτησης στο χώρο των βαρών. Δοθέντων κάποιων κριτηρίων απόδοσης, όπως για παράδειγμα, το λάθος, η ικανότητα γενίκευσης, ο χρόνος για την εκπαίδευση, η πολυπλοκότητα της αρχιτεκτονικής κ.α., για την αρχιτεκτονική του δικτύου, σχηματίζεται μια επιφάνεια στο χώρο των αρχιτεκτονικών. Έτσι η βέλτιστη αρχιτεκτονική αντιστοιχεί στην εύρεση του μέγιστου αυτής της επιφάνειας. Το αντίστοιχο ισχύει και για την εκπαίδευση.
5 Η «δική» μας προσέγγιση Στη συνέχεια θα παρουσιάσουμε έναν τροποποιημένο Γενετικό Αλγόριθμο (ή Εξελικτικό Πρόγραμμα) για την ταυτόχρονη εκπαίδευση και βελτιστοποίηση της δομής Νευρωνικού Δικτύου. Ο αλγόριθμος αυτός θα εφαρμοστεί στην επίλυση του προβλήματος XOR και Even Parity.
6 Το «μοντέλο» του Ν.Δ.
7 Βήμα 1 ο : Αρχικοποίηση Δημιουργείται ένας πληθυσμός από νευρωνικά δίκτυα, με τυχαία δομή. Εδώ, ενδιαφερόμαστε μόνο για τον αριθμό των κρυφών νευρώνων και όχι για τη συνδεσμολογία και τον αριθμό των κρυφών επιπέδων. Χρησιμοποιούμε δίκτυα με ένα μόνο κρυφό επίπεδο. Η ελεύθερες παράμετροι του δικτύου, δηλαδή τα βάρη και τα κατώφλια, αρχικοποιούνται τυχαία, με ομοιόμορφη κατανομή σε ένα μικρό διάστημα τιμών γύρω από το 0 (π.χ. [-1, 1]).
8 Βήμα 2 ο : Επιλογή Χρησιμοποιούμε ρουλέτα με ελιτισμό (Elitism Roulette Wheel Selection). H συνάρτηση αξιολόγησης (Fitness Function) είναι μια συνάρτηση του λάθους στην έξοδο του δικτύου: Fitness = 1/(1+ERROR) Όπου το ERROR είναι ένα μέτρο του λάθους (π.χ. Mean Square Error - MSE) του δικτύου και παίρνει διάφορες τιμές ανάλογα με το πρόβλημα.
9 Βήμα 3 ο : Διασταύρωση Ο τελεστής της διασταύρωσης επιλέγει τυχαία, με μια δοσμένη πιθανότητα, έναν άρτιο αριθμό από δίκτυα από τον πληθυσμό. Στη συνέχεια ζευγαρώνει τα επιλεγμένα δίκτυα με τυχαίο τρόπο και από κάθε ζευγάρι γονέων παράγει δύο νέα δίκτυα απογόνους που παίρνουν τη θέση των γονέων τους στον πληθυσμό. Για παράδειγμα, έστω: γονέας 1 : I H 1 H 2 | H 3 O παιδί 1 : I H 1 H 2 H 2 ’ H 3 ’ H 4 ’ O ’ γονέας 2 : I ’ H 1 ’ | H 2 ’ H 3 ’ H 4 ’ O ’ παιδί 2 : I ’ H 1 ’ H 3 O Τα βάρη των νέων συνδέσεων που θα δημιουργηθούν στους απογόνους παίρνουν τυχαίες τιμές (όπως στη φάση της αρχικοποίησης).
10 Βήμα 4 ο : Μετάλλαξη Επιλέγει τυχαία, έναν αριθμό από δίκτυα από τον πληθυσμό πάνω στα οποία και εφαρμόζεται. Έχουν υλοποιηθεί τρεις τελεστές μετάλλαξης: hidden_mutation: μεταβάλει τη δομή του επιλεγμένου δικτύου αφαιρώντας ή προσθέτοντας έναν τυχαίο αριθμό από κρυφούς νευρώνες. uniform_weight_mutation: αντικαθιστά τις τιμές ενός ποσοστού των ελευθέρων παραμέτρων του επιλεγμένου δικτύου (βάρη και κατώφλια) με άλλες τυχαίες, χρησιμοποιώντας ομοιόμορφη κατανομή πιθανότητας. non_uniform_weight_mutation: αλλάζει τις τιμές ενός ποσοστού των ελευθέρων παραμέτρων του επιλεγμένου δικτύου με τέτοιο τρόπο ώστε οι νέες τιμές να είναι σημαντικά διαφορετικές από τις παλιές στην αρχή της εξελικτικής διαδικασίας ενώ όσο η διαδικασία προχωρά η διαφορά αυτή να ελαττώνεται.
11 Διάγραμμα Ροής
12 Εφαρμογές X1X2Y X1X2X3Y Το πρόβλημα XOR Το πρόβλημα άρτιας ισοτιμίας (3 bit)
13 Εφαρμογές - XOR Μέγεθος Πληθυσμ ού Μέσος Αριθμός Γενεών Μέσος Αριθμός Κρυφών Νευρώνων Μέση Τιμή MSE 10 -5
14 Εφαρμογές - XOR
15 Εφαρμογές - Parity
16 Εφαρμογές – Μαγνητο-Εγκεφαλογράφημα Επιληπτικών Ασθενών Αποτελέσματα στο training set για ορίζοντα πρόβλεψης ίσο με 1 (αρχιτεκτονική παραγόμενου δικτύου )
17 Εφαρμογές – Μαγνητο-Εγκεφαλογράφημα Επιληπτικών Ασθενών Αποτελέσματα στο test set για ορίζοντα πρόβλεψης ίσο με 1 (αρχιτεκτονική παραγόμενου δικτύου )
18 Επίλογος Είδαμε ότι είναι δυνατή η εξέλιξη της δομής και η εκπαίδευση Τεχνητών Νευρωνικών Δικτύων χρησιμοποιώντας αποκλειστικά Γενετικούς Αλγορίθμους και χωρίς την παρέμβαση κάποιου «κλασικού» αλγορίθμου εκπαίδευσης. Γεγονός που δείχνει τη μεγάλη ευελιξία και την ισχύ των Γενετικών Αλγορίθμων, αλλά και γενικότερα των εξελικτικών τεχνικών.