0Pricing
Learn AI with Python · Lektion

Konzepte und Strategien des Transfer Learnings

Feature-Extraktion vs. Fine-Tuning, eingefrorene Layer, wann Transfer Learning hilfreich ist.

Konzepte und Strategien des Transfer Learnings ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was ist Transfer Learning

Transfer Learning verwendet ein auf einem großen Datensatz trainiertes Modell als Ausgangspunkt für eine neue, verwandte Aufgabe. Statt visuelle Merkmale von Grund auf zu lernen, nutzen Sie Merkmale, die das Netzwerk bereits gelernt hat.

Dadurch verringern sich der benötigte Daten- und Rechenaufwand für eine hohe Genauigkeit erheblich.

Die Grundlage ImageNet

Die meisten vortrainierten Computer-Vision-Modelle werden auf ImageNet trainiert: auf rund 1,4 Millionen Bildern aus 1000 Klassen.

Während dieses Trainings lernt das Netzwerk eine Hierarchie von Merkmalen: Kanten und Farben in frühen Schichten, Texturen in mittleren Schichten und Objektteile in den oberen Schichten. Diese Merkmale auf niedriger Ebene lassen sich gut auf nahezu jede Bildaufgabe übertragen.

Warum frühe Merkmale übertragbar sind

Die ersten Faltungsschichten erkennen allgemeine Muster (Kanten, Flecken, Farbverläufe), die in jedem natürlichen Bild vorkommen – unabhängig davon, ob es Katzen, Röntgenbilder oder Satellitenaufnahmen zeigt.

Die tieferen Schichten werden zunehmend aufgabenspezifisch (sie setzen diese Kanten zu Objektteilen aus ImageNet zusammen). Deshalb behalten wir normalerweise die frühen Schichten bei und ersetzen oder trainieren die späteren neu.

Strategie 1: Feature-Extraktion

Bei der Feature-Extraktion wird jede Schicht des vortrainierten Basismodells eingefroren, sodass sich ihre Gewichte nie ändern. Das Basismodell dient als unveränderlicher Merkmalsextraktor; Sie trainieren nur einen kleinen neuen Klassifikationskopf darauf.

Verwenden Sie diese Methode, wenn Ihr Datensatz klein und ImageNet ähnlich ist. Sie ist schnell und wirkt einer Überanpassung entgegen, weil nur wenige Parameter trainierbar sind.

base.trainable = False

model = Sequential([
    base,                      # frozen ImageNet features
    GlobalAveragePooling2D(),
    Dense(num_classes, activation="softmax")  # only this trains
])

Strategie 2: Fine-Tuning

Beim Fine-Tuning werden die obersten Schichten des Basismodells wieder trainierbar gemacht und gemeinsam mit dem Kopf neu trainiert. So kann das Netzwerk seine höherwertigen Merkmale an Ihre spezifischen Daten anpassen.

Verwenden Sie diese Methode, wenn Sie mehr Daten haben oder sich Ihre Domäne von ImageNet unterscheidet (z. B. medizinische Aufnahmen). Führen Sie das Fine-Tuning immer mit einer sehr niedrigen Lernrate durch, damit die vortrainierten Gewichte nicht zerstört werden.

Feature-Extraktion vs. Fine-Tuning

  • Feature-Extraktion: Basismodell eingefroren, nur der Kopf wird trainiert, sehr schnell, am besten für kleine und ähnliche Datensätze.
  • Fine-Tuning: obere Schichten des Basismodells und der Kopf werden trainiert, langsamer, am besten für größere und unähnliche Datensätze.

Ein gängiges Vorgehen besteht darin, zunächst eine Feature-Extraktion durchzuführen und anschließend in einer zweiten Phase ein Fine-Tuning vorzunehmen, sobald sich der Kopf stabilisiert hat.

Erforderlicher Datenumfang

Die verfügbare Datenmenge bestimmt Ihre Strategie:

  • Wenige hundert Bilder: nur Feature-Extraktion (alles einfrieren).
  • Einige Tausend: zunächst Feature-Extraktion, anschließend Fine-Tuning der obersten Schichten.
  • Zehntausende oder mehr: größere Teile des Basismodells oder möglicherweise das gesamte Netzwerk feinabstimmen.

