Κοινή χρήση τεχνολογίας

[Deep Learning] Βασικές αρχές γραφικού μοντέλου (7): Μέθοδος μείωσης διακύμανσης στη βελτιστοποίηση μηχανικής μάθησης (1)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Περίληψη

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

Λέξεις κλειδιά Μείωση διακύμανσης

1. Εισαγωγή

Στον τομέα της έρευνας μηχανικής μάθησης, ένα βασικό και σημαντικό ζήτημα είναι ο τρόπος προσαρμογής του μοντέλου σε ένα τεράστιο σύνολο δεδομένων. Για παράδειγμα, μπορούμε να εξετάσουμε την τυπική περίπτωση ενός γραμμικού μοντέλου ελαχίστων τετραγώνων:

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Εγώ=1n(έναΕγώΤΧσιΕγώ)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Εγώ=1nφάΕγώ(Χ)

λειτουργία απώλειας 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Εγώ=1nιδούσολ(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.

1.1 Μέθοδοι κλίσης και στοχαστικής κλίσης

Το 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Εγώ=1nφάΕγώ(Χκ)

εδώ, γ γάμμαγ είναι μια σταθερή τιμή βήματος μεγαλύτερη από το μηδέν.Κατά τη διάρκεια κάθε επανάληψης του αλγορίθμου 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)φάΕγώ(Χκ) υπολογισμός.

1.2 Πρόβλημα διακύμανσης

Ας εξετάσουμε την τυχαία ευρετηρίαση 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Εγώ=1nφάΕγώ(Χκ)=φά(Χκ)(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λύνω.

1.3 Κλασική μέθοδος μείωσης διασποράς

επεξεργασία λόγω ∇ 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)φά(Χκ) , το τελευταίο είναι ένας απλός μέσος όρος. Η πρώτη μέθοδος μείωσης της διακύμανσης που θα δούμε στην Ενότητα ΙΙ-Α λύνει αυτό το πρόβλημα χρησιμοποιώντας έναν απλό μέσο όρο αντί για οποιοδήποτε σταθμισμένο μέσο όρο.

1.4 Σύγχρονες μέθοδοι μείωσης διασποράς

Σε αντίθεση με τις κλασικές μεθόδους, χρησιμοποιούν απευθείας μία ή περισσότερες ∇ 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).

1.5 Πρώτο παράδειγμα μεθόδου μείωσης διακύμανσης: SGD²

Μια απλή μέθοδος βελτίωσης μπορεί να κάνει τον αναδρομικό τύπο 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, τις οποίες έχουμε αναλυτικά στο Παράρτημα Β.

1.6 Μέθοδος ταχείας σύγκλισης της μείωσης της διακύμανσης

Σε αυτήν την ενότητα θα εισαγάγουμε δύο τυπικές παραδοχές που χρησιμοποιούνται για την ανάλυση της μεθόδου μείωσης της διακύμανσης (VR) και θα συζητήσουμε το αποτέλεσμα επιτάχυνσης που μπορεί να επιτευχθεί με αυτές τις παραδοχές σε σύγκριση με την παραδοσιακή μέθοδο SGD. Πρώτον, υποθέτουμε ότι η κλίση έχει συνέχεια Lipschitz, που σημαίνει ότι ο ρυθμός μεταβολής της κλίσης είναι πεπερασμένος.

Υπόθεση 1 (Συνέχεια Lipschitz)

Υποθέτουμε ότι η συνάρτηση ffφάείναι διαφοροποιήσιμο και είναι LLμεγάλο- ομαλή, για όλους xxΧ και εεεy και κάποιος 0 &lt; L &lt; ∞ 0 &lt; L &lt; 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μεγάλο ανώτατο όριο.

Υπόθεση 2 (ισχυρή κυρτότητα)

Η δεύτερη υπόθεση που θεωρούμε είναι ότι η συνάρτηση (f) είναι μ muμ-Έντονα κυρτό, που σημαίνει ότι για ένα ορισμένο μ &gt; 0 μ &gt; 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Εγώ=1nΕγώ(έναΕγώΤΧ)+2λΧ2(15)
όπου κάθε συνάρτηση «απώλειας». ℓ i : R → R ell_i: mathbb{R} δεξιό βέλος mathbb{R}Εγώ:RR είναι δύο φορές διαφοροποιήσιμο και η δεύτερη παράγωγός του ℓ εγώ '' 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 &lt; ρ ≤ 1 0 &lt; rho leq 10<ρ1 Ο ρυθμός γραμμικής σύγκλισης (υπό προσδοκία), εάν υπάρχει σταθερά C &gt; 0 C &gt; 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.

