Έναςautoencoder είναι ένας τύποςτεχνητού νευρωνικού δικτύου που χρησιμοποιείται για την εκμάθηση αποτελεσματικών κωδικοποιήσεων δεδομένων χωρίς ετικέτα (μη εποπτευόμενη μάθηση).[1] Η κωδικοποίηση επικυρώνεται και βελτιώνεται επιχειρώντας να αναδημιουργηθεί η είσοδος από την κωδικοποίηση. Ο autoencoder μαθαίνει μια αναπαράσταση (κωδικοποίηση) για ένα σύνολο δεδομένων, συνήθως για να πετύχουμε μείωση διαστάσεων, εκπαιδεύοντας το δίκτυο να αγνοεί ασήμαντα δεδομένα («θόρυβο»).
Υπάρχουν παραλλαγές για autoencoders, οι οποίες στόχο έχουν να αναγκάσουν προς μάθηση αναπαραστάσεις να προσλάβουν χρήσιμες ιδιότητες.[2] Παραδείγματα είναι οι κανονικοποιημένοι autoencoders, οι οποίοι είναι αποτελεσματικοί στην εκμάθηση αναπαραστάσεων που αφορούν επόμενες εργασίεςταξινόμησης,[3] καιvariational autoencoder, με εφαρμογές ως παραγωγικά μοντέλα .[4] Οι autoencoders εφαρμόζονται σε πολλά προβλήματα, απότην αναγνώριση προσώπου,[5] ανίχνευση χαρακτηριστικών,[6] ανίχνευση ανωμαλιών έως την απόκτηση της σημασίας των λέξεων.[7][8] Οι autoencoders είναι επίσης μοντέλα παραγωγής: μπορούν να δημιουργήσουν τυχαία νέα δεδομένα που είναι παρόμοια με τα δεδομένα εισόδου (δεδομένα εκπαίδευσης).[6]
Ένας autoencoder έχει δύο κύρια μέρη: έναν κωδικοποιητή που αντιστοιχίζει την είσοδο σε μια κωδικοποιημένη μορφή και έναν αποκωδικοποιητή που αντιστοιχίζει την κωδικοποιημένη μορφή σε μια ανακατασκευή της εισόδου.
Ο απλούστερος τρόπος για να εκτελέσουμε την τέλεια εργασία αντιγραφής θα ήταν να αντιγράψουμε το σήμα εισόδου. Αντίθετα, οι autoencoders συνήθως αναγκάζονται να αναδημιουργήσουν την είσοδο κατά προσέγγιση, διατηρώντας μόνο τις πιο σχετικές πτυχές των δεδομένων στο αντίγραφο.
Η ιδέα των autoencoders είναι δημοφιλής εδώ και δεκαετίες. Οι πρώτες εφαρμογές ξεκίνησαν να κάνουν την εμφάνισή τους τη δεκαετία του 1980.[2][9][10] Η πιο παραδοσιακή τους εφαρμογή ήταν η μείωση διαστάσεων ή επιλογή χαρακτηριστικών, αλλά η ιδέα έγινε ευρέως χρησιμοποιούμενη για την εκμάθηση μοντέλων παραγωγής δεδομένων.[11] Μερικά από τα πιο ισχυράAI συστήματα της δεκαετίας του 2010 περιλάμβαναν autoencoders εμφωλευμένα μέσα σε βαθιά νευρωνικά δίκτυα.[12]

