Τεχνητή νοημοσύνη 101
Τι είναι η Backpropagation;

Τι είναι η Backpropagation;
Τα συστήματα βαθιάς μάθησης είναι σε θέση να μάθουν εξαιρετικά σύνθετα μοτίβα και τα επιτυγχάνουν điều chỉnhοντας τα βάρη τους. Πώς ρυθμίζονται ακριβώς τα βάρη ενός βαθιάς νευρωνικού δικτύου; Ρυθμίζονται μέσω μιας διαδικασίας που ονομάζεται backpropagation. Χωρίς backpropagation, τα βαθιά νευρωνικά δίκτυα δεν θα μπορούσαν να εκτελέσουν εργασίες όπως η αναγνώριση εικόνων και η ερμηνεία της φυσικής γλώσσας. Η κατανόηση του πώς λειτουργεί η backpropagation είναι κρίσιμη για την κατανόηση των βαθιάς νευρωνικών δικτύων γενικά, οπότε ας συζητήσουμε τη backpropagation και δούμε πώς η διαδικασία χρησιμοποιείται για να ρυθμίσει τα βάρη ενός δικτύου.
Η backpropagation μπορεί να είναι δύσκολο να κατανοηθεί, και οι υπολογισμοί που χρησιμοποιούνται για να εκτελεστούν η backpropagation μπορούν να είναι khá σύνθετοι. Αυτό το άρθρο θα προσπαθήσει να σας δώσει μια εννοιολογική κατανόηση της backpropagation, χρησιμοποιώντας λίγη複雑ή μαθηματική. Ωστόσο, κάποια συζήτηση για τα μαθηματικά πίσω από τη backpropagation είναι απαραίτητη.
Ο Σκοπός της Backpropagation
Ας ξεκινήσουμε ορίζοντας τον σκοπό της backpropagation. Τα βάρη ενός βαθιάς νευρωνικού δικτύου είναι η δύναμη των συνδέσεων μεταξύ μονάδων ενός νευρωνικού δικτύου. Όταν το νευρωνικό δίκτυο δημιουργείται, γίνονται υποθέσεις σχετικά με το πώς οι μονάδες σε ένα επίπεδο συνδέονται με τα επίπεδα που συνδέονται μαζί του. Όταν τα δεδομένα περνούν από το νευρωνικό δίκτυο, τα βάρη υπολογίζονται και γίνονται υποθέσεις. Όταν τα δεδομένα φτάσουν στο τελικό επίπεδο του δικτύου, γίνεται μια πρόβλεψη σχετικά με το πώς οι χαρακτηριστικές ιδιότητες σχετίζονται με τις κατηγορίες στο σύνολο δεδομένων. Η διαφορά μεταξύ των προβλεπόμενων τιμών και των πραγματικών τιμών είναι η απώλεια/σφάλμα, και ο σκοπός της backpropagation είναι να μειώσει την απώλεια. Αυτό επιτυγχάνεται με τη ρύθμιση των βαρών του δικτύου, κάνοντας τις υποθέσεις πιο παρόμοιες με τις πραγματικές σχέσεις μεταξύ των εισαγωγικών χαρακτηριστικών.
Εκπαίδευση ενός Βαθιάς Νευρωνικού Δικτύου
Πριν η backpropagation μπορεί να γίνει σε ένα νευρωνικό δίκτυο, η κανονική/πρόσθια εκπαιδευτική διαδικασία του νευρωνικού δικτύου πρέπει να εκτελεστεί. Όταν ένα νευρωνικό δίκτυο δημιουργείται, ένα σύνολο βαρών αρχικοποιείται. Η τιμή των βαρών θα αλλάξει καθώς το δίκτυο εκπαιδεύεται. Η πρόσθια εκπαιδευτική διαδικασία του νευρωνικού δικτύου μπορεί να θεωρηθεί ως τρία διακριτά βήματα: ενεργοποίηση νευρώνα, μεταφορά νευρώνα και πρόσθια προώθηση.
Όταν εκπαιδεύουμε ένα βαθιά νευρωνικό δίκτυο, χρειαζόμαστε να χρησιμοποιήσουμε πολλές μαθηματικές συναρτήσεις. Οι νευρώνες σε ένα βαθιά νευρωνικό δίκτυο αποτελούνται από τα εισαγόμενα δεδομένα και μια συνάρτηση ενεργοποίησης, η οποία καθορίζει την τιμή που απαιτείται για να ενεργοποιηθεί ο κόμβος. Η τιμή ενεργοποίησης του νευρώνα υπολογίζεται με πολλά στοιχεία, είναι ένα σταθμισμένο άθροισμα των εισαγωγών. Τα βάρη και οι τιμές εισαγωγής εξαρτώνται από τον δείκτη των κόμβων που χρησιμοποιούνται για τον υπολογισμό της ενεργοποίησης. Ένα άλλο αριθμός πρέπει να ληφθεί υπόψη όταν υπολογίζεται η τιμή ενεργοποίησης, μια τιμή προκαταβολής. Οι τιμές προκαταβολής δεν μεταβάλλονται, οπότε δεν πολλαπλασιάζονται με το βάρος και τις εισαγωγές, απλώς προστίθενται. Όλα αυτά σημαίνουν ότι η ακόλουθη εξίσωση θα μπορούσε να χρησιμοποιηθεί για τον υπολογισμό της τιμής ενεργοποίησης:
Ενεργοποίηση = άθροισμα(βάρος * εισαγωγή) + προκαταβολή
Μετά την ενεργοποίηση του νευρώνα, μια συνάρτηση ενεργοποίησης χρησιμοποιείται για να καθορίσει τι θα είναι η έξοδος του πραγματικού νευρώνα. Διαφορετικές συναρτήσεις ενεργοποίησης είναι βέλτιστες για διαφορετικές εργασίες μάθησης, αλλά συχνά χρησιμοποιούμενες συναρτήσεις ενεργοποίησης περιλαμβάνουν τη συνάρτηση sigmoid, τη συνάρτηση Tanh και τη συνάρτηση ReLU.
Όταν οι εξόδοι του νευρώνα υπολογίζονται με την εκτέλεση της τιμής ενεργοποίησης μέσω της επιθυμητής συνάρτησης ενεργοποίησης, η πρόσθια προώθηση ολοκληρώνεται. Η πρόσθια προώθηση είναι απλώς η λήψη των εξόδων ενός επιπέδου και η μετατροπή τους σε εισαγωγές του επόμενου επιπέδου. Οι νέες εισαγωγές χρησιμοποιούνται για τον υπολογισμό των νέων συναρτήσεων ενεργοποίησης, και η έξοδος αυτής της λειτουργίας μεταφέρεται στο επόμενο επίπεδο. Αυτή η διαδικασία συνεχίζεται μέχρι το τέλος του νευρωνικού δικτύου.
Backpropagation στο Δίκτυο
Η διαδικασία της backpropagation λαμβάνει τις τελικές αποφάσεις μιας εκπαίδευσης του μοντέλου και στη συνέχεια καθορίζει τα σφάλματα σε αυτές τις αποφάσεις. Τα σφάλματα υπολογίζονται με τη σύγκριση των εξόδων/αποφάσεων του δικτύου και των αναμενόμενων/επιθυμητών εξόδων του δικτύου.
Όταν υπολογιστούν τα σφάλματα στις αποφάσεις του δικτύου, αυτές οι πληροφορίες αναστρέφονται στο δίκτυο και οι παράμετροι του δικτύου τροποποιούνται κατά τη διαδικασία. Η μέθοδος που χρησιμοποιείται για την ενημέρωση των βαρών του δικτύου βασίζεται στη διαφορική μαθηματική, συγκεκριμένα, στη κανόνα της αλυσίδας. Ωστόσο, μια κατανόηση της διαφορικής μαθηματικής δεν είναι απαραίτητη για την κατανόηση της ιδέας πίσω από τη backpropagation. Απλώς γνωρίστε ότι όταν μια έξοδος τιμής παρέχεται από ένα νευρώνα, η κλίση της έξοδου τιμής υπολογίζεται με μια συνάρτηση μεταφοράς, παράγοντας μια παραγώμενη έξοδο. Όταν εκτελείται η backpropagation, το σφάλμα για ένα συγκεκριμένο νευρώνα υπολογίζεται σύμφωνα με την ακόλουθη έξοδο:
σφάλμα = (αναμενόμενη_έξοδος – πραγματική_έξοδος) * κλίση της έξοδου του νευρώνα
Όταν λειτουργούμε στα νευρώνες του επιπέδου εξόδου, η τιμή της κατηγορίας χρησιμοποιείται ως η αναμενόμενη τιμή. Μετά τον υπολογισμό του σφάλματος, το σφάλμα χρησιμοποιείται ως η εισαγωγή για τους νευρώνες του κρυφού επιπέδου, που σημαίνει ότι το σφάλμα για αυτό το κρυφό επίπεδο είναι το σταθμισμένο σφάλμα των νευρώνων που βρίσκονται στο επίπεδο εξόδου. Οι υπολογισμοί του σφάλματος ταξιδεύουν ανάποδα στο δίκτυο κατά μήκος των βαρών δικτύου.
Μετά τον υπολογισμό των σφαλμάτων για το δίκτυο, τα βάρη στο δίκτυο πρέπει να ενημερωθούν. Όπως αναφέρθηκε, ο υπολογισμός του σφάλματος περιλαμβάνει τον καθορισμό της κλίσης της έξοδου τιμής. Μετά τον υπολογισμό της κλίσης, μια διαδικασία που ονομάζεται καθοδική καθίζηση μπορεί να χρησιμοποιηθεί για την ρύθμιση των βαρών στο δίκτυο. Μια κλίση είναι μια κλίση, η οποία μπορεί να μετρηθεί. Η κλίση υπολογίζεται με τη σχεδίαση «y over» ή «rise» sobre «run». Σε περίπτωση του νευρωνικού δικτύου και του ρυθμού σφάλματος, το «y» είναι το υπολογισμένο σφάλμα, ενώ το «x» είναι οι παράμετροι του δικτύου. Οι παράμετροι του δικτύου έχουν μια σχέση με τις υπολογισμένες τιμές σφάλματος, και καθώς τα βάρη του δικτύου ρυθμίζονται, το σφάλμα αυξάνεται ή μειώνεται.
«Καθοδική καθίζηση» είναι η διαδικασία ενημέρωσης των βαρών ώστε να μειωθεί ο ρυθμός σφάλματος. Η backpropagation χρησιμοποιείται για να προβλέψει τη σχέση μεταξύ των παραμέτρων του νευρωνικού δικτύου και του ρυθμού σφάλματος, η οποία ρυθμίζει το δίκτυο για καθοδική καθίζηση. Η εκπαίδευση του δικτύου με καθοδική καθίζηση εμπλέκει τον υπολογισμό των βαρών μέσω πρόσθιας προώθησης, αναστροφή του σφάλματος και στη συνέχεια ενημέρωση των βαρών του δικτύου.












