Υπολογιστική Νοημοσύνη Μάθημα 6: Μάθηση με Οπισθοδιάδοση Σφάλματος Backpropagation Learning
Κεντρική ιδέα Τα παραδείγματα μάθησης παρουσιάζονται στο μηεκπαιδευμένο δίκτυο και υπολογίζονται οι έξοδοι. Για κάθε νευρώνα εξόδου υπολογίζεται το σφάλμα και γίνεται η σχετική αλλαγή των βαρών εισόδου. Με κατεύθυνση από το επίπεδο εξόδου προς το επίπεδο εισόδου, για κάθε εσωτερικό νευρώνα υπολογίζεται η συμμετοχή του στα σφάλματα των νευρώνων εξόδου και γίνεται η αλλαγή των βαρών στην είσοδό του. Η συμμετοχή ενός νευρώνα στα σφάλματα των νευρώνων του επόμενου επιπέδου του είναι ανάλογη της τρέχουσας εισόδου του και των συντελεστών βαρύτητας που τον συνδέουν με τους νευρώνες του επόμενου επιπέδου. 2
Προσαρμοσμένα σφάλματα (1/2) Έστω k ένας νευρώνας του επιπέδου εξόδου. Έστω ak η έξοδος του νευρώνα k για ένα συγκεκριμένο παράδειγμα εισόδου και ok η επιθυμητή έξοδος για το ίδιο παράδειγμα. Προφανώς το σφάλμα στη συγκεκριμένη περίπτωση για τον νευρώνα k είναι: Σφάλμα = a k -o k Το πραγματικό σφάλμα κάθε νευρώνα το πολλαπλασιάζουμε επί την παράγωγο της συνάρτησης ενεργοποίησης, σύμφωνα με το γενικευμένο κανόνα δέλτα: δk=(a k -o k )Φ'(S k ) Η παραπάνω τιμή ονομάζεται προσαρμοσμένο σφάλμα νευρώνα. 3
Προσαρμοσμένα σφάλματα (2/2) Ο πολλαπλασιασμός των σφαλμάτων επί την παράγωγο της συνάρτησης ενεργοποίησης έχει ως αποτέλεσμα: Να μειώνεται αυξάνεται η βαρύτητα του σφάλματος για τα παραδείγματα εκείνα που η έξοδός τους Φ(S k ) φαίνεται να έχει σταθεροποιηθεί είτε στο 0 ή στο 1 (για σιγμοειδή συνάρτηση ενεργοποίησης). η κλίση του διανύσματος ΔW=(Δw i1,k, Δw i2,k,..., Δ win,k ) να έχει την κατεύθυνση της πιο απότομης μεταβολής (πτώσης) της επιφάνειας του σφάλματος Ε=Ε(W), όπου W το σύνολο των βαρών του νευρωνικού δικτύου. Τα προσαρμοσμένα σφάλματα είναι σε αντιστοιχία με τον γενικευμένο κανόνα δέλτα για συνεχείς συναρτήσεις ενεργοποίησης. Ουσιαστικά μεταφέρουμε την παράγωγο της συνάρτησης ενεργοποίησης μέσα στο σφάλμα. 4
Σφάλματα κρυφών επιπέδων Τα σφάλματα των νευρώνων των κρυφών επιπέδων υπολογίζονται από τα σφάλματα των νευρώνων του αμέσως επόμενου επιπέδου, ως εξής: όπου: δ i = Φ (S i ) * Σw ik δ k i ένας νευρώνας του κρυφού επιπέδου. Το άθροισμα αναφέρεται σε όλους τους νευρώνες k του επόμενου επιπέδου (ή των επόμενων επιπέδων) με τους οποίους ο νευρώνας i συνδέεται με βάρη w ik. Με τον παραπάνω τρόπο υπολογίζονται τα σφάλματα για όλους τους νευρώνες του δικτύου, μέχρι και το επίπεδο εισόδου. 5
Αλλαγές στα βάρη Έχοντας υπολογίσει για κάθε νευρώνα i το σφάλμα δi, η αλλαγή στα βάρη εισόδου σε όλους τους νευρώνες γίνεται ως εξής: Δw ji = - d * δ i * a j Δηλαδή, η αλλαγή στο βάρος από τον νευρώνα j στον νευρώνα i εξαρτάται από το σφάλμα του νευρώνα i, την έξοδο του νευρώνα j και την σταθερά μάθησης (learning rate) d. Προσοχή: Η παράγωγος της συνάρτησης ενεργοποίησης έχει συμπεριληφθεί μέσα στα προσαρμοσμένα σφάλματα. 6
Επαναλήψεις Υπάρχουν δύο τρόποι παρουσίασης των παραδειγμάτων και αλλαγής των βαρών: Για κάθε παράδειγμα προβαίνουμε αμέσως σε αλλαγές των βαρών (αυξητική εκπαίδευση - incremental training). Μπορούμε να παρουσιάζουμε τα παραδείγματα και με τυχαία σειρά. Περιμένουμε να παρουσιαστούν όλα τα παραδείγματα μια φορά, υπολογίζουμε τις αλλαγές των βαρών για κάθε παράδειγμα και τις εφαρμόζουμε ταυτόχρονα αφού παρουσιαστούν όλα τα παραδείγματα (μαζική εκπαίδευση - batch training). Η παρουσίαση όλων των παραδειγμάτων μια φορά (ανεξαρτήτως του τρόπου αλλαγής των βαρών) ονομάζεται εποχή εκπαίδευσης (epoch). 7
Συνθήκες τερματισμού εκπαίδευσης Το συνολικό σφάλμα για όλα τα παραδείγματα ορίζεται σαν το άθροισμα των τετραγώνων των σφαλμάτων των νευρώνων εξόδου: Ως συνθήκη τερματισμού μπορεί να οριστεί η πτώση του παραπάνω σφάλματος κάτω από ένα όριο. Εναλλακτικά, ως συνθήκη τερματισμού μπορεί να θεωρηθεί η πραγματοποίηση ενός συγκεκριμένου αριθμού εποχών εκπαίδευσης ή η πάροδος ενός συγκεκριμένου χρονικού διαστήματος. 8