2. Μέθοδος μείωσης βασικής διακύμανσης

Η ανάπτυξη μεθόδων μείωσης διακύμανσης (VR) έχει περάσει από διάφορα στάδια και η αρχική παρτίδα μεθόδων είχε ως αποτέλεσμα σημαντικά βελτιωμένα ποσοστά σύγκλισης. Η αρχή αυτής της σειράς μεθόδων είναι ο αλγόριθμος SAG. Στη συνέχεια, ο αλγόριθμος στοχαστικής ανάβασης διπλής συντεταγμένης (SDCA), ο αλγόριθμος MISO, ο αλγόριθμος μείωσης της διακύμανσης στοχαστικής διακύμανσης (SVRG/S2GD) και ο αλγόριθμος SAGA (που σημαίνει "βελτιωμένο" SAG) βγήκαν ο ένας μετά τον άλλο.

Σε αυτό το κεφάλαιο, ρίχνουμε μια πιο προσεκτική ματιά σε αυτές τις πρωτοποριακές μεθόδους VR. Στο Κεφάλαιο 4, θα διερευνήσουμε μερικές νεότερες μεθόδους που παρουσιάζουν ανώτερα χαρακτηριστικά σε σύγκριση με αυτές τις βασικές μεθόδους σε συγκεκριμένα σενάρια εφαρμογών.

2.1 Μέθοδος στοχαστικής μέσης κλίσης (SAG)

