Online-Maschinelles Lernen - Online machine learning

In der Informatik ist maschinelles Online-Lernen eine Methode des maschinellen Lernens, bei der Daten in einer sequentiellen Reihenfolge verfügbar werden und verwendet wird, um den besten Prädiktor für zukünftige Daten bei jedem Schritt zu aktualisieren, im Gegensatz zu Batch-Learning-Techniken, die den besten Prädiktor durch Lernen generieren auf den gesamten Trainingsdatensatz auf einmal. Online-Lernen ist eine gängige Technik, die in Bereichen des maschinellen Lernens verwendet wird, in denen es rechnerisch nicht möglich ist, den gesamten Datensatz zu trainieren, was die Notwendigkeit von Out-of-Core- Algorithmen erfordert . Es wird auch in Situationen verwendet, in denen der Algorithmus sich dynamisch an neue Muster in den Daten anpassen muss oder wenn die Daten selbst als Funktion der Zeit generiert werden, z. B. bei der Aktienkursvorhersage . Online-Lernalgorithmen können anfällig für katastrophale Störungen sein , ein Problem, das durch inkrementelle Lernansätze angegangen werden kann.

Einführung

Im Rahmen des überwachten Lernens soll eine Funktion von gelernt werden, die man sich als Input- und Output- Raum vorstellt, die gut auf Instanzen vorhersagt, die aus einer gemeinsamen Wahrscheinlichkeitsverteilung auf gezogen werden . In Wirklichkeit kennt der Lernende nie die wahre Verteilung über die Instanzen. Stattdessen hat der Lernende in der Regel Zugriff auf eine Reihe von Trainingsbeispielen . In dieser Einstellung wird die Verlustfunktion als angegeben , sodass die Differenz zwischen dem vorhergesagten Wert und dem wahren Wert gemessen wird . Das ideale Ziel ist es, eine Funktion auszuwählen , wobei ein Raum von Funktionen als Hypothesenraum bezeichnet wird, so dass ein gewisser Totalverlust minimiert wird. Je nach Modelltyp (statistisch oder kontradiktorisch) kann man sich unterschiedliche Verlustvorstellungen ausdenken, die zu unterschiedlichen Lernalgorithmen führen.

Statistische Ansicht des Online-Lernens

In statistischen Lernmodellen wird davon ausgegangen, dass die Trainingsstichprobe aus der wahren Verteilung gezogen wurde und das Ziel darin besteht, das erwartete "Risiko" zu minimieren.

Ein gängiges Paradigma in dieser Situation ist die Schätzung einer Funktion durch empirische Risikominimierung oder regularisierte empirische Risikominimierung (normalerweise Tikhonov-Regularisierung ). Die Wahl der Verlustfunktion führt hier zu mehreren wohlbekannten Lernalgorithmen, wie zum Beispiel Regularized Least Squares und Support Vector Machines . Ein reines Online-Modell in dieser Kategorie würde nur auf der Grundlage der neuen Eingabe , des aktuell besten Prädiktors und einiger zusätzlich gespeicherter Informationen lernen (von denen normalerweise erwartet wird, dass sie unabhängig von der Trainingsdatengröße Speicheranforderungen haben). Für viele Formulierungen, zum Beispiel nichtlineare Kernel-Methoden , ist echtes Online-Lernen nicht möglich, obwohl eine Form des hybriden Online-Lernens mit rekursiven Algorithmen verwendet werden kann, wo es erlaubt ist, von und allen vorherigen Datenpunkten abzuhängen . In diesem Fall ist der Platzbedarf nicht mehr garantiert konstant, da alle vorherigen Datenpunkte gespeichert werden müssen, aber die Berechnung der Lösung mit dem Hinzufügen eines neuen Datenpunkts kann im Vergleich zu Batch-Lerntechniken weniger Zeit in Anspruch nehmen.

Eine gängige Strategie zur Überwindung der oben genannten Probleme besteht darin, mit Mini-Batches zu lernen, die jeweils eine kleine Menge von Datenpunkten verarbeiten. Dies kann als Pseudo-Online-Lernen betrachtet werden, das viel kleiner ist als die Gesamtzahl der Trainingspunkte. Mini-Batch-Techniken werden mit wiederholtem Übergeben der Trainingsdaten verwendet, um optimierte Out-of-Core-Versionen von maschinellen Lernalgorithmen zu erhalten, z. B. stochastischer Gradientenabstieg . In Kombination mit Backpropagation ist dies derzeit die de-facto-Trainingsmethode zum Training künstlicher neuronaler Netze .

