Ένας **autoencoder** είναι ένας τύπος τεχνητού νευρωνικού δικτύου που χρησιμοποιείται για την εκμάθηση αποτελεσματικών κωδικοποιήσεων δεδομένων χωρίς ετικέτα (μη εποπτευόμενη μάθηση).  Η κωδικοποίηση επικυρώνεται και βελτιώνεται επιχειρώντας να αναδημιουργηθεί η είσοδος από την κωδικοποίηση. Ο autoencoder μαθαίνει μια αναπαράσταση (κωδικοποίηση) για ένα σύνολο δεδομένων, συνήθως για να πετύχουμε μείωση διαστάσεων, εκπαιδεύοντας το δίκτυο να αγνοεί ασήμαντα δεδομένα («θόρυβο»).

Υπάρχουν παραλλαγές για autoencoders, οι οποίες στόχο έχουν να αναγκάσουν προς μάθηση αναπαραστάσεις να προσλάβουν χρήσιμες ιδιότητες.  Παραδείγματα είναι οι κανονικοποιημένοι autoencoders, οι οποίοι είναι αποτελεσματικοί στην εκμάθηση αναπαραστάσεων που αφορούν επόμενες εργασίες ταξινόμησης,  και *variational* autoencoder, με εφαρμογές ως παραγωγικά μοντέλα.  Οι autoencoders εφαρμόζονται σε πολλά προβλήματα, από την αναγνώριση προσώπου,  ανίχνευση χαρακτηριστικών,  ανίχνευση ανωμαλιών έως την απόκτηση της σημασίας των λέξεων.   Οι autoencoders είναι επίσης μοντέλα παραγωγής: μπορούν να δημιουργήσουν τυχαία νέα δεδομένα που είναι παρόμοια με τα δεδομένα εισόδου (δεδομένα εκπαίδευσης).

Βασική αρχιτεκτονική
--------------------

Ένας autoencoder έχει δύο κύρια μέρη: έναν κωδικοποιητή που αντιστοιχίζει την είσοδο σε μια κωδικοποιημένη μορφή και έναν αποκωδικοποιητή που αντιστοιχίζει την κωδικοποιημένη μορφή σε μια ανακατασκευή της εισόδου.

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

Η ιδέα των autoencoders είναι δημοφιλής εδώ και δεκαετίες. Οι πρώτες εφαρμογές ξεκίνησαν να κάνουν την εμφάνισή τους τη δεκαετία του 1980.    Η πιο παραδοσιακή τους εφαρμογή ήταν η μείωση διαστάσεων ή επιλογή χαρακτηριστικών, αλλά η ιδέα έγινε ευρέως χρησιμοποιούμενη για την εκμάθηση μοντέλων παραγωγής δεδομένων.  Μερικά από τα πιο ισχυρά AI συστήματα της δεκαετίας του 2010 περιλάμβαναν autoencoders εμφωλευμένα μέσα σε βαθιά νευρωνικά δίκτυα. 

 Σχήμα ενός βασικού Autoencoder
Η απλούστερη μορφή ενός autoencoder είναι το πρόσθιας τροφοδότησης-μη αναδρομικό νευρωνικό δίκτυο, το οποίο είναι παρόμοιο με τα μονοστρωματικά perceptrons που συμμετέχουν σε πολυστρωματικά perceptrons (MLP) – χρησιμοποιώντας ένα επίπεδο εισόδου και ένα επίπεδο εξόδου που συνδέονται μεταξύ τους με ένα ή περισσότερα κρυφά επίπεδα. Το επίπεδο εξόδου έχει τον ίδιο αριθμό κόμβων (νευρώνων) με το επίπεδο εισόδου. Σκοπός του είναι να ανακατασκευάσει τις εισόδους του (ελαχιστοποιώντας τη διαφορά μεταξύ της εισόδου και της εξόδου) αντί να προβλέπει μια τιμή στόχο Y δεδοµένων εισόδου X. Άρα, οι autoencoders μαθαίνουν χωρίς επίβλεψη (μη εποπτευόμενη μάθηση).

Ένας autoencoder αποτελείται από δύο μέρη, τον κωδικοποιητή και τον αποκωδικοποιητή, τα οποία μπορούν να οριστούν ως συναρτήσεις \phi  και {\displaystyle \psi ,} έτσι ώστε:

