Βασικές αρχές της AI
Τι είναι η Κατηφόρα Κλίση;
Τι είναι η Κατηφόρα Κλίση;
Εάν έχετε διαβάσει πώς εκπαιδεύονται τα νευρωνικά δίκτυα,几乎 σίγουρα έχετε συναντήσει τον όρο “κατηφόρα κλίση” πριν. Η κατηφόρα κλίση είναι η основная μέθοδος για την βελτίωση της απόδοσης ενός νευρωνικού δικτύου, μειώνοντας το ποσοστό λάθους/σφάλματος του δικτύου. Ωστόσο, η κατηφόρα κλίση μπορεί να είναι λίγο δύσκολο να κατανοηθεί για εκείνους που είναι νέοι στη μηχανική μάθηση, και αυτό το άρθρο θα προσπαθήσει να σας δώσει μια καλή直觉 για το πώς λειτουργεί η κατηφόρα κλίση.
Η κατηφόρα κλίση είναι ένας αλγόριθμος βελτίωσης. Χρησιμοποιείται για να βελτιώσει την απόδοση ενός νευρωνικού δικτύου, κάνωντας ρυθμίσεις στα παραμέτρα του δικτύου, ώστε η διαφορά μεταξύ των προβλέψεων του δικτύου και των πραγματικών/αναμενόμενων τιμών του δικτύου (που ονομάζεται λάθος) να είναι όσο το δυνατόν μικρότερη. Η κατηφόρα κλίση λαμβάνει τις αρχικές τιμές των παραμέτρων και χρησιμοποιεί επιχειρήσεις βασισμένες στη λογιστική για να調整 τις τιμές τους προς τις τιμές που θα κάνουν το δίκτυο όσο το δυνατόν πιο ακριβές. Δεν χρειάζεται να γνωρίζετε πολλά για λογιστική για να κατανοήσετε πώς λειτουργεί η κατηφόρα κλίση, αλλά πρέπει να έχετε μια κατανόηση των κλίσεων.
Τι είναι οι Κλίσεις;
Υποθέτουμε ότι υπάρχει ένα γράφημα που αντιπροσωπεύει το ποσοστό λάθους που κάνει ένα νευρωνικό δίκτυο. Η βάση του γραφήματος αντιπροσωπεύει τα σημεία με το μικρότερο λάθος, ενώ η κορυφή του γραφήματος είναι όπου το λάθος είναι το μεγαλύτερο. Θέλουμε να μετακινηθούμε από την κορυφή του γραφήματος προς την βάση. Μια κλίση είναι απλώς ένας τρόπος για να ποσοτικοποιήσουμε τη σχέση μεταξύ λάθους και των βαρών του νευρωνικού δικτύου. Η σχέση μεταξύ αυτών των δύο πραγμάτων μπορεί να γραφτεί ως μια κλίση, με λάθος βαρών που παράγουν περισσότερο λάθος. Η απότομη της κλίσης/κλίσης αντιπροσωπεύει πόσο γρήγορα μαθαίνει το μοντέλο.
Μια απότομη κλίση σημαίνει μεγάλες μειώσεις του λάθους και το μοντέλο μαθαίνει γρήγορα, ενώ αν η κλίση είναι μηδέν το μοντέλο είναι σε一个 οροπέδιο και δεν μαθαίνει. Μπορούμε να μετακινηθούμε προς τα κάτω της κλίσης προς μικρότερο λάθος, υπολογίζοντας μια κλίση, μια κατεύθυνση κίνησης (αλλαγή των παραμέτρων του δικτύου) για το μοντέλο μας.
Ας μετακινηθούμε την μεταφορά λίγο και να φανταστούμε μια σειρά λόφων και κοιλάδων. Θέλουμε να φτάσουμε στο κάτω μέρος του λόφου και να βρούμε το μέρος της κοιλάδας που αντιπροσωπεύει το μικρότερο λάθος. Όταν ξεκινάμε από την κορυφή του λόφου, podemos να κάνουμε μεγάλες βήματα προς τα κάτω του λόφου και να είμαστε βέβαιοι ότι πηγαίνουμε προς την κατεύθυνση του μικρότερου σημείου της κοιλάδας.
Ωστόσο, καθώς προσεγγίζουμε το σημείο με το μικρότερο λάθος, τα βήματά μας πρέπει να γίνουν μικρότερα, ή αλλιώς θα μπορούσαμε να ξεπεράσουμε το πραγματικό σημείο με το μικρότερο λάθος και να βρεθούμε στην άλλη πλευρά. Παρόμοια, είναι δυνατό ότι όταν ρυθμίζουμε τα βάρη του δικτύου, οι ρυθμίσεις μπορούν να το μετακινήσουν μακριά από το σημείο με το μικρότερο λάθος, και επομένως οι ρυθμίσεις πρέπει να γίνουν μικρότερες με το χρόνο. Στο контέκστ της κατηφόρας κλίσης προς ένα σημείο με το μικρότερο λάθος, η κλίση είναι ένας διανυσματικός/οδηγίες που μας λένε την κατεύθυνση που πρέπει να πάρουμε και πόσο μεγάλες должны να είναι τα βήματά μας.
Τώρα που γνωρίζουμε ότι οι κλίσεις είναι οδηγίες που μας λένε την κατεύθυνση που πρέπει να πάρουμε (ποια συντελεστές πρέπει να ενημερωθούν) και πόσο μεγάλες πρέπει να είναι τα βήματά μας (πόσο πρέπει να ενημερωθούν οι συντελεστές), μπορούμε να εξερευνήσουμε πώς υπολογίζεται η κλίση.
Υπολογισμός Κλίσεων & Κατηφόρα Κλίση