Η απλούστερη μορφή ενός autoencoder είναι το πρόσθιας τροφοδότησης-μηαναδρομικό νευρωνικό δίκτυο, το οποίο είναι παρόμοιο με τα μονοστρωματικάperceptrons που συμμετέχουν σεπολυστρωματικά perceptrons (MLP) – χρησιμοποιώντας ένα επίπεδο εισόδου και ένα επίπεδο εξόδου που συνδέονται μεταξύ τους με ένα ή περισσότερα κρυφά επίπεδα. Το επίπεδο εξόδου έχει τον ίδιο αριθμό κόμβων (νευρώνων) με το επίπεδο εισόδου. Σκοπός του είναι να ανακατασκευάσει τις εισόδους του (ελαχιστοποιώντας τη διαφορά μεταξύ της εισόδου και της εξόδου) αντί να προβλέπει μια τιμή στόχο δεδοµένων εισόδου. Άρα, οι autoencoders μαθαίνουν χωρίς επίβλεψη (μη εποπτευόμενη μάθηση).
Ένας autoencoder αποτελείται από δύο μέρη, τον κωδικοποιητή και τον αποκωδικοποιητή, τα οποία μπορούν να οριστούν ως συναρτήσεις και έτσι ώστε:
Στην απλούστερη περίπτωση που μπορούμε να έχουμε, δεδομένου ενός κρυφού επιπέδου, το στάδιο της κωδικοποίησης ενός autoencoder παίρνει την είσοδο και το απεικονίζει σε ένα :
Αυτή η εικόνα αναφέρεται συνήθως ως κωδικοποιημένη μορφή,λανθάνουσα μεταβλητή ή λανθάνουσα αναπαράσταση. Η είναι μιασυνάρτηση ενεργοποίησης στοιχείων, όπως μιασιγμοειδής συνάρτηση ή μιαrectified linear unit . Το είναι ένας πίνακας βαρών και το είναι ένα διάνυσμα μεροληψίας. Τα βάρη και οι μεροληψίες αρχικοποιούνται συνήθως τυχαία και στη συνέχεια ενημερώνονται επαναλαμβανόμενα κατά τη διάρκεια της εκπαίδευσης μέσω τηςοπισθοδιάδοσης . Μετά από αυτή τη διαδικασία, το στάδιο αποκωδικοποίησης του autoencoder, απεικονίζει το στην ανακατασκευή του ίδιου σχήματος με το :
που τα για τον αποκωδικοποιητή μπορεί να μην σχετίζονται με τα αντίστοιχα για τον κωδικοποιητή.
Οι autoencoders εκπαιδεύονται για να ελαχιστοποιούν τα σφάλματα ανακατασκευής (όπως τα τετραγωνικά σφάλματα ), που συχνά αναφέρονται ως " απώλειες " (συνάρτηση κόστους):
που το συνήθως υπολογίζεται ως ο μέσος όρος του συνόλου εκπαίδευσης.
Όπως αναφέρθηκε προηγουμένως, η εκπαίδευση του autoencoder υλοποιείται μέσω της αντίστροφης διάδοσης του σφάλματος, όπως και στα υπόλοιπα νευρωνικά δίκτυα ανατροφοδότησης.
Θα πρέπει ο χώρος χαρακτηριστικών να έχει μικρότερη διάσταση από τον χώρο εισόδου και το διάνυσμα χαρακτηριστικών μπορεί να θεωρηθεί ωςσυμπιεσμένη αναπαράσταση της εισόδου . Αυτή είναι η περίπτωση των ελλιπών autoencoders. Εάν τα κρυφά επίπεδα είναι μεγαλύτερα από (υπερπλήρη) ή ίσα με το επίπεδο εισόδου ή εάν δοθεί αρκετή χωρητικότητα στους κρυφούς κόμβους, ένας autoencoder μπορεί ενδεχομένως να μάθει τη ταυτοτική συνάρτηση και να γίνει άχρηστος. Ωστόσο, πειραματικά αποτελέσματα έδειξαν ότι οι υπερπλήρεις autoencoders ενδέχεται να εξακολουθούν να μαθαίνουν χρήσιμα χαρακτηριστικά .[13] Υπό ιδανικές συνθήκες, η διάσταση της κωδικοποιημένης μορφής και η χωρητικότητα του μοντέλου θα μπορούσαν να ρυθμιστούν με βάση την πολυπλοκότητα της κατανομής δεδομένων που πρόκειται να μοντελοποιηθεί. Ένας τρόπος για να γίνει αυτό είναι να χρησιμοποιήσουμε παραλλαγές του μοντέλου που είναι γνωστές ως Regularized Autoencoders (Κανονικοποιημένοι Autoencoders).[2]
Υπάρχουν διάφορες τεχνικές για να εμποδίσουμε τους autoencoders από το να μάθουν τη ταυτοτική συνάρτηση και να βελτιώσουν την ικανότητά τους να εντοπίζουν σημαντικές πληροφορίες και να μαθαίνουν πλουσιότερες αναπαραστάσεις.

