Encoder–decoder architecture — Αρχιτεκτονική encoder–decoder
Μοντέλα κωδικοποιητή-αποκωδικοποιητή (αγγλ. Encoder-Decoder Models) — είναι μια κατηγορία αρχιτεκτονικών νευρωνικών δικτύων, σχεδιασμένων για την επίλυση προβλημάτων μετατροπής ακολουθίας σε ακολουθία (sequence-to-sequence, seq2seq). Αυτή η αρχιτεκτονική αποτελείται από δύο βασικά συστατικά:
- Κωδικοποιητής (encoder): Επεξεργάζεται την ακολουθία εισόδου και την συμπιέζει σε μια συμπαγή αριθμητική αναπαράσταση (διάνυσμα πλαισίου ή ακολουθία κρυφών καταστάσεων).
- Αποκωδικοποιητής (decoder): Λαμβάνει αυτή την αναπαράσταση και δημιουργεί βάσει αυτής την ακολουθία εξόδου.
Αυτή η αρχιτεκτονική αποτελεί τη βάση για πολλές εργασίες επεξεργασίας φυσικής γλώσσας (NLP) και υπολογιστικής όρασης, όπως η μηχανική μετάφραση, η περίληψη κειμένου και οι λεζάντες εικόνων.
Έννοια
Η βασική ιδέα της αρχιτεκτονικής κωδικοποιητή-αποκωδικοποιητή έγκειται στον διαχωρισμό των εργασιών κατανόησης και δημιουργίας. Ο κωδικοποιητής είναι υπεύθυνος για την κατανόηση της ακολουθίας εισόδου, εξάγοντας από αυτήν όλες τις απαραίτητες σημασιολογικές πληροφορίες. Ο αποκωδικοποιητής είναι υπεύθυνος για τη δημιουργία μιας νέας ακολουθίας, χρησιμοποιώντας τις πληροφορίες που παρέχει ο κωδικοποιητής.
Αυτό επιτρέπει στο μοντέλο να εργάζεται με ακολουθίες διαφορετικού μήκους στην είσοδο και στην έξοδο, κάτι που ήταν δύσκολο για παλαιότερες αρχιτεκτονικές.
Εξέλιξη της αρχιτεκτονικής
Πρώιμα μοντέλα βασισμένα σε RNN/LSTM
Αρχικά, η αρχιτεκτονική κωδικοποιητή-αποκωδικοποιητή υλοποιήθηκε με τη χρήση αναδρομικών νευρωνικών δικτύων (RNN) ή της βελτιωμένης παραλλαγής τους LSTM.
- Κωδικοποιητής: Ο RNN-κωδικοποιητής επεξεργαζόταν την ακολουθία εισόδου token ανά token και στην έξοδο παρήγαγε ένα διάνυσμα πλαισίου — την κρυφή κατάσταση μετά την επεξεργασία του τελευταίου token, το οποίο έπρεπε να περιέχει πληροφορίες για ολόκληρη την ακολουθία.
- Αποκωδικοποιητής: Ο RNN-αποκωδικοποιητής αρχικοποιούνταν με αυτό το διάνυσμα πλαισίου και δημιουργούσε αυτοπαλινδρομικά την ακολουθία εξόδου.
Το κύριο μειονέκτημα αυτής της προσέγγισης ήταν το πρόβλημα του «στενού λαιμού»: όλες οι πληροφορίες από την ακολουθία εισόδου έπρεπε να συμπιεστούν σε ένα διάνυσμα σταθερού μήκους, γεγονός που οδηγούσε σε απώλεια πληροφοριών, ιδιαίτερα σε μακριές ακολουθίες.
Εισαγωγή του μηχανισμού προσοχής
Η ανατροπή συνέβη με την εισαγωγή του μηχανισμού προσοχής (attention mechanism) (Bahdanau et al., 2014).
- Αρχή λειτουργίας: Αντί να βασίζεται σε ένα μόνο διάνυσμα πλαισίου, ο αποκωδικοποιητής σε κάθε βήμα δημιουργίας «δίνει προσοχή» σε όλες τις κρυφές καταστάσεις του κωδικοποιητή. Υπολογίζει βάρη προσοχής που δείχνουν ποια μέρη της ακολουθίας εισόδου είναι πιο σχετικά για τη δημιουργία του τρέχοντος token εξόδου.
- Πλεονεκτήματα: Αυτό έλυσε το πρόβλημα του «στενού λαιμού» και επέτρεψε στο μοντέλο να εργάζεται αποτελεσματικά με μακριές ακολουθίες, βελτιώνοντας σημαντικά την ποιότητα, ιδιαίτερα στη μηχανική μετάφραση.
Αρχιτεκτονική Transformer
Το 2017, στο άρθρο «Attention Is All You Need» παρουσιάστηκε η αρχιτεκτονική Transformer, η οποία εγκατέλειψε πλήρως την αναδρομικότητα υπέρ του μηχανισμού προσοχής.
- Κωδικοποιητής Transformer: Αποτελείται από στοίβα επιπέδων, καθένα από τα οποία χρησιμοποιεί αυτο-προσοχή (self-attention) για τη δημιουργία πλαισιωμένων αναπαραστάσεων για κάθε token εισόδου.
- Αποκωδικοποιητής Transformer: Αποτελείται από στοίβα επιπέδων, καθένα από τα οποία διαθέτει δύο τύπους μηχανισμών προσοχής:
- Μεριμνημένη αυτο-προσοχή (Masked Self-Attention): Για την επεξεργασία του ήδη παραχθέντος τμήματος της ακολουθίας εξόδου.
- Σταυρωτή προσοχή (Cross-Attention): Για την «παροχή προσοχής» στις αναπαραστάσεις εξόδου του κωδικοποιητή.
Αυτή η αρχιτεκτονική έγινε το πρότυπο για εργασίες seq2seq χάρη στην υψηλή απόδοσή της και στη δυνατότητα παραλληλοποίησης των υπολογισμών.
Εφαρμογές
Η αρχιτεκτονική κωδικοποιητή-αποκωδικοποιητή αποτελεί το πρότυπο για ένα ευρύ φάσμα εργασιών:
- Μηχανική μετάφραση: Μετατροπή μιας πρότασης από μια γλώσσα σε άλλη.
- Αυτόματη περίληψη κειμένου: Δημιουργία σύντομης περίληψης ενός μεγάλου εγγράφου.
- Διαλογικά συστήματα: Δημιουργία απάντησης στη ρεπλίκα του χρήστη.
- Λεζάντες εικόνων (Image Captioning): Ο κωδικοποιητής (συνήθως βασισμένος σε συνελικτικό νευρωνικό δίκτυο) επεξεργάζεται την εικόνα, ενώ ο αποκωδικοποιητής (συνήθως RNN ή Transformer) δημιουργεί την κειμενική περιγραφή της.
- Αναγνώριση ομιλίας: Μετατροπή ηχητικού σήματος σε κειμενική μεταγραφή.
Κύρια μοντέλα
- Αρχικό Transformer (Vaswani et al., 2017): Το μοντέλο που παρουσίασε αυτή την αρχιτεκτονική.
- BART (Bidirectional and Auto-Regressive Transformers): Μοντέλο της Facebook, το οποίο προ-εκπαιδεύεται στην εργασία αποκατάστασης «κατεστραμμένου» κειμένου. Ο κωδικοποιητής είναι αμφίδρομος (όπως στο BERT), ενώ ο αποκωδικοποιητής είναι αυτοπαλινδρομικός (όπως στο GPT).
- T5 (Text-to-Text Transfer Transformer): Μοντέλο της Google, το οποίο ενοποιεί όλες τις εργασίες NLP, παρουσιάζοντάς τες ως πρόβλημα μετατροπής κειμένου σε κείμενο. Το T5 έδειξε εξαιρετικά αποτελέσματα σε πολλά benchmark.
Σύγκριση με άλλες αρχιτεκτονικές
| Αρχιτεκτονική | Κύρια εργασία | Συστατικά | Τυπικά μοντέλα |
|---|---|---|---|
| Κωδικοποιητής-αποκωδικοποιητής | Μετατροπή ακολουθίας σε ακολουθία | Κωδικοποιητής + Αποκωδικοποιητής | T5, BART, αρχικό Transformer |
| Μόνο κωδικοποιητής | Κατανόηση κειμένου | Μόνο κωδικοποιητής | BERT, RoBERTa |
| Μόνο αποκωδικοποιητής | Δημιουργία κειμένου | Μόνο αποκωδικοποιητής |
Βιβλιογραφία
- Bahdanau, D. et al. (2014). Neural Machine Translation by Jointly Learning to Align and Translate. arXiv:1409.0473.
- Sutskever, I. et al. (2014). Sequence to Sequence Learning with Neural Networks. arXiv:1409.3215.
- Luong, M.-T. et al. (2015). Effective Approaches to Attention-based Neural Machine Translation. arXiv:1508.04025.
- Wu, Y. et al. (2016). Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation. arXiv:1609.08144.
- Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762.
- Britz, D. et al. (2017). Massive Exploration of Neural Machine Translation Architectures. arXiv:1703.03906.
- Lewis, M. et al. (2020). BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation. arXiv:1910.13461.
- Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. arXiv:1910.10683.
- Dong, L. et al. (2019). Unified Language Model Pre-training for Natural Language Understanding and Generation. arXiv:1905.03197.
- Zhang, J. et al. (2020). PEGASUS: Pre-training with Extracted Gap-Sentences for Abstractive Summarization. arXiv:1912.08777.