Weniger Daten bedeuten, dass Sie mehr einfrieren sollten, weil weniger trainierbare Parameter das Risiko einer Überanpassung verringern.

Klassifikationskopf ersetzen

ImageNet-Modelle klassifizieren Bilder in 1000 Klassen. Ihre Aufgabe hat wahrscheinlich eine andere Anzahl, daher entfernen Sie den ursprünglichen Kopf (include_top=False) und fügen einen eigenen Kopf hinzu, dessen Größe zu Ihren Klassen passt.

from tensorflow.keras import layers, Model

x = base.output
x = layers.GlobalAveragePooling2D()(x)
x = layers.Dropout(0.2)(x)
outputs = layers.Dense(5, activation="softmax")(x)  # 5 custom classes
model = Model(base.input, outputs)

Die Vorverarbeitung muss übereinstimmen

Jede vortrainierte Modellfamilie erwartet Eingaben, die genauso skaliert sind wie während des ImageNet-Trainings. Die passende Funktion preprocess_input zu verwenden, ist entscheidend – andernfalls bricht die Genauigkeit ein.

from tensorflow.keras.applications.resnet50 import preprocess_input

# Scale pixels exactly as ResNet50 expects
x = preprocess_input(raw_image_batch)

Disziplin bei der Lernrate

Während der Feature-Extraktion ist eine normale Lernrate (z. B. 1e-3) ausreichend, da nur der neue Kopf trainiert wird.

Beim Fine-Tuning müssen Sie die Lernrate auf einen sehr kleinen Wert wie 1e-5 senken. Große Aktualisierungen würden die sorgfältig gelernten ImageNet-Gewichte überschreiben – ein Effekt, der als katastrophales Vergessen bezeichnet wird.

Ein typischer Ablauf

  1. Laden Sie ein vortrainiertes Basismodell mit include_top=False.
  2. Frieren Sie es ein und trainieren Sie einen neuen Kopf (Feature-Extraktion).
  3. Machen Sie die obersten Schichten wieder trainierbar und trainieren Sie mit einer sehr kleinen Lernrate weiter (Fine-Tuning).
  4. Bewerten Sie das Modell und konvertieren Sie es für die Bereitstellung.

Dieser schrittweise Ansatz ermöglicht selbst mit überschaubaren Datensätzen eine hohe Genauigkeit.

Kurzer Test

Überprüfen Sie Ihr Verständnis der Strategien für Transfer Learning.

Zusammenfassung

Sie haben gelernt, dass Transfer Learning auf ImageNet vortrainierte Merkmale wiederverwendet (1,4 Mio. Bilder, 1000 Klassen). Bei der Feature-Extraktion bleibt das Basismodell für kleine und ähnliche Datensätze eingefroren; beim Fine-Tuning werden die obersten Schichten für größere und unähnliche Datensätze mit einer sehr kleinen Lernrate wieder trainierbar gemacht.

Passen Sie die Vorverarbeitung an das Basismodell an, ersetzen Sie den Kopf durch einen für Ihre Klassen geeigneten und verwenden Sie einen schrittweisen Ablauf. Als Nächstes setzen wir dies mit VGG16 und ResNet50 in Code um.

Häufig gestellte Fragen

Ist die Lektion „Konzepte und Strategien des Transfer Learnings“ kostenlos?

Ja — der vollständige Text von „Konzepte und Strategien des Transfer Learnings“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Konzepte und Strategien des Transfer Learnings“?

Feature-Extraktion vs. Fine-Tuning, eingefrorene Layer, wann Transfer Learning hilfreich ist. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Konzepte und Strategien des Transfer Learnings“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Konzepte und Strategien des Transfer Learnings
  2. VGG16 und ResNet50 als Basismodelle verwenden
  3. Fine-Tuning: Entsperren und erneutes Trainieren
  4. MobileNet und EfficientNet für Edge-Deployment
← Zurück zu Learn AI with Python