τα στοιχεία επικοινωνίας μου
Ταχυδρομείο[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Η στοχαστική βελτιστοποίηση είναι ένα ζωτικό συστατικό της μηχανικής μάθησης και στον πυρήνα της βρίσκεται ο αλγόριθμος στοχαστικής διαβάθμισης (SGD), μια μέθοδος που έχει χρησιμοποιηθεί ευρέως από τότε που προτάθηκε για πρώτη φορά πριν από περισσότερα από 60 χρόνια. Τα τελευταία οκτώ χρόνια, γίναμε μάρτυρες μιας συναρπαστικής νέας εξέλιξης: τεχνικές μείωσης διασποράς για μεθόδους στοχαστικής βελτιστοποίησης. Αυτές οι μέθοδοι μείωσης της διακύμανσης (μέθοδοι VR) έχουν καλή απόδοση σε σενάρια που επιτρέπουν πολλαπλές επαναλήψεις των δεδομένων εκπαίδευσης, παρουσιάζοντας ταχύτερη σύγκλιση από το SGD, τόσο στη θεωρία όσο και στην πράξη. Αυτή η αύξηση της ταχύτητας υπογραμμίζει το αυξανόμενο ενδιαφέρον για τις μεθόδους VR και το ταχέως συσσωρευμένο ερευνητικό αποτέλεσμα σε αυτόν τον τομέα. Αυτό το άρθρο εξετάζει βασικές αρχές και σημαντικές προόδους στις μεθόδους VR για βελτιστοποίηση περιορισμένων συνόλων δεδομένων, με στόχο να ενημερώσει τους μη ειδικούς αναγνώστες. Εστιάζουμε κυρίως σε κυρτά περιβάλλοντα βελτιστοποίησης και παρέχουμε μια αναφορά σε αναγνώστες που ενδιαφέρονται για επεκτάσεις ελαχιστοποίησης μη κυρτών συναρτήσεων.
Λέξεις κλειδιά Μείωση διακύμανσης
Στον τομέα της έρευνας μηχανικής μάθησης, ένα βασικό και σημαντικό ζήτημα είναι ο τρόπος προσαρμογής του μοντέλου σε ένα τεράστιο σύνολο δεδομένων. Για παράδειγμα, μπορούμε να εξετάσουμε την τυπική περίπτωση ενός γραμμικού μοντέλου ελαχίστων τετραγώνων:
x ∗ ∈ arg min x ∈ R d 1 n ∑ i = 1 n ( ai T x − bi ) 2 x^* σε argmin_{x σε mathbb{R}^d} frac{1}{n} sum_{ i=1}^{n} (a_i^T x - b_i)^2Χ∗∈αρσολΧ∈Rρεελάχn1Εγώ=1∑n(έναΕγώΤΧ−σιΕγώ)2
Σε αυτό το μοντέλο έχουμε δδρε παραμέτρους, οι οποίες αντιπροσωπεύονται από διανύσματα x ∈ R dx στο mathbb{R}^dΧ∈Rρε δεδομένος.Στο μεταξύ, έχουμε σε ετοιμότητα nnn σημεία δεδομένων, συμπεριλαμβανομένων των διανυσμάτων χαρακτηριστικών ai ∈ R d a_i στο mathbb{R}^dέναΕγώ∈Rρε και την τιμή στόχο bi ∈ R b_i στο mathbb{R}σιΕγώ∈R .Η διαδικασία προσαρμογής του μοντέλου είναι να προσαρμόσει αυτές τις παραμέτρους έτσι ώστε το προβλεπόμενο αποτέλεσμα του μοντέλου ai T x a_i^T xέναΕγώΤΧ κατά μέσο όρο όσο το δυνατόν πιο κοντά στην τιμή στόχο bi b_iσιΕγώ。
Γενικότερα, μπορεί να χρησιμοποιήσουμε μια συνάρτηση απώλειας fi ( x ) f_i(x)φάΕγώ(Χ) Για να μετρήσετε τις προβλέψεις του μοντέλου και το iiΕγώ Πόσο κοντά είναι τα σημεία δεδομένων:
x ∗ ∈ arg min x ∈ R df ( x ) : = 1 n ∑ i = 1 nfi ( x ) x^* σε argmin_{x σε mathbb{R}^d} f(x) := frac{1 }{n} sum_{i=1}^{n} f_i(x)Χ∗∈αρσολΧ∈Rρεελάχφά(Χ):=n1Εγώ=1∑nφάΕγώ(Χ)
λειτουργία απώλειας fi ( x ) f_i(x)φάΕγώ(Χ) Εάν είναι μεγαλύτερο, υποδηλώνει ότι οι προβλέψεις του μοντέλου αποκλίνουν πολύ από τα δεδομένα εάν fi ( x ) f_i(x)φάΕγώ(Χ) Ίσο με μηδέν, το μοντέλο ταιριάζει απόλυτα στα σημεία δεδομένων.λειτουργία f ( x ) f(x)φά(Χ) Αντικατοπτρίζει τη μέση απώλεια του μοντέλου σε ολόκληρο το σύνολο δεδομένων.
Προβλήματα όπως η φόρμα (2) παραπάνω ισχύουν όχι μόνο για προβλήματα γραμμικών ελαχίστων τετραγώνων, αλλά και σε πολλά άλλα μοντέλα που μελετώνται στη μηχανική μάθηση. Για παράδειγμα, σε ένα μοντέλο λογιστικής παλινδρόμησης λύνουμε για:
x ∗ ∈ arg min x ∈ R d 1 n ∑ i = 1 n log ( 1 + e − biai T x ) + λ 2 ∥ x ∥ 2 2 x^* σε argmin_{x σε mathbb{R} d} frac{1}{n} sum_{i=1}^{n} log(1 + e^{-b_i a_i^T x}) + frac{lambda}{2} |x|_2^2Χ∗∈αρσολΧ∈Rρεελάχn1Εγώ=1∑nιδούσολ(1+μι−σιΕγώέναΕγώΤΧ)+2λ∥Χ∥22
Εδώ, έχουμε να κάνουμε με bi ∈ { − 1 , + 1 } b_i σε {-1, +1}σιΕγώ∈{−1,+1} Για ένα πρόβλημα δυαδικής ταξινόμησης, η πρόβλεψη βασίζεται σε ai T x a_i^T xέναΕγώΤΧ σύμβολα.Ένας όρος τακτοποίησης εισάγεται επίσης στον τύπο λ 2 ∥ x ∥ 2 2 frac{lambda}{2} |x|_2^22λ∥Χ∥22 για να αποφευχθεί η υπερβολική προσαρμογή των δεδομένων, όπου ∥ x ∥ 2 2 |x|_2^2∥Χ∥22 εξπρές xxΧ Το τετράγωνο της Ευκλείδειας νόρμας του .
Στα περισσότερα εποπτευόμενα μοντέλα μάθησης, η διαδικασία εκπαίδευσης μπορεί να εκφραστεί ως μορφή (2), συμπεριλαμβανομένων των κανονικοποιημένων ελαχίστων τετραγώνων L1, της μηχανής διανυσμάτων υποστήριξης (SVM), της ανάλυσης κύριων συστατικών, των τυχαίων πεδίων υπό όρους και των βαθιών νευρωνικών δικτύων κ.λπ.
Μια βασική πρόκληση στις σύγχρονες περιπτώσεις προβλημάτων είναι ο αριθμός των σημείων δεδομένων nnn Πιθανώς εξαιρετικά μεγάλο. Συχνά ασχολούμαστε με σύνολα δεδομένων που ξεπερνούν κατά πολύ το εύρος των terabyte και μπορούν να προέρχονται από διαφορετικές πηγές όπως το Διαδίκτυο, οι δορυφόροι, οι απομακρυσμένοι αισθητήρες, οι χρηματοοικονομικές αγορές και τα επιστημονικά πειράματα. Για να αντιμετωπίσουμε τόσο μεγάλα σύνολα δεδομένων, μια κοινή προσέγγιση είναι η χρήση του αλγόριθμου στοχαστικής διαβάθμισης (SGD), ο οποίος χρησιμοποιεί μόνο έναν μικρό αριθμό τυχαία επιλεγμένων σημείων δεδομένων σε κάθε επανάληψη. Επιπλέον, υπήρξε μια απότομη αύξηση πρόσφατα στο ενδιαφέρον για τις μεθόδους στοχαστικής κλίσης μείωσης διακύμανσης (VR), οι οποίες έχουν ταχύτερους ρυθμούς σύγκλισης από τις παραδοσιακές μεθόδους στοχαστικής κλίσης.
Σχήμα 1. Σχετικά με το πρόβλημα λογιστικής παλινδρόμησης που βασίζεται στο σύνολο δεδομένων των μανιταριών [7], η μέθοδος gradient descent (GD), accelerated gradient descent (AGD, accelerated GD in [50]), στοχαστική κλίση κάθοδος (SGD) και ADAM [30] σε σύγκριση με τις μεθόδους μείωσης διακύμανσης (VR) SAG και SVRG, όπου n = 8124, d = 112.
Το Gradient descent (GD) είναι ένας κλασικός αλγόριθμος που χρησιμοποιείται για την επίλυση του παραπάνω προβλήματος (2) και ο επαναληπτικός τύπος ενημέρωσης είναι ο ακόλουθος:
xk + 1 = xk − γ 1 n ∑ i = 1 n ∇ fi ( xk ) x_{k+1} = x_k - frac γάμμα{1}{n} sum_{i=1}^{n} nabla f_i(x_k )Χκ+1=Χκ−γn1Εγώ=1∑n∇φάΕγώ(Χκ)
εδώ, γ γάμμαγ είναι μια σταθερή τιμή βήματος μεγαλύτερη από το μηδέν.Κατά τη διάρκεια κάθε επανάληψης του αλγορίθμου GD, κάθε σημείο δεδομένων πρέπει να είναι iiΕγώ Υπολογίστε την κλίση ∇ fi ( xk ) nabla f_i(x_k)∇φάΕγώ(Χκ), που σημαίνει ότι το GD απαιτεί όλα nnn εκτελέστε μια πλήρη διέλευση σημείων δεδομένων.Όταν το μέγεθος του συνόλου δεδομένων nnn Όταν γίνεται πολύ μεγάλο, το κόστος κάθε επανάληψης του αλγορίθμου GD γίνεται πολύ υψηλό, περιορίζοντας έτσι την εφαρμογή του.
Ως εναλλακτική, μπορούμε να εξετάσουμε τη μέθοδο στοχαστικής κλίσης κατάβασης (SGD), η οποία προτάθηκε για πρώτη φορά από τους Robbins και Monro και ο επαναληπτικός τύπος ενημέρωσης είναι ο ακόλουθος:
xk + 1 = xk − γ ∇ fik ( xk ) x_{k+1} = x_k - gamma nabla f_{i_k}(x_k)Χκ+1=Χκ−γ∇φάΕγώκ(Χκ)
Ο αλγόριθμος SGD λειτουργεί χρησιμοποιώντας μόνο τη διαβάθμιση ενός τυχαία επιλεγμένου σημείου δεδομένων σε κάθε επανάληψη. ∇ fik ( xk ) nabla f_{i_k}(x_k)∇φάΕγώκ(Χκ) για να μειώσετε το κόστος κάθε επανάληψης. Στο Σχήμα 1, μπορούμε να δούμε ότι το SGD επιτυγχάνει πιο σημαντική πρόοδο από το GD (συμπεριλαμβανομένων των μεθόδων επιταχυνόμενης GD) στα αρχικά στάδια της διαδικασίας βελτιστοποίησης.Το γράφημα δείχνει την πρόοδο της βελτιστοποίησης ως προς τις εποχές, οι οποίες ορίζονται ως ο υπολογισμός όλων nnn Ο αριθμός των κλίσεων για τα δείγματα εκπαίδευσης. Ο αλγόριθμος GD εκτελεί μία επανάληψη σε κάθε γύρο, ενώ ο αλγόριθμος SGD εκτελεί μία επανάληψη σε κάθε γύρο nnn επαναλήψεις.Χρησιμοποιούμε γύρους ως βάση για τη σύγκριση των SGD και GD, επειδή υπό την υπόθεση nnn Σε πολύ μεγάλες περιπτώσεις, το κύριο κόστος και των δύο μεθόδων συγκεντρώνεται στην κλίση ∇ fi ( xk ) nabla f_i(x_k)∇φάΕγώ(Χκ) υπολογισμός.
Ας εξετάσουμε την τυχαία ευρετηρίαση ik i_kΕγώκ από τη συλλογή { 1 , … , n } {1, ldots, n}{1,…,n} Στην περίπτωση της ομοιόμορφης τυχαίας επιλογής, αυτό σημαίνει ότι για όλους iiΕγώ,επιλέγω ik = i i_k = iΕγώκ=Εγώ Η πιθανότητα P [ ik = i ] P[i_k = i]Π[Εγώκ=Εγώ] ίσος 1 n frac{1}{n}n1 . σε αυτήν την περίπτωση, ∇ fik ( xk ) nabla f_{i_k}(x_k)∇φάΕγώκ(Χκ) όπως και ∇ f ( xk ) nabla f(x_k)∇φά(Χκ) Ο εκτιμητής είναι αμερόληπτος επειδή, με τον ορισμό της προσδοκίας, έχουμε:
E [ ∇ fik ( xk ) ∣ xk ] = 1 n ∑ i = 1 n ∇ fi ( xk ) = ∇ f ( xk ) ( 6 ) E[nabla f_{i_k}(x_k) | x_k] = frac{1}{n} sum_{i=1}^{n} nabla f_i(x_k) = nabla f(x_k) quad (6)μι[∇φάΕγώκ(Χκ)∣Χκ]=n1Εγώ=1∑n∇φάΕγώ(Χκ)=∇φά(Χκ)(6)
Αν και η μέθοδος SGD (Stochastic Gradient Descent) δεν εγγυάται τη συνάρτηση σε κάθε επανάληψη ffφά Η τιμή του θα μειώνεται, αλλά κατά μέσο όρο κινείται προς την αρνητική πλήρη κλίση, η οποία αντιπροσωπεύει την καθοδική κατεύθυνση.
Ωστόσο, η ύπαρξη ενός αμερόληπτου εκτιμητή κλίσης δεν αρκεί για να διασφαλιστεί η σύγκλιση των επαναλήψεων SGD. Για να επεξηγήσει αυτό το σημείο, το σχήμα 2 (αριστερά) δείχνει την επαναληπτική τροχιά του SGD κατά την εφαρμογή μιας συνάρτησης λογιστικής παλινδρόμησης χρησιμοποιώντας ένα σταθερό μέγεθος βήματος στο σύνολο δεδομένων τεσσάρων κατηγοριών που παρέχεται από το LIBSVM [7].Οι ομόκεντρες ελλείψεις στο σχήμα αντιπροσωπεύουν τα περιγράμματα της συνάρτησης, δηλαδή την τιμή της συνάρτησης f ( x) = cf(x) = cφά(Χ)=ντο αντίστοιχο σημείο xxΧ μαζεύω, ccντο είναι μια συγκεκριμένη σταθερά στο σύνολο των πραγματικών αριθμών.διαφορετικές σταθερές τιμές ccντο Αντιστοιχεί σε διαφορετικές ελλείψεις.
Η επαναληπτική τροχιά του SGD δεν συγκλίνει στη βέλτιστη λύση (που υποδεικνύεται από έναν πράσινο αστερίσκο στο σχήμα), αλλά σχηματίζει ένα σύννεφο σημείου γύρω από τη βέλτιστη λύση. Αντίθετα, δείχνουμε στο σχήμα 2 την επαναληπτική τροχιά μιας μεθόδου μείωσης διακύμανσης (VR), στοχαστική μέση κλίση (SAG), χρησιμοποιώντας το ίδιο σταθερό μέγεθος βήματος, το οποίο θα παρουσιάσουμε αργότερα. Ο λόγος που το SGD αποτυγχάνει να συγκλίνει σε αυτό το παράδειγμα είναι ότι η ίδια η στοχαστική κλίση δεν συγκλίνει στο μηδέν, και επομένως, η μέθοδος SGD σταθερού βήματος (5) δεν σταματά ποτέ.Αυτό έρχεται σε έντονη αντίθεση με τις μεθόδους gradient descent (GD), οι οποίες φυσικά σταματούν ως xk x_kΧκ Προσεγγίσεις x∗ x^*Χ∗,βαθμίδα ∇ f ( xk ) nabla f(x_k)∇φά(Χκ) θα τείνει στο μηδέν.
Σχήμα 2. Διαγράμματα συνόλου επιπέδων για δισδιάστατη λογιστική παλινδρόμηση χρησιμοποιώντας επαναληπτικές μεθόδους SGD σταθερού βήματος (αριστερά) και SAG (δεξιά). Ο πράσινος αστερίσκος δείχνει xλύνω.
επεξεργασία λόγω ∇ fi ( xk ) nabla f_i(x_k)∇φάΕγώ(Χκ) Υπάρχουν αρκετές κλασικές τεχνικές για προβλήματα μη σύγκλισης που προκαλούνται από τη διακύμανση των τιμών.Για παράδειγμα, οι Robbins και Monro [64] χρησιμοποιούν μια σειρά από φθίνοντα βήματα γ k gamma_kγκ για την επίλυση του προβλήματος της διακύμανσης, διασφαλίζοντας ότι το προϊόν γ k ∇ fik ( xk ) gamma_k nabla f_{i_k}(x_k)γκ∇φάΕγώκ(Χκ) μπορεί να συγκλίνει στο μηδέν. Ωστόσο, η προσαρμογή αυτής της ακολουθίας βημάτων μείωσης για να αποφευχθεί η διακοπή του αλγορίθμου πολύ νωρίς ή πολύ αργά είναι ένα δύσκολο πρόβλημα.
Μια άλλη κλασική τεχνική για τη μείωση της διακύμανσης είναι η χρήση πολλαπλών ∇ fi ( xk ) nabla f_i(x_k)∇φάΕγώ(Χκ) μέσο όρο για να αποκτήσετε την πλήρη κλίση ∇ f ( x ) nabla f(x)∇φά(Χ) ακριβέστερη εκτίμηση. Αυτή η προσέγγιση ονομάζεται minibatch και είναι ιδιαίτερα χρήσιμη όταν πολλαπλές κλίσεις μπορούν να αξιολογηθούν παράλληλα. Αυτό έχει ως αποτέλεσμα μια επανάληψη της φόρμας:
xk + 1 = xk − γ 1 ∣ B k ∣ ∑ i ∈ B k ∇ fi ( xk ) ( 7 ) x_{k+1} = x_k - frac γάμμα{1}{|B_k|} sum_{i σε B_k} nabla f_i(x_k) quad (7)Χκ+1=Χκ−γ∣σικ∣1Εγώ∈σικ∑∇φάΕγώ(Χκ)(7)
σε Β κ Β_κσικ είναι ένα τυχαίο σύνολο δεικτών, ∣ B k ∣ |B_k|∣σικ∣ εξπρές Β κ Β_κσικ το μέγεθος του.αν Β κ Β_κσικ Ομοιόμορφη δειγματοληψία με αντικατάσταση, τότε η διακύμανση αυτής της εκτίμησης κλίσης σχετίζεται με το "μέγεθος παρτίδας" ∣ B k ∣ |B_k|∣σικ∣ είναι αντιστρόφως ανάλογη, επομένως η διακύμανση μπορεί να μειωθεί αυξάνοντας το μέγεθος της παρτίδας.
Ωστόσο, το κόστος τέτοιων επαναλήψεων είναι ανάλογο με το μέγεθος της παρτίδας, επομένως αυτή η μορφή μείωσης της διακύμανσης έχει κόστος αυξημένου υπολογιστικού κόστους.
Μια άλλη κοινή στρατηγική για τη μείωση της διακύμανσης και τη βελτίωση της εμπειρικής απόδοσης του SGD είναι η προσθήκη "ορμής", ένας επιπλέον όρος που βασίζεται στην κατεύθυνση που χρησιμοποιήθηκε σε προηγούμενα βήματα. Ειδικότερα, η μορφή του SGD με ορμή έχει ως εξής:
xk + 1 = xk − γ mk ( 9 ) x_{k+1} = x_k - γάμμα m_k τετραπλό (9)Χκ+1=Χκ−γΜκ(9)
όπου η παράμετρος ορμής β βήταβ Βρίσκεται στην περιοχή (0, 1).Αν η αρχική ορμή m 0 = 0 m_0 = 0Μ0=0, και επέκταση σε (8) mk m_kΜκ Για ενημερώσεις, λαμβάνουμε mk m_kΜκ είναι ο σταθμισμένος μέσος όρος των προηγούμενων κλίσεων:
mk = ∑ t = 0 k β k − t ∇ fit ( xt ) ( 10 ) m_k = sum_{t=0}^{k} beta^{kt} nabla f_{i_t}(x_t) quad (10)Μκ=t=0∑κβκ−t∇φάΕγώt(Χt)(10)
επομένως, mk m_kΜκ είναι το σταθμισμένο άθροισμα των στοχαστικών κλίσεων.επειδή ∑ t = 0 k β k − t = 1 − β k + 1 1 − β sum_{t=0}^{k} beta^{kt} = frac{1 - βήτα^{k+1}}{1 - βήτα}∑t=0κβκ−t=1−β1−βκ+1, μπορούμε να μετατρέψουμε 1 − β 1 − β kmk frac{1 - beta}{1 - beta^k} m_k1−βκ1−βΜκ Θεωρείται ως σταθμικός μέσος όρος στοχαστικών κλίσεων.Αν το συγκρίνουμε με την έκφραση για την πλήρη κλίση ∇ f ( xk ) = 1 n ∑ i = 1 n ∇ fi ( xk ) nabla f(x_k) = frac{1}{n} sum_{i=1}^{n} nabla f_i(x_k)∇φά(Χκ)=n1∑Εγώ=1n∇φάΕγώ(Χκ) Για να συγκρίνουμε, μπορούμε 1 − β 1 − β kmk frac{1 - beta}{1 - beta^k} m_k1−βκ1−βΜκ(καθώς mk m_kΜκ ) ερμηνεύεται ως εκτίμηση της πλήρους κλίσης. Αν και αυτό το σταθμισμένο άθροισμα μειώνει τη διακύμανση, εγείρει επίσης βασικά ζητήματα.Εφόσον το σταθμισμένο άθροισμα (10) δίνει μεγαλύτερη βαρύτητα στις πρόσφατες κλίσεις του δείγματος, δεν θα συγκλίνει στην πλήρη κλίση ∇ f ( xk ) nabla f(x_k)∇φά(Χκ) , το τελευταίο είναι ένας απλός μέσος όρος. Η πρώτη μέθοδος μείωσης της διακύμανσης που θα δούμε στην Ενότητα ΙΙ-Α λύνει αυτό το πρόβλημα χρησιμοποιώντας έναν απλό μέσο όρο αντί για οποιοδήποτε σταθμισμένο μέσο όρο.
Σε αντίθεση με τις κλασικές μεθόδους, χρησιμοποιούν απευθείας μία ή περισσότερες ∇ fi ( xk ) nabla f_i(x_k)∇φάΕγώ(Χκ) όπως και ∇ f ( xk ) nabla f(x_k)∇φά(Χκ) Κατά προσέγγιση, οι σύγχρονες μέθοδοι μείωσης διασποράς (VR) χρησιμοποιούν διαφορετική στρατηγική.Αυτές οι μέθοδοι χρησιμοποιούν ∇ fi ( xk ) nabla f_i(x_k)∇φάΕγώ(Χκ) για να ενημερώσετε την εκτίμηση κλίσης gk g_kσολκ, στόχος του οποίου είναι να κάνει gk g_kσολκ πλησιάζοντας ∇ f ( xk ) nabla f(x_k)∇φά(Χκ) .Συγκεκριμένα ελπίζουμε gk g_kσολκ ικανός να ικανοποιήσει gk ≈ ∇ f ( xk ) g_k περίπου nabla f(x_k)σολκ≈∇φά(Χκ) . Με βάση τέτοιες εκτιμήσεις κλίσης, εκτελούμε στη συνέχεια ένα κατά προσέγγιση βήμα κλίσης της φόρμας:
xk + 1 = xk − γ gk ( 11 ) x_{k+1} = x_k - γάμμα g_k τετραπλό (11)Χκ+1=Χκ−γσολκ(11)
εδώ γ > 0 γάμα > 0γ>0 είναι η παράμετρος μεγέθους βήματος.
Για να διασφαλιστεί ότι χρησιμοποιείται σταθερό μέγεθος βήματος γ γάμμαγ Όταν η επανάληψη (11) μπορεί να συγκλίνει, πρέπει να διασφαλίσουμε ότι η εκτίμηση της κλίσης gk g_kσολκ Η διακύμανση τείνει στο μηδέν. Μαθηματικά, αυτό μπορεί να εκφραστεί ως:
E [ ∥ gk − ∇ f ( xk ) ∥ 2 ] → 0 ως k → ∞ ( 12 ) Eleft[ | g_k - nabla f(x_k) |^2 δεξιά] δεξιό βέλος 0 τετραπλό κείμενο{ως } k δεξιό βέλος infty quad (12)μι[∥σολκ−∇φά(Χκ)∥2]→0όπως καικ→∞(12)
προσδοκίες εδώ EEμι βασίζεται στον αλγόριθμο μέχρι το κκκ Όλες οι τυχαίες μεταβλητές υπολογίζονται για επαναλήψεις. Η ιδιότητα (12) διασφαλίζει ότι η μέθοδος VR μπορεί να σταματήσει όταν επιτευχθεί η βέλτιστη λύση. Θεωρούμε αυτή την ιδιότητα ως χαρακτηριστικό γνώρισμα της προσέγγισης VR και επομένως την αποκαλούμε ιδιότητα VR. Αξίζει να σημειωθεί ότι η έκφραση «μειωμένη» διακύμανση μπορεί να είναι παραπλανητική, γιατί στην πραγματικότητα η διακύμανση τείνει στο μηδέν. Η ιδιότητα (12) είναι ένας βασικός παράγοντας που επιτρέπει στις μεθόδους VR να επιτύχουν ταχύτερη σύγκλιση στη θεωρία (υπό κατάλληλες υποθέσεις) και στην πράξη (όπως φαίνεται στο Σχήμα 1).
Μια απλή μέθοδος βελτίωσης μπορεί να κάνει τον αναδρομικό τύπο SGD (5) να επιτύχει σύγκλιση χωρίς να μειώσει το μέγεθος του βήματος, δηλαδή να μεταφράσει κάθε κλίση Η συγκεκριμένη μέθοδος είναι η αφαίρεση ∇ fi ( x ∗ ) nabla f_i(x^*)∇φάΕγώ(Χ∗), αυτή η μέθοδος ορίζεται ως εξής:
xk + 1 = xk − γ ( ∇ fik ( xk ) − ∇ fik ( x ∗ ) ) ( 13 ) x_{k+1} = x_k - γάμμα (nabla f_{i_k}(x_k) - nabla f_{i_k}( x^*)) τετραπλό (13)Χκ+1=Χκ−γ(∇φάΕγώκ(Χκ)−∇φάΕγώκ(Χ∗))(13)
Αυτή η μέθοδος ονομάζεται SGD² [22].Αν και συνήθως δεν μπορούμε να γνωρίζουμε με βεβαιότητα κάθε ∇ fi ( x ∗ ) nabla f_i(x^*)∇φάΕγώ(Χ∗) , αλλά το SGD², για παράδειγμα, μπορεί να επεξηγήσει καλά τα βασικά χαρακτηριστικά της μεθόδου μείωσης της διακύμανσης.Επιπλέον, πολλές μέθοδοι μείωσης της διακύμανσης μπορούν να θεωρηθούν ως μια κατά προσέγγιση μορφή της μεθόδου SGD² αυτές οι μέθοδοι δεν βασίζονται στα γνωστά ∇ fi ( x ∗ ) nabla f_i(x^*)∇φάΕγώ(Χ∗), αλλά αντίθετα χρησιμοποιήστε μια μέθοδο που μπορεί να γίνει κατά προσέγγιση ∇ fi ( x ∗ ) nabla f_i(x^*)∇φάΕγώ(Χ∗) εκτιμώμενη αξία.
Αξίζει να σημειωθεί ότι το SGD² χρησιμοποιεί μια αμερόληπτη εκτίμηση της πλήρους κλίσης.επειδή ∇ f ( x ∗ ) = 0 nabla f(x^*) = 0∇φά(Χ∗)=0,ΦΑ:
E [ ∇ fik ( xk ) − ∇ fik ( x ∗ ) ] = ∇ f ( xk ) − ∇ f ( x ∗ ) = ∇ f ( xk ) E[nabla f_{i_k}(x_k) - nabla f_{i_k} (x^*)] = νάμπλα f(x_k) - νάμπλα f(x^*) = νάμπλα f(x_k)μι[∇φάΕγώκ(Χκ)−∇φάΕγώκ(Χ∗)]=∇φά(Χκ)−∇φά(Χ∗)=∇φά(Χκ)
Επιπλέον, όταν το SGD² φτάσει στη βέλτιστη λύση, φυσικά θα σταματήσει γιατί για οποιαδήποτε iiΕγώ,έχω:
( ∇ fi ( x ) − ∇ fi ( x ∗ ) ) ∣ x = x ∗ = 0 (nabla f_i(x) - nabla f_i(x^*)) big|_{x=x^*} = 0(∇φάΕγώ(Χ)−∇φάΕγώ(Χ∗))
Χ=Χ∗=0
Κατόπιν περαιτέρω παρατήρησης, με xk x_kΧκ κοντά x∗ x^*Χ∗(για συνεχόμενα ∇ fi nabla f_i∇φάΕγώ), το SGD² ικανοποιεί την ιδιότητα μείωσης διασποράς (12) επειδή:
E [ ∥ gk − ∇ f ( xk ) ∥ 2 ] = E [ ∥ ∇ fik ( xk ) − ∇ fik ( x ∗ ) − ∇ f ( xk ) ∥ 2 ] ≤ E [ ∥ ∇ fik ( x ∇) ( x ∗ ) ∥ 2 ] Eleft[ | g_k - nabla f(x_k) |^2 δεξιά] = \Αριστερά[ | nabla f_{i_k}(x_k) - nabla f_{i_k}(x^*) - nabla f(x_k) |^2 δεξιά] leq Eleft[ | nabla f_{i_k}(x_k) - nabla f_{i_k}(x^*) |^2 δεξιά]μι[∥σολκ−∇φά(Χκ)∥2]=μι[∥∇φάΕγώκ(Χκ)−∇φάΕγώκ(Χ∗)−∇φά(Χκ)∥2]≤μι[∥∇φάΕγώκ(Χκ)−∇φάΕγώκ(Χ∗)∥2]
Εδώ χρησιμοποιούμε Lemma 2, let X = ∇ fik ( xk ) − ∇ fik ( x ∗ ) X = nabla f_{i_k}(x_k) - nabla f_{i_k}(x^*)Χ=∇φάΕγώκ(Χκ)−∇φάΕγώκ(Χ∗), και εκμεταλλεύτηκε E [ ∇ fik ( xk ) − ∇ fik ( x ∗ ) ] = ∇ f ( xk ) E[nabla f_{i_k}(x_k) - nabla f_{i_k}(x^*)] = nabla f(x_k)μι[∇φάΕγώκ(Χκ)−∇φάΕγώκ(Χ∗)]=∇φά(Χκ) φύση. Αυτή η ιδιότητα υποδεικνύει ότι το SGD² έχει μεγαλύτερη ταχύτητα σύγκλισης από τις παραδοσιακές μεθόδους SGD, τις οποίες έχουμε αναλυτικά στο Παράρτημα Β.
Σε αυτήν την ενότητα θα εισαγάγουμε δύο τυπικές παραδοχές που χρησιμοποιούνται για την ανάλυση της μεθόδου μείωσης της διακύμανσης (VR) και θα συζητήσουμε το αποτέλεσμα επιτάχυνσης που μπορεί να επιτευχθεί με αυτές τις παραδοχές σε σύγκριση με την παραδοσιακή μέθοδο SGD. Πρώτον, υποθέτουμε ότι η κλίση έχει συνέχεια Lipschitz, που σημαίνει ότι ο ρυθμός μεταβολής της κλίσης είναι πεπερασμένος.
Υποθέτουμε ότι η συνάρτηση ffφάείναι διαφοροποιήσιμο και είναι LLμεγάλο- ομαλή, για όλους xxΧ και εεεy και κάποιος 0 < L < ∞ 0 < L < infty0<μεγάλο<∞,Οι παρακάτω προϋποθέσεις:
∥ ∇ f ( x) − ∇ f ( y ) ∥ ≤ L ∥ x − y ∥ ( 14 ) |nabla f(x) - nabla f(y)| leq L|x - y| τετράγωνο (14)∥∇φά(Χ)−∇φά(y)∥≤μεγάλο∥Χ−y∥(14)
Αυτό σημαίνει ότι κάθε fi : R d → R fi: mathbb{R}^d δεξιό βέλος mathbb{R}φάΕγώ:Rρε→R είναι διαφοροποιήσιμο, L i L_iμεγάλοΕγώ- ομαλή, ορίζουμε L max L_{text{max}}μεγάλοΜέγιστη Για max { L 1 , . . . , L n } μέγ.{L_1, . . . , L_n}Μέγιστη{μεγάλο1,...,μεγάλοn}。
Αν και αυτό θεωρείται γενικά μια αδύναμη υπόθεση, στα επόμενα κεφάλαια θα συζητήσουμε μεθόδους VR που είναι κατάλληλες για μη ομαλά προβλήματα. Για μια διπλά διαφοροποιήσιμη μονομεταβλητή συνάρτηση, LLμεγάλο-Η ομαλότητα μπορεί να κατανοηθεί διαισθητικά ως: ισοδυναμεί με την υπόθεση ότι η δεύτερη παράγωγος είναι LLμεγάλο ανώτατο όριο, δηλαδή ∣ f ′ ′ ( x ) ∣ ≤ L |f''(x)| leq L∣φά′′(Χ)∣≤μεγάλο για όλα x ∈ R dx στο mathbb{R}^dΧ∈Rρε .Για δύο διαφοροποιήσιμες συναρτήσεις πολλαπλών μεταβλητών, είναι ισοδύναμο με την υπόθεση Hessian matrix ∇ 2 f ( x ) nabla^2 f(x)∇2φά(Χ) Η μοναδική τιμή του LLμεγάλο ανώτατο όριο.
Η δεύτερη υπόθεση που θεωρούμε είναι ότι η συνάρτηση (f) είναι μ muμ-Έντονα κυρτό, που σημαίνει ότι για ένα ορισμένο μ > 0 μ > 0μ>0,λειτουργία x ↦ f ( x ) − μ 2 ∥ x ∥ 2 x mapsto f(x) - frac{mu}{2}|x|^2Χ↦φά(Χ)−2μ∥Χ∥2 Είναι κυρτό.Επιπλέον, για κάθε i = 1, . . . , ni = 1, . . . , nΕγώ=1,...,n, fi : R d → R fi: mathbb{R}^d δεξιό βέλος mathbb{R}φάΕγώ:Rρε→R Είναι κυρτό.
Αυτή είναι μια ισχυρή υπόθεση.Στο πρόβλημα των ελαχίστων τετραγώνων, το καθένα (fi$ είναι κυρτό, αλλά η συνολική συνάρτηση (f) βρίσκεται μόνο στον πίνακα σχεδίασης Α : = [ a 1 , . . . , an ] A := [a_1, . . . , a_n]ΕΝΑ:=[ένα1,...,έναn] Είναι έντονα κυρτό μόνο αν έχει πλήρη σειρά σειράς. Το πρόβλημα κανονικοποιημένης λογιστικής παλινδρόμησης L2 ικανοποιεί αυτήν την υπόθεση λόγω της ύπαρξης του όρου κανονικοποίησης, όπου μ ≥ λ mu geq λάμδαμ≥λ。
Μια σημαντική κατηγορία προβλημάτων που ικανοποιούν αυτές τις παραδοχές είναι τα προβλήματα βελτιστοποίησης της μορφής:
x ∗ ∈ arg min x ∈ R df ( x ) = 1 n ∑ i = 1 n ℓ i ( ai T x ) + λ 2 ∥ x ∥ 2 ( 15 ) x^* σε argmin_{x σε mathbb{R }^d} f(x) = frac{1}{n} sum_{i=1}^{n} ell_i(a_i^Tx) + frac{lambda}{2}|x|^2 quad (15)Χ∗∈αρσολΧ∈Rρεελάχφά(Χ)=n1Εγώ=1∑nℓΕγώ(έναΕγώΤΧ)+2λ∥Χ∥2(15)
όπου κάθε συνάρτηση «απώλειας». ℓ i : R → R ell_i: mathbb{R} δεξιό βέλος mathbb{R}ℓΕγώ:R→R είναι δύο φορές διαφοροποιήσιμο και η δεύτερη παράγωγός του ℓ εγώ '' ell_i''ℓΕγώ′′ περιορίζεται στο 0 και σε κάποιο άνω όριο ΜΜΜ μεταξύ. Αυτό περιλαμβάνει μια ποικιλία συναρτήσεων απώλειας με κανονικοποίηση L2 στη μηχανική μάθηση, όπως τα ελάχιστα τετράγωνα, η λογιστική παλινδρόμηση, η παλινδρόμηση probit, η ισχυρή παλινδρόμηση Huber κ.λπ.Σε αυτή την περίπτωση, για όλους iiΕγώ,Εχουμε L i ≤ M ∥ ai ∥ 2 + λ L_i leq M|a_i|^2 + λάμδαμεγάλοΕγώ≤Μ∥έναΕγώ∥2+λ και μ ≥ λ mu geq λάμδαμ≥λ。
Σύμφωνα με αυτές τις παραδοχές, ο ρυθμός σύγκλισης της μεθόδου gradient descent (GD) καθορίζεται από τον αριθμό συνθήκης κ : = L / μ κάπα := L/muκ:=μεγάλο/μ Αποφασίζω. Ο αριθμός συνθήκης είναι πάντα μεγαλύτερος ή ίσος με 1 και όταν είναι σημαντικά μεγαλύτερος από 1, τα περιγράμματα της συνάρτησης γίνονται πολύ ελλειπτικά, προκαλώντας την ταλάντωση των επαναλήψεων της μεθόδου GD.Αντίθετα, όταν κ κάπακ Όταν είναι κοντά στο 1, η μέθοδος GD συγκλίνει πιο γρήγορα.
Στις παραδοχές 1 και 2, η μέθοδος VR συγκλίνει με γραμμικό ρυθμό.Λέμε ότι η τιμή της συνάρτησης μιας τυχαίας μεθόδου ({f(x_k)}) δίνεται από 0 < ρ ≤ 1 0 < rho leq 10<ρ≤1 Ο ρυθμός γραμμικής σύγκλισης (υπό προσδοκία), εάν υπάρχει σταθερά C > 0 C > 0ντο>0 Κάνει:
E [ f ( xk ) ] − f ( x ∗ ) ≤ ( 1 − ρ ) k C = O ( exp ( − k ρ ) ) ∀ k ( 16 ) E[f(x_k)] - f(x^* ) leq (1 - rho)^k C = O(exp(-krho)) quad forall k quad (16)μι[φά(Χκ)]−φά(Χ∗)≤(1−ρ)κντο=Ο(exp(−κρ))∀κ(16)
Αυτό έρχεται σε αντίθεση με τις κλασσικές μεθόδους SGD που βασίζονται μόνο σε αμερόληπτες εκτιμήσεις της κλίσης σε κάθε επανάληψη, οι οποίες λαμβάνουν μόνο υπογραμμικούς ρυθμούς υπό αυτές τις παραδοχές:
E [ f ( xk ) ] − f ( x ∗ ) ≤ O ( 1 / k ) E[f(x_k)] - f(x^*) leq O(1/k)μι[φά(Χκ)]−φά(Χ∗)≤Ο(1/κ)
Το ελάχιστο που ικανοποιεί αυτή την ανισότητα κκκ Ονομάζεται επαναληπτική πολυπλοκότητα του αλγορίθμου. Τα ακόλουθα είναι η επαναληπτική πολυπλοκότητα και το κόστος μιας επανάληψης για βασικές παραλλαγές των μεθόδων GD, SGD και VR:
αλγόριθμος | Αριθμός επαναλήψεων | κόστος μιας επανάληψης |
---|---|---|
GD | O ( κ log ( 1 / ϵ ) ) O(kappa log(1/epsilon))Ο(κιδούσολ(1/ϵ)) | O ( n ) O(n)Ο(n) |
SGD | O ( κ max max ( 1 / ϵ ) ) O(kappa_{text{max}} max(1/epsilon))Ο(κΜέγιστηΜέγιστη(1/ϵ)) | O ( 1 ) O (1)Ο(1) |
VR | O ( ( κ max + n ) log ( 1 / ϵ ) ) O((kappa_{text{max}} + n) log(1/epsilon))Ο((κΜέγιστη+n)ιδούσολ(1/ϵ)) | O ( 1 ) O (1)Ο(1) |
Ο συνολικός χρόνος εκτέλεσης ενός αλγορίθμου καθορίζεται από το γινόμενο της πολυπλοκότητας της επανάληψης και του χρόνου εκτέλεσης της επανάληψης.χρησιμοποιείται εδώ κ max : = max i L i / μ kappa_{text{max}} := max_i L_i/muκΜέγιστη:=ΜέγιστηΕγώμεγάλοΕγώ/μ .Ειδοποίηση κ max ≥ κ kappa_{text{max}} geq kappaκΜέγιστη≥κΕπομένως, η πολυπλοκότητα της επανάληψης της GD είναι μικρότερη από αυτή της μεθόδου VR.
Ωστόσο, δεδομένου ότι το κόστος ανά επανάληψη του GD είναι αυτό της μεθόδου VR nnn φορές, η μέθοδος VR είναι ανώτερη όσον αφορά τον συνολικό χρόνο λειτουργίας.
Το πλεονέκτημα των κλασικών μεθόδων SGD είναι ότι ο χρόνος λειτουργίας τους και ο ρυθμός σύγκλισης δεν εξαρτώνται από nnn, αλλά έχει μια ανοχή ϵ έψιλονϵ Η εξάρτηση του είναι πολύ χειρότερη, γεγονός που εξηγεί την κακή απόδοση του SGD όταν η ανοχή είναι μικρή.
Στο Παράρτημα Β, παρέχουμε μια απλή απόδειξη που δείχνει ότι η μέθοδος SGD² έχει την ίδια επαναληπτική πολυπλοκότητα με τη μέθοδο VR.
Η ανάπτυξη μεθόδων μείωσης διακύμανσης (VR) έχει περάσει από διάφορα στάδια και η αρχική παρτίδα μεθόδων είχε ως αποτέλεσμα σημαντικά βελτιωμένα ποσοστά σύγκλισης. Η αρχή αυτής της σειράς μεθόδων είναι ο αλγόριθμος SAG. Στη συνέχεια, ο αλγόριθμος στοχαστικής ανάβασης διπλής συντεταγμένης (SDCA), ο αλγόριθμος MISO, ο αλγόριθμος μείωσης της διακύμανσης στοχαστικής διακύμανσης (SVRG/S2GD) και ο αλγόριθμος SAGA (που σημαίνει "βελτιωμένο" SAG) βγήκαν ο ένας μετά τον άλλο.
Σε αυτό το κεφάλαιο, ρίχνουμε μια πιο προσεκτική ματιά σε αυτές τις πρωτοποριακές μεθόδους VR. Στο Κεφάλαιο 4, θα διερευνήσουμε μερικές νεότερες μεθόδους που παρουσιάζουν ανώτερα χαρακτηριστικά σε σύγκριση με αυτές τις βασικές μεθόδους σε συγκεκριμένα σενάρια εφαρμογών.
Η εξερεύνηση της μεθόδου μείωσης της πρώτης διακύμανσης (VR) ξεκινά με τη μίμηση της δομής πλήρους κλίσης.Από την πλήρη κλίση ∇ f ( x ) nabla f(x)∇φά(Χ) ειναι ολα ∇ fi ( x ) nabla f_i(x)∇φάΕγώ(Χ) ένας απλός μέσος όρος των κλίσεων, στη συνέχεια η εκτίμησή μας για την πλήρη κλίση gk g_kσολκ Θα πρέπει επίσης να είναι ο μέσος όρος αυτών των εκτιμήσεων κλίσης. Αυτή η ιδέα οδήγησε στην πρώτη μας μέθοδο VR: τη μέθοδο στοχαστική μέση κλίση (SAG).
Η μέθοδος SAG [37], [65] είναι μια τυχαιοποιημένη έκδοση της μεθόδου πρώιμης αυξητικής συγκεντρωτικής κλίσης (IAG) [4]. Η βασική ιδέα του SAG είναι αυτή για κάθε σημείο δεδομένων iiΕγώ διατηρεί μια εκτίμηση vik ≈ ∇ fi ( xk ) v_{ik} περίπου nabla f_i(x_k)vik≈∇φάΕγώ(Χκ) .Στη συνέχεια, χρησιμοποιήστε αυτά vik v_{ik}vik Ο μέσος όρος των τιμών χρησιμοποιείται ως εκτίμηση της πλήρους κλίσης, δηλαδή:
g ˉ k = 1 n ∑ j = 1 nvjk ≈ 1 n ∑ j = 1 n ∇ fj ( xk ) = ∇ f ( xk ) ( 18 ) bar{g}_k = frac{1}{n} sum_{j= 1}^{n} v_{jk} περίπου frac{1}{n} sum_{j=1}^{n} nabla f_j(x_k) = nabla f(x_k) quad (18)σολˉκ=n1ι=1∑nvjk≈n1ι=1∑n∇φάι(Χκ)=∇φά(Χκ)(18)
Σε κάθε επανάληψη του SAG, από το σύνολο { 1 , … , n } {1, ldots, n}{1,…,n} Εξαγωγή ευρετηρίου από ik i_kΕγώκ, και στη συνέχεια ενημερώνεται σύμφωνα με τους ακόλουθους κανόνες vjk v_{jk}vjk:
vjkk + 1 = { ∇ fik ( xk ) , αν j = ikvjkk , αν j ≠ ik ( 19 ) v_{jk}^{k+1} ={∇φάΕγώκ(Χκ),ανι=Εγώκvκικ,ανι≠Εγώκ τετράγωνο (19)vjkκ+1={∇φάΕγώκ(Χκ),vjkκ,ανι=Εγώκανι=Εγώκ(19)
Ανάμεσά τους, το καθένα v 0 i v_{0i}v0Εγώ Μπορεί να αρχικοποιηθεί στο μηδέν ή ∇ fi ( x 0 ) nabla f_i(x_0)∇φάΕγώ(Χ0) κατά προσέγγιση τιμή.Με τη λύση x∗ x^*Χ∗ προσέγγιση, το καθένα vik v_{ik}vik θα συγκλίνει σταδιακά σε ∇ fi ( x ∗ ) nabla f_i(x^*)∇φάΕγώ(Χ∗), ικανοποιώντας έτσι την ιδιότητα VR (12).
Για να εφαρμόσουμε αποτελεσματικά το SAG, πρέπει να δώσουμε προσοχή στον υπολογισμό g ˉ k bar{g}_kσολˉκ για να αποφύγετε κάθε φορά να ξεκινάτε το ποσό από την αρχή nnn διάνυσμα, γιατί αυτό είναι nnn Το κόστος είναι μεγάλο όταν είναι μεγάλο.Ευτυχώς, αφού κάθε επανάληψη έχει μόνο μία vik v_{ik}vik Οι όροι θα αλλάξουν και δεν χρειάζεται να υπολογίζουμε εκ νέου ολόκληρο το άθροισμα κάθε φορά.Συγκεκριμένα, υποθέστε ότι κατά την επανάληψη κκκ Ευρετήριο εξάγεται από ik i_kΕγώκ, τότε υπάρχει:
g ˉ k = 1 n ∑ j = 1 j ≠ iknvjk + 1 nvikk = g ˉ k − 1 − 1 nvikk − 1 + 1 nvikk ( 20 ) bar{g}_k = frac{1}{n} sum_{substack{ j=1 \ j neq i_k}}^{n} v_{jk} + frac{1}{n} v_{i_k}^k = bar{g}_{k-1} - frac{1}{n} v_{i_k}^{k-1} + frac{1}{n} v_{i_k}^k quad (20)σολˉκ=n1ι=1ι=Εγώκ∑nvjk+n1vΕγώκκ=σολˉκ−1−n1vΕγώκκ−1+n1vΕγώκκ(20)
Δεδομένου ότι εκτός από vik v_{i_k}vΕγώκ τα πάντα εκτός από vjk v_{jk}vjk Οι τιμές παραμένουν όλες οι ίδιες, απλώς αποθηκεύουμε την καθεμία jjι Ένα διάνυσμα που αντιστοιχεί σε vj v_jvι . Ο αλγόριθμος 1 δείχνει τη συγκεκριμένη εφαρμογή της μεθόδου SAG.
Η SAG είναι η πρώτη στοχαστική μέθοδος για την επίτευξη γραμμικής σύγκλισης και η πολυπλοκότητα της επανάληψης είναι O ( ( κ max + n ) log ( 1 / ϵ ) ) O((kappa_{text{max}} + n) log(1/epsilon))Ο((κΜέγιστη+n)ιδούσολ(1/ϵ)), χρησιμοποιώντας το μέγεθος βήματος γ = O ( 1 / L max ) gamma = O(1/L_{text{max}})γ=Ο(1/μεγάλοΜέγιστη) . Αυτή η γραμμική σύγκλιση μπορεί να παρατηρηθεί στο σχήμα 1.Αξίζει να σημειωθεί ότι λόγω L max L_{text{max}}μεγάλοΜέγιστη- Ομαλή λειτουργία για οποιοδήποτε L ′ ≥ L max L' geq L_{text{max}}μεγάλο′≥μεγάλοΜέγιστη Πολύ L ''L'μεγάλο′- Οι ομαλές, μέθοδοι SAG επιτυγχάνουν γραμμικούς ρυθμούς σύγκλισης για αρκετά μικρά μεγέθη βημάτων, σε αντίθεση με τις κλασσικές μεθόδους SGD, οι οποίες επιτυγχάνουν μόνο υπογραμμικούς ρυθμούς με ακολουθίες μειούμενων μεγεθών βημάτων που είναι δύσκολο να προσαρμοστούν στην πράξη.
Εκείνη την εποχή, η γραμμική σύγκλιση του SAG ήταν μια σημαντική πρόοδος επειδή υπολόγιζε μόνο μία στοχαστική κλίση (επεξεργασία ενός μόνο σημείου δεδομένων) σε κάθε επανάληψη. Ωστόσο, η απόδειξη σύγκλισης που παρέχεται από τους Schmidt et al [65] είναι πολύ περίπλοκη και βασίζεται σε βήματα που έχουν επαληθευτεί από υπολογιστή. Ένας βασικός λόγος για τον οποίο το SAG είναι δύσκολο να αναλυθεί είναι αυτός gk g_kσολκ είναι μια μεροληπτική εκτίμηση της κλίσης.
Στη συνέχεια, εισάγουμε τη μέθοδο SAGA, μια παραλλαγή της SAG που εκμεταλλεύεται την έννοια των συμμεταβλητών για να δημιουργήσει μια αμερόληπτη παραλλαγή της μεθόδου SAG που έχει παρόμοια απόδοση αλλά είναι πιο εύκολο να αναλυθεί.
Αλγόριθμος 1: Μέθοδος SAG
Μια μειωμένη βασική αμερόληπτη εκτίμηση κλίσης ∇ fik ( xk ) nabla f_{i_k}(x_k)∇φάΕγώκ(Χκ) Η προσέγγιση της διακύμανσης γίνεται μέσω της χρήσης των λεγόμενων συμμεταβλητών ή μεταβλητών ελέγχου.Για i = 1 , … , ni = 1, ldots, nΕγώ=1,…,n,στήνω vi ∈ R d v_i στο mathbb{R}^dvΕγώ∈Rρε είναι ένας φορέας.Χρησιμοποιώντας αυτά τα διανύσματα, μπορούμε να μετατρέψουμε την πλήρη κλίση ∇ f ( x ) nabla f(x)∇φά(Χ) Ξαναγράφτηκε ως:
∇ f ( x ) = 1 n ∑ i = 1 n ( ∇ fi ( x ) − vi + vi ) = 1 n ∑ i = 1 n ∇ fi ( x) − vi + 1 n ∑ j = 1 nvj nabla f( x) = frac{1}{n} sum_{i=1}^{n}(nabla f_i(x) - v_i + v_i) = frac{1}{n} sum_{i=1}^{n} nabla f_i(x) - v_i + frac{1}{n} sum_{j=1}^{n} v_j∇φά(Χ)=n1Εγώ=1∑n(∇φάΕγώ(Χ)−vΕγώ+vΕγώ)=n1Εγώ=1∑n∇φάΕγώ(Χ)−vΕγώ+n1ι=1∑nvι
: = 1 n ∑ i = 1 n ∇ fi ( x , v ) ( 21 ) := frac{1}{n} sum_{i=1}^{n} nabla f_i(x, v) quad (21):=n1Εγώ=1∑n∇φάΕγώ(Χ,v)(21)
που ορίζει ∇ fi ( x , v ) : = ∇ fi ( x ) − vi + 1 n ∑ j = 1 nvj nabla f_i(x, v) := nabla f_i(x) - v_i + frac{1}{n} sum_{ j=1}^{n} v_j∇φάΕγώ(Χ,v):=∇φάΕγώ(Χ)−vΕγώ+n1∑ι=1nvι .Τώρα, μπορούμε τυχαία να κάνουμε δείγμα α ∇ fi ( x , v ) nabla f_i(x, v)∇φάΕγώ(Χ,v) για την κατασκευή της πλήρους κλίσης ∇ f ( x ) nabla f(x)∇φά(Χ) Μια αμερόληπτη εκτίμηση του i ∈ { 1 , … , n } i σε {1, ldots, n}Εγώ∈{1,…,n}, μπορείτε να εφαρμόσετε τη μέθοδο SGD και να χρησιμοποιήσετε την εκτίμηση κλίσης:
gk = ∇ fik ( xk , v ) = ∇ fik ( xk ) − vik + 1 n ∑ j = 1 nvj ( 22 ) g_k = nabla f_{i_k}(x_k, v) = nabla f_{i_k}(x_k) - v_{i_k} + frac{1}{n} sum_{j=1}^{n} v_j quad (22)σολκ=∇φάΕγώκ(Χκ,v)=∇φάΕγώκ(Χκ)−vΕγώκ+n1ι=1∑nvι(22)
για παρατήρηση vi v_ivΕγώ Η διαφορά ζεύγους επιλογής gk g_kσολκ επιρροή, μπορούμε gk = ∇ fik ( xk , v ) g_k = nabla f_{i_k}(x_k, v)σολκ=∇φάΕγώκ(Χκ,v) Αντικατάσταση και χρήση E i ∼ 1 n [ vi ] = 1 n ∑ j = 1 nvj E_i sim frac{1}{n}[v_i] = frac{1}{n} sum_{j=1}^{n} v_jμιΕγώ∼n1[vΕγώ]=n1∑ι=1nvι Για να υπολογίσουμε την προσδοκία, παίρνουμε:
E [ ∥ ∇ fi ( xk ) − vi + E i ∼ 1 n [ vi − ∇ fi ( xk ) ] ∥ 2 ] ≤ E [ ∥ ∇ fi ( xk ) − vi ∥ 2 ] ( 23 ) E αριστερά[ |nabla ) f_i(x_k) - v_i + E_i sim frac{1}{n}[v_i - nabla f_i(x_k)]|^2 δεξιά] leq E αριστερά[ |nabla f_i(x_k) - v_i|^2 δεξιά] τετραγωνικά (23 )μι[∥∇φάΕγώ(Χκ)−vΕγώ+μιΕγώ∼n1[vΕγώ−∇φάΕγώ(Χκ)]∥2]≤μι[∥∇φάΕγώ(Χκ)−vΕγώ∥2](23)
Το Lemma 2 χρησιμοποιείται εδώ, όπου X = ∇ fi ( xk ) − vi X = nabla f_i(x_k) - v_iΧ=∇φάΕγώ(Χκ)−vΕγώ .Αυτό το φράγμα (23) δείχνει ότι αν vi v_ivΕγώ μαζί με κκκ Η αύξηση είναι κοντά στο ∇ fi ( xk ) nabla f_i(x_k)∇φάΕγώ(Χκ) , μπορούμε να αποκτήσουμε χαρακτηριστικά VR (12).Γι' αυτό καλούμε vi v_ivΕγώ είναι συμμεταβλητές και μπορούμε να τις επιλέξουμε για να μειώσουμε τη διακύμανση.
Για παράδειγμα, αυτή η προσέγγιση εφαρμόζεται επίσης με τη μέθοδο SGD² (13), όπου vi = ∇ fi ( x ∗ ) v_i = nabla f_i(x^*)vΕγώ=∇φάΕγώ(Χ∗) .Ωστόσο, αυτό δεν χρησιμοποιείται συνήθως στην πράξη γιατί συνήθως δεν γνωρίζουμε ∇ fi ( x ∗ ) nabla f_i(x^*)∇φάΕγώ(Χ∗) .Μια πιο πρακτική επιλογή είναι vi v_ivΕγώ όπως γνωρίζουμε x ˉ i ∈ R d bar{x}_i στο mathbb{R}^dΧˉΕγώ∈Rρε κοντινή κλίση ∇ fi ( x ˉ i ) nabla f_i(bar{x}_i)∇φάΕγώ(ΧˉΕγώ) . SAGA για κάθε λειτουργία fi f_iφάΕγώ χρησιμοποιήστε ένα σημείο αναφοράς x ˉ i ∈ R d bar{x}_i στο mathbb{R}^dΧˉΕγώ∈Rρε, και χρησιμοποιήστε συμμεταβλητές vi = ∇ fi ( x ˉ i ) v_i = nabla f_i(bar{x}_i)vΕγώ=∇φάΕγώ(ΧˉΕγώ), καθένα από τα οποία x ˉ i bar{x}_iΧˉΕγώ θα είναι η τελευταία μας αξιολόγηση fi f_iφάΕγώ σημείο. Χρησιμοποιώντας αυτές τις συμμεταβλητές, μπορούμε να κατασκευάσουμε μια εκτίμηση κλίσης, ακολουθώντας την (22), δίνοντας:
gk = ∇ fik ( xk ) − ∇ fik ( x ˉ ik ) + 1 n ∑ j = 1 n ∇ fj ( x ˉ j ) ( 24 ) g_k = nabla f_{i_k}(x_k) - nabla f_{i_k}( bar{x}_{i_k}) + frac{1}{n} sum_{j=1}^{n} nabla f_j(bar{x}_j) quad (24)σολκ=∇φάΕγώκ(Χκ)−∇φάΕγώκ(ΧˉΕγώκ)+n1ι=1∑n∇φάι(Χˉι)(24)
Για να εφαρμόσουμε το SAGA μπορούμε να αποθηκεύσουμε διαβαθμίσεις ∇ fi ( x ˉ i ) nabla f_i(bar{x}_i)∇φάΕγώ(ΧˉΕγώ) αντί nnn σημείο αναφοράς x ˉ i bar{x}_iΧˉΕγώ .Ας υποθέσουμε δηλαδή vj = ∇ fj ( x ˉ j ) v_j = nabla f_j(bar{x}_j)vι=∇φάι(Χˉι) Για j ∈ { 1 , … , n } j σε {1, ldots, n}ι∈{1,…,n}, σε κάθε επανάληψη, ενημερώνουμε μια στοχαστική κλίση όπως το SAG vj v_jvι。
Αλγόριθμος 2 SAGA
Η μέθοδος SAGA έχει την ίδια πολυπλοκότητα επανάληψης με την SAG O ( ( κ max + n ) log ( 1 / ϵ ) ) O((kappa_{text{max}} + n) log(1/epsilon))Ο((κΜέγιστη+n)ιδούσολ(1/ϵ)), χρησιμοποιώντας το μέγεθος βήματος γ = O ( 1 / L max ) gamma = O(1/L_{text{max}})γ=Ο(1/μεγάλοΜέγιστη) , αλλά η απόδειξη είναι πολύ πιο απλή.Ωστόσο, όπως το SAG, η μέθοδος SAGA απαιτεί αποθήκευση nnn βοηθητικά διανύσματα vi ∈ R d v_i στο mathbb{R}^dvΕγώ∈Rρε Για i = 1 , … , ni = 1, ldots, nΕγώ=1,…,n, που σημαίνει την ανάγκη O ( nd ) O(nd)Ο(nρε) του αποθηκευτικού χώρου.πότε δδρε και nnn Όταν και τα δύο είναι μεγάλα, αυτό μπορεί να μην είναι εφικτό. Στην επόμενη ενότητα, περιγράφουμε λεπτομερώς τον τρόπο μείωσης αυτής της απαίτησης μνήμης για κοινά μοντέλα, όπως τα κανονικοποιημένα γραμμικά μοντέλα.
όταν μπορεί nnn Όταν δύο βοηθητικά διανύσματα είναι αποθηκευμένα στη μνήμη, τα SAG και SAGA τείνουν να συμπεριφέρονται παρόμοια. Εάν αυτή η απαίτηση μνήμης είναι πολύ υψηλή, η μέθοδος SVRG, την οποία θα εξετάσουμε στην επόμενη ενότητα, είναι μια καλή εναλλακτική. Η μέθοδος SVRG επιτυγχάνει τον ίδιο ρυθμό σύγκλισης και συχνά είναι σχεδόν εξίσου γρήγορη στην πράξη, αλλά απαιτεί μόνο O (δ) O(d)Ο(ρε) μνήμης, για γενικά θέματα.
Πριν από την εμφάνιση της μεθόδου SAGA, ορισμένες πρώτες εργασίες εισήγαγαν συμμεταβλητές για πρώτη φορά για να λύσουν το πρόβλημα υψηλής μνήμης που απαιτείται από τη μέθοδο SAG.Αυτές οι μελέτες βασίζονται σε ένα σταθερό σημείο αναφοράς x ˉ ∈ R d bar{x} σε mathbb{R}^dΧˉ∈Rρε συμμεταβλητές, έχουμε υπολογίσει την πλήρη κλίση σε εκείνο το σημείο ∇ f ( x ˉ ) nabla f(bar{x})∇φά(Χˉ) .με την αποθήκευση σημείων αναφοράς x ˉ μπαρ{x}Χˉ και την αντίστοιχη πλήρη κλίση ∇ f ( x ˉ ) nabla f(bar{x})∇φά(Χˉ), μπορούμε να το κάνουμε αυτό χωρίς να αποθηκεύσουμε το καθένα ∇ fj ( x ˉ ) nabla f_j(bar{x})∇φάι(Χˉ) Σε περίπτωση, χρησιμοποιήστε x ˉ j = x ˉ μπαρ{x}_j = μπάρα{x}Χˉι=Χˉ σε όλους jjι για την εφαρμογή της ενημέρωσης (24).Συγκεκριμένα, αντί να αποθηκεύουμε αυτά τα διανύσματα, χρησιμοποιούμε τα αποθηκευμένα σημεία αναφοράς σε κάθε επανάληψη x ˉ μπαρ{x}Χˉ να υπολογίσω ∇ fik ( x ˉ ) nabla f_{i_k}(bar{x})∇φάΕγώκ(Χˉ) . Αυτή η μέθοδος προτάθηκε αρχικά από διαφορετικούς συγγραφείς με διαφορετικά ονόματα, αλλά αργότερα ενοποιήθηκε ως μέθοδος SVRG, ακολουθώντας την ονοματολογία των [28] και [84].
Επισημοποιούμε τη μέθοδο SVRG στον Αλγόριθμο 3.
Χρησιμοποιώντας το (23), μπορούμε να εξαγάγουμε την εκτίμηση της κλίσης gk g_kσολκ Η διακύμανση του οριοθετείται:
E [ ∥ gk − ∇ f ( xk ) ∥ 2 ] ≤ E [ ∥ ∇ fi ( xk ) − ∇ fi ( x ˉ ) ∥ 2 ] ≤ L max 2 ∥ xk − x ˉ Eleft [ ∥ 2 | g_k - nabla f(x_k) |^2 δεξιά] leq Eleft[ | nabla f_i(x_k) - nabla f_i(bar{x}) |^2 δεξιά] leq L_{text{max}}^2 | x_k - γραμμή{x} |^2μι[∥σολκ−∇φά(Χκ)∥2]≤μι[∥∇φάΕγώ(Χκ)−∇φάΕγώ(Χˉ)∥2]≤μεγάλοΜέγιστη2∥Χκ−Χˉ∥2
όπου η δεύτερη ανισότητα χρησιμοποιεί το καθένα fi f_iφάΕγώ του L i L_iμεγάλοΕγώ-Ομαλότητα.
Αξίζει να σημειωθεί ότι το σημείο αναφοράς x ˉ μπαρ{x}Χˉ Όσο πιο κοντά στο σημερινό σημείο xk x_kΧκ, τόσο μικρότερη είναι η διακύμανση της εκτίμησης της κλίσης.
Για να είναι αποτελεσματική η μέθοδος SVRG, πρέπει να ενημερώνουμε συχνά τα σημεία αναφοράς x ˉ μπαρ{x}Χˉ (που απαιτεί τον υπολογισμό της πλήρους διαβάθμισης) σταθμίζεται έναντι του οφέλους της μειωμένης διακύμανσης.Για το λόγο αυτό, ο καθένας μας ttt Ενημερώνετε το σημείο αναφοράς μία φορά κάθε επανάληψη για να το πλησιάζετε xk x_kΧκ (Βλ. γραμμή 11 του Αλγορίθμου II-C).Δηλαδή, η μέθοδος SVRG περιέχει δύο βρόχους: έναν εξωτερικό βρόχο σσμικρό, όπου υπολογίζεται η κλίση αναφοράς ∇ f ( x ˉ s − 1 ) nabla f(bar{x}_{s-1})∇φά(Χˉμικρό−1)(γραμμή 4) και έναν εσωτερικό βρόχο όπου το σημείο αναφοράς είναι σταθερό και η εσωτερική επανάληψη ενημερώνεται με βάση το βήμα στοχαστικής κλίσης (22) xk x_kΧκ(Γραμμή 10).
Σε αντίθεση με το SAG και το SAGA, το SVRG απαιτεί μόνο O (δ) O(d)Ο(ρε) της μνήμης. Στα μειονεκτήματα του SVRG περιλαμβάνονται: 1) Έχουμε μια επιπλέον παράμετρο ttt, δηλαδή, το μήκος του εσωτερικού βρόχου, πρέπει να ρυθμιστεί.
Οι Johnson και Zhang [28] έδειξαν ότι το SVRG έχει επαναληπτική πολυπλοκότητα O ( ( κ max + n ) log ( 1 / ϵ ) ) O((kappa_{text{max}} + n) log(1/epsilon))Ο((κΜέγιστη+n)ιδούσολ(1/ϵ)) , παρόμοια με τα SAG και SAGA.Αυτός είναι ο αριθμός των βρόχων εντός της υπόθεσης ttt από τη συλλογή { 1 , … , m } {1, ldots, m}{1,…,Μ} Λήφθηκε υπό την προϋπόθεση της ομοιόμορφης δειγματοληψίας, όπου L max L_{text{max}}μεγάλοΜέγιστη, μ muμ, μέγεθος βήματος γ γάμμαγ και ttt Ορισμένες εξαρτήσεις πρέπει να ικανοποιούνται μεταξύ τους.Στην πράξη, με τη χρήση γ = O ( 1 / L max ) gamma = O(1/L_{text{max}})γ=Ο(1/μεγάλοΜέγιστη) και μήκος εσωτερικού βρόχου t = nt = nt=n, το SVRG τείνει να αποδίδει καλά, η οποία είναι ακριβώς η ρύθμιση που χρησιμοποιήσαμε στο Σχήμα 1.
Τώρα, υπάρχουν πολλές παραλλαγές της αρχικής μεθόδου SVRG.Για παράδειγμα, ορισμένες παραλλαγές χρησιμοποιούν ttt εναλλακτική διανομή [32], ορισμένες παραλλαγές επιτρέπουν τη φόρμα O ( 1 / L max ) O(1/L_{text{max}})Ο(1/μεγάλοΜέγιστη) Το μέγεθος βήματος [27], [33], [35].Υπάρχουν επίσης ορισμένες παραλλαγές χρησιμοποιώντας ∇ f ( x ˉ ) nabla f(bar{x})∇φά(Χˉ) προσέγγιση μίνι-παρτίδας για τη μείωση του κόστους αυτών των αξιολογήσεων πλήρους κλίσης και την αύξηση του μεγέθους της μίνι παρτίδας για τη διατήρηση των ιδιοτήτων VR.Υπάρχουν επίσης ορισμένες παραλλαγές όπου οι ενημερώσεις επαναλαμβάνονται στον εσωτερικό βρόχο σύμφωνα με το [54] gk g_kσολκ:
[ g_k = nabla f_{i_k}(x_k) - nabla f_{i_k}(x_{k-1}) + g_{k-1} quad (25) ]
Αυτό παρέχει μια πιο τοπική προσέγγιση. Η χρήση αυτής της παραλλαγής συνεχούς ενημέρωσης (25) δείχνει μοναδικά πλεονεκτήματα στην ελαχιστοποίηση των μη κυρτών συναρτήσεων, όπως συζητάμε εν συντομία στην Ενότητα IV.Τέλος, σημειώστε ότι το SVRG μπορεί να εκμεταλλευτεί ∇ f ( x ˉ s ) nabla f(bar{x}_s)∇φά(Χˉμικρό) τιμή για να αποφασίσετε πότε θα τερματιστεί ο αλγόριθμος.
Αλγόριθμος 3 Μέθοδος SVRG
Ένα μειονέκτημα των μεθόδων SAG και SVRG είναι ότι το μέγεθος του βήματος τους βασίζεται σε άγνωστες τιμές που μπορεί να είναι άγνωστες σε ορισμένα προβλήματα. L max L_{text{max}}μεγάλοΜέγιστη . Πριν από το SVRG, η μέθοδος SDCA [70], ως μία από τις παλαιότερες μεθόδους VR, επέκτεινε την έρευνα για τις μεθόδους καθόδου συντεταγμένων σε προβλήματα πεπερασμένων αθροισμάτων. Η ιδέα πίσω από το SDCA και τις παραλλαγές του είναι ότι οι συντεταγμένες της κλίσης παρέχουν μια φυσική εκτίμηση της κλίσης που μειώνει τη διακύμανση.Συγκεκριμένα, ας υποθέσουμε j ∈ { 1 , … , d } j σε {1, ldots, d}ι∈{1,…,ρε}, και ορίστε ∇ jf ( x) : = ( ∂ f ( x) ∂ xj ) ej nabla_j f(x) := αριστερά( frac{μερική f(x)}{μερική x_j} δεξιά) e_j∇ιφά(Χ):=(∂Χι∂φά(Χ))μιι είναι το ου του (f(x)) jjι παράγωγα σε κατευθύνσεις συντεταγμένων, όπου ej ∈ R d e_j στο mathbb{R}^dμιι∈Rρε Είναι το πρώτο jjι μονάδα διάνυσμα.Μια βασική ιδιότητα των παραγώγων συντεταγμένων είναι αυτή ∇ jf ( x ∗ ) = 0 nabla_j f(x^*) = 0∇ιφά(Χ∗)=0, γιατί ξέρουμε ∇ f ( x ∗ ) = 0 nabla f(x^*) = 0∇φά(Χ∗)=0 .Η παράγωγος αυτού με κάθε σημείο δεδομένων ∇ fj nabla f_j∇φάι διαφορετικό, το τελευταίο είναι x∗ x^*Χ∗ μπορεί να μην είναι μηδέν. Επομένως έχουμε:
∥ ∇ f ( x ) − ∇ jf ( x ) ∥ 2 → 0 当 x → x ∗ ( 26 ) | nabla f(x) - nabla_j f(x) |^2 δεξιό βέλος 0 τετραγωνικό κείμενο{当} τετραπλό x δεξιό βέλος x^* τετραγωνίδιο (26)∥∇φά(Χ)−∇ιφά(Χ)∥2→0πότεΧ→Χ∗(26)
Αυτό σημαίνει ότι η παράγωγος συντεταγμένων ικανοποιεί την ιδιότητα μείωσης της διακύμανσης (12).Επιπλέον, μπορούμε να χρησιμοποιήσουμε ∇ jf ( x ) nabla_j f(x)∇ιφά(Χ) χτίζω ∇ f ( x ) nabla f(x)∇φά(Χ) μια αμερόληπτη εκτίμηση του.Για παράδειγμα, ας υποθέσουμε jjι είναι από τη συλλογή { 1 , … , d } {1, ldots, d}{1,…,ρε} Ένας ομοιόμορφα τυχαία επιλεγμένος δείκτης σε .Επομένως, για οποιαδήποτε i ∈ { 1 , … , d } i σε {1, ldots, d}Εγώ∈{1,…,ρε},Εχουμε P [ j = i ] = 1 d P[j = i] = frac{1}{d}Π[ι=Εγώ]=ρε1 . επομένως, d × ∇ jf ( x ) d φορές nabla_j f(x)ρε×∇ιφά(Χ) Ναί ∇ f ( x ) nabla f(x)∇φά(Χ) Μια αμερόληπτη εκτίμηση επειδή:
E [ d ∇ jf ( x ) ] = d ∑ i = 1 d P [ j = i ] ∂ f ( x ) ∂ xiei = ∑ i = 1 d ∂ f ( x ) ∂ xiei = ∇ f ( x ) Eleft[ d nabla_j f(x) δεξιά] = d sum_{i=1}^{d} P[j = i] frac{μερική f(x)}{μερική x_i} e_i = άθροισμα_{i=1}^{d} frac{μερική f(x)}{μερική x_i} e_i = nabla f(x)μι[ρε∇ιφά(Χ)]=ρεΕγώ=1∑ρεΠ[ι=Εγώ]∂ΧΕγώ∂φά(Χ)μιΕγώ=Εγώ=1∑ρε∂ΧΕγώ∂φά(Χ)μιΕγώ=∇φά(Χ)
επομένως, ∇ jf ( x ) nabla_j f(x)∇ιφά(Χ) Έχει όλες τις ιδανικές ιδιότητες που θα περιμέναμε για την εκτίμηση πλήρους διαβάθμισης VR, χωρίς την ανάγκη χρήσης συμμεταβλητών. Ένα μειονέκτημα της χρήσης αυτής της κλίσης συντεταγμένων είναι ότι είναι υπολογιστικά ακριβό για το πρόβλημα αθροίσματος (2).Αυτό συμβαίνει γιατί ο υπολογισμός ∇ jf ( x ) nabla_j f(x)∇ιφά(Χ) Πρέπει να διασχίσετε ολόκληρο το σύνολο δεδομένων γιατί ∇ jf ( x ) = 1 n ∑ i = 1 n ∇ jfi ( x ) nabla_j f(x) = frac{1}{n} sum_{i=1}^{n} nabla_j f_i(x)∇ιφά(Χ)=n1∑Εγώ=1n∇ιφάΕγώ(Χ) . Επομένως, η χρήση παραγώγων συντεταγμένων φαίνεται ασύμβατη με τη δομή του προβλήματος αθροίσματος μας. Ωστόσο, μπορούμε συχνά να ξαναγράψουμε το αρχικό πρόβλημα (2) σε μια λεγόμενη διπλή διατύπωση, όπου οι παράγωγοι συντεταγμένων μπορούν να εκμεταλλευτούν την εγγενή δομή.
Για παράδειγμα, ο διπλός τύπος του τακτοποιημένου γραμμικού μοντέλου L2 (15) είναι:
v ∗ ∈ arg max v ∈ R n 1 n ∑ i = 1 n − ℓ i ∗ ( − vi ) − λ 2 ∥ 1 λ ∑ i = 1 nviai ∥ 2 vx_*2 σε mathbb{R}^n} frac{1}{n} sum_{i=1}^{n} -ell_i^*(-v_i) - frac{lambda}{2} αριστερά| frac{1}{lambda} sum_{i=1}^{n} v_i a_i δεξιά|^2 τετραγωνικά (27)v∗∈αρσολv∈RnΜέγιστηn1Εγώ=1∑n−ℓΕγώ∗(−vΕγώ)−2λ
λ1Εγώ=1∑nvΕγώέναΕγώ
2(27)
σε ℓ i ∗ ( v ) ell_i^*(v)ℓΕγώ∗(v) Ναί ℓ i ell_iℓΕγώ κυρτό συζυγές.Μπορούμε να χρησιμοποιήσουμε χαρτογράφηση x = 1 λ ∑ i = 1 nviaix = frac{1}{lambda} sum_{i=1}^{n} v_i a_iΧ=λ1∑Εγώ=1nvΕγώέναΕγώ για να επαναφέρετε το αρχικό πρόβλημα (15) xxΧ μεταβλητός.θα λύσει v ∗ v^*v∗ Αντικαθιστώντας στη δεξιά πλευρά της παραπάνω χαρτογράφησης, μπορούμε να πάρουμε τη λύση του (15) x∗ x^*Χ∗。
Σημειώστε ότι αυτό το διπλό πρόβλημα έχει nnn πραγματικές μεταβλητές vi ∈ R v_i στο mathbb{R}vΕγώ∈R , που αντιστοιχεί σε ένα για κάθε δείγμα εκπαίδευσης.Επιπλέον, κάθε λειτουργία διπλής απώλειας ℓ i ∗ ell_i^*ℓΕγώ∗ μόνο vi v_ivΕγώ Η λειτουργία. Δηλαδή, ο πρώτος όρος στη συνάρτηση απώλειας είναι συντεταγμένος διαχωρισμός. Αυτή η δυνατότητα διαχωρισμού στις συντεταγμένες, σε συνδυασμό με την απλή μορφή του δεύτερου όρου, μας επιτρέπει να εφαρμόσουμε αποτελεσματικά τη μέθοδο συντεταγμένης ανάβασης.Πράγματι, οι Shalev-Shwartz και Zhang έδειξαν ότι η συντεταγμένη ανάβαση σε αυτό το πρόβλημα έχει παρόμοια επαναληπτική πολυπλοκότητα με τα SAG, SAGA και SVRG O ( ( κ max + n ) log ( 1 / ϵ ) ) O((kappa_{text{max}} + n) log(1/epsilon))Ο((κΜέγιστη+n)ιδούσολ(1/ϵ))。
Το κόστος επανάληψης και η δομή του αλγορίθμου είναι επίσης πολύ παρόμοια: άθροιση με παρακολούθηση ∑ i = 1 nviai sum_{i=1}^{n} v_i a_i∑Εγώ=1nvΕγώέναΕγώ Για να χειριστείτε τον δεύτερο όρο στο (27), κάθε επανάληψη ανάβασης διπλής συντεταγμένης χρειάζεται μόνο να λάβετε υπόψη ένα δείγμα εκπαίδευσης και το κόστος κάθε επανάληψης είναι το ίδιο με nnn Τίποτα να κάνω.Επιπλέον, μπορούμε να χρησιμοποιήσουμε μια αναζήτηση γραμμής 1D για να υπολογίσουμε αποτελεσματικά το μέγεθος του βήματος για μεγιστοποίηση vi v_ivΕγώ Διπλός στόχος της συνάρτησης.Αυτό σημαίνει ότι ακόμη και χωρίς L max L_{text{max}}μεγάλοΜέγιστη Ή γνώση σχετικών ποσοτήτων, είναι επίσης δυνατό να επιτευχθούν γρήγοροι χρόνοι λειτουργίας στη χειρότερη περίπτωση για μεθόδους VR.
Προκειμένου να εφαρμοστεί η βασική μέθοδος μείωσης διασποράς (VR) και να επιτευχθούν λογικές επιδόσεις, πρέπει να αντιμετωπιστούν αρκετά ζητήματα υλοποίησης. Σε αυτή την ενότητα, συζητάμε διάφορα θέματα που δεν καλύπτονται παραπάνω.
Στον τομέα των αλγορίθμων βελτιστοποίησης, ειδικά σε μεθόδους μείωσης διακύμανσης όπως η στοχαστική μέση κλίση (SAG), ο στοχαστικός μέσος αλγόριθμος κλίσης (SAGA) και η στοχαστική κλίση (SVRG), η ρύθμιση του μεγέθους του βήματος είναι βασικό ζήτημα.Αν και για τη μέθοδο στοχαστικής ανάβασης διπλής συντεταγμένης (SDCA), μπορούμε να χρησιμοποιήσουμε τον διπλό στόχο για να καθορίσουμε το μέγεθος του βήματος, η θεωρητική βάση για τις αρχικές μεταβλητές μεθόδους των SAG, SAGA και SVRG είναι ότι το μέγεθος του βήματος πρέπει να είναι γ = O ( 1 L max ) gamma = Oleft(frac{1}{L_{text{max}}}right)γ=Ο(μεγάλοΜέγιστη1) μορφή.Ωστόσο, σε πρακτικές εφαρμογές, συχνά δεν γνωρίζουμε L max L_{text{max}}μεγάλοΜέγιστη Η ακριβής τιμή του και η χρήση άλλων μεγεθών βημάτων μπορεί να δώσει καλύτερη απόδοση.
Μια κλασική στρατηγική για τον ορισμό του μεγέθους βήματος στη μέθοδο πλήρους κλίσης κατάβασης (full-GD) είναι η αναζήτηση γραμμής Armijo.δεδομένο τρέχον σημείο xk x_kΧκ και κατεύθυνση αναζήτησης gk g_kσολκ, αναζήτηση γραμμής Armijo σε γ k gamma_kγκ πραγματοποιείται στη γραμμή, η οποία ορίζεται ως γ k ∈ { γ : xk + γ gk } gamma_k σε {γάμα : x_k + γάμμα g_k}γκ∈{γ:Χκ+γσολκ}, και η συνάρτηση απαιτείται να μειωθεί επαρκώς, δηλαδή:
f ( xk + γ kgk ) < f ( xk ) − c γ k ∥ ∇ f ( xk ) ∥ 2 f(x_k + gamma_k g_k) < f(x_k) - c gamma_k |nabla f(x_k)|^2φά(Χκ+γκσολκ)<φά(Χκ)−ντογκ∥∇φά(Χκ)∥2
Ωστόσο, αυτή η προσέγγιση απαιτεί πολλαπλά βήματα υποψηφίου γ k gamma_kγκ Υπολογισμός f ( xk + γ kgk ) f(x_k + gamma_k g_k)φά(Χκ+γκσολκ), το οποίο αξιολογεί f ( x ) f(x)φά(Χ) Απαγορευτικό κόστος όταν πρόκειται για τη διέλευση ολόκληρου του συνόλου δεδομένων.
Για να λυθεί αυτό το πρόβλημα, μπορεί να χρησιμοποιηθεί μια μέθοδος τυχαίας παραλλαγής για να βρεθούν εκείνα που πληρούν τις ακόλουθες προϋποθέσεις γ k gamma_kγκ:
fik ( xk + γ kgk ) < fik ( xk ) − c γ k ∥ ∇ fik ( xk ) ∥ 2 f_{ik}(x_k + gamma_k g_k) < f_{ik}(x_k) - c gamma_k |nabla f_{ik }(x_k)|^2φάik(Χκ+γκσολκ)<φάik(Χκ)−ντογκ∥∇φάik(Χκ)∥2
Αυτή η προσέγγιση συνήθως λειτουργεί καλά στην πράξη, ειδικά όταν ∥ ∇ fik ( xk ) ∥ |nabla f_{ik}(x_k)|∥∇φάik(Χκ)∥ όχι κοντά στο μηδέν, αν και δεν υπάρχει προς το παρόν καμία θεωρία που να υποστηρίζει αυτήν την προσέγγιση.
Επιπλέον, ο Mairal πρότεινε μια «τεχνική Bottou» για τον καθορισμό του μεγέθους του βήματος στην πράξη. Αυτή η μέθοδος εκτελεί μια δυαδική αναζήτηση λαμβάνοντας ένα μικρό μέρος του συνόλου δεδομένων (π.χ. 5%) για να προσπαθήσει να βρει το βέλτιστο μέγεθος βήματος σε ένα μόνο πέρασμα από αυτό το δείγμα. Παρόμοια με την αναζήτηση γραμμής Armijo, αυτή η μέθοδος συχνά αποδίδει καλά στην πράξη, αλλά και πάλι στερείται θεωρητικής βάσης.
Λάβετε υπόψη ότι το παραπάνω περιεχόμενο αποτελεί επαναδιατύπωση του αρχικού κειμένου, χρησιμοποιώντας τη μορφή Markdown για την αναπαράσταση μαθηματικών τύπων και μεταβλητών.
Ωστόσο, η μέθοδος SDCA έχει επίσης ορισμένα μειονεκτήματα.Πρώτον, απαιτεί τον υπολογισμό του κυρτού συζυγούς ℓ i ∗ ell_i^*ℓΕγώ∗ παρά μια απλή κλίση. Δεν έχουμε αυτόματο διαφορικό ισοδύναμο για κυρτά συζεύγματα, επομένως αυτό μπορεί να αυξήσει την προσπάθεια υλοποίησης. Πρόσφατη εργασία έχει προτείνει μεθόδους SDCA "διπλής ελεύθερα" που δεν απαιτούν σύζευξη και αντίθετα χρησιμοποιούν απευθείας κλίσεις. Ωστόσο, σε αυτές τις μεθόδους δεν είναι πλέον δυνατή η παρακολούθηση του διπλού στόχου για να ορίσετε το μέγεθος του βήματος.Δεύτερον, αν και το SDCA απαιτεί μόνο O ( n + d ) O(n + d)Ο(n+ρε) μνήμη για την επίλυση του προβλήματος (15), αλλά για αυτήν την κατηγορία προβλημάτων, χρειάζεται μόνο το SAG/SAGA O ( n + d ) O(n + d)Ο(n+ρε) μνήμης (βλ. Ενότητα 3).Μια παραλλαγή του SDCA κατάλληλη για γενικότερα προβλήματα με SAG/SAGA O ( nd ) O(nd)Ο(nρε) μνήμη γιατί vi v_ivΕγώ γίνει έχοντας δδρε διάνυσμα στοιχείων. Ένα τελευταίο λεπτό μειονέκτημα του SDCA είναι ότι υποθέτει έμμεσα μια ισχυρή σταθερά κυρτότητας μ muμ ίσος λ λάμδαλ .Για μ muμ περισσότερο από το λ λάμδαλ πρόβλημα, η αρχική μέθοδος VR συνήθως ξεπερνά σημαντικά το SDCA.
Στον τομέα της βελτιστοποίησης αλγορίθμων, βασιζόμαστε συχνά σε θεωρητικά αποτελέσματα επαναληπτικής πολυπλοκότητας για να προβλέψουμε τον αριθμό των επαναλήψεων στη χειρότερη περίπτωση που απαιτείται για να επιτύχει ένας αλγόριθμος μια συγκεκριμένη ακρίβεια. Ωστόσο, αυτά τα θεωρητικά όρια συχνά βασίζονται σε ορισμένες σταθερές που δεν μπορούμε να προβλέψουμε και σε πρακτικές εφαρμογές, ο αλγόριθμος μπορεί συχνά να επιτύχει την αναμενόμενη ακρίβεια σε λιγότερες επαναλήψεις. Επομένως, πρέπει να ορίσουμε κάποια κριτήρια δοκιμής για να καθορίσουμε πότε πρέπει να τερματιστεί ο αλγόριθμος.
Στην παραδοσιακή μέθοδο καθόδου πλήρους κλίσης (full-GD), συνήθως χρησιμοποιούμε τον κανόνα της κλίσης ∥ ∇ f ( xk ) ∥ | nabla f(x_k) |∥∇φά(Χκ)∥ Ή κάποια άλλη ποσότητα που σχετίζεται με αυτό για να αποφασίσετε πότε θα σταματήσετε την επανάληψη.Για τη μέθοδο SVRG μπορούμε να υιοθετήσουμε το ίδιο κριτήριο αλλά να χρησιμοποιήσουμε ∥ ∇ f ( x ˉ s ) ∥ | nabla f(bar{x}_s) |∥∇φά(Χˉμικρό)∥ ως βάση για κρίση.Για τη μέθοδο SAG/SAGA, αν και δεν υπολογίζουμε ρητά την πλήρη διαβάθμιση, η ποσότητα $ g_{bar{k}} $ θα προσεγγιστεί σταδιακά ∇ f ( xk ) nabla f(x_k)∇φά(Χκ), επομένως, χρήση ∥ gk ˉ ∥ | g_{bar{k}} |∥σολκˉ∥ ως συνθήκη διακοπής είναι μια λογική ευρετική.
Στη μέθοδο SDCA, με κάποια πρόσθετη εργασία εγγραφής, μπορούμε να παρακολουθήσουμε την κλίση του διπλού στόχου χωρίς να προσθέσουμε επιπλέον ασυμπτωτικό κόστος.Επιπλέον, μια πιο συστηματική προσέγγιση θα ήταν η παρακολούθηση του διπλού χάσματος, αν και αυτό θα αύξανε το O ( n ) O(n)Ο(n) κόστος, αλλά είναι σε θέση να παρέχει συνθήκες τερματισμού με αποδείξεις διπλού κενού. Επιπλέον, με βάση τη συνθήκη βελτιστοποίησης των έντονα κυρτών στόχων, η μέθοδος MISO υιοθετεί μια βασική μέθοδο βασισμένη στο τετραγωνικό κάτω όριο [41].
Οι παρακάτω είναι μαθηματικοί τύποι και μεταβλητές που εκφράζονται σε μορφή Markdown:
Λάβετε υπόψη ότι το παραπάνω περιεχόμενο αποτελεί επαναδιατύπωση του αρχικού κειμένου, χρησιμοποιώντας τη μορφή Markdown για την αναπαράσταση μαθηματικών τύπων και μεταβλητών.
Αν και ο αλγόριθμος Stochastic Variational Reduction of Gradient (SVRG) εξαλείφει τις απαιτήσεις μνήμης των προηγούμενων μεθόδων μείωσης παραλλαγής, σε πρακτικές εφαρμογές, οι αλγόριθμοι SAG (Stochastic Average Gradient Descent) και SAGA (Stochastic Average Gradient Descent with Gradient Accuulation) χρησιμοποιούνται σε πολλά προβλήματα. τείνουν να απαιτούν λιγότερες επαναλήψεις από τον αλγόριθμο SVRG.Αυτό πυροδότησε μια σκέψη: Υπάρχουν ορισμένα ζητήματα που επιτρέπουν στο SAG/SAGA O ( nd ) O(nd)Ο(nρε) Οι απαιτήσεις μνήμης υλοποιούνται παρακάτω. Αυτή η ενότητα διερευνά μια κατηγορία γραμμικών μοντέλων για τα οποία οι απαιτήσεις μνήμης μπορούν να μειωθούν σημαντικά.
Εξετάστε ένα γραμμικό μοντέλο όπου κάθε συνάρτηση fi ( x ) f_i(x)φάΕγώ(Χ) Μπορεί να εκφραστεί ως ξ i ( ai ⊤ x ) xi_i(mathbf{a}_i^top x)ξΕγώ(έναΕγώ⊤Χ) .σωστά xxΧ Το παράγωγο δίνει τη μορφή κλίσης:
∇ fi ( x ) = ξ ′ ( ai ⊤ x ) ai nabla f_i(x) = xi'(mathbf{a}_i^top x) mathbf{a}_i∇φάΕγώ(Χ)=ξ′(έναΕγώ⊤Χ)έναΕγώ
εδώ, ξ 'xi'ξ′ εξπρές ξ xiξ το παράγωγο του.Υποθέτοντας ότι έχουμε άμεση πρόσβαση στα ιδιοδιανύσματα αι mathbf{a}_iέναΕγώ, τότε για να εφαρμόσουμε τη μέθοδο SAG/SAGA, χρειάζεται μόνο να αποθηκεύσουμε το βαθμωτό ξ ( ai ⊤ x ) xi(mathbf{a}_i^top x)ξ(έναΕγώ⊤Χ) .Με αυτόν τον τρόπο, οι απαιτήσεις μνήμης ποικίλλουν από O ( nd ) O(nd)Ο(nρε) μειώθηκε σε O ( n ) O(n)Ο(n) . Ο αλγόριθμος SVRG μπορεί επίσης να εκμεταλλευτεί αυτή τη δομή διαβαθμίσεων: αποθηκεύοντας αυτό nnn κλιμακωτό, μπορούμε να μειώσουμε τον αριθμό των αξιολογήσεων κλίσης που απαιτούνται ανά "εσωτερική" επανάληψη SVRG σε 1 για αυτήν την κατηγορία προβλημάτων.
Υπάρχουν και άλλα είδη προβλημάτων, όπως πιθανοτικά γραφικά μοντέλα, τα οποία προσφέρουν επίσης τη δυνατότητα μείωσης των απαιτήσεων μνήμης [66]. Μέσω συγκεκριμένης δομής δεδομένων και βελτιστοποίησης αλγορίθμων, οι πόροι μνήμης που απαιτούνται από τον αλγόριθμο κατά το χρόνο εκτέλεσης μπορούν να μειωθούν περαιτέρω.
Οι παρακάτω είναι μαθηματικοί τύποι και μεταβλητές που εκφράζονται σε μορφή Markdown:
Σε ορισμένα προβλήματα, η κλίση ∇ fi ( x ) nabla f_i(x)∇φάΕγώ(Χ) Μπορεί να περιέχει μεγάλο αριθμό μηδενικών τιμών, όπως ένα γραμμικό μοντέλο με αραιά χαρακτηριστικά.Σε αυτήν την περίπτωση, ο παραδοσιακός αλγόριθμος στοχαστικής διαβάθμισης (SGD) μπορεί να εφαρμοστεί αποτελεσματικά, με υπολογιστική πολυπλοκότητα γραμμική ως προς τον αριθμό των μη μηδενικών στοιχείων στη διαβάθμιση, που είναι συνήθως πολύ μικρότερος από τη διάσταση του προβλήματος δδρε . Ωστόσο, στις τυπικές μεθόδους μείωσης της μεταβολής (VR), αυτό το πλεονέκτημα δεν αξιοποιείται. Ευτυχώς, υπάρχουν δύο γνωστοί τρόποι για να βελτιωθεί αυτό.
Η πρώτη βελτίωση προτάθηκε από τους Schmidt et al., ο οποίος εκμεταλλεύεται την απλότητα της διαδικασίας ενημέρωσης και εφαρμόζει μια παραλλαγή του υπολογισμού "on-the-fly" έτσι ώστε το κόστος κάθε επανάληψης να είναι ανάλογο με τον αριθμό των μη μηδενικών στοιχεία.Λαμβάνοντας ως παράδειγμα το SAG (αλλά αυτή η προσέγγιση λειτουργεί για όλες τις παραλλαγές), αυτό γίνεται με το να μην αποθηκεύεται το πλήρες διάνυσμα μετά από κάθε επανάληψη vik v_{ik}vik, αλλά υπολογίζει μόνο εκείνα που αντιστοιχούν σε μη μηδενικά στοιχεία vikj v_{ik_j}vΕγώκι, ενημερώνοντας κάθε μεταβλητή από την τελευταία φορά που αυτό το στοιχείο ήταν μη μηδενικό vikj v_{ik_j}vΕγώκι。
Η δεύτερη μέθοδος βελτίωσης προτάθηκε από τους Leblond et al για το SAGA, η οποία ενημερώνει τον τύπο xk + 1 = xk − γ ( ∇ fik ( xk ) − ∇ fik ( x ˉ ik ) + g ˉ k ) x_{k+1} = x_k - γάμμα(nabla f_{ik}(x_k) - nabla f_{ik }(bar{x}_{ik}) + γραμμή{g}_k)Χκ+1=Χκ−γ(∇φάik(Χκ)−∇φάik(Χˉik)+σολˉκ) Εισάγεται πρόσθετη τυχαιότητα. εδώ, ∇ fik ( xk ) nabla f_{ik}(x_k)∇φάik(Χκ) και ∇ fik ( x ˉ ik ) nabla f_{ik}(bar{x}_{ik})∇φάik(Χˉik) είναι αραιή, και g ˉ k bar{g}_kσολˉκ είναι πυκνό.Σε αυτή τη μέθοδο, ο πυκνός όρος ( g ˉ k ) j (bar{g}_k)_j(σολˉκ)ι Κάθε συστατικό του αντικαθίσταται από wj ( g ˉ k ) j w_j (bar{g}_k)_jwι(σολˉκ)ι,σε w ∈ R dw σε mathbb{R}^dw∈Rρε είναι ένα τυχαίο αραιό διάνυσμα του οποίου το σύνολο υποστήριξης περιέχεται σε ∇ fik ( xk ) nabla f_{ik}(x_k)∇φάik(Χκ) , και αναμένεται να είναι ένα σταθερό διάνυσμα με όλα τα στοιχεία ίσα με 1. Με αυτόν τον τρόπο, η διαδικασία ενημέρωσης παραμένει αμερόληπτη (αν και τώρα αραιή) και η αυξημένη διακύμανση δεν επηρεάζει τον ρυθμό σύγκλισης του αλγορίθμου. Περισσότερες λεπτομέρειες παρέχονται από τους Leblond et al.
Οι παρακάτω είναι μαθηματικοί τύποι και μεταβλητές που εκφράζονται σε μορφή Markdown: