στέλεχος Τι είναι τα RNN και τα LSTM στο Deep Learning; - Unite.AI
Συνδεθείτε μαζί μας
Masterclass AI:

AI 101

Τι είναι τα RNN και τα LSTM στο Deep Learning;

mm
Ενημερώθηκε on

Πολλές από τις πιο εντυπωσιακές προόδους στην επεξεργασία φυσικής γλώσσας και στα chatbots AI καθοδηγούνται από Επαναλαμβανόμενα νευρωνικά δίκτυα (RNN) και δίκτυα μακράς βραχυπρόθεσμης μνήμης (LSTM). RNN και LSTM είναι ειδικές αρχιτεκτονικές νευρωνικών δικτύων που είναι σε θέση να επεξεργάζονται διαδοχικά δεδομένα, δεδομένα όπου έχει σημασία η χρονολογική σειρά. Τα LSTM είναι ουσιαστικά βελτιωμένες εκδόσεις των RNN, ικανή να ερμηνεύει μεγαλύτερες ακολουθίες δεδομένων. Ας ρίξουμε μια ματιά στο πώς είναι δομημένα τα RNN και τα LSTMS και πώς επιτρέπουν τη δημιουργία εξελιγμένων συστημάτων επεξεργασίας φυσικής γλώσσας.

Τι είναι τα νευρωνικά δίκτυα τροφοδοσίας;

Πριν μιλήσουμε λοιπόν για το πώς λειτουργεί η Μακροπρόθεσμη Μνήμη (LSTM) και τα Συνελικτικά Νευρωνικά Δίκτυα (CNN), θα πρέπει να συζητήσουμε τη μορφή ενός νευρωνικού δικτύου γενικά.

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

Το επίπεδο εισόδου είναι αυτό που μεταφέρει τα δεδομένα στο νευρωνικό δίκτυο, ενώ τα κρυφά στρώματα είναι αυτά που μαθαίνουν τα μοτίβα στα δεδομένα. Τα κρυφά επίπεδα στο σύνολο δεδομένων συνδέονται με τα επίπεδα εισόδου και εξόδου μέσω «βαρών» και «προκαταλήψεων» που είναι απλώς υποθέσεις για το πώς σχετίζονται τα σημεία δεδομένων μεταξύ τους. Αυτά τα βάρη προσαρμόζονται κατά τη διάρκεια της προπόνησης. Καθώς το δίκτυο εκπαιδεύεται, οι εικασίες του μοντέλου για τα δεδομένα εκπαίδευσης (οι τιμές εξόδου) συγκρίνονται με τις πραγματικές ετικέτες εκπαίδευσης. Κατά τη διάρκεια της εκπαίδευσης, το δίκτυο θα πρέπει (ελπίζουμε) να είναι πιο ακριβές στην πρόβλεψη των σχέσεων μεταξύ των σημείων δεδομένων, ώστε να μπορεί να ταξινομεί με ακρίβεια νέα σημεία δεδομένων. Τα βαθιά νευρωνικά δίκτυα είναι δίκτυα που έχουν περισσότερα στρώματα στα μεσαία/περισσότερα κρυφά επίπεδα. Όσο περισσότερα κρυφά επίπεδα και περισσότερους νευρώνες/κόμβους έχει το μοντέλο, τόσο καλύτερα το μοντέλο μπορεί να αναγνωρίσει μοτίβα στα δεδομένα.

Τα κανονικά νευρωνικά δίκτυα τροφοδοσίας, όπως αυτά που περιέγραψα παραπάνω, ονομάζονται συχνά «πυκνά νευρωνικά δίκτυα». Αυτά τα πυκνά νευρωνικά δίκτυα συνδυάζονται με διαφορετικές αρχιτεκτονικές δικτύων που ειδικεύονται στην ερμηνεία διαφορετικών ειδών δεδομένων.

Τι είναι τα RNN (Recurrent Neural Networks);

Τα επαναλαμβανόμενα νευρωνικά δίκτυα λαμβάνουν τη γενική αρχή των νευρωνικών δικτύων τροφοδοσίας και τους επιτρέπουν να χειρίζονται διαδοχικά δεδομένα με δίνοντας στο μοντέλο μια εσωτερική μνήμη. Το τμήμα "Επαναλαμβανόμενο" του ονόματος RNN προέρχεται από το γεγονός ότι ο βρόχος εισόδου και εξόδου. Μόλις παραχθεί η έξοδος του δικτύου, η έξοδος αντιγράφεται και επιστρέφεται στο δίκτυο ως είσοδος. Κατά τη λήψη μιας απόφασης, δεν αναλύονται μόνο η τρέχουσα είσοδος και έξοδος, αλλά λαμβάνεται υπόψη και η προηγούμενη είσοδος. Για να το θέσω διαφορετικά, εάν η αρχική είσοδος για το δίκτυο είναι X και η έξοδος είναι H, τόσο το H όσο και το X1 (η επόμενη είσοδος στην ακολουθία δεδομένων) τροφοδοτούνται στο δίκτυο για τον επόμενο γύρο εκμάθησης. Με αυτόν τον τρόπο, το πλαίσιο των δεδομένων (οι προηγούμενες εισροές) διατηρείται καθώς τα τρένα του δικτύου.

Το αποτέλεσμα αυτής της αρχιτεκτονικής είναι ότι τα RNN είναι ικανά να χειρίζονται διαδοχικά δεδομένα. Ωστόσο, τα RNN υποφέρουν από μερικά προβλήματα. Τα RNN υποφέρουν από το προβλήματα κλίσης που εξαφανίζονται και εκρήγνυνται.

Το μήκος των ακολουθιών που μπορεί να ερμηνεύσει ένα RNN είναι μάλλον περιορισμένο, ειδικά σε σύγκριση με τα LSTM.

Τι είναι τα LSTM (Δίκτυα μακράς βραχυπρόθεσμης μνήμης);

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

Τα μοντέλα LSTM αποτελούνται από τρία διαφορετικά εξαρτήματα ή πύλες. Υπάρχει ένα πύλη εισόδου, πύλη εξόδου και πύλη λήψεως. Όπως και τα RNN, τα LSTM λαμβάνουν υπόψη εισόδους από το προηγούμενο χρονικό βήμα κατά την τροποποίηση της μνήμης και των βαρών εισόδου του μοντέλου. Η πύλη εισόδου λαμβάνει αποφάσεις σχετικά με το ποιες τιμές είναι σημαντικές και πρέπει να περάσουν από το μοντέλο. Μια σιγμοειδής συνάρτηση χρησιμοποιείται στην πύλη εισόδου, η οποία καθορίζει ποιες τιμές θα περάσουν μέσω του επαναλαμβανόμενου δικτύου. Το μηδέν ρίχνει την τιμή, ενώ το 1 τη διατηρεί. Μια συνάρτηση TanH χρησιμοποιείται και εδώ, η οποία αποφασίζει πόσο σημαντικές είναι για το μοντέλο οι τιμές εισόδου, που κυμαίνονται από -1 έως 1.

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

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

Blogger και προγραμματιστής με ειδικότητες στο Μηχανική μάθηση και Βαθιά μάθηση Θέματα. Ο Daniel ελπίζει να βοηθήσει άλλους να χρησιμοποιήσουν τη δύναμη της τεχνητής νοημοσύνης για κοινωνικό καλό.