Προσθέτει τυχαίο θόρυβο σε κρυμμένα στρώματα που θεωρούνται κανονικοποίηση; Ποια είναι η διαφορά μεταξύ αυτού του γεγονότος και της προσθήκης πρόωρης εγκατάλειψης και εξομάλυνσης παρτίδας;


Απάντηση 1:

Ναι, η προσθήκη τυχαίου θορύβου σε κρυμμένα στρώματα είναι μια τακτοποίηση με τον ίδιο ακριβώς τρόπο όπως η απόρριψη. Η βασική διαίσθηση εδώ είναι ότι εάν η νευρωνική απόκριση σε κάθε στρώμα είναι θορυβώδης τότε η προπόνηση πρέπει να προσαρμόσει τα βάρη σε ξεχωριστές κατηγορίες με απόσταση μεγαλύτερη από τον θόρυβο. Κατά τον χρόνο δοκιμής, όταν ο θόρυβος απουσιάζει, η ταξινόμηση πρέπει να είναι πιο σταθερή. Αυτό είναι πολύ παρόμοιο με το πώς λειτουργεί η ταξινόμηση των μέγιστων περιθωρίων κέρδους και όλοι γνωρίζουμε πόσο επιτυχημένες ήταν οι τεχνικές μέγιστου περιθωρίου (π.χ. Μηχανήματα διάνυσμα υποστήριξης). Πρέπει να είστε προσεκτικοί για να βεβαιωθείτε ότι ο θόρυβος δεν κατακλύζει το σήμα, όμως.

Η απόρριψη θεωρείται μέθοδος τακτοποίησης επειδή εκτελεί μέτρηση κατά μέσο όρο. Δηλαδή, κατά τη διάρκεια της εκπαίδευσης, το μοντέλο σε ένα συγκεκριμένο χρονικό σημείο είναι στην πραγματικότητα μια κατανομή πιθανότητας σε μια τάξη μοντέλων νευρωνικών δικτύων στα οποία τα βάρη είναι σταθερά αλλά μπορεί να λείπει κάποιος από τους νευρώνες του μοντέλου. Η συνολική πιθανότητα κάθε νευρικού δικτύου καθορίζεται από την ατομική πιθανότητα εμφάνισης ή απουσίας ενός συγκεκριμένου νευρώνα. Αυτή είναι η νομιμοποίηση, επειδή υπολογίζει κατά μέσο όρο την προκατάληψη κάθε στιγμιότυπου, εξομαλύνοντας τη λειτουργία κόστους.

Η προσθήκη τυχαίου θορύβου σε κρυφό στρώμα λειτουργεί με τον ίδιο τρόπο, αλλά με διαφορετική κατανομή πιθανότητας. Αντί να έχετε σταθερά βάρη, έχετε μια σταθερή τοπολογία και η κατανομή πιθανότητας επιλέγει τυχαία τα βάρη σύμφωνα με τη διανομή Gaussian με κέντρο τα "αληθινά" βάρη, δηλαδή τα βάρη που αποθηκεύετε στο σκληρό σας δίσκο. Και πάλι, αυτό είναι το μέσο όρο του μοντέλου και θα έπρεπε να επηρεάσει κανονικά, με την παρατήρηση ότι ο θόρυβος (η διακύμανση) δεν θα πρέπει να κατακλύσει το σήμα. Έτσι, για παράδειγμα, αν εφαρμόσετε για πρώτη φορά το BatchNorm, θα έχετε ένα τυπικό τυπικό κανονικό προφίλ εξόδου (μονάδες κεντροθετημένες στο μηδέν με διακύμανση ένα), και στη συνέχεια μπορείτε να εφαρμόσετε θόρυβο με διακύμανση, για παράδειγμα, 0,1. Μπορείτε να παίξετε με τη διακύμανση για να δείτε τι λειτουργεί.

EDIT: Δεδομένου ότι η ερώτηση αναφέρθηκε BatchNorm, ήθελα να επισημάνω ότι το BatchNorm δεν χρησιμοποιείται πραγματικά για την τακτοποίηση. Δηλαδή, το BatchNorm δεν εξομαλύνει το κόστος. Αντίθετα, προστίθεται το BatchNorm προκειμένου να βελτιωθεί η απόδοση του backpropagation. Στην ουσία, διατηρεί την κλίση της πολλαπλασιασμένης πλάτης από το να πάρει πάρα πολύ μεγάλο ή μικρό με την ανατροπή και την επανεμφάνιση. ως τεχνική, έχει βαθύτερες συνδέσεις με μεθόδους βελτιστοποίησης δεύτερης τάξης που προσπαθούν να μοντελοποιήσουν την καμπυλότητα της επιφάνειας κόστους. Όπως ανέφερα παραπάνω, το BatchNorm μπορεί επίσης να χρησιμοποιηθεί για να εγγυηθεί ότι η σχετική κλιμάκωση είναι σωστή αν πρόκειται να προσθέσετε τυχαίο θόρυβο στις νευρικές δραστηριότητες.


Απάντηση 2:

Θα θεωρούσα ότι είναι ένα τέχνασμα βελτιστοποίησης περισσότερο από τη νομιμοποίηση.

Το αποτέλεσμα θα πρέπει να είναι ισοδύναμο με την επίδραση της στοχαστικότητας στην SGD.

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

Η προσθήκη αδύναμου τυχαίου θορύβου στα βάρη θα επιτύχει ακριβώς το ίδιο. [Συμβουλή: Η κλίση της κλίσης προσθέτει και κάτι στα βάρη σε κάθε επανάληψη!]


Απάντηση 3:

ΕΠΕΞΕΡΓΑΣΙΑ:

Προσθέτοντας τυχαίο θόρυβο κατανεμημένο σε Gauss στα δεδομένα εισόδου κάθε στρώματος θα μπορούσε να κάνει το μοντέλο σας πιο ισχυρό στις μικρές αλλαγές στα δεδομένα, επιτρέποντας στο δίκτυό σας να διακρίνει καλύτερα τον θόρυβο από το σήμα. Όπως είπε ο Zeeshan Zia, αυτό θα ήταν ουσιαστικά μια στοχαστική κλίση αξιοπρεπή. Εξακολουθώ να μην θεωρώ αυτή τη νομιμοποίηση. Είναι περισσότερο μια τεχνική για να βοηθήσετε το μοντέλο σας να μάθει πρότυπα για να χωρίσει το θόρυβο από το σήμα.

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

Η εξομάλυνση παρτίδας είναι όπου παίρνετε τις εισόδους σε ένα στρώμα και βεβαιωθείτε ότι όλοι είναι κανονικοποιημένοι μεταξύ 0 και 1. Αυτό βοηθά το δίκτυο να μάθει καλύτερα επειδή διατηρεί την κλίση αξιοπρεπή πιο συνεπή και ομαλή. Με αυτό τον τρόπο αποφεύγετε να πηδάτε τα ελάχιστα επειδή η κλίση σας είναι πολύ μεγάλη.