Beispiel: Lineare kleinste Quadrate

Das einfache Beispiel der linearen kleinsten Quadrate wird verwendet, um eine Vielzahl von Ideen im Online-Lernen zu erklären. Die Ideen sind allgemein genug, um auf andere Einstellungen angewendet zu werden, beispielsweise mit anderen konvexen Verlustfunktionen.

Batch-Lernen

Betrachten Sie die Einstellung des überwachten Lernens mit einer zu lernenden linearen Funktion:

wobei ein Vektor von Eingaben (Datenpunkten) und ein linearer Filtervektor ist. Ziel ist es, den Filtervektor zu berechnen . Dazu wird eine quadratische Verlustfunktion

wird verwendet, um den Vektor zu berechnen, der den empirischen Verlust minimiert

wo

.

Sei die Datenmatrix und der Spaltenvektor der Sollwerte nach dem Eintreffen der ersten Datenpunkte. Unter der Annahme, dass die Kovarianzmatrix invertierbar ist (ansonsten ist es vorzuziehen, in ähnlicher Weise mit der Tikhonov-Regularisierung vorzugehen), ist die beste Lösung des linearen Kleinste-Quadrate-Problems gegeben durch

.

Nun braucht die Berechnung der Kovarianzmatrix Zeit , das Invertieren der Matrix Zeit , während der Rest der Multiplikation Zeit braucht , was eine Gesamtzeit von ergibt . Wenn der Datensatz Gesamtpunkte enthält, um die Lösung nach dem Eintreffen jedes Datenpunkts neu zu berechnen , wird der naive Ansatz eine Gesamtkomplexität aufweisen . Beachten Sie, dass beim Speichern der Matrix , dann muss sie bei jedem Schritt aktualisiert werden, nur hinzugefügt werden muss , was Zeit in Anspruch nimmt , wodurch die Gesamtzeit auf reduziert wird , jedoch mit einem zusätzlichen Speicherplatz von to store .

Online-Lernen: rekursive kleinste Quadrate

Der Algorithmus der rekursiven kleinsten Quadrate (RLS) betrachtet einen Online-Ansatz für das Problem der kleinsten Quadrate. Es kann gezeigt werden, dass durch Initialisieren von und die Lösung des linearen Kleinste-Quadrate-Problems aus dem vorherigen Abschnitt durch die folgende Iteration berechnet werden kann:

Der obige Iterationsalgorithmus kann mit Induktion auf bewiesen werden . Das zeigt auch der Beweis . Man kann RLS auch im Zusammenhang mit adaptiven Filtern betrachten (siehe RLS ).

Die Komplexität für die Schritte dieses Algorithmus ist , was eine Größenordnung schneller ist als die entsprechende Batch-Lernkomplexität. Die Speicheranforderungen bei jedem Schritt hier bestehen darin, die Matrix zu speichern , die konstant bei ist . Für den Fall, wenn nicht invertierbar ist, betrachten Sie die regularisierte Version der Problemverlustfunktion . Dann ist es einfach zu zeigen, dass derselbe Algorithmus mit arbeitet und die Iterationen fortfahren, um zu ergeben .

Stochastischer Gradientenabstieg

Wenn das

wird ersetzt durch

oder durch wird dies der stochastische Gradientenabstiegsalgorithmus. In diesem Fall reduziert sich die Komplexität für die Schritte dieses Algorithmus auf . Der Speicherbedarf bei jedem Schritt ist konstant bei .

Die Schrittgröße muss jedoch sorgfältig gewählt werden, um das erwartete Risikominimierungsproblem zu lösen, wie oben beschrieben. Durch Wahl einer abfallenden Schrittweite kann man die Konvergenz der durchschnittlichen Iteration beweisen . Diese Einstellung ist ein Sonderfall der stochastischen Optimierung , ein bekanntes Problem bei der Optimierung.

Inkrementeller stochastischer Gradientenabstieg

