Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Optimieren Sie die Lerneffizienz: Übertragen Sie alte Modelle auf neue Aufgaben mit 0,6 % zusätzlichen Parametern

Optimieren Sie die Lerneffizienz: Übertragen Sie alte Modelle auf neue Aufgaben mit 0,6 % zusätzlichen Parametern

WBOY
WBOYnach vorne
2023-10-13 16:21:03472Durchsuche

Der Zweck des kontinuierlichen Lernens besteht darin, die Fähigkeit des Menschen nachzuahmen, kontinuierlich Wissen in kontinuierlichen Aufgaben anzusammeln. Die größte Herausforderung besteht darin, die Leistung zuvor erlernter Aufgaben aufrechtzuerhalten, nachdem er weiterhin neue Aufgaben gelernt hat, d. h. ein katastrophales Vergessen zu vermeiden (katastrophales Vergessen) . Der Unterschied zwischen kontinuierlichem Lernen und Multitasking-Lernen besteht darin, dass letzteres alle Aufgaben gleichzeitig erhalten kann und das Modell alle Aufgaben gleichzeitig lernen kann, während beim kontinuierlichen Lernen Aufgaben einzeln erscheinen und das Modell dies kann Lernen Sie nur Wissen über eine Aufgabe und vermeiden Sie es, altes Wissen beim Erlernen neuen Wissens zu vergessen. Die University of Southern California und Google Research haben eine neue Methode zur Lösung des kontinuierlichen Lernens vorgeschlagen , wird die Feature-Map jeder Kanalschicht neu programmiert, sodass die neu programmierte Feature-Map für neue Aufgaben geeignet ist. Dieses trainierbare Leichtbaumodul macht nur 0,6 % des gesamten Rückgrats aus. Jede neue Aufgabe kann ein eigenes Leichtbaumodul haben. Theoretisch können unendlich viele neue Aufgaben ohne katastrophales Vergessen gelernt werden. Das Papier wurde im ICCV 2023 veröffentlicht.

Papieradresse: https://arxiv.org/pdf/2307.11386.pdfProjektadresse: https://github.com/gyhandy/Channel-wise-Lightweight- Neuprogrammierung

Optimieren Sie die Lerneffizienz: Übertragen Sie alte Modelle auf neue Aufgaben mit 0,6 % zusätzlichen Parametern

  • Datensatzadresse: http://ilab.usc.edu/andy/skill102
  • Normalerweise werden Methoden zur Lösung kontinuierlichen Lernens hauptsächlich in drei Kategorien unterteilt: Regularisierungsbasierte Methoden und dynamische Netzwerke Methoden und Wiedergabemethoden.
  • Die auf Regularisierung basierende Methode besteht darin, dass das Modell beim Erlernen neuer Aufgaben Einschränkungen für Parameteraktualisierungen hinzufügt und altes Wissen festigt, während neues Wissen erlernt wird.
  • Die dynamische Netzwerkmethode besteht darin, beim Erlernen neuer Aufgaben spezifische Aufgabenparameter hinzuzufügen und das Gewicht alter Aufgaben zu begrenzen.

