Zephyrnet-Logo

Was ist Transferlernen?

Datum:

Was ist Transferlernen?
Bild von Qimono auf Pixabary

 

Transfer Learning ist eine maschinelle Lernmethode, bei der die Anwendung von Wissen, das aus einem in einer Aufgabe verwendeten Modell gewonnen wurde, als Grundlage für eine andere Aufgabe wiederverwendet werden kann.

Algorithmen für maschinelles Lernen verwenden historische Daten als Eingabe, um Vorhersagen zu treffen und neue Ausgabewerte zu erzeugen. Sie sind in der Regel so konzipiert, dass sie isolierte Aufgaben ausführen. Eine Quellaufgabe ist eine Aufgabe, von der Wissen auf eine Zielaufgabe übertragen wird. Eine Zielaufgabe liegt vor, wenn aufgrund des Wissenstransfers von einer Quellaufgabe ein verbessertes Lernen auftritt. 

Beim Transferlernen wird das genutzte Wissen und der schnelle Fortschritt von einer Quellaufgabe verwendet, um das Lernen und die Entwicklung zu einer neuen Zielaufgabe zu verbessern. Die Wissensanwendung nutzt die Attribute und Eigenschaften der Ausgangsaufgabe, die auf die Zielaufgabe angewendet und abgebildet werden. 

Wenn die Transfermethode jedoch zu einer Verringerung der Leistung der neuen Zielaufgabe führt, spricht man von einem negativen Transfer. Eine der größten Herausforderungen bei der Arbeit mit Transferlernmethoden besteht darin, einen positiven Transfer zwischen verwandten Aufgaben bereitzustellen und sicherzustellen, während der negative Transfer zwischen weniger verwandten Aufgaben vermieden wird. 

Das Was, Wann und Wie des Transfer Learning

  1. Was übertragen wir? Um zu verstehen, welche Teile des erlernten Wissens übertragen werden sollen, müssen wir herausfinden, welche Teile des Wissens sowohl die Quelle als auch das Ziel am besten widerspiegeln. Insgesamt Verbesserung der Leistung und Genauigkeit der Zielaufgabe. 
  2. Wann überweisen wir? Es ist wichtig zu verstehen, wann übertragen werden muss, da wir kein Wissen übertragen wollen, was wiederum die Situation verschlimmern und zu einem negativen Transfer führen könnte. Unser Ziel ist es, die Leistung der Zielaufgabe zu verbessern, nicht zu verschlechtern. 
  3. Wie übertragen wir? Jetzt haben wir eine bessere Vorstellung davon, was wir übertragen wollen und wann wir dann mit verschiedenen Techniken arbeiten können, um das Wissen effizient zu übertragen. Wir werden später in diesem Artikel mehr darüber sprechen. 

Bevor wir in die Methodik des Transferlernens eintauchen, ist es gut, die verschiedenen Formen des Transferlernens zu kennen. Wir werden drei verschiedene Arten von Transfer-Lernszenarien durchgehen, basierend auf Beziehungen zwischen der Quellaufgabe und der Zielaufgabe. Nachfolgend finden Sie eine Übersicht über die verschiedenen Arten des Transferlernens:

Verschiedene Arten des Transferlernens

 
Induktives Transferlernen: Bei dieser Art des Transferlernens sind Ausgangs- und Zielaufgabe gleich, unterscheiden sich aber dennoch voneinander. Das Modell verwendet induktive Verzerrungen aus der Quellaufgabe, um die Leistung der Zielaufgabe zu verbessern. Die Quellaufgabe kann beschriftete Daten enthalten oder nicht, die weiter zum Modell führen, indem Multitasking-Lernen und autodidaktisches Lernen verwendet werden. 

Unüberwachtes Transferlernen: Ich nehme an, Sie wissen, was unüberwachtes Lernen ist, aber wenn Sie es nicht tun, dann ist es, wenn ein Algorithmus in der Lage ist, Muster in Datensätzen zu identifizieren, die nicht gekennzeichnet oder klassifiziert wurden. In diesem Fall sind Quelle und Ziel ähnlich, die Aufgabe ist jedoch unterschiedlich, da beide Daten in Quelle und Ziel unbeschriftet sind. Techniken wie Dimensionsreduktion und Clustering sind beim unüberwachten Lernen wohlbekannt. 