In der Praxis kann man mehrere stochastische Gradientendurchläufe (auch Zyklen oder Epochen genannt) über die Daten durchführen. Der so erhaltene Algorithmus heißt inkrementelles Gradientenverfahren und entspricht einer Iteration

Der Hauptunterschied zum stochastischen Gradientenverfahren besteht darin, dass hier eine Sequenz gewählt wird, um zu entscheiden, welcher Trainingspunkt im -ten Schritt besucht wird. Eine solche Folge kann stochastisch oder deterministisch sein. Die Anzahl der Iterationen wird dann auf die Anzahl der Punkte entkoppelt (jeder Punkt kann mehrfach berücksichtigt werden). Es kann gezeigt werden, dass die inkrementelle Gradientenmethode das empirische Risiko minimiert. Inkrementelle Techniken können vorteilhaft sein, wenn objektive Funktionen betrachtet werden, die aus einer Summe vieler Terme bestehen, zB ein empirischer Fehler, der einem sehr großen Datensatz entspricht.

Kernel-Methoden

Kernel können verwendet werden, um die obigen Algorithmen auf nicht-parametrische Modelle (oder Modelle, bei denen die Parameter einen unendlichen dimensionalen Raum bilden) zu erweitern. Das entsprechende Verfahren wird nicht mehr wirklich online sein, sondern alle Datenpunkte speichern, ist aber immer noch schneller als das Brute-Force-Verfahren. Diese Diskussion ist auf den Fall des quadratischen Verlustes beschränkt, obwohl sie auf jeden konvexen Verlust ausgedehnt werden kann. Es kann durch eine einfache Induktion gezeigt werden, dass wenn die Datenmatrix und die Ausgabe nach Schritten des SGD-Algorithmus ist, dann

wo und die Sequenz die Rekursion erfüllt:

und

Beachten Sie, dass hier nur der Standard-Kernel on ist und der Prädiktor die Form . hat

.

Wenn nun stattdessen ein allgemeiner Kernel eingeführt wird und der Prädiktor sei

dann wird der gleiche Beweis auch zeigen, dass ein Prädiktor, der den Verlust durch kleinste Quadrate minimiert, erhalten wird, indem die obige Rekursion in geändert wird

Der obige Ausdruck erfordert das Speichern aller Daten zum Aktualisieren . Die Gesamtzeitkomplexität für die Rekursion bei der Auswertung für den -ten Datenpunkt beträgt , wobei die Kosten für die Auswertung des Kernels an einem einzelnen Punktpaar sind. Somit hat die Verwendung des Kernels die Bewegung von einem endlich dimensionalen Parameterraum zu einem möglicherweise unendlich dimensionalen Merkmal ermöglicht, das durch einen Kernel repräsentiert wird, indem stattdessen die Rekursion auf dem Parameterraum durchgeführt wurde , dessen Dimension die gleiche wie die Größe des Trainingsdatensatzes ist . Im Allgemeinen ist dies eine Folge des Repräsentantensatzes .

Online konvexe Optimierung

Online-konvexe Optimierung (OCO) ist ein allgemeiner Rahmen für die Entscheidungsfindung, der die konvexe Optimierung nutzt , um effiziente Algorithmen zu ermöglichen. Der Rahmen ist der des wiederholten Spiels wie folgt:

Für

  • Lernender erhält Input
  • Lernerausgaben aus einer festen konvexen Menge
  • Die Natur sendet eine konvexe Verlustfunktion zurück .
  • Der Lernende erleidet einen Verlust und aktualisiert sein Modell

Ziel ist es, Reue zu minimieren , oder die Differenz zwischen kumulativem Verlust und dem Verlust des besten Fixpunktes im Nachhinein. Betrachten Sie als Beispiel den Fall der linearen Online-Regression der kleinsten Quadrate. Hier kommen die Gewichtungsvektoren aus der konvexen Menge und die Natur sendet die konvexe Verlustfunktion zurück . Beachten Sie hier, dass implizit mit gesendet wird .

Einige Online-Vorhersageprobleme passen jedoch nicht in den Rahmen von OCO. Bei der Online-Klassifizierung sind beispielsweise der Vorhersagebereich und die Verlustfunktionen nicht konvex. In solchen Szenarien werden zwei einfache Techniken zur Konvexisierung verwendet: Randomisierung und Surrogatverlustfunktionen.