Die Replay-Methode geht davon aus, dass beim Erlernen einer neuen Aufgabe ein Teil der Daten der alten Aufgabe abgerufen und zusammen mit der neuen Aufgabe trainiert werden kann.

  • Die in diesem Artikel vorgeschlagene CLR-Methode ist eine dynamische Netzwerkmethode. Die folgende Abbildung stellt den Ablauf des gesamten Prozesses dar: Die Forscher verwenden den aufgabenunabhängigen unveränderlichen Teil als gemeinsam genutzte aufgabenspezifische Parameter und fügen aufgabenspezifische Parameter hinzu, um die Kanalfunktionen neu zu kodieren. Um den Trainingsaufwand für die Rekodierungsparameter für jede Aufgabe zu minimieren, müssen Forscher gleichzeitig nur die Größe des Kernels im Modell anpassen und eine lineare Zuordnung der Kanäle vom Backbone zum aufgabenspezifischen Wissen erlernen, um die Rekodierung zu implementieren . Beim kontinuierlichen Lernen kann jede neue Aufgabe trainiert werden, um ein leichtes Modell zu erhalten. Selbst wenn es viele Aufgaben gibt, ist die Gesamtzahl der zu trainierenden Parameter im Vergleich zu einem großen Modell sehr gering . Klein und jedes leichte Modell kann gute Ergebnisse erzielen
  • Forschungsmotivation
  • Kontinuierliches Lernen konzentriert sich auf das Problem des Lernens aus Datenströmen, das heißt, das Erlernen neuer Aufgaben in einer bestimmten Reihenfolge. Kontinuierliche Erweiterung der Das erworbene Wissen zu verbessern und gleichzeitig das Vergessen früherer Aufgaben zu vermeiden, ist daher ein wichtiges Thema in der Forschung zum kontinuierlichen Lernen. Forscher berücksichtigen die folgenden drei Aspekte:

  • Wiederverwenden statt neu lernen: Adversarial Reprogramming [1] ist eine Methode zur Lösung des Problems durch „Neukodierung“ eines trainierten und eingefrorenen Netzwerks durch Störung des Eingaberaums, ohne die Netzwerkparameter neu zu lernen. Die Forscher übernahmen die Idee der „Neukodierung“ und führten eine leichtere, aber leistungsfähigere Neuprogrammierung im Parameterraum des Originalmodells anstelle des Eingaberaums durch.
  • Die Kanaltyptransformation kann zwei verschiedene Kerne verbinden: Die Autoren von GhostNet [2] stellten fest, dass herkömmliche Netzwerke nach dem Training einige ähnliche Feature-Maps erhalten, und schlugen daher eine neue Netzwerkarchitektur für GhostNet vor: indem sie die vorhandenen Feature-Maps vergleicht relativ kostengünstige Operationen (z. B. lineare Änderungen), um mehr Feature-Maps zu generieren und den Speicher zu reduzieren. Davon inspiriert verwendet diese Methode auch die lineare Transformation, um Feature-Maps zu generieren und das Netzwerk zu verbessern, sodass es zu relativ geringen Kosten an jede neue Aufgabe angepasst werden kann.
  • Lightweight-Parameter können die Modellverteilung ändern: BPN [3] verschiebt die Netzwerkparameterverteilung von einer Aufgabe zur anderen, indem es eine vorteilhafte Störungsverzerrung in der vollständig verbundenen Schicht hinzufügt. Allerdings kann BPN nur vollständig verbundene Schichten mit nur einer skalaren Vorspannung pro Neuron verarbeiten und ist daher nur begrenzt in der Lage, das Netzwerk zu ändern. Stattdessen entwickelten die Forscher leistungsfähigere Modi für Convolutional Neural Networks (CNNs) (durch Hinzufügen von „Rekodierungs“-Parametern zum Faltungskern), um bei jeder neuen Aufgabe eine bessere Leistung zu erzielen. Beschreibung der Methode Selbstüberwachtes Lernmodell (DINO, SwAV), das auf Agentenaufgaben ohne semantische Bezeichnungen lernt. Im Gegensatz zu anderen kontinuierlichen Lernmethoden (z. B. SUPSUP unter Verwendung einer zufällig initialisierten festen Struktur, CCLL und EFTs unter Verwendung des aus der ersten Aufgabe erlernten Modells als Rückgrat) kann das von CLR verwendete vorab trainierte Modell eine Vielzahl visueller Funktionen bereitstellen, diese jedoch nicht Visuelle Features Features erfordern CLR-Ebenen für die Neukodierung für andere Aufgaben. Insbesondere verwendeten die Forscher eine kanalweise lineare Transformation, um das vom ursprünglichen Faltungskern generierte Merkmalsbild neu zu kodieren.

Das Bild zeigt die Struktur von CLR. CLR eignet sich für jedes Faltungs-Neuronale Netzwerk. Übliche Faltungs-Neuronale Netzwerke bestehen aus Conv-Blöcken (Restblöcken), einschließlich Faltungsschichten, Normalisierungsschichten und Aktivierungsschichten.

Die Forscher reparierten zunächst das vorab trainierte Rückgrat und fügten dann nach der Faltungsschicht in jedem festen Faltungsblock eine kanalisierte, leichte Neuprogrammierungsschicht (CLR-Schicht) hinzu, um die Merkmale nach dem festen Faltungskern zu verfeinern. wie lineare Veränderungen.

