Wie vermeide ich "katastrophales Vergessen"?


8

Ich habe diesen Artikel von Michael Honiball (Schöpfer von Spacy) gelesen, in dem er über das Problem des „katastrophalen Vergessens“ spricht .

Hier sagt er, wenn wir ein vorab trainiertes Modell optimieren möchten, um ein neues Etikett hinzuzufügen oder bestimmte Fehler zu korrigieren, kann dies das Problem des „katastrophalen Vergessens“ verursachen (verliert seine Allgemeingültigkeit). Um dem entgegenzuwirken, schlägt er eine Technik vor, die Pseudo-Probe genannt wird. Er sagt, dass er eine Reihe von Beispielen mit dem ursprünglichen Modell vorhersagen und diese durch die Feinabstimmung der Daten mischen und als Ziel für das Modell verwenden soll.

Bedeutet dies also, dass ich anstelle von die vom ursprünglichen Modell generiert wurden, mische es mit den neuen Y- Werten der neu erhaltenen Datenpunkte und trainiere damit meine Modell?Y^(ThePredictedValue)Y(TheGroundTruth)Y

Hab ich recht? Kann jemand näher darauf eingehen?


1
Alle Exponentialfunktionen sind nullter Ordnung. Mit anderen Worten, sie sind gedächtnislos. Die Ursachen für das „katastrophale Vergessen“ liegen in den Grundannahmen des Modells. Angesichts der Tatsache, dass „katastrophale“ Ereignisse nicht nur sehr wahrscheinlich sind, sondern auch über lange, iterative Ketten hinweg unvermeidlich sind. * Pseudo-Probe 'ist ein Pflaster und keine echte Lösung. Die Umkehrung zu Annahmen ungleich nullter Ordnung, die über die Exponentialfamilie hinausgehen, wäre ein Ansatz. Zu den Vorschlägen hierfür gehören robuste, nichtparametrische und verteilungsfreie Annahmen, die Nutzung von Extremwertverteilungen usw.
Mike Hunter

Antworten:


6

Katastrophales Vergessen ist ein inhärentes Problem in neuronalen Netzen. Aus Wikipedia,

(Katastrophales Vergessen) ist eine radikale Manifestation des Dilemmas „Empfindlichkeit-Stabilität“ oder des Dilemmas „Stabilität-Plastizität“. Insbesondere beziehen sich diese Probleme auf das Problem, ein künstliches neuronales Netzwerk herstellen zu können, das für neue Informationen empfindlich ist, aber nicht durch diese gestört wird. Nachschlagetabellen und verbindungsorientierte Netzwerke liegen auf den gegenüberliegenden Seiten des Stabilitätsplastizitätsspektrums. Ersteres bleibt bei Vorhandensein neuer Informationen völlig stabil, es fehlt jedoch die Fähigkeit, aus neuen Eingaben allgemeine Prinzipien zu verallgemeinern, dh daraus abzuleiten.

Was ist katastrophales Vergessen? Betrachten wir zwei Aufgaben: Aufgabe A und Aufgabe B. Nehmen wir nun an, wir verwenden ein vorab trainiertes Modell, das für Aufgabe A (gelernte Gewichte ) bereits ziemlich gut ist , und wir möchten es auch "fein " Fit-Aufgabe B. Die übliche Praxis besteht darin, die Gewichte eines in Aufgabe A trainierten Modells zu nehmen und sie als Initialisierung für das Training in Aufgabe B zu verwenden. Dies funktioniert gutθAin Anwendungen, in denen Aufgabe B eine "Unteraufgabe" von Aufgabe A ist (z. B. erkennt Aufgabe B Brillen und Aufgabe A erkennt Gesichter). Wenn B keine Unteraufgabe von A ist, besteht die Befürchtung, dass es zu einem katastrophalen Vergessen kommt: Im Wesentlichen verwendet das Netzwerk dieselben Neuronen, die zuvor für Aufgabe A optimiert wurden, um Aufgabe B vorherzusagen. Dabei wird dies der Fall sein verlieren vollständig ihre Fähigkeit, Instanzen von Aufgabe A korrekt zu klassifizieren. Sie können selbst damit experimentieren: Sie können ein kleines Netzwerk aufbauen, das erkennt, ob ein MNIST-Bild eine 5 ist oder nicht, und seine Genauigkeit bei dieser Aufgabe messen. Wenn Sie dieses Modell dann auf die Aufgabe abstimmen, festzustellen, ob ein MNIST-Bild eine 4 ist oder nicht, werden Sie feststellen, dass sich die Genauigkeit des endgültigen Modells für die ursprüngliche Aufgabe (Erkennung von 5) verschlechtert hat.

Eine naive Lösung. Die naive Lösung für katastrophales Vergessen wäre, nicht nur die Gewichte des Modells auf zu , sondern auch eine Regularisierung hinzuzufügen: die Lösung des Modells, wenn es weit von . Im Wesentlichen bedeutet dies, dass das Ziel darin besteht, die beste Lösung für Aufgabe B zu finden, die immer noch , der Lösung für Aufgabe A, ähnelt . Der Grund, warum wir dies als naiven Ansatz bezeichnen, ist, dass es oft nicht gut funktioniert. Die von neuronalen Netzen erlernten Funktionen sind oft sehr kompliziert und als linear, so dass eine kleine Änderung der Parameterwerte (dh liegt nahe bei ) immer noch zu sehr unterschiedlichen Ergebnissen führen kann (dhθAθAθAθBθAfθA sich sehr von ). Da es die Ergebnisse sind, die uns wichtig sind, ist dies schlecht für uns.fθB

Pseudo-Probe . Ein besserer Ansatz wäre, zu versuchen, bei Aufgabe B gut zu sein und gleichzeitig ähnliche Antworten auf die Antworten von . Das Gute ist, dass dieser Ansatz sehr einfach zu implementieren ist: Sobald Sie gelernt , können wir dieses Modell verwenden, um eine unendliche Anzahl von "markierten" Beispielen zu generieren . Wenn wir dann das fein abgestimmte Modell trainieren, wechseln wir zwischen Beispielen für Aufgabe B und Beispielen für die Form . Sie können sich Letzteres als "Revisionsübungen" vorstellen, die sicherstellen, dass unser Netzwerk nicht die Fähigkeit verliert, Aufgabe A zu handhaben, während Sie lernen, mit Aufgabe B umzugehen .fθAθA(x,fθA(x))(x,fθA(x))

Ein noch besserer Ansatz: Speicher hinzufügen . Als Menschen sind wir gut darin, anhand neuer Beispiele zu verallgemeinern (Plastizität) und uns an sehr seltene Ereignisse zu erinnern oder Fähigkeiten beizubehalten, die wir eine Weile nicht genutzt haben (Stabilität). In vielerlei Hinsicht besteht die einzige Methode, um mit tiefen neuronalen Netzen, wie wir sie kennen, etwas Ähnliches zu erreichen, darin, irgendeine Form von "Gedächtnis" in sie zu integrieren. Dies liegt außerhalb des Rahmens Ihrer Frage, aber es ist ein interessantes und aktives Forschungsfeld, daher würde ich es erwähnen. Siehe dieses Beispiel der jüngsten Arbeit: LERNEN, SICH AN SELTENE EREIGNISSE ZU ERINNERN .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.