Einige einfache online konvexe Optimierungsalgorithmen sind:

Folge dem Anführer (FTL)

Die einfachste Lernregel besteht darin, (im aktuellen Schritt) die Hypothese auszuwählen, die in allen vergangenen Runden den geringsten Verlust aufweist. Dieser Algorithmus heißt Follow the Leader und wird einfach rund gegeben durch:

Diese Methode kann daher als gieriger Algorithmus betrachtet werden . Für den Fall der quadratischen Online-Optimierung (bei der die Verlustfunktion ) ist, kann man eine Reue-Grenze zeigen, die als wächst . Für andere wichtige Modellfamilien wie die lineare Online-Optimierung können jedoch keine ähnlichen Grenzen für den FTL-Algorithmus erhalten werden. Dazu modifiziert man FTL, indem man Regularisierung hinzufügt.

Folgen Sie dem regulären Führer (FTRL)

Dies ist eine natürliche Modifikation von FTL, die verwendet wird, um die FTL-Lösungen zu stabilisieren und bessere Reue-Grenzen zu erzielen. Eine Regularisierungsfunktion wird gewählt und das Lernen wird in Runde t wie folgt durchgeführt:

Als besonderes Beispiel betrachten wir den Fall der linearen Online-Optimierung, dh wo die Natur Verlustfunktionen der Form zurücksendet . Lassen Sie auch . Angenommen, die Regularisierungsfunktion wird für eine positive Zahl gewählt . Dann kann man zeigen, dass die bedauernsminimierende Iteration zu

Beachten Sie, dass dies als umgeschrieben werden kann , was genau wie der Online-Gradientenabstieg aussieht.

Wenn S stattdessen ein konvexer Unterraum von ist , müsste S auf projiziert werden, was zu der modifizierten Aktualisierungsregel führt

Dieser Algorithmus wird als Lazy Projection bezeichnet, da der Vektor die Gradienten akkumuliert. Er ist auch als Dual-Averaging-Algorithmus von Nesterov bekannt. In diesem Szenario von linearen Verlustfunktionen und quadratischer Regularisierung ist das Reue durch begrenzt , und somit geht das durchschnittliche Reue wie gewünscht auf 0 .

Online-Subgradient-Abstieg (OSD)

Das Obige erwies sich für lineare Verlustfunktionen als bedauerlicherweise . Um den Algorithmus auf eine beliebige konvexe Verlustfunktion zu verallgemeinern, wird der Subgradient von als lineare Annäherung an near verwendet , was zum Online-Subgradient-Abstiegsalgorithmus führt:

Parameter initialisieren

Für

  • Vorhersage mit , von der Natur erhalten.
  • Wählen
  • Wenn , aktualisieren als
  • Wenn , projizieren Sie kumulative Farbverläufe auf ie

Man kann den OSD-Algorithmus verwenden, um Reue-Grenzen für die Online-Version von SVMs zur Klassifizierung abzuleiten , die den Scharnierverlust verwenden

Andere Algorithmen

Quadratisch regularisierte FTRL-Algorithmen führen wie oben beschrieben zu faul projizierten Gradientenalgorithmen. Um das Obige für beliebige konvexe Funktionen und Regularisierer zu verwenden, verwendet man Online-Spiegelabstieg. Die im Nachhinein optimale Regularisierung lässt sich für lineare Verlustfunktionen ableiten, dies führt zum AdaGrad- Algorithmus. Für die euklidische Regularisierung lässt sich eine Reue-Schwelle von aufzeigen , die noch weiter verbessert werden kann für stark konvexe und exp-konkave Verlustfunktionen.

Kontinuierliches Lernen

Kontinuierliches Lernen bedeutet die ständige Verbesserung des gelernten Modells durch die Verarbeitung kontinuierlicher Informationsströme. Kontinuierliche Lernfähigkeiten sind für Softwaresysteme und autonome Agenten unerlässlich, die in einer sich ständig verändernden realen Welt interagieren. Kontinuierliches Lernen ist jedoch eine Herausforderung für maschinelles Lernen und neuronale Netzmodelle, da die kontinuierliche Erfassung inkrementell verfügbarer Informationen aus instationären Datenverteilungen in der Regel zu katastrophalem Vergessen führt .