Angenommen ein Bild X, können wir für jeden Faltungskern Optimieren Sie die Lerneffizienz: Übertragen Sie alte Modelle auf neue Aufgaben mit 0,6 % zusätzlichen Parametern die Feature-Map erhalten, um jeden Kanal linear zu ändern Der Forscher initialisierte den CLR-Faltungskern auf denselben sich ändernden Kernel (d. h. für den 2D-Faltungskern ist nur der mittlere Parameter 1 und der Rest ist 0), Optimieren Sie die Lerneffizienz: Übertragen Sie alte Modelle auf neue Aufgaben mit 0,6 % zusätzlichen Parametern, da dadurch das ursprüngliche feste Rückgrat während der Initialisierung generiert werden kann Training Die Funktionen sind dieselben wie die, die das Modell nach dem Hinzufügen der CLR-Ebene erzeugt. Gleichzeitig werden die Forscher keine CLR-Schicht nach dem Faltungskern hinzufügen, um Parameter zu sparen und eine Überanpassung zu verhindern. Die CLR-Schicht wird erst nach dem Faltungskern agieren. Für ResNet50 nach CLR machen die erhöhten trainierbaren Parameter im Vergleich zum festen ResNet50-Backbone nur 0,59 % aus. Optimieren Sie die Lerneffizienz: Übertragen Sie alte Modelle auf neue Aufgaben mit 0,6 % zusätzlichen ParameternOptimieren Sie die Lerneffizienz: Übertragen Sie alte Modelle auf neue Aufgaben mit 0,6 % zusätzlichen ParameternFür kontinuierliches Lernen kann das Modell, das trainierbare CLR-Parameter und ein nicht trainierbares Rückgrat hinzufügt, jede Aufgabe nacheinander lernen. Beim Testen gehen die Forscher davon aus, dass es einen Aufgabenprädiktor gibt, der dem Modell mitteilen kann, zu welcher Aufgabe das Testbild gehört, und dann das feste Rückgrat und die entsprechenden aufgabenspezifischen CLR-Parameter die endgültige Vorhersage treffen können. Da CLR die Eigenschaft einer absoluten Parameterisolation aufweist (die Parameter der CLR-Schicht, die jeder Aufgabe entsprechen, sind unterschiedlich und das gemeinsame Backbone ändert sich nicht), wird CLR nicht von der Anzahl der Aufgaben beeinflusstOptimieren Sie die Lerneffizienz: Übertragen Sie alte Modelle auf neue Aufgaben mit 0,6 % zusätzlichen ParameternExperimentelle ErgebnisseOptimieren Sie die Lerneffizienz: Übertragen Sie alte Modelle auf neue Aufgaben mit 0,6 % zusätzlichen Parametern Datensatz: Die Forscher nutzten die Bildklassifizierung als Hauptaufgabe. Das Labor sammelte 53 Bildklassifizierungsdatensätze mit etwa 1,8 Millionen Bildern und 1584 Kategorien. Diese 53 Datensätze enthalten 5 verschiedene Klassifizierungsziele: Objekterkennung, Stilklassifizierung, Szenenklassifizierung, Zählung und medizinische Diagnose.

Optimieren Sie die Lerneffizienz: Übertragen Sie alte Modelle auf neue Aufgaben mit 0,6 % zusätzlichen ParameternDie Forscher wählten 13 Baselines aus, die grob in 3 Kategorien unterteilt werden können

Dynamische Netzwerke: PSP, SupSup, CCLL, Confit, EFTs

Regularisierung: EWC, Online-EWC, SI, LwF

Wiederholung: ER, DERPP

    Es gibt auch einige Grundlinien, die kein kontinuierliches Lernen sind, wie z. B. SGD und SGD-LL. SGD lernt jede Aufgabe durch Feinabstimmung des gesamten Netzwerks. SGD-LL ist eine Variante, die ein festes Backbone für alle Aufgaben und eine lernbare gemeinsame Schicht verwendet, deren Länge der maximalen Anzahl von Kategorien für alle Aufgaben entspricht.
  • Experiment 1: Genauigkeit bei der ersten Aufgabe
  • Um die Fähigkeit aller Methoden zur Überwindung des katastrophalen Vergessens zu bewerten, verfolgten die Forscher die Genauigkeit jeder Aufgabe, nachdem sie die neue Aufgabe gelernt hatten. Wenn eine Methode unter katastrophalem Vergessen leidet, nimmt die Genauigkeit derselben Aufgabe nach dem Erlernen einer neuen Aufgabe schnell ab. Ein guter Algorithmus für kontinuierliches Lernen kann seine ursprüngliche Leistung nach dem Erlernen neuer Aufgaben beibehalten, was bedeutet, dass alte Aufgaben durch neue Aufgaben nur minimal beeinträchtigt werden sollten. Die folgende Abbildung zeigt die Genauigkeit der ersten Aufgabe nach dem Erlernen der ersten bis 53. Aufgabe dieser Methode. Insgesamt kann diese Methode die höchste Genauigkeit beibehalten. Noch wichtiger ist, dass dadurch katastrophales Vergessen vermieden wird und die gleiche Genauigkeit wie bei der ursprünglichen Trainingsmethode beibehalten wird, unabhängig davon, wie viele Aufgaben kontinuierlich gelernt werden.