Transduktives Transferlernen: Bei dieser letzten Art des Transferlernens haben die Quell- und Zielaufgaben Ähnlichkeiten, die Domänen sind jedoch unterschiedlich. Die Quelldomäne enthält viele gekennzeichnete Daten, während in der Zieldomäne keine gekennzeichneten Daten vorhanden sind, was weiter zum Modell führt, das die Domänenanpassung verwendet. 

Transferlernen vs. Feinabstimmung

 
Die Feinabstimmung ist ein optionaler Schritt beim Transferlernen und dient hauptsächlich dazu, die Leistung des Modells zu verbessern. Der Unterschied zwischen Transferlernen und Feinabstimmung liegt im Namen.

Transfer Learning basiert auf der Übernahme von Merkmalen, die aus einer Aufgabe gelernt wurden, und der „Übertragung“ des genutzten Wissens auf eine neue Aufgabe. Transfer Learning wird normalerweise für Aufgaben verwendet, bei denen der Datensatz zu klein ist, um ein vollständiges Modell von Grund auf neu zu trainieren. Die Feinabstimmung basiert auf der Durchführung „feiner“ Anpassungen eines Prozesses, um die gewünschte Ausgabe zu erhalten und die Leistung weiter zu verbessern. Die Parameter eines trainierten Modells werden während der Feinabstimmung präzise und spezifisch angepasst und angepasst, während versucht wird, das Modell zu validieren, um die gewünschten Ergebnisse zu erzielen.

Warum Transfer Learning verwenden?

 
Gründe für Transfer Learning:

Es werden nicht viele Daten benötigt – Der Zugang zu Daten ist aufgrund mangelnder Verfügbarkeit immer hinderlich. Das Arbeiten mit unzureichenden Datenmengen kann zu geringer Leistung führen. Hier glänzt Transfer Learning, da das maschinelle Lernmodell mit einem kleinen Trainingsdatensatz erstellt werden kann, da es vortrainiert ist. 

Trainingszeit sparen – Machine-Learning-Modelle sind schwer zu trainieren und können viel Zeit in Anspruch nehmen, was zu Ineffizienz führt. Es erfordert viel Zeit, ein tiefes neuronales Netzwerk von Grund auf für eine komplexe Aufgabe zu trainieren, sodass die Verwendung eines vortrainierten Modells Zeit beim Erstellen eines neuen Modells spart.

Transfer-Learning-Profis

 
Bessere Basis: Die Verwendung eines vortrainierten Modells beim Transferlernen bietet Ihnen eine bessere Grundlage und einen besseren Ausgangspunkt, sodass Sie einige Aufgaben ohne Training ausführen können. 

Höhere Lernrate: Da das Modell bereits vorher auf eine ähnliche Aufgabe trainiert wurde, hat das Modell eine höhere Lernrate. 

Höhere Genauigkeitsrate: Mit einer besseren Basis und einer höheren Lernrate arbeitet das Modell mit einer höheren Leistung und erzeugt genauere Ausgaben. 

Wann überträgt Lernen Sie hilft nicht nur Arbeit?

 
Transferlernen sollte vermieden werden, wenn sich die von Ihrer Quellaufgabe trainierten Gewichte von denen Ihrer Zielaufgabe unterscheiden. Wenn Ihr vorheriges Netzwerk zum Beispiel für die Klassifizierung von Katzen und Hunden trainiert wurde und Ihr neues Netzwerk versucht, Schuhe und Socken zu erkennen, wird es ein Problem geben, da die von Ihrer Quelle an die Zielaufgabe übertragenen Gewichte nicht ausreichen werden Sie die besten Ergebnisse. Daher ist es besser, das Netzwerk mit vortrainierten Gewichtungen zu initialisieren, die ähnlichen Ausgaben wie der erwarteten entsprechen, als Gewichtungen ohne Korrelation zu verwenden.

Das Entfernen von Schichten aus einem vorab trainierten Modell führt zu Problemen mit der Architektur des Modells. Wenn Sie die ersten Schichten entfernen, hat Ihr Modell eine niedrige Lernrate, da es mit der Arbeit mit Funktionen auf niedriger Ebene jonglieren muss. Das Entfernen von Schichten reduziert die Anzahl der Parameter, die trainiert werden können, was zu einer Überanpassung führen kann. In der Lage zu sein, die richtige Anzahl von Schichten zu verwenden, ist entscheidend für die Reduzierung von Overfitting, dies ist jedoch auch ein zeitgemäßer Prozess. 