Η εξερεύνηση της μεθόδου μείωσης της πρώτης διακύμανσης (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ι=1nvjkn1ι=1nφάι(Χκ)=φά(Χκ)(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Εγώκκ=σολˉκ1n1vΕγώκκ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

  1. Παράμετροι: μέγεθος βήματος γ &gt; 0 γάμα &gt; 0γ>0
  2. αρχικοποίηση: x 0 x_0Χ0 vi = 0 ∈ R d v_i = 0 στο mathbb{R}^dvΕγώ=0Rρε Για i = 1 , … , ni = 1, ldots, nΕγώ=1,,n
  3. σωστά k = 1 , … , T − 1 k = 1, ldots, T - 1κ=1,,Τ1 υλοποιώ, εφαρμόζω:
    α. Τυχαία επιλογή ik ∈ { 1 , … , n } i_k σε {1, ldots, n}Εγώκ{1,,n}
    β. Υπολογίστε g ˉ k = g ˉ k − 1 − 1 nvikk − 1 bar{g}_k = bar{g}_{k-1} - frac{1}{n} v_{i_k}^{k-1}σολˉκ=σολˉκ1n1vΕγώκκ1
    γ vikk = ∇ fik ( xk ) v_{i_k}^k = nabla f_{i_k}(x_k)vΕγώκκ=φάΕγώκ(Χκ)
    δ. Ενημέρωση εκτίμησης κλίσης g ˉ k = g ˉ k + 1 nvikk bar{g}_k = bar{g}_k + frac{1}{n} v_{i_k}^kσολˉκ=σολˉκ+n1vΕγώκκ
    ε. Ενημέρωση xk + 1 = xk − γ g ˉ k x_{k+1} = x_k - γραμμή γάμμα{g}_kΧκ+1=Χκγσολˉκ
  4. Παραγωγή: x T x_TΧΤ

2.2.Μέθοδος SAGA

Μια μειωμένη βασική αμερόληπτη εκτίμηση κλίσης ∇ 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Εγώ=1n(φάΕγώ(Χ)vΕγώ+vΕγώ)=n1Εγώ=1nφάΕγώ(Χ)vΕγώ+n1ι=1nvι
: = 1 n ∑ i = 1 n ∇ fi ( x , v ) ( 21 ) := frac{1}{n} sum_{i=1}^{n} nabla f_i(x, v) quad (21):=n1Εγώ=1nφάΕγώ(Χ,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ι=1nvι(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ι=1nφάι(Χˉι)(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

  1. Παράμετροι: μέγεθος βήματος γ &gt; 0 γάμα &gt; 0γ>0
  2. αρχικοποίηση: x 0 x_0Χ0 vi = 0 ∈ R d v_i = 0 στο mathbb{R}^dvΕγώ=0Rρε Για i = 1 , … , ni = 1, ldots, nΕγώ=1,,n
  3. συμπεριφορά k = 1 , … , T − 1 k = 1, ldots, T - 1κ=1,,Τ1 επαναλήψεις:
    α. Τυχαία επιλογή ik ∈ { 1 , … , n } i_k σε {1, ldots, n}Εγώκ{1,,n}
    β. Αποθήκευση παλιάς αξίας v old = vik v_{text{old}} = v_{i_k}vπαλαιός=vΕγώκ
    γ vik = ∇ fik ( xk ) v_{i_k} = nabla f_{i_k}(x_k)vΕγώκ=φάΕγώκ(Χκ)
    δ. Ενημέρωση xk + 1 = xk − γ ( vik − v παλιό + g ˉ k ) x_{k+1} = x_k - γάμμα (v_{i_k} - v_{κείμενο{παλιό}} + γραμμή{g}_k)Χκ+1=Χκγ(vΕγώκvπαλαιός+σολˉκ)
    ε. Ενημέρωση εκτίμησης κλίσης g ˉ k = g ˉ k − 1 + 1 n ( vik − v old ) bar{g}_k = bar{g}_{k-1} + frac{1}{n} (v_{i_k} - v_{ κείμενο{παλιό}})σολˉκ=σολˉκ1+n1(vΕγώκvπαλαιός)
  4. Παραγωγή: x T x_TΧΤ

Η μέθοδος 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)Ο(ρε) μνήμης, για γενικά θέματα.

2.3.Μέθοδος SVRG

Πριν από την εμφάνιση της μεθόδου 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

  1. Παράμετροι: μέγεθος βήματος γ &gt; 0 γάμα &gt; 0γ>0
  2. Αρχικοποίηση σημείου αναφοράς x ˉ 0 = x 0 ∈ R d bar{x}_0 = x_0 σε mathbb{R}^dΧˉ0=Χ0Rρε
  3. Πραγματοποιήστε εξωτερική κυκλοφορία s = 1 , 2 , … s = 1, 2, ldotsμικρό=1,2,
    α. Υπολογίστε και αποθηκεύστε ∇ f ( x ˉ s − 1 ) nabla f(bar{x}_{s-1})φά(Χˉμικρό1)
    β. Υποθέστε x 0 = x ˉ s − 1 x_0 = bar{x}_{s-1}Χ0=Χˉμικρό1
    c Επιλέξτε τον αριθμό των επαναλήψεων του εσωτερικού βρόχου ttt
    δ. Εκτελέστε εσωτερική κυκλοφορία k = 0 , 1 , … , t − 1 k = 0, 1, ldots, t - 1κ=0,1,,t1
    i. Τυχαία επιλογή ik ∈ { 1 , … , n } i_k σε {1, ldots, n}Εγώκ{1,,n}
    ii. Υπολογισμός gk = ∇ fik ( xk ) − ∇ fik ( x ˉ s − 1 ) + ∇ f ( x ˉ s − 1 ) g_k = nabla f_{i_k}(x_k) - nabla f_{i_k}(bar{x}_{ s-1}) + nabla f(bar{x}_{s-1})σολκ=φάΕγώκ(Χκ)φάΕγώκ(Χˉμικρό1)+φά(Χˉμικρό1)
    iii. Ενημέρωση xk + 1 = xk − γ gk x_{k+1} = x_k - γάμμα g_kΧκ+1=Χκγσολκ
    ε. Ενημέρωση σημείου αναφοράς x ˉ s = xt bar{x}_s = x_tΧˉμικρό=Χt

2.4. SDCA και οι παραλλαγές του

Ένα μειονέκτημα των μεθόδων 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)∥∇φά(Χ)ιφά(Χ)20πότεΧΧ(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αρσολvRnΜέγιστηn1Εγώ=1nΕγώ(vΕγώ)2λ λ1Εγώ=1nvΕγώέναΕγώ 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.

3. Πρακτικά θέματα μείωσης διασποράς

Προκειμένου να εφαρμοστεί η βασική μέθοδος μείωσης διασποράς (VR) και να επιτευχθούν λογικές επιδόσεις, πρέπει να αντιμετωπιστούν αρκετά ζητήματα υλοποίησης. Σε αυτή την ενότητα, συζητάμε διάφορα θέματα που δεν καλύπτονται παραπάνω.

3.1.Μέγεθος βήματος ρύθμισης SAG/SAGA/SVRG

Στον τομέα των αλγορίθμων βελτιστοποίησης, ειδικά σε μεθόδους μείωσης διακύμανσης όπως η στοχαστική μέση κλίση (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 ) &lt; f ( xk ) − c γ k ∥ ∇ f ( xk ) ∥ 2 f(x_k + gamma_k g_k) &lt; 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 ) &lt; fik ( xk ) − c γ k ∥ ∇ fik ( xk ) ∥ 2 f_{ik}(x_k + gamma_k g_k) &lt; 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.

3.2 Καθορισμός όρων τερματισμού

Στον τομέα της βελτιστοποίησης αλγορίθμων, βασιζόμαστε συχνά σε θεωρητικά αποτελέσματα επαναληπτικής πολυπλοκότητας για να προβλέψουμε τον αριθμό των επαναλήψεων στη χειρότερη περίπτωση που απαιτείται για να επιτύχει ένας αλγόριθμος μια συγκεκριμένη ακρίβεια. Ωστόσο, αυτά τα θεωρητικά όρια συχνά βασίζονται σε ορισμένες σταθερές που δεν μπορούμε να προβλέψουμε και σε πρακτικές εφαρμογές, ο αλγόριθμος μπορεί συχνά να επιτύχει την αναμενόμενη ακρίβεια σε λιγότερες επαναλήψεις. Επομένως, πρέπει να ορίσουμε κάποια κριτήρια δοκιμής για να καθορίσουμε πότε πρέπει να τερματιστεί ο αλγόριθμος.

Στην παραδοσιακή μέθοδο καθόδου πλήρους κλίσης (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:

  • Κανόνας κλίσης: ∥ ∇ f ( xk ) ∥ | nabla f(x_k) |∥∇φά(Χκ)
  • Κανόνας κλίσης στη μέθοδο SVRG: ∥ ∇ f ( x ˉ s ) ∥ | nabla f(bar{x}_s) |∥∇φά(Χˉμικρό)
  • Το ποσό της κλίσης προσέγγισης στη μέθοδο SAG/SAGA: $ g_{bar{k}} $
  • Αυξημένο κόστος ανά επανάληψη: O ( n ) O(n)Ο(n)
  • Μέθοδος MISO
  • τετραγωνικό κάτω όριο

Λάβετε υπόψη ότι το παραπάνω περιεχόμενο αποτελεί επαναδιατύπωση του αρχικού κειμένου, χρησιμοποιώντας τη μορφή Markdown για την αναπαράσταση μαθηματικών τύπων και μεταβλητών.

3.3 Μειώστε τις απαιτήσεις μνήμης

Αν και ο αλγόριθμος 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) = ξ i ( ai ⊤ x) f_i(x) = xi_i(mathbf{a}_i^top x)φάΕγώ(Χ)=ξΕγώ(έναΕγώΧ)
  • Έκφραση κλίσης: ∇ fi ( x ) = ξ ′ ( ai ⊤ x ) ai nabla f_i(x) = xi'(mathbf{a}_i^top x) mathbf{a}_iφάΕγώ(Χ)=ξ(έναΕγώΧ)έναΕγώ
  • Διάνυσμα χαρακτηριστικών: αι mathbf{a}_iέναΕγώ
  • Οι απαιτήσεις μνήμης κυμαίνονται από O ( nd ) O(nd)Ο(nρε) Μειώστε σε O ( n ) O(n)Ο(n)

3.4 Επεξεργασία αραιών κλίσεων

Σε ορισμένα προβλήματα, η κλίση ∇ 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}^dwRρε είναι ένα τυχαίο αραιό διάνυσμα του οποίου το σύνολο υποστήριξης περιέχεται σε ∇ fik ( xk ) nabla f_{ik}(x_k)φάik(Χκ) , και αναμένεται να είναι ένα σταθερό διάνυσμα με όλα τα στοιχεία ίσα με 1. Με αυτόν τον τρόπο, η διαδικασία ενημέρωσης παραμένει αμερόληπτη (αν και τώρα αραιή) και η αυξημένη διακύμανση δεν επηρεάζει τον ρυθμό σύγκλισης του αλγορίθμου. Περισσότερες λεπτομέρειες παρέχονται από τους Leblond et al.

Οι παρακάτω είναι μαθηματικοί τύποι και μεταβλητές που εκφράζονται σε μορφή Markdown:

  • βαθμίδα: ∇ fi ( x ) nabla f_i(x)φάΕγώ(Χ)
  • Ενημέρωση SGD: 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σολˉκ
  • Τυχαία αραιά διανύσματα: www
  • Αναμένει σταθερό διάνυσμα: ένα διάνυσμα με όλα τα στοιχεία ίσα με 1.