🚀 Bist Du bereit für eine Karriere im Bereich Data? Finde es in nur 60 Sekunden heraus!

Transfer Learning: Was ist das?

-
5
 Minuten Lesezeit
-

In diesem fünften und letzten Teil unserer Serie über Deep Learning erfährst du mehr über die Definition und die Funktionsweise von Transfer Learning. Wenn du auf die ersten Artikel zurückgreifen möchtest, findest du hier eine Liste :

  1. Einführung in Deep Learning
  2. Neuronale Netzwerke: biologisch oder künstlich
  3.  Convolutional Neural Network
  4.  Funktionsweise von Netzen neuronalen 
  5. Transfer Learning

Inhaltsverzeichnis:

    1. Definitionen von Transfer Learning
    2. Auf welchen Strategien beruhen die Techniken des Transfer Learning?
    3. Wie wird Transfer Learning bei der Lösung von Problemen eingesetzt?
    4. Schlüsselpunkte, an die Sie sich erinnern sollten

Andrew Ng, leitender Wissenschaftler bei Baidu und Professor in Stanford, hat in seinem beliebten NIPS-Tutorial 2016 erklärt, dass Transfer Learning der nächste Motor für den kommerziellen Erfolg von Machine Learning sein wird. Und er ist nicht der Einzige, der das Potenzial von Transfer Learning lobt In diesem Artikel erzählen wir dir alles über diesen Begriff, der immer mehr in aller Munde ist. DataScientest hilft dir dabei, drei grundlegende Fragen zu beantworten: 

  • Was ist Transfer Learning?
  • Auf welchen Strategien beruhen die Techniken des Transfer Learning?
  • Wie werden sie konkret zur Lösung von Deep-Learning-Problemen eingesetzt?

Transfer Learning: Definition

Beginnen wir zunächst mit einer Definition dieses Begriffs, der in der Data Science immer häufiger verwendet wird.

Transfer Learning bezeichnet alle Methoden, die es ermöglichen, das aus der Lösung eines bestimmten Problems gewonnene Wissen auf die Bearbeitung eines anderen Problems zu übertragen. 

Transfer Learning hat mit dem Aufschwung des Deep Learning einen großen Erfolg erlebt.  Die in diesem Bereich verwendeten Modelle erfordern oft hohe Rechenzeiten und einen großen Ressourcenbedarf. Durch die Verwendung von vortrainierten Modellen als Ausgangspunkt ermöglicht Transfer Learning die schnelle Entwicklung von leistungsfähigen Modellen und die effiziente Lösung komplexer Probleme im Bereich Computer Vision oder Natural Language Processing, NLP.

Abbildung 1 - Traditioneller Ansatz vs. Transfer Learning-Ansatz

Intuitiv orientiert sich Transfer Learning stark an dem Prozess, mit dem wir lernen. 

Nehmen wir zum Beispiel jemanden, der das Gitarrenspiel beherrscht und Klavierspielen lernen möchte. Er kann seine Musikkenntnisse nutzen, um ein neues Instrument zu erlernen. In ähnlicher Weise kann ein Modell zur Erkennung von Autos sehr schnell auf die Erkennung von Lastwagen umgestellt werden.

Auf welchen Strategien beruhen die Techniken des Transfer Learning?

Transfer Learning beruht auf der einfachen Idee, das in anderen Konstellationen erworbene Wissen (Quellen) zur Lösung eines bestimmten Problems (Ziel) erneut zu nutzen. In diesem Zusammenhang lassen sich verschiedene Ansätze unterscheiden, je nachdem, was man übertragen möchte, wann und wie man den Transfer durchführt. Insgesamt können wir drei Arten von Transfer Learning unterscheiden:

1. Inductive Transfer Learning, oder induktives Transferlernen

In dieser Konfiguration sind die Quell- und Zieldomänen gleich (dieselben Daten), aber die Quell- und Zielaufgaben sind unterschiedlich, aber nahe beieinander. Die Idee besteht nun darin, bestehende Modelle zu nutzen, um den Anwendungsbereich möglicher Modelle vorteilhaft einzuschränken (Modellverzerrung), wie in der folgenden Abbildung dargestellt.

