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