Nachteile des Transferlernens

 
Negatives Transferlernen: Wie ich oben erwähnt habe, liegt negatives Transferlernen vor, wenn eine frühere Lernmethode die neue Aufgabe behindert. Dies tritt nur auf, wenn Quelle und Ziel nicht ähnlich genug sind, wodurch die erste Trainingsrunde zu weit entfernt ist. Algorithmen müssen nicht immer mit dem übereinstimmen, was wir als ähnlich erachten, was es schwierig macht, die Grundlagen und Standards dafür zu verstehen, welche Art von Training ausreichend ist. 

Lerntransfer in 6 Schritten

 
Lassen Sie uns in ein besseres Verständnis darüber eintauchen, wie Transfer Learning implementiert wird und welche Schritte unternommen werden. Es gibt 6 allgemeine Schritte beim Transferlernen und wir werden jeden von ihnen durchgehen.

  1. Quellaufgabe auswählen: Der erste Schritt ist die Auswahl eines vortrainierten Modells, das eine Fülle von Daten enthält und eine Beziehung zwischen den Eingabe- und Ausgabedaten mit der von Ihnen gewählten Zielaufgabe aufweist.
  2. Erstellen Sie ein Basismodell: Instanziieren Sie ein Basismodell mit vortrainierten Gewichtungen. Auf vortrainierte Gewichtungen kann über Architekturen wie Xception zugegriffen werden. Dadurch wird Ihr Quellmodell so entwickelt, dass es besser ist als das naive Modell, mit dem wir begonnen haben, und eine gewisse Steigerung der Lernrate gewährleistet. 
  3. Layer einfrieren: Um das erneute Initialisieren der Gewichte zu reduzieren, ist das Einfrieren der Layer aus dem vortrainierten Modell notwendig. Es löst das bereits erlernte Wissen ein und erspart Ihnen, das Modell von Grund auf neu zu trainieren.
base_model.trainable = Falsch
  1. Neue trainierbare Layer hinzufügen: Durch das Hinzufügen neuer trainierbarer Layer über dem eingefrorenen Layer werden alte Features in Vorhersagen für einen neuen Datensatz umgewandelt.
  2. Trainieren Sie die neuen Schichten: Das vortrainierte Modell enthält bereits die endgültige Ausgabeschicht. Die Wahrscheinlichkeit, dass die aktuelle Ausgabe des vorab trainierten Modells und die gewünschte Ausgabe Ihres Modells unterschiedlich sind, ist hoch. Daher müssen Sie das Modell mit einer neuen Ausgabeschicht trainieren. Daher wird das Hinzufügen neuer dichter Schichten und der letzten dichten Schicht entsprechend Ihrem erwarteten Modell die Lernrate verbessern und Ergebnisse nach Ihren Wünschen erzeugen. 
  3. Feinabstimmung: Sie können die Leistung Ihres Modells durch Feinabstimmung verbessern, indem Sie alle oder Teile der Basismodelle freigeben und das Modell dann mit einer sehr niedrigen Lernrate neu trainieren. Es ist wichtig, in dieser Phase eine niedrige Lernrate zu verwenden, da das Modell, das Sie trainieren, viel größer ist als ursprünglich in der ersten Runde, und es sich außerdem um einen kleinen Datensatz handelt. Infolgedessen besteht die Gefahr einer Überanpassung, wenn Sie große Gewichtsaktualisierungen anwenden, daher sollten Sie die Feinabstimmung schrittweise vornehmen. Kompilieren Sie das Modell neu, wenn Sie das Verhalten des Modells geändert haben, und trainieren Sie das Modell dann erneut, und überwachen Sie jegliches überangepasste Feedback. 

Ich hoffe, dieser Artikel hat Ihnen eine gute Einführung und ein gutes Verständnis von Transfer Learning vermittelt. Bleiben Sie dran, in meinem nächsten Artikel werde ich Transfer Learning für die Bilderkennung und die Verarbeitung natürlicher Sprache implementieren.

 
Nisha Arya ist Data Scientist und freiberuflicher technischer Redakteur. Sie ist besonders daran interessiert, Data Science Karriereberatung oder Tutorials und theoriebasiertes Wissen rund um Data Science anzubieten. Sie möchte auch die verschiedenen Möglichkeiten untersuchen, wie künstliche Intelligenz der Langlebigkeit des menschlichen Lebens zugute kommt/kann. Eine begeisterte Lernende, die ihr technisches Wissen und ihre Schreibfähigkeiten erweitern möchte, während sie anderen hilft, sie zu führen.

Quelle: https://www.kdnuggets.com/2022/01/transfer-learning.html

spot_img

Neueste Intelligenz

spot_img