Εισαγωγή
Φανταστείτε ότι έχουμε μια συνάρτηση και θα θέλαμε να βρούμε το ελάχιστο της. Τι θα έκανες ;
Απλό σωστά; Χρειάζεται μόνο να λύσουμε την ακόλουθη εξίσωση:
Το θέμα είναι ότι η εύρεση της φόρμουλας του δεν είναι πάντα εύκολη καθώς τείνουν να είναι εξαιρετικά περίπλοκες ειδικά στη βαθιά εκμάθηση όπου έχουμε να κάνουμε με πολύπλοκες συναρτήσεις. Πρέπει λοιπόν να βρούμε μια άλλη μέθοδο που μπορεί να μας παρέχει το ελάχιστο μιας συνάρτησης χωρίς να χρειάζεται να βρούμε τον τύπο της παραγώγου .
Ας χτίσουμε λίγη διαίσθηση
Ας υποθέσουμε ότι έχουμε μια συνάρτηση f με το αντίστοιχο γράφημα:
Ας ξεκινήσουμε με ένα τυχαίο σημείο . Ο στόχος είναι να μετακινήσετε αυτό το σημείο και να το κάνετε όλο και πιο κοντά στο έτσι ώστε x*. Το πρόβλημα λοιπόν μπορεί να χωριστεί σε δύο μέρη:
-
Προς ποια κατεύθυνση πρέπει να μετακινήσουμε το σημείο ; Αριστερά ή δεξιά ;
-
Πόσο να το μετακινήσουμε;
Η κατεύθυνση
Ας δημιουργήσουμε λίγη διαίσθηση για να απαντήσουμε στην πρώτη ερώτηση. Ρίξτε μια ματιά στο παρακάτω σημείο:
Σημειώστε ότι:
-
όταν το σημείο βρίσκεται στα δεξιά του βέλτιστου σημείου , η εφαπτομένη του ανεβαίνει.
-
όταν το σημείο βρίσκεται στα δεξιά του βέλτιστου σημείου , η εφαπτομένη του κατεβαίνει.
Η κατεύθυνση μιας γραμμής καθορίζεται από το πρόσημο της κλίσης της:
-
Μια γραμμή ανεβαίνει η κλίση είναι θετική.
-
Μια γραμμή κατεβαίνει η κλίση είναι αρνητική.
Σημειώστε ότι: \
Η κλίση της εφαπτομένης μιας συνάρτησης σε ένα ορισμένο σημείο δεν είναι μεγαλύτερη από την παράγωγο σε αυτό το σημείο :
Ως απάντηση λοιπόν στην ερώτηση "Πού πρέπει να μετακινήσουμε ?":
-
στα δεξιά του Πρέπει να μετακινήσουμε το προς τα αριστερά.
-
στα αριστερά του Πρέπει να μετακινήσουμε το προς τα δεξιά.
Τα βήματα
Τώρα για τη δεύτερη ερώτηση, Πόσο πρέπει να μετακινήσουμε ?
Ρίξτε μια ματιά στα ακόλουθα παραδείγματα:
Μπορούμε να συμπεράνουμε ότι:
-
είναι κοντά στο => Η κλίση της εφαπτομένης είναι μικρή => η είναι μικρή.
-
Η απέχει από την => Η κλίση της εφαπτομένης είναι μεγάλη => η είναι μεγάλη.
Απαντώντας και στις δύο ερωτήσεις, καταλήξαμε στο συμπέρασμα ότι μόνο η γνώση της παραγώγου στο σημείο μπορεί να μας δώσει πολλές πληροφορίες σχετικά με την κατεύθυνση και την απόσταση του βέλτιστου σημείου .
Κλίση κατάβασης
Το Gradient descent είναι η διατύπωση των απαντήσεων των δύο προηγούμενων ερωτήσεων. Είναι ένας επαναληπτικός αλγόριθμος βελτιστοποίησης που προσεγγίζει το ελάχιστο της συνάρτησης ξεκινώντας από ένα τυχαίο αρχικό σημείο . Ο αλγόριθμος δηλώνεται ως εξής:
που:
-
δεν είναι περισσότερο από την παράγωγο του στο σημείο .
-
Το είναι μια θετική σταθερά που καθορίζει πόσο μεγάλα θα είναι τα βήματα.
Σημειώσε ότι:
-
Το βρίσκεται στα δεξιά του => => => μετακινείται προς τα αριστερά.
-
Το βρίσκεται στα αριστερά του => => => μετακινείται προς τα δεξιά.
-
κοντά στο => κοντά στο => Μικρή ενημέρωση σε .
Κουίζ
-
Πότε σταματά η επανάληψη της κλίσης κατάβασης:
-
Όταν το είναι αρκετά μικρό.
-
Όταν το είναι κοντά στο .
-
Όταν . XXX
-
Πώς επιλέγουμε :
-
Το επιλέγουμε τυχαία. XXX
-
Το παίρνουμε στη γειτονιά των .
-
Εξαρτάται από το πρόβλημα.
-
Γιατί χρειαζόμαστε κλίση κατάβασης:
-
Επειδή οι υπολογιστές δεν είναι αρκετά ισχυροί για τον υπολογισμό των παραγώγων.
-
Επειδή είναι εξαιρετικά δύσκολο να βρείτε τους τύπους παραγώγων των μοντέλων βαθιάς μάθησης. XXX
-
Επειδή οι συναρτήσεις έχουν περισσότερα από ένα τοπικά ελάχιστα.