Υπολογιστική Νοημοσύνη Μάθημα 9: Γενίκευση
Υπερπροσαρμογή (Overfitting) Ένα από τα βασικά προβλήματα που μπορεί να εμφανιστεί κατά την εκπαίδευση νευρωνικών δικτύων είναι αυτό της υπερβολικής εκπαίδευσης. Το συνολικό σφάλμα για τα παραδείγματα εκπαίδευσης γίνεται πάρα πολύ μικρό, αλλά γίνεται υπερβολικά μεγάλο σε άλλα παραδείγματα. Λέμε τότε ότι το νευρωνικό δίκτυο δεν γενικεύει (generalizes) καλά. Αντίστοιχο παράδειγμα έχουμε κατά την προσέγγιση δεδομένων με πολυώνυμα ελαχίστων τετραγώνων (βλέπε παράδειγμα επόμενης διαφάνειας). 2
Παράδειγμα 3
Μέγεθος νευρωνικού δικτύου Το πρόβλημα της υπερ-εκπαίδευσης παρουσιάζεται σε νευρωνικά δίκτυα με πολύ μεγάλο αριθμό νευρώνων στο κρυφό επίπεδο, σε σχέση πάντα με το πλήθος των παραδειγμάτων. Από την άλλη, μικρός αριθμός νευρώνων οδηγεί σε αδυναμία μάθησης. Η επιλογή του βέλτιστου αριθμού νευρώνων στο κρυφό επίπεδο απαιτεί συνήθως πειραματισμό. Ένας εμπειρικός κανόνας προτείνει: όπου: W είναι ο αριθμός των βαρών N > ε είναι η επιθυμητή % τελική τιμή σφάλματος (π.χ. 10% λάθος κατηγοριοποίηση σε νέα δεδομένα). N είναι ο αριθμός των παραδειγμάτων εκπαίδευσης που, για το δεδομένο δίκτυο, απαιτούνται για να επιτευχθεί τιμή σφάλματος σε νέα παραδείγματα ίση με ε. W ε 4
Τροποποίηση της συνάρτησης σφάλματος Τροποποιούμε τη συνάρτηση σφάλματος ως εξής: MSEREG 1 = γ Ν Ν 2 1 ( αi οi ) + (1 γ ) i= 1 Ν Ν i= 1 w 2 j όπου γ είναι ο συντελεστής σφάλματος (π.χ. γ=0.5). Η παραπάνω συνάρτηση σφάλματος ευνοεί τους μικρούς συντελεστές βαρύτητας. Δυσκολία στον καθορισμό του συντελεστή γ. Η συνάρτηση σφάλματος MSEREG μπορεί να χρησιμοποιηθεί με όλες τις μεθόδους εκπαίδευσης που έχουν παρουσιαστεί. (MATLAB) net.trainparam.ratio = 0.5 5
Παράδειγμα (1/5) Το σχήμα δείχνει 24 σημεία γύρω από τη συνάρτηση του ημιτόνου (με διακεκομμένη γραμμή είναι η πραγματική συνάρτηση). 6
Παράδειγμα (2/5) Δίκτυο με 20 LOGSIG - 1 PURELIN, εκπαίδευση με τη μέθοδο TRAINSCG, σφάλμα MSE, για 1000 εποχές. 7
Παράδειγμα (3/5) Δίκτυο με 20 LOGSIG - 1 PURELIN, εκπαίδευση με τη μέθοδο TRAINSCG, σφάλμα MSEREG, για 1000 εποχές. 8
Αυτόματη ομαλοποίηση (Automated regularization) Η μέθοδος εκπαίδευσης της αυτόματης ομαλοποίησης είναι παραλλαγή της μεθόδου TRAINLM, με στόχο την ομαλοποίηση των αποτελεσμάτων. Βασίζεται σε στατιστικές μεθόδους. Μετρά πόσες παράμετροι του δικτύου (βάρη) χρειάζονται πραγματικά. Υλοποιείται στο Matlab με τη μέθοδο TRAINBR. 9
Παράδειγμα (4/5) Δίκτυο με 20 LOGSIG-1 PURELIN, εκπαίδευση με τη μέθοδο TRAINBR, για 1000 εποχές. 10
Πρόωρη διακοπή (1/2) (Early Stopping) Τα διαθέσιμα δεδομένα διαιρούνται σε τρεις ομάδες: Τα δεδομένα εκπαίδευσης (training data) Τα δεδομένα επαλήθευσης (validation data) Τα δεδομένα ελέγχου (test data) - προαιρετικά Ένας συνήθης ποσοστιαίος διαχωρισμός είναι 50-25-25. Η εκπαίδευση γίνεται μόνο με τα δεδομένα εκπαίδευσης. Κατά την εκπαίδευση παρακολουθείται και το σφάλμα στα δεδομένα επαλήθευσης. Εάν κατά την εκπαίδευση συμβεί το σφάλμα στα δεδομένα επαλήθευσης να αυξηθεί για συγκεκριμένο αριθμό συνεχόμενων εποχών, η εκπαίδευση διακόπτεται και επιστρέφονται οι παράμετροι που αντιστοιχούσαν στο μικρότερο σφάλμα των δεδομένων επαλήθευσης. 11
Πρόωρη διακοπή (2/2) (Early Stopping) Τα δεδομένα ελέγχου χρησιμοποιούνται για να ελέγχουν την ισοκατανομή των δεδομένων επαλήθευσης. Εάν τα δεδομένα ελέγχου παρουσιάσουν ελάχιστο σφάλμα σε αρκετά διαφορετικό σημείο της εκπαίδευσης σε σχέση με τα δεδομένα επαλήθευσης, πραγματοποιείται νέος χωρισμός των δεδομένων σε κατηγορίες. Η τεχνική πρόωρης διακοπής δεν έχει ως αποτέλεσμα την κατασκευή καλύτερου νευρωνικού δικτύου, αλλά την ανίχνευση προβλημάτων γενίκευσης κατά την εκπαίδευση με οποιαδήποτε μέθοδο, άρα μπορεί να αποτελέσει ένδειξη για την επιλογή μιας άλλης μεθόδου (π.χ. της TRAINBR). 12
Παράδειγμα (5/5) Δίκτυο με 20 LOGSIG - 1 PURELIN, εκπαίδευση με τη μέθοδο TRAINSCG, σφάλμα MSE, χρήση δεδομένων επαλήθευσης ομοιόμορφα κατανεμημένων ανάμεσα στα δεδομένα εκπαίδευσης, για 35 εποχές (μετά σταμάτησε...). 13
K-πλή Διασταυρωμένη επικύρωση (K-fold cross validation) Χωρίζουμε τυχαία τα δεδομένα σε Κ ίσα υποσύνολα (συνήθως Κ=10) Κάνουμε εκπαίδευση με τα Κ-1 υποσύνολα και το τελευταίο χρησιμοποιείται για επαλήθευση. Η διαδικασία επαναλαμβάνεται Κ φόρες, κάθε φορά και με διαφορετικό σύνολο επαλήθευσης. Τα Κ εκπαιδευμένα δίκτυα χρησιμοποιούνται για την τελική πρόβλεψη (π.χ. πλειοψηφία ή μέσος όρος). 14