Abbildung 2 - Illustration von Inductive Transfer Learning (induktives Transferlernen)

Beispielsweise ist es möglich, ein Modell, das auf die Erkennung von Tieren auf Bildern trainiert wurde, zu verwenden, um ein Modell zu erstellen, das Hunde identifizieren kann.   

2. Unsupervised Transfer Learning, oder unüberwachtes Transferlernen

Wie beim induktiven Transferlernen sind die Quell- und Zieldomänen ähnlich, die Aufgaben sind jedoch unterschiedlich. Allerdings werden die Daten der beiden Domänen nicht mit einem Label versehen.

Es ist oft einfacher, große Mengen an ungelabelten Daten, z. B. aus Datenbanken und Quellen im Internet, zu erhalten als gelabelte Daten. Daher besteht großes Interesse an der Idee, unüberwachtes Lernen in Kombination mit Transfer Learning einzusetzen

Als Beispiel sei das Self-taught clustering genannt, ein Ansatz, bei dem kleine Sammlungen von nicht gelabelten Zieldaten mit Hilfe einer großen Menge nicht gelabelter Quelldaten geclustert werden. Dieser Ansatz erweist sich als leistungsfähiger als die traditionell verwendeten Spitzenansätze, wenn die Zieldaten irrelevant gelabelt sind.

3. Transduktives Transferlernen, oder Transductive Transfer Learning :

In dieser Konfiguration sind die Quell- und Zielaufgaben ähnlich, aber die entsprechenden Bereiche unterscheiden sich entweder in Bezug auf die Daten oder die Verteilungen der Randwahrscheinlichkeiten. 

Zum Beispiel werden NLP-Modelle, wie sie für die morpho-syntaktische Kennzeichnung von Wörtern, Part-Of-Speech Tagger (POS Tagger) auf Englisch, verwendet werden, normalerweise mit Nachrichtendaten wie denen des Wall Street Journal trainiert und getestet. Sie können an Daten aus sozialen Netzwerken angepasst werden, deren Inhalt anders, aber ähnlich wie der Zeitungen ist.

Wie wird Transfer Learning konkret zur Lösung von Deep-Learning-Problemen eingesetzt?

Nachdem wir Transfer Learning definiert haben, wollen wir uns nun mit seiner Anwendung auf Probleme des Deep Learning beschäftigen, einem Bereich, in dem Transfer Learning heute sehr erfolgreich ist.

Die Verwendung von Transfer Learning-Methoden im Deep Learning besteht hauptsächlich darin, vorab trainierte neuronale Netze zu nutzen

In der Regel entsprechen diese Modelle sehr leistungsfähigen Algorithmen, die anhand großer Datenbanken entwickelt und trainiert wurden und heute frei geteilt werden.

In diesem Zusammenhang können 2 Arten von Strategien unterschieden werden:

1. Verwendung von vorab trainierten Modellen als Feature-Extraktoren :

Die Architektur von Deep-Learning-Modellen wird sehr häufig in Form eines Stapels von Neuronenschichten dargestellt. Diese Schichten lernen verschiedene Merkmale, je nachdem, auf welcher Ebene sie sich befinden. Die letzte Schicht (im Falle des überwachten Lernens normalerweise eine vollständig verbundene Schicht) wird verwendet, um die endgültige Ausgabe zu erhalten. Die folgende Abbildung zeigt die Architektur eines Deep-Learning-Modells, das für die Erkennung von Katzen/Hunden verwendet wird. Je tiefer die Schicht liegt, desto mehr spezifische Features können extrahiert werden.

Abbildung 3 - Beispiel für ein Modell eines neuronalen Netzes, das zur Bildklassifizierung verwendet wird

Die Idee ist also, ein vorab trainiertes Netzwerk ohne seine Endschicht wiederzuverwenden. Dieses neue Netzwerk fungiert dann als Extraktor von fixen Features, um andere Aufgaben zu erledigen.

Um diese Strategie zu veranschaulichen, nehmen wir den Fall an, dass wir ein Modell erstellen wollen, das die Art einer Blume anhand ihres Bildes identifizieren kann. Dann ist es möglich, die ersten Schichten des Modells eines faltenden neuronalen Netzes zu verwenden AlexNet, das ursprünglich auf die Bilddatenbank trainiert wurde. ImageNet für die Bildklassifizierung verwendet werden.

Auch wenn die Idee einfach erscheint, könnte man sich fragen, wie leistungsfähig ein solcher Ansatz ist. In der Praxis funktioniert er sehr gut, wie die folgende Abbildung zeigt.

Abbildung 4 - Leistung von Deep-Learning-Modellen, die speziell auf die Aufgabe trainiert wurden (grün), im Vergleich zu vortrainierten Modellen (rot, rosa)

2. Anpassen von vortrainierten Modellen :

 Dies ist eine komplexere Technik, bei der nicht nur die letzte Schicht ersetzt wird, um die Klassifizierung oder Regression durchzuführen, sondern auch andere Schichten selektiv neu trainiert werden. Tiefe neuronale Netze sind nämlich hochgradig konfigurierbare Architekturen mit verschiedenen Hyperparametern. Außerdem erfassen die ersten Schichten generische Merkmale, während die letzten Schichten sich mehr auf die spezifische Aufgabe konzentrieren, die es zu erfüllen gilt, wie die folgende Abbildung zeigt

Abbildung 5 - Beispiel für ein Modell eines neuronalen Netzes, das für die Gesichtserkennung verwendet wird

Die Idee ist also, während des Trainings bestimmte Schichten einzufrieren (d. h. die Gewichte zu fixieren) und den Rest zu verfeinern, um das Problem zu lösen. 

Diese Strategie ermöglicht es, das Wissen über die Gesamtarchitektur des Netzwerks wiederzuverwenden und seine Zustände als Ausgangspunkt für das Training zu nutzen. Sie führt daher zu einer besseren Leistung bei kürzerer Trainingszeit.

Die folgende Abbildung fasst die wichtigsten Transfer Learning-Ansätze zusammen, die gemeinhin im Deep Learning verwendet werden

Abbildung 6 - Transfer Learning-Ansatz in Deep Learning

Eine der grundlegenden Anforderungen an das Transfer Learning ist das Vorhandensein von Modellen, die auf den Quellaufgaben gut funktionieren. Glücklicherweise werden heute viele der führenden Deep-Learning-Architekturen von ihren jeweiligen Teams frei geteilt. Diese erstrecken sich über verschiedene Bereiche wie Computer Vision oder Computer Vision und Natural Language Processing oder NLP, zwei sehr beliebte Bereiche des Deep Learning.

Zu den sehr häufig verwendeten Vorlagen gehören :

Schlüsselpunkte, an die du dich erinnern solltest

Transfer Learning entspricht der Fähigkeit, vorhandenes Wissen, das zur Lösung gegebener Probleme entwickelt wurde, zur Lösung eines neuen Problems zu nutzen. Wir haben uns mit verschiedenen Ansätzen des Transfer Learning befasst. Um die am besten geeignete Strategie auswählen zu können, ist es wichtig, die folgenden drei Fragen zu untersuchen: 


    1. Was wollen wir übertragen? Dies ist die erste und wichtigste Frage, die man sich stellen muss. Mit ihr soll festgelegt werden, welcher Teil des Wissens von der Quelle auf das Ziel übertragen werden soll, um die Problematik der Zielaufgabe zu lösen. 
    2. Wann will man transferieren? Es kann Szenarien geben, in denen die Anwendung von Transfer-Learning-Methoden zu einer Verschlechterung der Ergebnisse führt. In Wirklichkeit hängen diese Leistungen von der Ähnlichkeit der Ziel- und Quelldomänen und -aufgaben ab.

Wie soll das Transfer Leaning durchgeführt werden? Wenn wir die Fragen „Was“ und „Wann“ beantwortet haben, können wir damit beginnen, die Transfer-Leaning-Technik zu identifizieren, die für das Problem, das wir lösen wollen, am besten geeignet ist.

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!
icon newsletter

DataNews

Starte Deine Karriere im Bereich Data: Erhalte regelmäßig Insiderwissen und wertvolle Karrieretipps in Deinem Posteingang.