Η εκμάθηση αναπαραστάσεων με τρόπο που ενθαρρύνει την αραιότητα, βελτιώνει την απόδοση στις εργασίες ταξινόμησης.[14] Οι αραιοί autoencoders μπορεί να περιλαμβάνουν περισσότερα (και όχι λιγότερα) κρυφούς κόμβους παρά εισόδους, αλλά μόνο ένας μικρός αριθμός από τους κρυφούς κόμβους επιτρέπεται να είναι ταυτόχρονα ενεργοί (άρα, αραιοί).[12] Αυτός ο περιορισμός αναγκάζει το μοντέλο να ανταποκριθεί στα μοναδικά στατιστικά χαρακτηριστικά των δεδομένων εκπαίδευσης.
Συγκεκριμένα, ένας αραιός autoencoder είναι ένας autoencoder του οποίου το κριτήριο εκπαίδευσης περιλαμβάνει ποινή αραιότητας στο επίπεδο κωδικοποίησης .
Υπενθυμίζοντας ότι, η ποινή ενθαρρύνει το μοντέλο να ενεργοποιήσει (δηλαδή τιμή εξόδου κοντά στο 1) συγκεκριμένες περιοχές του δικτύου με βάση τα δεδομένα εισόδου, ενώ απενεργοποιεί όλους τους άλλους νευρώνες (δηλαδή να έχει τιμή εξόδου κοντά στο 0).[15]
Αυτή η αραιότητα μπορεί να επιτευχθεί διατυπώνοντας τους όρους ποινής με διαφορετικούς τρόπους.
Οι autoencoders αποθορυβοποίησης (DAE) προσπαθούν να επιτύχουν μιακαλή αναπαράσταση αλλάζοντας τοκριτήριο ανακατασκευής .[2]
Πράγματι, οι DAE λαμβάνουν μια μερικώς κατεστραμμένη είσοδο και εκπαιδεύονται στο να ανακτούν την αρχικήμη παραμορφωμένη είσοδο . Στην πράξη, ο στόχος της απαλλαγής από θόρυβο των autoencoders είναι ο καθαρισμός της κατεστραμμένης εισόδου ή ηαποθορυβοποίηση. Δύο υποθέσεις είναι εγγενείς σε αυτή την προσέγγιση:
Με άλλα λόγια, η αποθορυβοποίηση υποστηρίζεται ως κριτήριο εκπαίδευσης για την εκμάθηση εξαγωγής χρήσιμων χαρακτηριστικών που θα αποτελέσουν καλύτερες αναπαραστάσεις υψηλότερου επιπέδου της εισόδου.[3]
Η εκπαιδευτική διαδικασία ενός DAE λειτουργεί ως εξής:
Οι παράμετροι του μοντέλου και εκπαιδεύονται να ελαχιστοποιούν το μέσο σφάλμα ανακατασκευής στα δεδομένα εκπαίδευσης, ελαχιστοποιώντας τη διαφορά μεταξύ του από την αρχική, μη αλλοιωμένη είσοδο.[3] Σημειώστε ότι κάθε φορά που ένα τυχαίο παράδειγμα παρουσιάζεται στο μοντέλο, μια νέα παραποιημένη έκδοσή του δημιουργείται στοχαστικά με βάση το .
Η προαναφερθείσα διαδικασία εκπαίδευσης θα μπορούσε να εφαρμοστεί με κάθε είδους διαδικασία φθοράς. Μερικά παραδείγματα μπορεί να είναι οπροσθετικός Gaussian λευκός θόρυβος, ο θόρυβος κάλυψης (ένα κλάσμα της εισόδου που επιλέγεται τυχαία για κάθε παράδειγμα αναγκάζεται να γίνει 0) ή ο θόρυβος αλατοπίπερου (ένα κλάσμα της εισόδου που επιλέγεται τυχαία για κάθε παράδειγμα έχει οριστεί σε ελάχιστη ή μέγιστη τιμή του με ομοιόμορφη πιθανότητα).[3]
Η καταστροφή της εισόδου πραγματοποιείται μόνο κατά τη διάρκεια της εκπαίδευσης. Μετά την εκπαίδευση, δεν προστίθεται φθορά.