Zweites Experiment: Lernen mit durchschnittlicher Genauigkeit nach Abschluss aller Aufgaben

Die folgende Abbildung zeigt die durchschnittliche Genauigkeit aller Methoden nach dem Erlernen aller Aufgaben. Die durchschnittliche Genauigkeit spiegelt die Gesamtleistung der kontinuierlichen Lernmethode wider. Da jede Aufgabe unterschiedliche Schwierigkeitsgrade aufweist, kann die durchschnittliche Genauigkeit aller Aufgaben steigen oder fallen, wenn eine neue Aufgabe hinzugefügt wird, je nachdem, ob die hinzugefügte Aufgabe einfach oder schwierig ist.

Optimieren Sie die Lerneffizienz: Übertragen Sie alte Modelle auf neue Aufgaben mit 0,6 % zusätzlichen Parametern

Lassen Sie uns zunächst die Parameter und den Rechenaufwand analysieren

Obwohl es für kontinuierliches Lernen sehr wichtig ist, eine höhere durchschnittliche Genauigkeit zu erzielen, hofft ein guter Algorithmus auch auf eine Maximierung. Reduzieren Sie die Anforderungen für zusätzliche Netzwerkparameter und Rechenkosten. „Zusätzliche Parameter für eine neue Aufgabe hinzufügen“ stellt einen Prozentsatz der ursprünglichen Backbone-Parametermenge dar. In diesem Artikel werden die Berechnungskosten von SGD als Einheit verwendet, und die Berechnungskosten anderer Methoden werden entsprechend den Kosten von SGD normalisiert.

Optimieren Sie die Lerneffizienz: Übertragen Sie alte Modelle auf neue Aufgaben mit 0,6 % zusätzlichen Parametern

Umgeschriebener Inhalt: Wirkungsanalyse verschiedener Backbone-Netzwerke

Die Methode in diesem Artikel trainiert ein vorab trainiertes Modell durch die Verwendung von überwachtem Lernen oder selbstüberwachtem Lernen an relativ unterschiedlichen Datensätzen als invarianter, von der Aufgabe unabhängiger Parameter. Um die Auswirkungen verschiedener Pre-Training-Methoden zu untersuchen, wurden in diesem Artikel vier verschiedene, aufgabenunabhängige Pre-Training-Modelle ausgewählt, die mit unterschiedlichen Datensätzen und Aufgaben trainiert wurden. Für das überwachte Lernen verwendeten die Forscher vorab trainierte Modelle auf ImageNet-1k und Pascal-VOC. Für das selbstüberwachte Lernen verwendeten die Forscher vorab trainierte Modelle, die mit zwei verschiedenen Methoden erhalten wurden: DINO und SwAV. Die folgende Tabelle zeigt die durchschnittliche Genauigkeit des vorab trainierten Modells unter Verwendung von vier verschiedenen Methoden. Es ist ersichtlich, dass die Endergebnisse jeder Methode sehr hoch sind (Hinweis: Pascal-VOC ist ein relativ kleiner Datensatz, daher ist die Genauigkeit relativ niedriger Punkt) und ist robust gegenüber verschiedenen vortrainierten Backbones.

Optimieren Sie die Lerneffizienz: Übertragen Sie alte Modelle auf neue Aufgaben mit 0,6 % zusätzlichen Parametern

Das obige ist der detaillierte Inhalt vonOptimieren Sie die Lerneffizienz: Übertragen Sie alte Modelle auf neue Aufgaben mit 0,6 % zusätzlichen Parametern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen