Training and performance improvement techniques for artificial neural networks
Authors: Μανιατόπουλος Ανδρέας-Αντώνιος 
Published: March 2023

Τα τεχνητά νευρωνικά δίκτυα (ΤΝΔ) έχουν δείξει ότι μπορούν να παρέχουν βιώσιμες λύσεις σε μια ποικιλία προβλημάτων. Ωστόσο, η πολυπλοκότητά τους και η έλλειψη αποτελεσματικής ερμηνείας των αρχιτεκτονικών ΤΝΔ (που συνήθως θεωρούνται τεχνικές μαύρου κουτιού), έχει αρνητικές επιπτώσεις στη βελτιστοποίηση κάθε αρχιτεκτονικής ΤΝΔ. Σε αυτήν τη διατριβή, επιχειρούμε να προτείνουμε τρόπους αντιμετώπισης αυτού του προβλήματος, διερευνώντας μια λύση από τρεις διακριτές προοπτικές, που μπορούν ωστόσο να λειτουργήσουν συνεργατικά για να επιτύχουμε ένα καλύτερο αποτέλεσμα. Τα ΤΝΔ μπορούν να προσφέρουν βιώσιμες λύσεις σε μια ποικιλία προβλημάτων, για αυτό κι έχουν μια τεράστια απήχηση την τελευταία δεκαετία. Ωστόσο, η μεγάλη διαστατικότητά τους έχει ως συνέπεια την αδυναμία επιτυχούς επεξήγησης του τρόπου και δομών λειτουργίας τους και κατά συνέπεια δεν είναι καθόλου εύκολη η επιλογή της πιο αποτελεσματικής αρχιτεκτονικής ΤΝΔ. Με άλλα λόγια, δε μπορεί κανείς απλώς να χρησιμοποιήσει μια γενική τοπολογία και να έχει την καλύτερη απόδοση σε κάθε πεδίο εφαρμογής, δεδομένου ότι η τοπολογία δικτύου είναι συνήθως προσαρμοσμένη στο συγκεκριμένο πρόβλημα/σετ δεδομένων. Σε αυτήν τη διατριβή, εισάγουμε μια νέα μέθοδο υπολογιστικής αξιολόγησης της πολυπλοκότητας του συνόλου δεδομένων. Το Νευρωνικό Δίκτυο αντιμετωπίζεται ως κανάλι πληροφοριών και επομένως η θεωρία πληροφοριών χρησιμοποιείται για την εκτίμηση του βέλτιστου μεγέθους κάθε επιπέδου, καθώς και του αριθμού των επιπέδων, μειώνοντας τη μνήμη και το υπολογιστικό φορτίο, ενώ επιτυγχάνεται η ίδια, αν όχι μεγαλύτερη ακρίβεια. Πειράματα που χρησιμοποιούν κοινά σύνολα δεδομένων επιβεβαιώνουν τα θεωρητικά ευρήματα και ο προτεινόμενος αλγόριθμος φαίνεται να βελτιώνει την απόδοση της τελειοποιημένης αρχιτεκτονικής. Μία από τις μεγαλύτερες προκλήσεις στα Βαθιά Νευρωνικά Δίκτυα (ΒΝΔ), που αντιμετωπίζουν σήμερα οι ερευνητές, είναι το περιορισμένο εύρος ζώνης μνήμης και η χωρητικότητα των συσκευών DRAM, που πρέπει να χρησιμοποιηθούν από τα σημερινά συστήματα για την αποθήκευση των τεράστιων ποσοτήτων βαρών και ενεργοποιήσεων σε ΒΝΔ. Οι αρχιτεκτονικές υπολογιστών, που βασίζονται στην αρχιτεκτονική Von Neuman, αναπτύσσονται με τσιπ επεξεργαστών, που είναι εξειδικευμένα για σειριακή επεξεργασία και DRAM βελτιστοποιημένες για υψηλή πυκνότητα μνήμης τσιπ. Η διεπαφή μεταξύ αυτών των δύο εισάγει περιορισμούς καθυστέρησης και εύρους ζώνης, ενώ παίζει μεγάλο ρόλο στην κατανάλωση ενέργειας του συστήματος. Η δημιουργία μνήμης σε συμβατικούς επεξεργαστές είναι ένας τρόπος αντιμετώπισης του προβλήματος της συμφόρησης της μνήμης, ανοίγοντας τεράστιο εύρος ζώνης μνήμης με πολύ χαμηλότερη κατανάλωση ενέργειας, με τη χρήση της μνήμης υψηλού εύρους ζώνης (HBM) στο τσιπ. Ωστόσο, μια τέτοια μνήμη είναι ακριβή και δε συγκρίνεται άμεσα σε μέγεθος με τη συμβατική μνήμη, που χρησιμοποιείται σε επεξεργαστές CPU και GPU που εκπαιδεύουν και αναπτύσσουν ΒΝΔ. Τα νευρωνικά δίκτυα απαιτούν μνήμη για την αποθήκευση δεδομένων, παραμέτρων βάρους και ενεργοποιήσεων. Η χρήση της μνήμης είναι υψηλή, ειδικά κατά τη διάρκεια της προπόνησης, καθώς οι ενεργοποιήσεις από ένα πέρασμα προς τα εμπρός πρέπει να διατηρηθούν μέχρι να μπορέσουν να χρησιμοποιηθούν για τον υπολογισμό των κλίσεων σφαλμάτων στο πέρασμα προς τα πίσω. ΄Ενα παράδειγμα αυτού είναι το διάσημο δίκτυο ResNet-50, το οποίο έχει περίπου 26 εκατομμύρια παραμέτρους βάρους και υπολογίζει περίπου 16 εκατομμύρια ενεργοποιήσεις στο μπροστινό πέρασμα. Με τη χρήση της συμβατικής κινητής υποδιαστολής 32-bit, θα απαιτηθούν σχεδόν 170 MB. Οι πρόσφατες αρχιτεκτονικές χρησιμοποιούν υπολογισμούς χαμηλότερης ακρίβειας, που μειώνουν στο μισό τις απαιτήσεις μνήμης, με μικρό αντίκτυπο στην ακρίβεια. Μια μεγαλύτερη πρόκληση μνήμης προκύπτει από την εξάρτηση των GPU στα δεδομένα που παρουσιάζονται ως πυκνά διανύσματα, έτσι ώστε να μπορούν να γεμίζουν μηχανές υπολογιστών πολλαπλών δεδομένων με μία απλή εντολή (SIMD), τις οποίες χρησιμοποιούν για να επιτύχουν υψηλή υπολογιστική πυκνότητα, για να επωφεληθούν από την απόδοση που παρουσιάζουν . Στις σύγχρονες GPU οι διανυσματικές διαδρομές έχουν συνήθως πλάτος 1024 bit, επομένως οι GPU που χρησιμοποιούν δεδομένα κινητής υποδιαστολής 32 bit παραλληλίζουν συνήθως τα δεδομένα εκπαίδευσης σε μια μίνι παρτίδα 32 δειγμάτων, για να δημιουργήσουν διανύσματα δεδομένων πλάτους 1024 bit. Αυτή η mini-batch προσέγγιση για τη σύνθεση διανυσματικού παραλληλισμού πολλαπλασιάζει τον αριθμό των ενεργοποιήσεων με έναν παράγοντα 32, αυξάνοντας την απαίτηση τοπικής αποθήκευσης του προαναφερθέντος δικτύου σε πάνω από 2 GB. Πολλές εργασίες εκπαίδευσης ΒΝΔ εκτελούνται σε GPU, λόγω των δυνατοτήτων παραλληλισμού τους. Ωστόσο, οι GPU δεν μπορούν να εκτελέσουν αποτελεσματικά απευθείας τις μικρές συνελίξεις, που χρησιμοποιούνται σε βαθιά νευρωνικά δίκτυα. ΄Ετσι, ένας μετασχηματισμός που ονομάζεται «χαμήλωμα» χρησιμοποιείται για τη μετατροπή αυτών των συνελίξεων σε πολλαπλασιασμούς μήτρας-μήτρας (GEMM), οι οποίοι μπορούν να εκτελεστούν αποτελεσματικά από τέτοιες μηχανές. Αυτό, με τη σειρά του, έχει ως αποτέλεσμα τον πολλαπλασιασμό των απαιτήσεων μνήμης, καθώς η αποθήκευση ενεργοποίησης ή η αποθήκευση βάρους πολλαπλασιάζεται με τον αριθμό των στοιχείων στη μάσκα συνέλιξης, Περίληψη και Συμβολή στην επιστήμη ix συνήθως με συντελεστή 9 ή 25 (για μάσκες συνέλιξης 3x3 ή 5x5) . Προσθέτοντας όλα τα παραπάνω μαζί, η απαίτηση μνήμης σε μια τυπική GPU υψηλής απόδοσης με μίνι παρτίδα 32 είναι πάνω από 7,5 GB. Επιπλέον, παρόλο που οι μεγάλες μίνι παρτίδες βελτιώνουν την υπολογιστική απόδοση παρέχοντας παραλληλισμό, η έρευνα δείχνει ότι οι μεγάλες μίνι παρτίδες οδηγούν σε δίκτυα με φτωχότερη ικανότητα γενίκευσης και επομένως χρειάζονται περισσότερο χρόνο για την εκπαίδευση. ΄Ολα τα παραπάνω καταδεικνύουν ξεκάθαρα την επείγουσα ανάγκη μείωσης των απαιτήσεων μνήμης στις σύγχρονες αρχιτεκτονικές DNN. ΄Ενας τρόπος για να αντιμετωπιστεί αυτό είναι να λάβετε ένα χτύπημα στον υπολογισμό. Μια απλή τεχνική είναι να απορρίψουμε τιμές που είναι σχετικά φθηνές στον υπολογισμό, όπως οι συναρτήσεις ενεργοποίησης, και να τις υπολογίσουμε ξανά όταν είναι απαραίτητο. Σημαντικές μειώσεις μπορούν να επιτευχθούν με την απόρριψη των διατηρούμενων ενεργοποιήσεων σε σύνολα διαδοχικών επιπέδων ενός δικτύου και τον επανυπολογισμό τους όταν απαιτούνται κατά τη διάρκεια του backward pass, από το πλησιέστερο σύνολο των εναπομενόντων ενεργοποιήσεων, το οποίο έχει αποδειχθεί από την ομάδα MXNet ότι παρέχει ένα μείωση μνήμης συντελεστή τεσσάρων για ένα δίκτυο ResNet-50. Ωστόσο, αυτός δεν φαίνεται να είναι ο βέλτιστος τρόπος εξοικονόμησης μνήμης. Μια παρόμοια προσέγγιση επαναχρησιμοποίησης μνήμης έχει αναπτυχθεί από ερευνητές στο Google DeepMind με Αναδρομικά Νευρωνικά Δίκτυα (ΑNΔ). Τα ΑΝΔ είναι ένας ειδικός τύπος ΤΝΔ, που επιτρέπει σε κύκλους στη δομή τους να κωδικοποιούν τη συμπεριφορά σε ακολουθίες εισόδων. Για τα ΑΝΔ, ο επανα-υπολογισμός έχει αποδειχθεί ότι μειώνει τη μνήμη κατά 20 για ακολουθίες μήκους 1000 με μόνο 30% επιβάρυνση απόδοσης. Μια τρίτη σημαντική προσέγγιση ανακαλύφθηκε πρόσφατα από την ομάδα Baidu Deep Speech. Μέσω διαφόρων τεχνικών εξοικονόμησης μνήμης κατάφεραν να επιτύχουν μείωση της μνήμης κατά 16 φορές, επιτρέποντάς τους να εκπαιδεύσουν δίκτυα με 100 επίπεδα αντί για τα 9 επίπεδα που υπήρχαν προηγουμένως χρησιμοποιώντας την ίδια μνήμη. Οι παραπάνω τρεις προσεγγίσεις σηματοδοτούν μια μεγάλη βελτίωση στο χειρισμό της μνήμης, ωστόσο, η μεγαλύτερη μνήμη είναι οι a-priori μη βελτιστοποιημένες τοπολογίες νευρωνικών δικτύων που χρησιμοποιούνται. ΄Ενας άλλος τρόπος για να λυθεί αυτό το γενικό πρόβλημα υπολογιστικών πόρων είναι να επιλέξετε την καλύτερη προσαρμοσμένη τοπολογία για κάθε πρόβλημα. Ωστόσο, στη βαθιά μάθηση οι τοπολογίες νευρωνικών δικτύων που χρησιμοποιούνται προσδιορίζονται στοχαστικά/εμπειρικά. Κατά συνέπεια, υπάρχει πάντα περιθώριο βελτίωσης, είτε ως προς την υπολογιστική πολυπλοκότητα, είτε ως προς την αποτελεσματικότητα/ακρίβεια του μοντέλου. Η πρώτη πτυχή που διερευνήσαμε είναι η χρήση ενός συνδυασμού μικρότερων σε σειρά συνδεδεμένων νευρωνικών δικτύων που επιτυγχάνουν την ίδια αν όχι καλύτερη απόδοση μεγαλύτερων και πιο πολύπλοκων νευρωνικών δικτύων. Ο χειρισμός των δεδομένων βασίζεται στην αξιολόγηση μιας πιθανολογικής συνάρτησης, που προσπαθεί να αναγνωρίσει ποια από τα άγνωστα δεδομένα ταξινομούνται σωστά και ποια πρέπει να επαναταξινομηθούν από την αρχή. Στη βιβλιογραφία αναφέρεται ότι τα σφάλματα ταξινόμησης συμβαίνουν στις περιοχές της παραμέτρου x χώρου, όπου η μεγαλύτερη από όλες τις οπίσθιες πιθανότητες του δείγματος x που ανήκει στην k-η τάξη Ck είναι σχετικά χαμηλή. Ο κύριος λόγος για αυτό το φαινόμενο είναι ότι υπάρχει ισχυρή επικάλυψη μεταξύ διαφορετικών τάξεων. Σε πολλές εφαρμογές, ίσως είναι καλύτερο να μην ληφθεί απόφαση ταξινόμησης σε τέτοιες περιπτώσεις. Αυτή η τεχνική ονομάζεται επιλογή απόρριψης, όπου τα δείγματα που απορρίφθηκαν ταξινομούνται από έναν άνθρωπο ειδικό. Στο κεφάλαιο 3, προτείνουμε μια άμεση επέκταση της ιδέας-επιλογής απόρριψης, όπου δεν θα χρειαστεί ανθρώπινη παρέμβαση για την ταξινόμηση των δεδομένων που απορρίφθηκαν. Αντίθετα, ένα άλλο ΤΝΔ, που εκπαιδεύεται χρησιμοποιώντας τα επιτυχώς εκπαιδευμένα δείγματα του πρώτου ΤΝΔ, θα αναλάβει το ρόλο του ειδικού στον άνθρωπο και θα επαναταξινομήσει τα δεδομένα που απορρίφθηκαν. Πιο συγκεκριμένα, προτείνουμε τη βελτίωση της απόδοσης των παραδοσιακών αρχιτεκτονικών ΤΝΔ, προσθέτοντας έναν όρο πιθανότητας που αξιολογεί τα αποτελέσματα της ταξινόμησης, διαιρώντας το σύνολο δεδομένων σε πιθανώς σωστά και λανθασμένα δεδομένα. Αυτό μπορεί να εκληφθεί και ως ένας τρόπος αυτό-επιβλεπόμενης μάθησης (self-supervised learning). Τα «σωστά» ταξινομημένα δεδομένα προσδιορίζονται από τη συνάρτηση πιθανότητας και χρησιμοποιώντας τις αντίστοιχες προβλεπόμενες ετικέτες, επιλέγονται να υπάρχουν μαζί με το αρχικό σύνολο δεδομένων για την εκτέλεση ενός δεύτερου κύκλου εκπαίδευσης ενός άλλου ΤΝΔ. Το αποτέλεσμα είναι ότι εάν προκύψουν «λανθασμένα» αποτελέσματα, αυτά αναταξινομούνται από το δεύτερο ΤΝΔ παρέχοντας έτσι δυναμική ανατροφοδότηση στο προτεινόμενο σύστημα. Μια άλλη πτυχή που έδωσε περιθώρια βελτίωσης είναι η εύρεση αυτόματα και κατά τη διάρκεια της εκπαίδευσης της βέλτιστης τοπολογίας ενός νευρωνικού δικτύου με βάση το δεδομένο σύνολο δεδομένων, παρέχοντας καλύτερη χρήση των δεδομένων πόρων, ελαχιστοποιώντας την υπολογιστική πολυπλοκότητα της εκπαιδευτικής διαδικασίας. Στο κεφάλαιο 4 προτείνεται μια νέα προσέγγιση δυναμικής βαθμονόμησης του πλάτους κάθε στρώματος, κάθε αυθαίρετου αριθμού εποχών. Αυτό επιτυγχάνεται, χρησιμοποιώντας τη Θεωρία χωρητικότητας καναλιού του Shannon και λαμβάνοντας υπόψη τον πίνακα βάρους του NN ως πίνακα μετάβασης πληροφοριών. Εκτελείται αρχικά μια βασική προσέγγιση πολυπλοκότητας του συνόλου δεδομένων χρησιμοποιώντας το Θεώρημα πολυπλοκότητας Kolmogorov (προσέγγιση εντροπίας). Για να αξιολογήσουμε τη χωρητικότητα κάθε επιπέδου, χρησιμοποιούμε έναν νέο βελτιστοποιημένο αλγόριθμο Blahut-Arimoto, καθώς ο αρχικός είναι εκθετικά υπολογιστικά ακριβός για μια μικρή αύξηση στην ακρίβεια. Για το σύνολο Περίληψη και Συμβολή στην επιστήμη xi δεδομένων χρησιμοποιούμε μια προσέγγιση εντροπίας του Θεωρήματος πολυπλοκότητας Kolmogorov, καθώς το πρωτότυπο είναι πρακτικά μη-υπολογίσιμο, το οποίο συγκλίνει στην εντροπία του συνόλου δεδομένων. Πειράματα έδειξαν ότι η παραπάνω μέθοδος μπορεί να χρησιμοποιηθεί αποτελεσματικά, είτε για συνελικτικά επίπεδα, είτε για πλήρως συνδεδεμένα επίπεδα, αντιμετωπίζοντας κάθε στρώμα ως κανάλι μετασχηματισμού/συμπίεσης πληροφοριών, ενώ έχει αρκετή χωρητικότητα για να κωδικοποιήσει την πολυπλοκότητα της βασικής πληροφορίας του μοτίβου εισόδου. Τέλος, στο κεφαλαιο 5 διερευνήθηκε μια νέα συνάρτηση ενεργοποίησης με παραμέτρους με δυνατότητα εκμάθησης, βάσει της οικογένειας συναρτήσεων ReLU, η οποία πέτυχε καλύτερη απόδοση εκπαίδευσης στα περισσότερα από τα δοκιμασμένα σύνολα δεδομένων και τις τοπολογίες νευρωνικών δικτύων. Η εξίσωση που περιγράφει την Leaky Learnable ReLU (LeLeLU) είναι: y = a max(x, 0) + 0.1a min(0, x) (1) όπου το α είναι μια εκμάθηση παράμετρος, που ελέγχει την κλίση της συνάρτησης ενεργοποίησης για αρνητικές εισόδους, αλλά αυτό που είναι διαφορετικό εδώ είναι ότι ελέγχει ταυτόχρονα την κλίση της συνάρτησης ενεργοποίησης για όλες τις θετικές εισόδους. Υπάρχει ένας σταθερός πολλαπλασιαστής 0.1 που μειώνει την κλίση για τις αρνητικές τιμές εισόδου με παρόμοιο τρόπο με την Leaky ReLU, ο οποίο φαίνεται να λειτουργεί αποτελεσματικά στα πειράματά μας. Το πλαίσιο αυτής της διατριβής οργανώνεται ως εξής: Το Κεφάλαιο 1 παρέχει μια λεπτομερή επισκόπηση των αλγορίθμων και των μαθηματικών εννοιών, που χρησιμοποιούνται στο πλαίσιο της παρούσας διατριβής. Παρέχεται ένας σύντομος ορισμός των συναρτήσεων ενεργοποίησης, των συναρτήσεων εκπαίδευσης και των τοπολογιών νευρωνικών δικτύων. Στο Κεφάλαιο 2 παρουσιάζονται τα τρέχοντα meta στα νευρωνικά δίκτυα από την άποψη των υπολογιστικών απαιτήσεων και των απαιτήσεων μνήμης και της γενικής απόδοσης. Σε αυτούς τους λόγους θα σταθούμε αργότερα σε αυτή τη διατριβή, προσπαθώντας να λύσουμε κάθε πτυχή ανεξάρτητα καθώς και να συνδυάσουμε όλες τις προτεινόμενες λύσεις μας σε ένα πακέτο. Το Κεφάλαιο 3 εξετάζει την ιδέα της χρήσης σε σειρά μικρών νευρωνικών δικτύων που συνδέονται μέσω ειδικών πιθανοτικών συναρτήσεων με χειρισμό δεδομένων, ειδικότερα ταξινόμηση αρχιτεκτονικών νευρωνικών δικτύων. Το Κεφάλαιο 4 παρουσιάζει ένα νέο σύστημα που προσπαθεί να βελτιστοποιήσει την τοπολογία των δικτύων με βάση τη θεωρία πληροφοριών βλέποντας κάθε επίπεδο ως κανάλι πληροφοριών, προσπαθώντας να ταιριάξει την πολυπλοκότητα του συνόλου δεδομένων χρησιμοποιώντας τη Θεωρία πολυπλοκότητας του Kolmogorov. Η μέθοδος είναι εφαρμόσιμη σε μια ποικιλία δικτύων και συνόλων xii Περίληψη και Συμβολή στην επιστήμη δεδομένων, παρέχοντας σχεδόν βέλτιστα αποτελέσματα. Το Κεφάλαιο 5 παρουσιάζει μια νέα συνάρτηση ενεργοποίησης, που χρησιμοποιεί τις καλύτερες πτυχές της οικογένειας ReLU. Αυτή η συνάρτηση ενεργοποίησης παρέχει τα καλύτερα επίπεδα ακρίβειας, στα περισσότερα από τα δοκιμασμένα σύνολα δεδομένων, ενώ έχει ελάχιστο υπολογιστικό κόστος σε σύγκριση με το κανονικό ευρέως χρησιμοποιούμενο ReLU. Στο Κεφάλαιο 6 παρουσιάζονται τα συμπεράσματά μας και τα μελλοντικά σχέδια στα θέματα που αναπτύχθηκαν στο κύριο μέρος της διατριβής.