Η κατηφόρα κλίση ξεκινά από ένα σημείο με υψηλό λάθος και μέσω πολλών επαναλήψεων, κάνει βήματα προς την κατεύθυνση του μικρότερου λάθους, με στόχο να βρει την βέλτιστη ρύθμιση των βαρών. Φωτογραφία: Роман Сузи via Wikimedia Commons, CCY BY SA 3.0 (https://commons.wikimedia.org/wiki/File:Gradient_descent_method.png)
Για να πραγματοποιήσουμε την κατηφόρα κλίση, πρέπει πρώτα να υπολογίσουμε τις κλίσεις. Για να υπολογίσουμε την κλίση, πρέπει να γνωρίζουμε τη συνάρτηση λάθους/κόστους. Θα χρησιμοποιήσουμε τη συνάρτηση κόστους για να καθορίσουμε την παράγωγο. Στη λογιστική, η παράγωγο αναφέρεται στη κλίση μιας συνάρτησης σε ένα δεδομένο σημείο, οπότε βασικά υπολογίζουμε την κλίση του λόφου με βάση τη συνάρτηση λάθους. Καθορίζουμε το λάθος εκτελώντας τους συντελεστές μέσω της συνάρτησης λάθους. Αν αναπαραστήσουμε τη συνάρτηση λάθους ως “f”, τότε μπορούμε να πούμε ότι η εξίσωση για τον υπολογισμό του λάθους είναι η εξής (εκτελούμε τους συντελεστές μέσω της επιλεγμένης συνάρτησης κόστους):
Λάθος = f(συντελεστής)
Στη συνέχεια, υπολογίζουμε την παράγωγο, ή καθορίζουμε την κλίση. Η λήψη της παραγώγου του λάθους θα μας πει ποια κατεύθυνση είναι προς τα κάτω της κλίσης, δίνοντάς μας το κατάλληλο σημάδι για να ρυθμίσουμε τους συντελεστές μας. Θα αναπαραστήσουμε την κατάλληλη κατεύθυνση ως “δέλτα”.
δέλτα = παράγωγο_συνάρτηση(λάθος)
Τώρα έχουμε καθορίσει ποια κατεύθυνση είναι προς τα κάτω της κλίσης προς το σημείο με το μικρότερο λάθος. Αυτό σημαίνει ότι μπορούμε να ενημερώσουμε τους συντελεστές στο νευρωνικό δίκτυο και να μειώσουμε το λάθος. Θα ενημερώσουμε τους συντελεστές με βάση τους προηγούμενους συντελεστές minus την κατάλληλη αλλαγή της τιμής, όπως καθορίζεται από την κατεύθυνση (δέλτα) και einen παράμετρο που ελέγχει το μέγεθος της αλλαγής (το μέγεθος του βήματός μας). Ο παράμετρος που ελέγχει το μέγεθος της ενημέρωσης ονομάζεται “ποσοστό μάθησης” και θα τον αναπαραστήσουμε ως “άλφα”.
συντελεστής = συντελεστής – (άλφα * δέλτα)
Στη συνέχεια, απλώς επαναλαμβάνουμε αυτή τη διαδικασία μέχρι το δίκτυο να συγκλίνει γύρω από το σημείο με το μικρότερο λάθος, το οποίο πρέπει να είναι κοντά στο μηδέν.
Είναι πολύ σημαντικό να επιλέξουμε την σωστή τιμή για το ποσοστό μάθησης (άλφα). Η επιλεγμένη τιμή πρέπει να μην είναι quá μικρή ούτε quá μεγάλη. Θυμάστε ότι καθώς προσεγγίζουμε το σημείο με το μικρότερο λάθος, τα βήματά μας πρέπει να γίνουν μικρότερα, ή αλλιώς θα μπορούσαμε να ξεπεράσουμε το πραγματικό σημείο με το μικρότερο λάθος και να βρεθούμε στην άλλη πλευρά. Το σημείο με το μικρότερο λάθος είναι μικρό και αν η ταχύτητα αλλαγής είναι quá μεγάλη, το λάθος μπορεί να αυξηθεί ξανά. Αν τα μεγέθη των βημάτων είναι quá μεγάλα, η απόδοση του δικτύου θα συνεχίσει να κινείται γύρω από το σημείο με το μικρότερο λάθος, ξεπερνώντας το από την μια πλευρά και μετά από την άλλη. Αν συμβεί αυτό, το δίκτυο δεν θα συγκλίνει ποτέ στην πραγματική βέλτιστη ρύθμιση των βαρών.
Αντίθετα, αν το ποσοστό μάθησης είναι quá μικρό, το δίκτυο μπορεί να χρειαστεί ένα εξαιρετικά μεγάλο χρονικό διάστημα για να συγκλίνει στις βέλτιστες τιμές των βαρών.
Τύποι Κατηφόρας Κλίσης
Τώρα που κατανοούμε πώς λειτουργεί η κατηφόρα κλίση γενικά, ας δούμε μερικούς από τους διαφορετικούς τύπους κατηφόρας κλίσης.
Κατηφόρα Κλίση Μπατς: Αυτός ο τύπος κατηφόρας κλίσης εκτελεί όλες τις δειγματοληψίες εκπαίδευσης πριν ενημερώσει τους συντελεστές. Αυτός ο τύπος κατηφόρας κλίσης είναι πιθανό να είναι ο più υπολογιστικά αποτελεσματικός τύπος κατηφόρας κλίσης, поскольку τα βάρη ενημερώνονται μόνο μία φορά που έχει επεξεργαστεί ολόκληρη η μπατς, που σημαίνει ότι υπάρχουν λιγότερες ενημερώσεις συνολικά. Ωστόσο, αν το σύνολο δεδομένων περιέχει ένα μεγάλο αριθμό δειγματοληψιών εκπαίδευσης, τότε η κατηφόρα κλίση μπατς μπορεί να κάνει την εκπαίδευση να διαρκέσει πολύ καιρό.
Τυχαία Κατηφόρα Κλίση: Στη τυχαία κατηφόρα κλίση, μόνο ένα δείγμα εκπαίδευσης επεξεργάζεται για κάθε επανάληψη της κατηφόρας κλίσης και ενημέρωσης παραμέτρων. Αυτό συμβαίνει για κάθε δείγμα εκπαίδευσης. Επειδή μόνο ένα δείγμα εκπαίδευσης επεξεργάζεται πριν ενημερωθούν οι παράμετροι, έχει την τάση να συγκλίνει γρήγορα hơn από την κατηφόρα κλίση μπατς, поскольку οι ενημερώσεις γίνονται συντομότερα. Ωστόσο, επειδή η διαδικασία πρέπει να εκτελεστεί σε κάθε στοιχείο του συνόλου εκπαίδευσης, μπορεί να πάρει πολύ καιρό για να ολοκληρωθεί αν το σύνολο δεδομένων είναι μεγάλο, και έτσι η χρήση ενός από τους άλλους τύπους κατηφόρας κλίσης είναι προτιμότερη.
Κατηφόρα Κλίση Μίνι-Μπατς: Η κατηφόρα κλίση μίνι-μπατς λειτουργεί διαχωρίζοντας το ολόκληρο σύνολο δεδομένων σε υπο-ενότητες. Δημιουργεί μικρότερες μίνι-μπατς που εκτελούνται μέσω του δικτύου, και όταν η μίνι-μπατς έχει χρησιμοποιηθεί για να υπολογίσει το λάθος, οι συντελεστές ενημερώνονται. Η κατηφόρα κλίση μίνι-μπατς βρίσκει ένα μέσο όρο μεταξύ της τυχαίας κατηφόρας κλίσης και της κατηφόρας κλίσης μπατς. Το μοντέλο ενημερώνεται πιο συχνά από ότι στην περίπτωση της κατηφόρας κλίσης μπατς, που σημαίνει μια slightly ταχύτερη και πιο robust συγκλίση στις βέλτιστες παραμέτρους του μοντέλου. Είναι επίσης πιο υπολογιστικά αποτελεσματική από την τυχαία κατηφόρα κλίση