Interpretationen des Online-Lernens

Das Paradigma des Online-Lernens hat je nach Wahl des Lernmodells unterschiedliche Interpretationen, von denen jede unterschiedliche Auswirkungen auf die Vorhersagequalität der Funktionsabfolge hat . Für diese Diskussion wird der prototypische stochastische Gradientenabstiegsalgorithmus verwendet. Wie oben erwähnt, ist seine Rekursion gegeben durch

Die erste Interpretation betrachtet die Methode des stochastischen Gradientenabstiegs als Anwendung auf das oben definierte Problem der Minimierung des erwarteten Risikos . Da im Fall eines unendlichen Datenstroms angenommen wird, dass die Beispiele aus der Verteilung stammen , ist die Gradientenfolge von in der obigen Iteration tatsächlich eine Probe stochastischer Schätzungen des Gradienten des erwarteten Risikos und daher man kann Komplexitätsergebnisse für das stochastische Gradientenabstiegsverfahren anwenden, um die Abweichung zu begrenzen , wobei der Minimierer von ist . Diese Interpretation gilt auch im Fall einer endlichen Trainingsmenge; obwohl bei mehreren Durchläufen durch die Daten die Gradienten nicht mehr unabhängig sind, können dennoch in speziellen Fällen Komplexitätsergebnisse erhalten werden.

Die zweite Interpretation gilt für den Fall eines endlichen Trainingssatzes und betrachtet den SGD-Algorithmus als eine Instanz des inkrementellen Gradientenabstiegsverfahrens. In diesem Fall betrachtet man stattdessen das empirische Risiko:

Da die Gradienten von in den inkrementellen Gradientenabstiegsiterationen auch stochastische Schätzungen des Gradienten von sind , bezieht sich diese Interpretation auch auf die stochastische Gradientenabstiegsmethode, wird jedoch angewendet, um das empirische Risiko im Gegensatz zum erwarteten Risiko zu minimieren. Da diese Interpretation das empirische Risiko und nicht das erwartete Risiko betrifft, sind mehrere Durchläufe durch die Daten ohne weiteres zulässig und führen tatsächlich zu engeren Grenzen für die Abweichungen , wobei der Minimierer von ist .

Implementierungen

Siehe auch

Lernparadigmen

Allgemeine Algorithmen

Lernmodelle

Verweise

  1. ^ a b c d e f g L. Rosasco, T. Poggio, Machine Learning: a Regularization Approach, MIT-9.520 Lectures Notes, Manuskript, Dez. 2015. Kapitel 7 – Online Learning
  2. ^ Yin, Harold J. Kushner, G. George (2003). Stochastische Approximation und rekursive Algorithmen und Anwendungen (Zweite Aufl.). New York: Springer. S.  8 –12. ISBN 978-0-387-21769-7.
  3. ^ a b Bertsekas, DP (2011). Inkrementelle Gradienten-, Subgradienten- und proximale Methoden zur konvexen Optimierung: eine Übersicht. Optimierung für maschinelles Lernen, 85.
  4. ^ Hazan, Elad (2015). Einführung in die Online-Konvexoptimierung (PDF) . Grundlagen und Trends in der Optimierung.
  5. ^ Parisi, Deutsch I.; Kemker, Ronald; Teil, Jose L.; Kanan, Christopher; Wermter, Stefan (2019). „Kontinuierliches lebenslanges Lernen mit neuronalen Netzen: Ein Rückblick“ . Neuronale Netze . 113 : 54–71. arXiv : 1802.07569 . doi : 10.1016/j.neunet.2019.01.012 . ISSN  0893-6080 .
  6. ^ Bottou, Leon (1998). „Online-Algorithmen und stochastische Approximationen“. Online-Lernen und neuronale Netze . Cambridge University Press. ISBN 978-0-521-65263-6.
  7. ^ Stochastische Approximationsalgorithmen und Anwendungen , Harold J. Kushner und G. George Yin, New York: Springer-Verlag, 1997. ISBN  0-387-94916-X ; 2. Aufl., mit dem Titel Stochastic Approximation and Recursive Algorithms and Applications , 2003, ISBN  0-387-00894-2 .

Externe Links