Οι autoencoders εκπαιδεύονται συχνά με έναν κωδικοποιητή μονής στρώσης (ένα κρυφό επίπεδο κωδικοποίησης) και έναν αποκωδικοποιητή μονής στρώσης (ένα κρυφό επίπεδο αποκωδικοποίησης), αλλά η χρήση κωδικοποιητών και αποκωδικοποιητών πολλών επιπέδων προσφέρει πολλά πλεονεκτήματα.[2]
OGeoffrey Hinton ανέπτυξε την τεχνική τουδικτύου βαθιάς πεποίθησης για την εκπαίδευση πολυεπίπεδων βαθιών autoencoders. Η μέθοδός του, περιλαμβάνει τη μεταχείριση κάθε γειτονικού συνόλου δύο στρωμάτων ωςπεριορισμένης μηχανής Boltzmann, έτσι ώστε η προεκπαίδευση να προσεγγίζει μια καλή λύση, και στη συνέχεια να χρησιμοποιεί την οπίσθια διάδοση (backpropagation) για να τελειοποιήσει τα αποτελέσματα.[20]
Οι δύο κύριες εφαρμογές των autoencoders είναι η μείωση διαστάσεων και η ανάκτηση πληροφοριών[2], αλλά σύγχρονες παραλλαγές έχουν εφαρμοστεί σε άλλες εργασίες.
Ημείωση διαστάσεων ήταν μια από τις πρώτες εφαρμογές τηςβαθιάς μάθησης .[2]
Για τη μελέτη του ο Hinton το 2006,[20] προεκπαίδευσε έναν autoencoder πολλαπλών επιπέδων με μια στοίβα απόRBMs και στη συνέχεια χρησιμοποίησε τα βάρη τους για να προετοιμάσει έναν βαθύ autoencoder με σταδιακά μικρότερα κρυφά στρώματα μέχρι να φτάσει σε ένα σημείο συμφόρησης 30 νευρώνων. Οι προκύπτουσες 30 διαστάσεις της κωδικοποιημένης μορφής απέδωσαν μικρότερο σφάλμα ανακατασκευής σε σύγκριση με τα πρώτα 30 συστατικά που προκύπτουν από μια ανάλυση κύριων συνιστωσών (PCA) και έμαθαν μια αναπαράσταση που ήταν ποιοτικά πιο εύκολη στην ερμηνεία, διαχωρίζοντας σαφώς τα συμπλέγματα δεδομένων.[2][20]
Η αναπαράσταση διαστάσεων μπορεί να βελτιώσει την απόδοση σε εργασίες όπως η ταξινόμηση.[2] Πράγματι, το χαρακτηριστικό της μείωσης των διαστάσεων είναι η τοποθέτηση σημασιολογικά σχετικών παραδειγμάτων το ένα κοντά στο άλλο.[21]
Εάν χρησιμοποιούνται γραμμικές συναρτήσεις ενεργοποίησης ή μόνο ένα κρυφό στρώμα σιγμοειδούς συνάρτησης, τότε η βέλτιστη λύση σε έναν autoencoder σχετίζεται στενά με τηνανάλυση κύριων συνιστωσών (PCA).[22][23] Τα βάρη ενός autoencoder με ένα μόνο κρυφό στρώμα μεγέθους (που είναι μικρότερο από το μέγεθος της εισόδου) εκτείνεται στον ίδιο διανυσματικό υποχώρο με αυτόν που εκτείνεται από τις πρώτες κύριες συνιστώσες, και η έξοδος του autoencoder είναι μια ορθογώνια προβολή σε αυτόν τον υποχώρο. Τα βάρη του autoencoder δεν είναι ίσα με των κύριων συνιστωσών και γενικά δεν είναι ορθογώνια, ωστόσο οι κύριες σινιστώσες μπορούν να ανακτηθούν από αυτά χρησιμοποιώντας τηναποσύνθεση μοναδικής τιμής .
Ωστόσο, η δυναμική των autoencoders έγκειται στη μη γραμμικότητά τους, επιτρέποντας στο μοντέλο να μάθει πιο ισχυρές γενικεύσεις σε σύγκριση με την PCA και να ανακατασκευάσει την είσοδο με σημαντικά μικρότερη απώλεια πληροφοριών.[20]
Ηανάκτηση πληροφοριών επωφελείται ιδιαίτερα από τημείωση των διαστάσεων, καθώς η αναζήτηση μπορεί να γίνει πιο αποτελεσματική σε ορισμένα είδη χώρων χαμηλών διαστάσεων. Οι autoencoders εφαρμόστηκαν πράγματι στο σημασιολογικό κατακερματισμό, που προτάθηκε από τους Salakhutdinov και Hinton το 2007.[21] Εκπαιδεύοντας τοναλγόριθμο για την παραγωγή μιας δυαδικής κωδικοποιημένης μορφής χαμηλής διάστασης, όλες οι εγγραφές της βάσης δεδομένων θα μπορούσαν να αποθηκευτούν σε ένανπίνακα κατακερματισμού αντιστοιχίζοντας διανύσματα δυαδικού κώδικα σε εγγραφές. Αυτός ο πίνακας θα υποστηρίξει στη συνέχεια την ανάκτηση πληροφοριών επιστρέφοντας όλες τις εγγραφές με τον ίδιο δυαδικό κώδικα με το ερώτημα ή ελαφρώς λιγότερο παρόμοιες εγγραφές αναστρέφοντας μερικά bit από την κωδικοποίηση του ερωτήματος.
Μια άλλη εφαρμογή για autoencoders είναι ηανίχνευση ανωμαλιών .[24][25][26][27][28] Μαθαίνοντας να αναπαράγει τα πιο σημαντικά χαρακτηριστικά στα δεδομένα εκπαίδευσης κάτω από ορισμένους από τους περιορισμούς που περιγράφηκαν προηγουμένως, το μοντέλο ενθαρρύνεται να μάθει να αναπαράγει με ακρίβεια τα χαρακτηριστικά που παρατηρούνται πιο συχνά. Όταν αντιμετωπίζει ανωμαλίες, το μοντέλο θα πρέπει να επιδεινώσει την απόδοση ανακατασκευής του. Στις περισσότερες περιπτώσεις, μόνο δεδομένα με κανονικές αναπαραστάσεις χρησιμοποιούνται για την εκπαίδευση του autoencoder. Σε άλλες, η συχνότητα των ανωμαλιών είναι μικρή σε σύγκριση με το σύνολο παρατήρησης, έτσι ώστε η συνεισφορά του στην εκμάθηση αναπαράστασης θα μπορούσε να αγνοηθεί. Μετά την εκπαίδευση, ο autoencoder θα ανακατασκευάσει με ακρίβεια τα "κανονικά" δεδομένα, ενώ δεν θα το κάνει με δεδομένα τα οποία περιέχουν στοιχεία ανωμαλίας.[26] Το σφάλμα ανακατασκευής (το σφάλμα μεταξύ των αρχικών δεδομένων και της ανακατασκευής χαμηλών διαστάσεων) χρησιμοποιείται ως βαθμολογία ανωμαλίας για τον εντοπισμό ανωμαλιών.[26]
Ωστόσο, η πρόσφατη βιβλιογραφία έχει δείξει ότι ορισμένα μοντέλα autoencoding, μπορούν, αντιδιαισθητικά, να είναι πολύ καλά στην ανακατασκευή ανώμαλων παραδειγμάτων και κατά συνέπεια να μην μπορούν να εκτελέσουν αξιόπιστη ανίχνευση ανωμαλιών.[29]
Το 2019 μόρια που δημιουργήθηκαν με μεταβλητούς autoencoders επικυρώθηκαν πειραματικά σε ποντίκια.[30]
Πρόσφατα, ένας στοιβαγμένου πλαίσιο autoencoder παρήγαγε πολλά υποσχόμενα αποτελέσματα στην πρόβλεψη της δημοτικότητας των αναρτήσεων σταμέσα κοινωνικής δικτύωσης,[31] που είναι χρήσιμο για στρατηγικές διαδικτυακής διαφήμισης.
Autoencoders έχουν εφαρμοστεί στημηχανική μετάφραση, η οποία συνήθως αναφέρεται ως νευρωνική μηχανική μετάφραση (NMT).[32][33] Σε αντίθεση με τους παραδοσιακούς autoencoders, η έξοδος δεν ταιριάζει με την είσοδο - είναι σε άλλη γλώσσα. Στο μοντέλο NMT, τα κείμενα αντιμετωπίζονται ως ακολουθίες που πρέπει να κωδικοποιηθούν στη διαδικασία εκμάθησης, ενώ στην πλευρά του αποκωδικοποιητή δημιουργούνται ακολουθίες στη γλώσσα(ες) στόχο. Οι autoencoders ειδικά για τη γλώσσα, ενσωματώνουν περαιτέρωγλωσσικά χαρακτηριστικά στη διαδικασία εκμάθησης, όπως τα κινεζικά χαρακτηριστικά αποσύνθεσης.[34]