Lösungen

Produkt

Ressourcen

Unternehmen

Neue Perspektiven für das Transferlernen: Strukturierung von ML-Konzepten

Juni 2, 2020

KI

Industrie

Industrie

In diesem letzten Teil wird die hybride Verarbeitung vorgestellt und mit dem aktiven Lernen und dem transduktiven und induktiven halbüberwachten Lernen in einem neuartigen Rahmen zusammengeführt.

Blogartikel mit Bildmotiv
Blogartikel mit Bildmotiv
Blogartikel mit Bildmotiv

Hinweis: Dieser Artikel wurde zuerst auf Towards Data Science Medium veröffentlicht.

In der Rubrik “Strukturierung von Machine Learning-Konzepten“versuche ich, Konzepte aus dem Bereich des maschinellen Lernens (ML) in einen neuen, möglicherweise ungewöhnlichen Rahmen zu stellen, um neue Perspektiven zu eröffnen. Der Inhalt richtet sich an Personen aus der Data-Science-Community sowie an technisch versierte Personen, die sich für den Bereich des maschinellen Lernens interessieren.

Einführung

Die letzte Folge von “Structuring Machine Learning Concepts“ widmete sich der Einführung von Hybrid Processing und der Zusammenführung mit Active Learning und Transductive & Inductive Semi-Supervised Learning in einem neuen Rahmen.

Der Auslöser für das Verfassen dieses Artikels war die Allgegenwart von Transfer Learning, das heutzutage in viele Richtungen verzweigt ist. Es gibt es in verschiedenen Formen und Farben, aber der Methodik fehlt ein übergeordneter Rahmen. Lassen Sie uns das näher erläutern.

Der Rahmen: Acht Wege des Transferlernens

Transfer Learning (TL) ist wahrscheinlich eine der wichtigsten Entwicklungen im Bereich Deep Learning, um es für reale Anwendungen nutzbar zu machen. Viele erinnern sich vielleicht an den “ImageNet-Moment“, als AlexNet den ImageNet-Wettbewerb gewann und neuronale Netze zum Standard für Computer-Vision-Herausforderungen machte.
Allerdings gab es ein Problem - man brauchte eine Menge Daten, um dies zu erreichen, und die waren oft nicht verfügbar.

Die Lösung für dieses Problem kam mit der Einführung von TL. Damit konnten wir ein auf ImageNet vortrainiertes Convolutional Neural Network (CNN) nehmen, die ersten Schichten einfrieren und nur den Kopf auf einem kleineren Datensatz neu trainieren, wodurch CNNs in der Industrie zum Masseneinsatz kamen.

Im Jahr 2018 war dieser “ImageNet-Moment“ für die Verarbeitung natürlicher Sprache (NLP) endlich gekommen. Zum ersten Mal sind wir von der Wiederverwendung statischer Worteinbettungen zur gemeinsamen Nutzung vollständiger Sprachmodelle übergegangen, die eine bemerkenswerte Fähigkeit zur Erfassung einer Reihe von linguistischen Informationen gezeigt haben. Im Rahmen dieser Entwicklung hat Sebastian Ruder seine Dissertation über Neuronale TL für NLP veröffentlicht, in der er bereits eine Baumstruktur für vier verschiedene Konzepte in TL erstellt hat.

Kartierung von Dimensionen

Das brachte mich zum Nachdenken: Welche verschiedenen Möglichkeiten gibt es, die Erkenntnisse aus einem oder zwei Datensätzen zu nutzen, um eine oder mehrere Aufgaben zu lernen? Dies sind die Dimensionen, die mir einfielen:

  1. Aufgabe: Versuchen wir, unserem Netz in einem Schritt des Vortrainings und der Feinabstimmung dieselbe Aufgabe beizubringen, oder verwenden wir das Wissen der ersten Aufgabe, um es für eine andere zweite Aufgabe zu nutzen? (z. B. Vortraining eines “Tierklassifizierers“ und Feinabstimmung des Modells als “Hunderassen-Klassifizierer“ vs. Verwendung des Grundgerüsts eines “Tierklassifizierungs“-Netzwerks zum Trainieren eines “Objektdetektors für flauschige Ohren“)

  2. Bereich: Handelt es sich um Datensätze aus demselben Bereich oder aus unterschiedlichen Bereichen? (z. B. sind beide Datensätze Farbbilder, die “in freier Wildbahn“ aufgenommen wurden, während es sich bei einem um Graustufen-Röntgenbilder handelt)

  3. Ordnung: Lernen wir die Aufgaben gleichzeitig oder eine nach der anderen? (z. B. berechnen wir den Verlust für alle Aufgaben gemeinsam und verwenden ihn für das Training, oder wir beenden das erste Training, portieren die Gewichte des Netzes und beginnen dann mit dem zweiten Training)

Ich habe auch in Erwägung gezogen, “Wichtigkeit“ hinzuzufügen, um zusätzliche Aufgaben einbeziehen zu können, aber wir wollen die Dinge nicht zu sehr verkomplizieren. Damit bin ich bei ähnlichen Dimensionen gelandet, wie sie Ruder auch für NLP verwendet hat. Schauen wir uns alle acht Kombinationen an, die sich aus den drei binären Dimensionen ergeben.

Leichtgewichtige Definitionen

Ich werde einige Meinungsäußerungen zu den Begriffen machen, die nicht durch umfangreiche Literatur untermauert sind - haben Sie also Verständnis für mich.

  • Feinabstimmung der Aufgabe: Dies ist der Fall, wenn wir ein Modell vortrainieren, um es dann auf einen anderen Datensatz im selben Bereich mit derselben Aufgabe abzustimmen, der noch spezifischer für unser Problem ist (z. B. Verwendung eines vortrainierten ImageNet-Klassifizierungsmodells (INCM) und anschließende Feinabstimmung auf einen Hundeklassifikator).

  • Bereichsanpassung: Wir arbeiten an der gleichen Aufgabe, übertragen unser Modell aber in einen neuen Bereich, der durch einen anderen Datensatz vorgegeben ist (z. B. nehmen wir ein vortrainiertes INCM und passen es an die Klassifizierung gesunder und kranker Patienten anhand von Röntgenbildern an).

  • Aufgabenanpassung: Nutzung des Wissens eines bereits trainierten Modells (d. h. seiner Zwischenergebnisse als Einbettungen), um es für eine andere Aufgabe zu trainieren (z. B. Verwendung des Grundgerüsts eines INCM als Merkmalsextraktor und Hinzufügen eines zweiten Netzes zur Objekterkennung).

  • Modalitätstransfer: Es kann sinnvoll sein, ein Netz zu verwenden, das z. B. auf Bildern trainiert wurde, auch wenn sich die Domäne und die Aufgabe unterscheiden. Zumindest hat das Netz die Modalität bereits erfasst (z. B. Verwendung des INCM-Backbone für die Objekterkennung bei Brustkrebs in Röntgenbildern).

  • Zusammenführen von Datensätzen: Wenn Sie mit zwei Datensätzen aus demselben Bereich gleichzeitig für dieselbe Aufgabe trainieren möchten, können Sie diese zusammenführen (z. B. indem Sie Bilder aus Instagram zum ImageNet-Datensatz hinzufügen, um einen noch besseren Klassifikator zu trainieren).

  • Gemeinsame Nutzung von Gewichten: Selbst wenn Sie zwei Probleme gleichzeitig trainieren, kann es sinnvoll sein, einige Zwischengewichte gemeinsam zu nutzen (z. B. den OCR-generierten Text und das Rohbild eines PDF-Dokuments in eine gemeinsame Zwischendarstellung einfließen zu lassen, um den Kontext der Seite zu klassifizieren und festzustellen, ob es sich um den Anfang eines neuen Dokuments handelt).

  • Multi-Task-Lernen: Eines der bekanntesten Beispiele ist das große Bildverarbeitungsnetzwerk von Tesla, bei dem ein gemeinsam genutztes Backbone für mehrere Aufgaben gleichzeitig trainiert wird (z. B. Verwendung desselben Bildmaterials der Kameras in einem Tesla zur parallelen Ausführung von Objekterkennung und Straßenmarkierungssegmentierung).

  • Paralleles Training: Und schließlich, wenn Sie zwei verschiedene Probleme (Domäne und Aufgabe) haben und diese gleichzeitig trainieren wollen, tun Sie es einfach parallel (z. B. die Moderation von Inhalten und die Klassifizierung von E-Mails für denselben Kunden).

Die erweiterte 2x2x2-Matrix

Unter Verwendung der Dimensionen Aufgabe, Bereich und Reihenfolge ergibt sich diese 2x2x2-Matrix, die die zuvor eingeführten Konzepte abbildet. Für eine 2D-Visualisierung habe ich zwei Dimensionen auf die x-Achse gelegt und die binären Einträge verdoppelt, so dass sich 8 verschiedene Zellen ergeben (z. B. wäre die obere linke Zelle derselbe Bereich, dieselbe Aufgabe und eine sequenzielle Reihenfolge).

Schließen

In diesem Beitrag haben wir die Dimensionen “Aufgabe\u201D, “Bereich\u201D und “Auftrag\u201D verwendet, um die Möglichkeiten zu strukturieren, wie wir TL durchführen können. Ich habe es genossen, in meiner Beratervergangenheit zu schwelgen, indem ich sie zu einer größeren Matrix erweitert habe, was mich dazu brachte, über völlig neue Szenarien nachzudenken, während ich versuchte, die leeren Felder zu füllen. Dies hat zu einigen recht offensichtlichen Fällen geführt (z. B. “Dataset Merging\u201D und “Parallel Training\u201D) bis hin zu einigen bekannten Verfahren, die noch keinen allgemein gebräuchlichen Namen hatten (z. B. “Task Fine-Tuning\u201D).

Wenn Sie andere unkonventionelle Zuordnungen haben, sich Gedanken zu diesem Thema machen oder an unserer Arbeit bei Luminovo interessiert sind, würde ich mich freuen, von Ihnen zu hören. Sie können einen Kommentar hinterlassen oder mich auf Linkedin erreichen.

Bleiben Sie dran für die nächsten Artikel.

Dank an Lukas Krumholz und Aljoscha von Bismarck.

Interessiert? Sprechen Sie mit uns.

Stellen Sie uns Ihre Fragen während einer persönlichen Live-Demo der Software. Oder sehen Sie sich vorher ein 5-minütiges Video zu den wichtigsten Funktionen an.

Interessiert?
Lassen Sie uns reden.

Stellen Sie uns Ihre Fragen während einer persönlichen Live-Demo der Software. Oder sehen Sie sich vorher ein 5-minütiges Video zu den wichtigsten Funktionen an.

Interessiert? Sprechen Sie mit uns.

Stellen Sie uns Ihre Fragen während einer persönlichen Live-Demo der Software. Oder sehen Sie sich vorher ein 5-minütiges Video zu den wichtigsten Funktionen an.

Letzte Artikel