Τεχνητή νοημοσύνη 101
Τι Είναι Τα Νευρωνικά Δίκτυα Transformer;

Περιγραφή Νευρωνικών Δικτύων Transformer
Transformers είναι ένας τύπος μοντέλου μηχανικής μάθησης που ειδικεύεται στην επεξεργασία και ερμηνεία σειριακών δεδομένων, καθιστώντας τα ιδανικά για εργασίες επεξεργασίας φυσικής γλώσσας. Για να κατανοήσουμε καλύτερα τι είναι ένα μοντέλο μετασχηματιστή μηχανικής μάθησης και πώς λειτουργούν, ας δούμε πιο κοντά τα μοντέλα μετασχηματιστή και τους μηχανισμούς που τα οδηγούν.
Αυτό το άρθρο θα καλύψει:
- Μοντέλα Σειράς-Σε-Σειρά
- Η Αρχιτεκτονική του Νευρωνικού Δικτύου Transformer
- Ο Μηχανισμός Προσοχής
- Διαφορές Μεταξύ Transformers και RNNs/LSTMs
Μοντέλα Σειράς-Σε-Σειρά
Τα μοντέλα σειράς-σε-σειρά είναι ένας τύπος μοντέλου NLP που χρησιμοποιείται για τη μετατροπή σειρών ενός τύπου σε μια σειρά ενός άλλου τύπου. Υπάρχουν διάφοροι τύποι μοντέλων σειράς-σε-σειρά, όπως Recurrent Neural Network μοντέλα και Long Short-Term Memory (LSTM) μοντέλα.
Τα παραδοσιακά μοντέλα σειράς-σε-σειρά όπως τα RNNs και LSTMs δεν είναι το επίκεντρο αυτού του άρθρου, αλλά μια κατανόηση τους είναι απαραίτητη για να εκτιμηθεί πώς λειτουργούν τα μοντέλα μετασχηματιστή και γιατί είναι ανώτερα από τα παραδοσιακά μοντέλα σειράς-σε-σειρά.
Σε σύντομη περιγραφή, τα μοντέλα RNN και LSTM αποτελούνται από δίκτυα κωδικοποιητή και αποκωδικοποιητή που αναλύουν τα δεδομένα εισόδου σε διάφορες χρονικές στιγμές. Το μοντέλο κωδικοποιητή είναι υπεύθυνο για τη δημιουργία μιας κωδικοποιημένης αναπαράστασης των λέξεων στα δεδομένα εισόδου. Σε κάθε χρονική στιγμή, το δίκτυο κωδικοποιητή λαμβάνει μια σειρά εισόδου και μια κρυφή κατάσταση από την προηγούμενη χρονική στιγμή στη σειρά. Οι τιμές της κρυφής κατάστασης ενημερώνονται καθώς τα δεδομένα διαπερνούν το δίκτυο, μέχρι την τελευταία χρονική στιγμή, όπου παράγεται ένα “context vector”. Το context vector στη συνέχεια μεταφέρεται στο δίκτυο αποκωδικοποιητή, το οποίο χρησιμοποιείται για τη δημιουργία μιας στόχου σειράς με την πρόβλεψη της πιο πιθανής λέξης που ταιριάζει με τη λέξη εισόδου για τις αντίστοιχες χρονικές στιγμές.
Αυτά τα μοντέλα μπορούν να ενισχυθούν μέσω της χρήσης ενός “μηχανισμού προσοχής”. Ο μηχανισμός προσοχής ορίζει ποια τμήματα του διανύσματος εισόδου το δίκτυο πρέπει να εστιάσει για να παράγει την κατάλληλη έξοδο. Με άλλα λόγια, ο μηχανισμός προσοχής επιτρέπει στο μοντέλο μετασχηματιστή να επεξεργαστεί μια λέξη εισόδου ενώ παράλληλα εστιάζει στην σχετική πληροφορία που περιέχεται στις άλλες λέξεις εισόδου. Οι μηχανισμοί προσοχής επίσης μασκάρουν τις λέξεις που δεν περιέχουν σχετική πληροφορία.
Αρχιτεκτονική του Νευρωνικού Δικτύου Transformer
Θα εξετάσουμε τον μηχανισμό προσοχής σε περισσότερες λεπτομέρειες αργότερα, αλλά για τώρα ας δούμε την αρχιτεκτονική ενός νευρωνικού δικτύου μετασχηματιστή σε ένα υψηλότερο επίπεδο.
Γενικά, ένα νευρωνικό δίκτυο μετασχηματιστή μοιάζει κάπως così:

Ενώ η γενική δομή μπορεί να αλλάξει μεταξύ των δικτύων, τα βασικά κομμάτια θα παραμείνουν τα ίδια: κωδικοποιήσεις θέσης, διανύσματα λέξεων, μηχανισμός προσοχής, νευρωνικό δίκτυο feed-forward.
Κωδικοποιήσεις Θέσης και Διανύσματα Λέξεων
Ένα νευρωνικό δίκτυο μετασχηματιστή λειτουργεί λαμβάνοντας μια σειρά εισόδων και μετατρέποντάς τες σε δύο άλλες σειρές. Το μετασχηματιστή παράγει μια σειρά διανυσμάτων λέξεων και κωδικοποιήσεων θέσης.
Τα διανύσματα λέξεων είναι απλά η κειμενική αναπαράσταση σε một αριθμητική μορφή που το νευρωνικό δίκτυο μπορεί να επεξεργαστεί. Εν τω μεταξύ, οι κωδικοποιήσεις θέσης είναι διανυσματικές αναπαραστάσεις που περιέχουν πληροφορίες σχετικά με τη θέση της τρέχουσας λέξης στη σειρά εισόδου, σε σχέση με άλλες λέξεις.
Άλλα μοντέλα νευρωνικών δικτύων βασισμένα σε κείμενο όπως τα RNNs και LSTMs χρησιμοποιούν διανύσματα για να αναπαραστήσουν τις λέξεις στα δεδομένα εισόδου. Αυτά τα διανύσματα αντιστοιχούν λέξεις σε σταθερές τιμές, αλλά αυτό είναι περιοριστικό επειδή οι λέξεις μπορούν να χρησιμοποιηθούν σε διαφορετικά контекστά. Ένα δίκτυο μετασχηματιστή λύνει αυτό το πρόβλημα κάνωντας τις τιμές των λέξεων πιο ευέλικτες, χρησιμοποιώντας σινουσοειδείς συναρτήσεις για να επιτρέψει στα διανύσματα λέξεων να λαμβάνουν διαφορετικές τιμές ανάλογα με τη θέση της λέξης στη πρόταση.
Αυτό επιτρέπει στο μοντέλο νευρωνικού δικτύου να διατηρεί πληροφορίες σχετικά με τη σχετική θέση των λέξεων εισόδου, ακόμη και μετά τη διέλευση των διανυσμάτων через τα επίπεδα του δικτύου μετασχηματιστή.
Οι κωδικοποιήσεις θέσης και τα διανύσματα λέξεων προστίθενται μαζί και στη συνέχεια εισάγονται και στα δίκτυα κωδικοποιητή και αποκωδικοποιητή. Ενώ τα νευρωνικά δίκτυα μετασχηματιστή χρησιμοποιούν σχήματα κωδικοποιητή/αποκωδικοποιητή όπως τα RNNs και LSTMs, μια σημαντική διαφορά μεταξύ τους είναι ότι όλα τα δεδομένα εισόδου εισάγονται στο δίκτυο την ίδια στιγμή, ενώ στα RNNs/LSTMs τα δεδομένα εισάγονται σειριακά.
Τα δίκτυα κωδικοποιητή είναι υπεύθυνα για τη μετατροπή των εισόδων σε αναπαραστάσεις που το δίκτυο μπορεί να μάθει, ενώ τα δίκτυα αποκωδικοποιητή κάνουν το αντίθετο και μετατρέπουν τις κωδικοποιήσεις σε μια κατανομή πιθανότητας που χρησιμοποιείται για τη δημιουργία της πιο πιθανής λέξης στη σειρά εξόδου. Κρίσιμο είναι ότι και τα δίκτυα κωδικοποιητή και αποκωδικοποιητή έχουν einen μηχανισμό προσοχής.
Επειδή οι GPU είναι ικανοί για παράλληλη επεξεργασία, πολλαπλοί μηχανισμοί προσοχής χρησιμοποιούνται παράλληλα, υπολογίζοντας την σχετική πληροφορία για όλες τις λέξεις εισόδου. Αυτή η ικανότητα να προσεχθεί σε πολλές λέξεις, που ονομάζεται “πολλαπλή προσοχή”, σε μια φορά βοηθά το νευρωνικό δίκτυο να μάθει το контέκστ της λέξης μέσα σε μια πρόταση, και είναι ένα από τα основικά πλεονεκτήματα που έχουν τα δίκτυα μετασχηματιστή σε σχέση με τα RNNs και LSTMs.
Ο Μηχανισμός Προσοχής
Ο μηχανισμός προσοχής είναι το πιο σημαντικό μέρος ενός δικτύου μετασχηματιστή. Ο μηχανισμός προσοχής είναι αυτό που επιτρέπει στα μοντέλα μετασχηματιστή να ξεπεράσουν το όριο προσοχής ενός τυπικού μοντέλου RNN ή LSTM. Τα παραδοσιακά μοντέλα σειράς-σε-σειρά απορρίπτουν όλα τα ενδιάμεσα состояния και χρησιμοποιούν μόνο το τελικό состояние/περιβάλλον όταν αρχικοποιούν το δίκτυο αποκωδικοποιητή για να παράγουν προβλέψεις για μια σειρά εισόδου.
Η απόρριψη όλων των ενδιαμέσων καταστάσεων και η χρήση μόνο του τελικού περιβάλλοντος/διανύσματος λειτουργεί khá καλά όταν οι σειρές εισόδου είναι αρκετά μικρές. Ωστόσο, καθώς το μήκος της σειράς εισόδου αυξάνεται, η απόδοση του μοντέλου θα επιδείξει μια πτώση ενώ χρησιμοποιείται αυτή η μέθοδος. Αυτό συμβαίνει επειδή γίνεται khá δύσκολο να συνοψίσει μια μεγάλη σειρά εισόδου ως ένα單ο διανύσμα. Η λύση είναι να αυξηθεί η “προσοχή” του μοντέλου και να χρησιμοποιηθούν τα ενδιάμεσα состояния κωδικοποιητή για να κατασκευαστούν διανύσματα περιβάλλοντος για το δίκτυο αποκωδικοποιητή.
Ο μηχανισμός προσοχής ορίζει πώς σημαντικές είναι οι άλλες λέξεις εισόδου για το μοντέλο όταν δημιουργούνται κωδικοποιήσεις για μια δεδομένη λέξη. Για παράδειγμα, “αυτό” είναι ένα γενικό αντωνυμία, συχνά χρησιμοποιούμενο για να αναφερθεί σε ζώα όταν το φύλο τους δεν είναι γνωστό. Ένας μηχανισμός προσοχής θα επέτρεπε στο μοντέλο μετασχηματιστή να καθορίσει ότι στην τρέχουσα контέκστ “αυτό” αναφέρεται σε ένα σκιουρό, επειδή μπορεί να εξετάσει όλες τις σχετικές λέξεις στη σειρά εισόδου.
Ο μηχανισμός προσοχής μπορεί να χρησιμοποιηθεί με τρεις διαφορετικούς τρόπους: encoder-to-decoder, encoder-only, decoder-only.
Η προσοχή encoder-to-decoder επιτρέπει στο δίκτυο αποκωδικοποιητή να λάβει υπόψη τις σειρές εισόδου όταν παράγει μια έξοδο, ενώ οι μηχανισμοί προσοχής encoder-only και decoder-only επιτρέπουν στα δίκτυα να λάβουν υπόψη όλα τα τμήματα των προηγούμενων και τρέχοντων σειρών αντίστοιχα.
Η κατασκευή ενός μηχανισμού προσοχής μπορεί να διαιρεθεί σε πέντε βήματα:
- Υπολογισμός ενός σκορ για όλα τα состояния κωδικοποιητή.
- Υπολογισμός των βαρών προσοχής
- Υπολογισμός διανυσμάτων περιβάλλοντος
- Ενημέρωση διανύσματος περιβάλλοντος με την έξοδο του προηγούμενου βήματος
- Παραγωγή εξόδου με το δίκτυο αποκωδικοποιητή
Το πρώτο βήμα είναι να υπολογίσει το δίκτυο αποκωδικοποιητή ένα σκορ για όλα τα состояния κωδικοποιητή. Αυτό γίνεται με την εκπαίδευση του δικτύου αποκωδικοποιητή, το οποίο είναι ένα βασικό νευρωνικό δίκτυο feed-forward. Όταν το δίκτυο αποκωδικοποιητή εκπαιδεύεται στη πρώτη λέξη της σειράς εισόδου, δεν έχει δημιουργηθεί ακόμη καμία εσωτερική/κρυφή κατάσταση, поэтому η τελευταία κατάσταση του κωδικοποιητή χρησιμοποιείται συνήθως ως η προηγούμενη κατάσταση του αποκωδικοποιητή.
Για να υπολογισθούν οι βαρείς προσοχής, χρησιμοποιείται μια συνάρτηση softmax για να δημιουργηθεί μια πιθανική κατανομή για τις βαρείς προσοχής.
Μόλις υπολογιστούν οι βαρείς προσοχής, το διανύσμα περιβάλλοντος πρέπει να υπολογιστεί. Αυτό γίνεται με την πολλαπλασιασμό των βαρών προσοχής και της κρυφής κατάστασης μαζί για κάθε βήμα.
Μετά τον υπολογισμό του διανύσματος περιβάλλοντος, χρησιμοποιείται μαζί με τη λέξη που παράχθηκε στο προηγούμενο βήμα για να παραχθεί η επόμενη λέξη στη σειρά εξόδου. Επειδή το δίκτυο αποκωδικοποιητή δεν έχει καμία προηγούμενη έξοδο να αναφερθεί σε αυτό στο πρώτο βήμα, συχνά χρησιμοποιείται ένα đặc biệt “start” token αντί για αυτό.
Διαφορές Μεταξύ Transformers & RNNs/LSTMs
Ας καλύψουμε γρήγορα κάποιες από τις διαφορές μεταξύ RNNs και LSTMs.
Τα RNNs επεξεργάζονται τις εισόδους σειριακά, ενώ μια κρυφή κατάσταση διατηρείται και αλλάζει από τις λέξεις εισόδου καθώς διαπερνούν το δίκτυο. Οι κρυφές καταστάσεις eines RNN συνήθως περιέχουν πολύ λίγη σχετική πληροφορία σχετικά με τις προηγούμενες εισόδους. Νέες εισόδου συχνά ξεπερνούν την τρέχουσα κατάσταση, που προκαλεί απώλεια πληροφορίας και επιδείχνει μια πτώση της απόδοσης με την πάροδο του χρόνου.
Σε αντίθεση, τα μοντέλα μετασχηματιστή επεξεργάζονται ολόκληρη τη σειρά εισόδου την ίδια στιγμή. Ο μηχανισμός προσοχής επιτρέπει σε κάθε λέξη εξόδου να ενημερώνεται από κάθε λέξη εισόδου και κρυφή κατάσταση, καθιστώντας το δίκτυο πιο αξιόπιστο για μεγάλες σειρές κειμένου.
Τα LSTMs είναι μια τροποποιημένη εκδοχή των RNNs, προσαρμοσμένη για να χειρίζεται μεγαλύτερες σειρές εισόδου. Η αρχιτεκτονική LSTM χρησιμοποιεί μια δομή που ονομάζεται “πύλες”, με “πύλες εισόδου”, “πύλες εξόδου” και “πύλες λήθης”. Η σχεδίαση με πύλες αντιμετωπίζει την απώλεια πληροφορίας που είναι κοινή στα μοντέλα RNN. Τα δεδομένα εξακολουθούν να επεξεργάζονται σειριακά, και η αναδρομική σχεδίαση της αρχιτεκτονικής καθιστά τα μοντέλα LSTM δύσκολα να εκπαιδευτούν με παράλληλη επεξεργασία, καθιστώντας τον χρόνο εκπαίδευσης μεγαλύτερο συνολικά.
Οι μηχανικοί LSTMs συχνά πρόσθεταν μηχανισμούς προσοχής στο δίκτυο, που ήταν γνωστό ότι βελτιώνει την απόδοση του μοντέλου. Ωστόσο, τελικά ανακαλύφθηκε ότι ο μηχανισμός προσοχής μόνο βελτίωνε την ακρίβεια. Αυτή η ανακάλυψη οδήγησε στη δημιουργία δικτύων μετασχηματιστή που χρησιμοποιούσαν μηχανισμούς προσοχής και παράλληλη επεξεργασία χάρη στις GPU.