{\displaystyle \phi :{\mathcal {X}}\rightarrow {\mathcal {F}}}
{\displaystyle \psi :{\mathcal {F}}\rightarrow {\mathcal {X}}}
{\displaystyle \phi ,\psi ={\underset {\phi ,\psi }{\operatorname {arg\,min} }}\,\|{\mathcal {X}}-(\psi \circ \phi ){\mathcal {X}}\|^{2}}
Στην απλούστερη περίπτωση που μπορούμε να έχουμε, δεδομένου ενός κρυφού επιπέδου, το στάδιο της κωδικοποίησης ενός autoencoder παίρνει την είσοδο {\displaystyle \mathbf {x} \in \mathbb {R} ^{d}={\mathcal {X}}} και το απεικονίζει σε ένα {\displaystyle \mathbf {h} \in \mathbb {R} ^{p}={\mathcal {F}}} :

{\displaystyle \mathbf {h} =\sigma (\mathbf {Wx} +\mathbf {b} )}
Αυτή η εικόνα {\displaystyle \mathbf {h} } αναφέρεται συνήθως ως κωδικοποιημένη μορφή, λανθάνουσα μεταβλητή ή λανθάνουσα αναπαράσταση. Η \sigma  είναι μια συνάρτηση ενεργοποίησης στοιχείων, όπως μια σιγμοειδής συνάρτηση ή μια rectified linear unit. Το {\displaystyle \mathbf {W} } είναι ένας πίνακας βαρών και το {\displaystyle \mathbf {b} } είναι ένα διάνυσμα μεροληψίας. Τα βάρη και οι μεροληψίες αρχικοποιούνται συνήθως τυχαία και στη συνέχεια ενημερώνονται επαναλαμβανόμενα κατά τη διάρκεια της εκπαίδευσης μέσω της οπισθοδιάδοσης. Μετά από αυτή τη διαδικασία, το στάδιο αποκωδικοποίησης του autoencoder, απεικονίζει το {\displaystyle \mathbf {h} } στην ανακατασκευή {\displaystyle \mathbf {x'} } του ίδιου σχήματος με το {\displaystyle \mathbf {x} } :

{\displaystyle \mathbf {x'} =\sigma '(\mathbf {W'h} +\mathbf {b'} )}
που τα {\displaystyle \mathbf {\sigma '} ,\mathbf {W'} ,{\text{ and }}\mathbf {b'} } για τον αποκωδικοποιητή μπορεί να μην σχετίζονται με τα αντίστοιχα {\displaystyle \mathbf {\sigma } ,\mathbf {W} ,{\text{ and }}\mathbf {b} } για τον κωδικοποιητή.

Οι autoencoders εκπαιδεύονται για να ελαχιστοποιούν τα σφάλματα ανακατασκευής (όπως τα τετραγωνικά σφάλματα ), που συχνά αναφέρονται ως "απώλειες "(συνάρτηση κόστους):

{\displaystyle {\mathcal {L}}(\mathbf {x} ,\mathbf {x'} )=\|\mathbf {x} -\mathbf {x'} \|^{2}=\|\mathbf {x} -\sigma '(\mathbf {W'} (\sigma (\mathbf {Wx} +\mathbf {b} ))+\mathbf {b'} )\|^{2}}
που το {\displaystyle \mathbf {x} } συνήθως υπολογίζεται ως ο μέσος όρος του συνόλου εκπαίδευσης.

Όπως αναφέρθηκε προηγουμένως, η εκπαίδευση του autoencoder υλοποιείται μέσω της αντίστροφης διάδοσης του σφάλματος, όπως και στα υπόλοιπα νευρωνικά δίκτυα ανατροφοδότησης.

Θα πρέπει ο χώρος χαρακτηριστικών {\mathcal {F}} να έχει μικρότερη διάσταση από τον χώρο εισόδου {\displaystyle {\mathcal {X}}} και το διάνυσμα χαρακτηριστικών {\displaystyle \phi (x)} μπορεί να θεωρηθεί ως συμπιεσμένη αναπαράσταση της εισόδου x. Αυτή είναι η περίπτωση των ελλιπών autoencoders. Εάν τα κρυφά επίπεδα είναι μεγαλύτερα από (*υπερπλήρη*) ή ίσα με το επίπεδο εισόδου ή εάν δοθεί αρκετή χωρητικότητα στους κρυφούς κόμβους, ένας autoencoder μπορεί ενδεχομένως να μάθει τη ταυτοτική συνάρτηση και να γίνει άχρηστος. Ωστόσο, πειραματικά αποτελέσματα έδειξαν ότι οι υπερπλήρεις autoencoders ενδέχεται να εξακολουθούν να μαθαίνουν χρήσιμα χαρακτηριστικά.  Υπό ιδανικές συνθήκες, η διάσταση της κωδικοποιημένης μορφής και η χωρητικότητα του μοντέλου θα μπορούσαν να ρυθμιστούν με βάση την πολυπλοκότητα της κατανομής δεδομένων που πρόκειται να μοντελοποιηθεί. Ένας τρόπος για να γίνει αυτό είναι να χρησιμοποιήσουμε παραλλαγές του μοντέλου που είναι γνωστές ως Regularized Autoencoders (Κανονικοποιημένοι Autoencoders).

Παραλλαγές
----------

### Κανονικοποιημένοι Autoencoders

Υπάρχουν διάφορες τεχνικές για να εμποδίσουμε τους autoencoders από το να μάθουν τη ταυτοτική συνάρτηση και να βελτιώσουν την ικανότητά τους να εντοπίζουν σημαντικές πληροφορίες και να μαθαίνουν πλουσιότερες αναπαραστάσεις.

#### Αραιός (sparse) autoencoder(SAE)

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

Συγκεκριμένα, ένας αραιός autoencoder είναι ένας autoencoder του οποίου το κριτήριο εκπαίδευσης περιλαμβάνει ποινή αραιότητας {\displaystyle \Omega ({\boldsymbol {h}})} στο επίπεδο κωδικοποίησης {\displaystyle {\boldsymbol {h}}} .

{\displaystyle {\mathcal {L}}(\mathbf {x} ,\mathbf {x'} )+\Omega ({\boldsymbol {h}})}
Υπενθυμίζοντας ότι {\displaystyle {\boldsymbol {h}}=f({\boldsymbol {W}}{\boldsymbol {x}}+{\boldsymbol {b}})}, η ποινή ενθαρρύνει το μοντέλο να ενεργοποιήσει (δηλαδή τιμή εξόδου κοντά στο 1) συγκεκριμένες περιοχές του δικτύου με βάση τα δεδομένα εισόδου, ενώ απενεργοποιεί όλους τους άλλους νευρώνες (δηλαδή να έχει τιμή εξόδου κοντά στο 0). 

Αυτή η αραιότητα μπορεί να επιτευχθεί διατυπώνοντας τους όρους ποινής με διαφορετικούς τρόπους.

* Ένας τρόπος είναι η εκμετάλλευση της απόκλισης Kullback-Leibler (KL).     Έστω

{\displaystyle {\hat {\rho \_{j}}}={\frac {1}{m}}\sum \_{i=1}^{m}[h\_{j}(x\_{i})]}
είναι η μέση ενεργοποίηση του κρυφού κόμβου {\displaystyle j} (κατά μέσο όρο πάνω από το πλήθος των παραδειγμάτων εκπαίδευσης). Η σημειογραφία {\displaystyle h\_{j}(x\_{i})} προσδιορίζει την τιμή εισόδου που ενεργοποίησε την ενεργοποίηση. Για να ενθαρρύνουμε τους περισσότερους νευρώνες να είναι ανενεργοί, το {\displaystyle {\hat {\rho \_{j}}}} πρέπει να είναι κοντά στο 0. Επομένως, αυτή η μέθοδος επιβάλλει τον περιορισμό {\displaystyle {\hat {\rho \_{j}}}=\rho } που {\displaystyle \rho } είναι η παράμετρος αραιότητας, που είναι μια τιμή κοντά στο μηδέν. Ο όρος της ποινής {\displaystyle \Omega ({\boldsymbol {h}})} παίρνει μια μορφή που τιμωρεί το {\displaystyle {\hat {\rho \_{j}}}} για σημαντική απόκλιση από \rho , αξιοποιώντας την απόκλιση KL:
{\displaystyle \sum \_{j=1}^{s}KL(\rho ||{\hat {\rho \_{j}}})=\sum \_{j=1}^{s}\left[\rho \log {\frac {\rho }{\hat {\rho \_{j}}}}+(1-\rho )\log {\frac {1-\rho }{1-{\hat {\rho \_{j}}}}}\right]}
όπου το {\displaystyle j} αθροίζεται πάνω από τους s κρυφούς κόμβους στο κρυφό στρώμα και {\displaystyle KL(\rho ||{\hat {\rho \_{j}}})} είναι η KL-απόκλιση μεταξύ μιας τυχαίας μεταβλητής Bernoulli με μέσο όρο \rho  και μια τυχαία μεταβλητή Bernoulli με μέσο όρο {\displaystyle {\hat {\rho \_{j}}}}. 
* Ένας άλλος τρόπος για να επιτευχθεί η αραιότητα είναι η εφαρμογή όρων L1 ή L2 κανονικοποίησης στην ενεργοποίηση, κλιμακούμενων κατά μια συγκεκριμένη παράμετρο \lambda .  Για παράδειγμα, στην περίπτωση του L1 η συνάρτηση απώλειας γίνεται

{\displaystyle {\mathcal {L}}(\mathbf {x} ,\mathbf {x'} )+\lambda \sum \_{j}|h\_{i}|}
* Μια άλλη προτεινόμενη στρατηγική για την επιβολή αραιότητας είναι ο μηδενισμός όλων εκτός από τις ισχυρότερες ενεργοποιήσεις κρυφών μονάδων ( *k-sparse autoencoder* ).  Ο k-sparse autoencoder βασίζεται σε έναν γραμμικό autoencoder (δηλαδή με συνάρτηση γραμμικής ενεργοποίησης) και σε δεμένα βάρη. Ο προσδιορισμός των ισχυρότερων ενεργοποιήσεων μπορεί να επιτευχθεί ταξινομώντας τις δραστηριότητες και διατηρώντας μόνο τις πρώτες τιμές *k* ή χρησιμοποιώντας κρυφές μονάδες ReLU με κατώφλια που προσαρμόζονται προσαρμοστικά μέχρι να εντοπιστούν οι k μεγαλύτερες δραστηριότητες. Αυτή η επιλογή λειτουργεί όπως οι όροι κανονικοποίησης που αναφέρθηκαν προηγουμένως, καθώς εμποδίζει το μοντέλο να ανακατασκευάσει την είσοδο χρησιμοποιώντας πάρα πολλούς νευρώνες.

#### Autoencoder αποθορυβοποίησης (DAE)

Οι autoencoders αποθορυβοποίησης (DAE) προσπαθούν να επιτύχουν μια *καλή* αναπαράσταση αλλάζοντας το *κριτήριο ανακατασκευής*. 

Πράγματι, οι DAE λαμβάνουν μια μερικώς κατεστραμμένη είσοδο και εκπαιδεύονται στο να ανακτούν την αρχική *μη παραμορφωμένη είσοδο*. Στην πράξη, ο στόχος της απαλλαγής από θόρυβο των autoencoders είναι ο καθαρισμός της κατεστραμμένης εισόδου ή η *αποθορυβοποίηση.* Δύο υποθέσεις είναι εγγενείς σε αυτή την προσέγγιση:

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

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

Η εκπαιδευτική διαδικασία ενός DAE λειτουργεί ως εξής:

* Η αρχική εισαγωγή x αλλοιώνεται σε {\displaystyle {\boldsymbol {\tilde {x}}}} μέσω στοχαστικής απεικόνισης {\displaystyle {\boldsymbol {\tilde {x}}}\thicksim q\_{D}({\boldsymbol {\tilde {x}}}|{\boldsymbol {x}})} .
* Η αλλοιωμένη είσοδος {\displaystyle {\boldsymbol {\tilde {x}}}} στη συνέχεια αντιστοιχίζεται σε μια κρυφή αναπαράσταση με την ίδια διαδικασία του τυπικού autoencoder, {\displaystyle {\boldsymbol {h}}=f\_{\theta }({\boldsymbol {\tilde {x}}})=s({\boldsymbol {W}}{\boldsymbol {\tilde {x}}}+{\boldsymbol {b}})} .
* Από την κρυφή αναπαράσταση το μοντέλο ανακατασκευάζει {\displaystyle {\boldsymbol {z}}=g\_{\theta '}({\boldsymbol {h}})} .

Οι παράμετροι του μοντέλου \theta  και {\displaystyle \theta '} εκπαιδεύονται να ελαχιστοποιούν το μέσο σφάλμα ανακατασκευής στα δεδομένα εκπαίδευσης, ελαχιστοποιώντας τη διαφορά μεταξύ του {\displaystyle {\boldsymbol {z}}} από την αρχική, μη αλλοιωμένη είσοδο {\displaystyle {\boldsymbol {x}}}.  Σημειώστε ότι κάθε φορά που ένα τυχαίο παράδειγμα {\displaystyle {\boldsymbol {x}}} παρουσιάζεται στο μοντέλο, μια νέα παραποιημένη έκδοσή του δημιουργείται στοχαστικά με βάση το {\displaystyle q\_{D}({\boldsymbol {\tilde {x}}}|{\boldsymbol {x}})} .

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

Η καταστροφή της εισόδου πραγματοποιείται μόνο κατά τη διάρκεια της εκπαίδευσης. Μετά την εκπαίδευση, δεν προστίθεται φθορά.

Πλεονεκτήματα του βάθους
------------------------

 Σχηματική δομή ενός autoencoder με 3 πλήρως συνδεδεμένα κρυφά επίπεδα. Η κωδικοποιημένη μορφή (z ή h για αναφορά στο κείμενο) είναι το πιο εσωτερικό επίπεδο.
Οι autoencoders εκπαιδεύονται συχνά με έναν κωδικοποιητή μονής στρώσης (ένα κρυφό επίπεδο κωδικοποίησης) και έναν αποκωδικοποιητή μονής στρώσης (ένα κρυφό επίπεδο αποκωδικοποίησης), αλλά η χρήση κωδικοποιητών και αποκωδικοποιητών πολλών επιπέδων προσφέρει πολλά πλεονεκτήματα. 

* Το βάθος μπορεί να μειώσει εκθετικά το υπολογιστικό κόστος της αναπαράστασης ορισμένων συναρτήσεων.
* Το βάθος μπορεί να μειώσει εκθετικά τον όγκο των δεδομένων εκπαίδευσης που απαιτούνται για την εκμάθηση ορισμένων λειτουργιών.
* Πειραματικά, οι βαθύς autoencoders αποδίδουν καλύτερα στη συμπίεση σε σύγκριση με τους ρηχούς ή γραμμικούς autoencoders.

### Εκπαίδευση

O Geoffrey Hinton ανέπτυξε την τεχνική του δικτύου βαθιάς πεποίθησης για την εκπαίδευση πολυεπίπεδων βαθιών autoencoders. Η μέθοδός του, περιλαμβάνει τη μεταχείριση κάθε γειτονικού συνόλου δύο στρωμάτων ως περιορισμένης μηχανής Boltzmann, έτσι ώστε η προεκπαίδευση να προσεγγίζει μια καλή λύση, και στη συνέχεια να χρησιμοποιεί την οπίσθια διάδοση (backpropagation) για να τελειοποιήσει τα αποτελέσματα.

Εφαρμογές
---------

Οι δύο κύριες εφαρμογές των autoencoders είναι η μείωση διαστάσεων και η ανάκτηση πληροφοριών , αλλά σύγχρονες παραλλαγές έχουν εφαρμοστεί σε άλλες εργασίες.

### Μείωση διαστάσεων

Η μείωση διαστάσεων ήταν μια από τις πρώτες εφαρμογές της βαθιάς μάθησης. 

Για τη μελέτη του ο Hinton το 2006,  προεκπαίδευσε έναν autoencoder πολλαπλών επιπέδων με μια στοίβα από RBMs και στη συνέχεια χρησιμοποίησε τα βάρη τους για να προετοιμάσει έναν βαθύ autoencoder με σταδιακά μικρότερα κρυφά στρώματα μέχρι να φτάσει σε ένα σημείο συμφόρησης 30 νευρώνων. Οι προκύπτουσες 30 διαστάσεις της κωδικοποιημένης μορφής απέδωσαν μικρότερο σφάλμα ανακατασκευής σε σύγκριση με τα πρώτα 30 συστατικά που προκύπτουν από μια ανάλυση κύριων συνιστωσών (PCA) και έμαθαν μια αναπαράσταση που ήταν ποιοτικά πιο εύκολη στην ερμηνεία, διαχωρίζοντας σαφώς τα συμπλέγματα δεδομένων.  

Η αναπαράσταση διαστάσεων μπορεί να βελτιώσει την απόδοση σε εργασίες όπως η ταξινόμηση.  Πράγματι, το χαρακτηριστικό της μείωσης των διαστάσεων είναι η τοποθέτηση σημασιολογικά σχετικών παραδειγμάτων το ένα κοντά στο άλλο. 

#### Ανάλυση κύριων συνιστωσών

Εάν χρησιμοποιούνται γραμμικές συναρτήσεις ενεργοποίησης ή μόνο ένα κρυφό στρώμα σιγμοειδούς συνάρτησης, τότε η βέλτιστη λύση σε έναν autoencoder σχετίζεται στενά με την ανάλυση κύριων συνιστωσών (PCA).   Τα βάρη ενός autoencoder με ένα μόνο κρυφό στρώμα μεγέθους p (που p είναι μικρότερο από το μέγεθος της εισόδου) εκτείνεται στον ίδιο διανυσματικό υποχώρο με αυτόν που εκτείνεται από τις πρώτες p κύριες συνιστώσες, και η έξοδος του autoencoder είναι μια ορθογώνια προβολή σε αυτόν τον υποχώρο. Τα βάρη του autoencoder δεν είναι ίσα με των κύριων συνιστωσών και γενικά δεν είναι ορθογώνια, ωστόσο οι κύριες σινιστώσες μπορούν να ανακτηθούν από αυτά χρησιμοποιώντας την αποσύνθεση μοναδικής τιμής. 

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

### Ανάκτηση πληροφορίας

Η ανάκτηση πληροφοριών επωφελείται ιδιαίτερα από τη μείωση των διαστάσεων, καθώς η αναζήτηση μπορεί να γίνει πιο αποτελεσματική σε ορισμένα είδη χώρων χαμηλών διαστάσεων. Οι autoencoders εφαρμόστηκαν πράγματι στο σημασιολογικό κατακερματισμό, που προτάθηκε από τους Salakhutdinov και Hinton το 2007.  Εκπαιδεύοντας τον αλγόριθμο για την παραγωγή μιας δυαδικής κωδικοποιημένης μορφής χαμηλής διάστασης, όλες οι εγγραφές της βάσης δεδομένων θα μπορούσαν να αποθηκευτούν σε έναν πίνακα κατακερματισμού αντιστοιχίζοντας διανύσματα δυαδικού κώδικα σε εγγραφές. Αυτός ο πίνακας θα υποστηρίξει στη συνέχεια την ανάκτηση πληροφοριών επιστρέφοντας όλες τις εγγραφές με τον ίδιο δυαδικό κώδικα με το ερώτημα ή ελαφρώς λιγότερο παρόμοιες εγγραφές αναστρέφοντας μερικά bit από την κωδικοποίηση του ερωτήματος.

### Ανίχνευση ανωμαλιών

Μια άλλη εφαρμογή για autoencoders είναι η ανίχνευση ανωμαλιών.      Μαθαίνοντας να αναπαράγει τα πιο σημαντικά χαρακτηριστικά στα δεδομένα εκπαίδευσης κάτω από ορισμένους από τους περιορισμούς που περιγράφηκαν προηγουμένως, το μοντέλο ενθαρρύνεται να μάθει να αναπαράγει με ακρίβεια τα χαρακτηριστικά που παρατηρούνται πιο συχνά. Όταν αντιμετωπίζει ανωμαλίες, το μοντέλο θα πρέπει να επιδεινώσει την απόδοση ανακατασκευής του. Στις περισσότερες περιπτώσεις, μόνο δεδομένα με κανονικές αναπαραστάσεις χρησιμοποιούνται για την εκπαίδευση του autoencoder. Σε άλλες, η συχνότητα των ανωμαλιών είναι μικρή σε σύγκριση με το σύνολο παρατήρησης, έτσι ώστε η συνεισφορά του στην εκμάθηση αναπαράστασης θα μπορούσε να αγνοηθεί. Μετά την εκπαίδευση, ο autoencoder θα ανακατασκευάσει με ακρίβεια τα "κανονικά" δεδομένα, ενώ δεν θα το κάνει με δεδομένα τα οποία περιέχουν στοιχεία ανωμαλίας.  Το σφάλμα ανακατασκευής (το σφάλμα μεταξύ των αρχικών δεδομένων και της ανακατασκευής χαμηλών διαστάσεων) χρησιμοποιείται ως βαθμολογία ανωμαλίας για τον εντοπισμό ανωμαλιών. 

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

### Ανακάλυψη φαρμάκων

Το 2019 μόρια που δημιουργήθηκαν με μεταβλητούς autoencoders επικυρώθηκαν πειραματικά σε ποντίκια. 

### Πρόβλεψη δημοτικότητας

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

### Μηχανική μετάφραση

Autoencoders έχουν εφαρμοστεί στη μηχανική μετάφραση, η οποία συνήθως αναφέρεται ως νευρωνική μηχανική μετάφραση (NMT).   Σε αντίθεση με τους παραδοσιακούς autoencoders, η έξοδος δεν ταιριάζει με την είσοδο - είναι σε άλλη γλώσσα. Στο μοντέλο NMT, τα κείμενα αντιμετωπίζονται ως ακολουθίες που πρέπει να κωδικοποιηθούν στη διαδικασία εκμάθησης, ενώ στην πλευρά του αποκωδικοποιητή δημιουργούνται ακολουθίες στη γλώσσα(ες) στόχο. Οι autoencoders ειδικά για τη γλώσσα, ενσωματώνουν περαιτέρω γλωσσικά χαρακτηριστικά στη διαδικασία εκμάθησης, όπως τα κινεζικά χαρακτηριστικά αποσύνθεσης.

Παραπομπές
----------

1. ↑  Kramer, Mark A. (1991). «Nonlinear principal component analysis using autoassociative neural networks». *AIChE Journal* **37** (2): 233–243. doi:10.1002/aic.690370209. .
2. 1 2 3 4 5 6 7 8 9 10 11  Goodfellow, Ian· Bengio, Yoshua (2016). *Deep Learning*. MIT Press. ISBN 978-0262035613.
3. 1 2 3 4 5 6  Vincent, Pascal; Larochelle, Hugo (2010). «Stacked Denoising Autoencoders: Learning Useful Representations in a Deep Network with a Local Denoising Criterion». *Journal of Machine Learning Research* **11**: 3371–3408.
4. ↑  Welling, Max; Kingma, Diederik P. (2019). «An Introduction to Variational Autoencoders». *Foundations and Trends in Machine Learning* **12** (4): 307–392. doi:10.1561/2200000056. Bibcode: 2019arXiv190602691K.
5. ↑  Hinton GE, Krizhevsky A, Wang SD. Transforming auto-encoders. In International Conference on Artificial Neural Networks 2011 Jun 14 (pp. 44-51). Springer, Berlin, Heidelberg.
6. 1 2  Géron, Aurélien (2019). *Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow*. Canada: O’Reilly Media, Inc. σελίδες 739–740.
7. ↑  Liou, Cheng-Yuan; Huang, Jau-Chi; Yang, Wen-Chie (2008). «Modeling word perception using the Elman network». *Neurocomputing* **71** (16–18): 3150. doi:10.1016/j.neucom.2008.04.030.
8. ↑  Liou, Cheng-Yuan; Cheng, Wei-Chen; Liou, Jiun-Wei; Liou, Daw-Ran (2014). «Autoencoder for words». *Neurocomputing* **139**: 84–96. doi:10.1016/j.neucom.2013.09.055.
9. ↑  Schmidhuber, Jürgen (January 2015). «Deep learning in neural networks: An overview». *Neural Networks* **61**: 85–117. doi:10.1016/j.neunet.2014.09.003. PMID 25462637.
10. ↑  Hinton, G. E. & Zemel, R. S. (1994). Autoencoders, minimum description length and Helmholtz free energy. In *Advances in neural information processing systems 6* (pp. 3-10).
11. ↑  Generating Faces with Torch, Boesen A. Larsen L. and Sonderby S.K. 2015 torch.ch/blog/2015/11/13/gan.html
12. 1 2  Domingos, Pedro (2015). «4». *The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World*. Basic Books. ISBN 978-046506192-1.
13. ↑  Bengio, Y. (2009). «Learning Deep Architectures for AI». *Foundations and Trends in Machine Learning* **2** (8): 1795–7. doi:10.1561/2200000006. PMID 23946944. .
14. 1 2  Frey, Brendan; Makhzani, Alireza (2013-12-19). *k-Sparse Autoencoders*. Bibcode: 2013arXiv1312.5663M.
15. 1 2 3  Ng, A. (2011). Sparse autoencoder. *CS294A Lecture notes*, *72*(2011), 1-19.
16. ↑  Nair, Vinod; Hinton, Geoffrey E. (2009). «3D Object Recognition with Deep Belief Nets». *Proceedings of the 22Nd International Conference on Neural Information Processing Systems*. NIPS'09 (USA: Curran Associates Inc.): 1339–1347. ISBN 9781615679119. .
17. ↑  Zeng, Nianyin; Zhang, Hong; Song, Baoye; Liu, Weibo; Li, Yurong; Dobaie, Abdullah M. (2018-01-17). «Facial expression recognition via learning deep sparse autoencoders». *Neurocomputing* **273**: 643–649. doi:10.1016/j.neucom.2017.08.043. ISSN 0925-2312.
18. ↑  Arpit, Devansh (2015). «Why Regularized Auto-Encoders learn Sparse Representation?».  **MISSING LINK.** .
19. 1 2  Makhzani, Alireza; Frey, Brendan (2013). «K-Sparse Autoencoders». arXiv:1312.5663 [cs.LG].
20. 1 2 3 4 5  Hinton, G. E.; Salakhutdinov, R.R. (28 July 2006). «Reducing the Dimensionality of Data with Neural Networks». *Science* **313** (5786): 504–507. doi:10.1126/science.1127647. PMID 16873662. Bibcode: 2006Sci...313..504H. .
21. 1 2  Salakhutdinov, Ruslan; Hinton, Geoffrey (2009-07-01). «Semantic hashing». *International Journal of Approximate Reasoning*. Special Section on Graphical Models and Information Retrieval **50** (7): 969–978. doi:10.1016/j.ijar.2008.11.006. ISSN 0888-613X.
22. ↑  Bourlard, H.; Kamp, Y. (1988). «Auto-association by multilayer perceptrons and singular value decomposition». *Biological Cybernetics* **59** (4–5): 291–294. doi:10.1007/BF00332918. PMID 3196773. .
23. ↑  Chicco, Davide· Sadowski, Peter (2014). «Deep autoencoder neural networks for gene ontology annotation predictions». *Proceedings of the 5th ACM Conference on Bioinformatics, Computational Biology, and Health Informatics - BCB '14*. σελ. 533. ISBN 9781450328944.
24. ↑   Morales-Forero, A. & Bassetto, S. (2019, December). Case Study: A Semi-Supervised Methodology for Anomaly Detection and Diagnosis. In *2019 IEEE International Conference on Industrial Engineering and Engineering Management (IEEM)* (p. 4) (pp. 1031-1037). IEEE.
25. ↑  Sakurada, M. & Yairi, T. (2014, December). Anomaly detection using autoencoders with nonlinear dimensionality reduction. In *Proceedings of the MLSDA 2014 2nd Workshop on Machine Learning for Sensory Data Analysis* (p. 4). ACM.
26. 1 2 3  An, J. & Cho, S. (2015). Variational autoencoder based anomaly detection using reconstruction probability. *Special Lecture on IE*, *2*, 1-18.
27. ↑  Zhou, C. & Paffenroth, R. C. (2017, August). Anomaly detection with robust deep autoencoders. In *Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining* (pp. 665-674). ACM.
28. ↑  Ribeiro, Manassés; Lazzaretti, André Eugênio; Lopes, Heitor Silvério (2018). «A study of deep convolutional auto-encoders for anomaly detection in videos». *Pattern Recognition Letters* **105**: 13–22. doi:10.1016/j.patrec.2017.07.016. Bibcode: 2018PaReL.105...13R.
29. ↑  Xiao, Zhisheng; Yan, Qing; Amit, Yali (2020). «Likelihood Regret: An Out-of-Distribution Detection Score For Variational Auto-encoder» (στα αγγλικά). *Advances in Neural Information Processing Systems* **33**. .
30. ↑  Zhavoronkov, Alex (2019). «Deep learning enables rapid identification of potent DDR1 kinase inhibitors». *Nature Biotechnology* **37** (9): 1038–1040. doi:10.1038/s41587-019-0224-x. PMID 31477924.
31. ↑  De, Shaunak· Maity, Abhishek (2017). «Predicting the popularity of instagram posts for a lifestyle magazine using deep learning». *2017 2nd IEEE International Conference on Communication Systems, Computing and IT Applications (CSCITA)*. σελίδες 174–177. ISBN 978-1-5090-4381-1.
32. ↑  Cho, Kyunghyun; Bart van Merrienboer; Bahdanau, Dzmitry; Bengio, Yoshua (2014). «On the Properties of Neural Machine Translation: Encoder-Decoder Approaches». arXiv:1409.1259 [cs.CL].
33. ↑  Sutskever, Ilya (2014). «Sequence to Sequence Learning with Neural Networks». arXiv:1409.3215 [cs.CL].
34. ↑  Han, Lifeng (2018). «Incorporating Chinese Radicals into Neural Machine Translation: Deeper Than Character Level». arXiv:1805.01565 [cs.CL].