Verwenden des Assistenten "Deep-Learning-Modell trainieren"

Mit der Image Analyst-Lizenz verfügbar.

Der Assistent "Deep-Learning-Modell trainieren" bietet einen geführten Workflow, um ein Deep-Learning-Modell mit den erfassten Trainingsdaten zu trainieren. Sobald Ihnen Trainingsdaten vorliegen, können Sie den Assistenten "Deep-Learning-Modell trainieren" Deep-Learning-Modell trainieren über das Dropdown-Menü Deep Learning Tools Deep Learning Tools auf der Registerkarte Bilddaten öffnen.

Dieser Assistent umfasst drei Seiten: Erste Schritte, Trainieren und Ergebnis.

Führen Sie zum Verwenden des Assistenten "Deep-Learning-Modell trainieren" die folgenden Schritte aus:

  1. Klicken Sie auf die Registerkarte Bilddaten.
  2. Klicken Sie auf das Dropdown-Menü Deep Learning Tools Deep Learning Tools, und wählen Sie Deep-Learning-Modell trainieren Deep-Learning-Modell trainieren aus.

    Der Assistent Deep-Learning-Modell trainieren wird angezeigt.

Erste Schritte

Auf der Seite Erste Schritte des Assistenten müssen Sie die Methode zum Trainieren des Deep-Learning-Modells angeben.

  1. Geben Sie an, wie das Modell trainiert werden soll.
    • Parameter automatisch festlegen: Modelltyp, Parameter und Hyperparameter werden automatisch festgelegt, sodass das beste Modell erstellt wird.
    • Eigene Parameter angeben: Die zur Modellerstellung verwendeten Einstellungen für Modelltyp, Parameter und Hyperparameter werden von Ihnen festgelegt.
  2. Klicken Sie auf die Schaltfläche Weiter, um zur Seite Trainieren zu wechseln.

Trainieren

Auf der Seite Trainieren geben Sie die Parameterinformationen für das Training an. In Abhängigkeit von der Option, die Sie auf der Seite Erste Schritte ausgewählt haben, sind unterschiedliche Parameter verfügbar.

  1. Geben Sie die erforderlichen Parameter an.

    Eingabe-Trainingsdaten

    Die Ordner mit den Bildschnipseln, Beschriftungen und Statistiken, die zum Trainieren des Modells benötigt werden. Dies ist die Ausgabe des Werkzeugs Trainingsdaten für Deep Learning exportieren.

    Ausgabemodell

    (Automatisches Training)

    Das trainierte Ausgabemodell, das als Deep-Learning-Paket (.dlpk) gespeichert werden soll.

    Ausgabeordner

    (Manuelles Training)

    Der Speicherort des Ausgabeordners, in dem das trainierte Modell gespeichert wird.

  2. Geben Sie optional weitere Parameter an.

    Parameter für das automatische Training

    ParameterBeschreibung

    Vortrainiertes Modell

    Ein vortrainiertes Modell, das zum Feintuning des neuen Modells verwendet wird. Die Eingabe ist eine Esri Modelldefinitionsdatei (.emd) oder eine Deep-Learning-Paketdatei (.dlpk).

    Für ein vortrainiertes Modell mit ähnlichen Klassen kann ein Finetuning durchgeführt werden, um es auf das neue Modell abzustimmen. Das vortrainierte Modell muss mit dem gleichen Modelltyp und dem gleichen Backbone-Modell trainiert worden sein, das für das Training des neuen Modells verwendet wird.

    Limit für Gesamtzeit (Stunden)

    Das Limit für die Gesamtzeit des AutoDL-Modelltrainings in Stunden. Der Standardwert liegt bei 2 Stunden.

    Modus für automatisches DL

    Gibt an, welcher AutoDL-Modus verwendet und mit welcher Intensität die AutoDL-Suche durchgeführt werden soll.

    • Standard: Alle ausgewählten Netzwerke werden ohne Hyperparameter-Optimierung trainiert.
    • Erweitert: Es wird eine Hyperparameter-Optimierung für die beiden Modelle mit der besten Performance durchgeführt.

    Neuronale Netzwerke

    Gibt die Architekturen an, die zum Trainieren des Modells verwendet werden sollen.

    Standardmäßig werden alle Netzwerke verwendet.

    Ausgewertete Modelle speichern

    Gibt an, ob alle ausgewerteten Modelle gespeichert werden sollen.

    • Aktiviert: Alle ausgewerteten Modelle werden gespeichert.
    • Deaktiviert: Nur das Modell mit der besten Performance wird gespeichert. Dies ist die Standardeinstellung.

    Parameter für das manuelle Training

    ParameterBeschreibung

    Max. Epochen

    Die maximale Anzahl von Epochen, für die das Modell trainiert wird. Eine maximale Epoche von eins bedeutet, dass das Dataset einmal vorwärts und einmal rückwärts durch das neuronale Netz geleitet wird. Der Standardwert ist 20.

    Vortrainiertes Modell

    Ein vortrainiertes Modell, das zum Finetuning des neuen Modells verwendet wird. Die Eingabe ist eine Esri Modelldefinitionsdatei (.emd) oder eine Deep-Learning-Paketdatei (.dlpk).

    Für ein vortrainiertes Modell mit ähnlichen Klassen kann ein Finetuning durchgeführt werden, um es auf das neue Modell abzustimmen. Das vortrainierte Modell muss mit dem gleichen Modelltyp und dem gleichen Backbone-Modell trainiert worden sein, das für das Training des neuen Modells verwendet wird.

    Modelltyp

    Gibt den Modelltyp an, der zum Trainieren des Deep-Learning-Modells verwendet wird.

    Weitere Informationen zu den verschiedenen Modelltypen finden Sie unter Deep-Learning-Modellarchitekturen.

    Modellargumente

    Zum Füllen dieses Parameters werden die Informationen aus dem Parameter Modelltyp verwendet. Diese Argumente variieren je nach Modellarchitektur. Nachfolgend werden die Modellargumente beschrieben, die für Modelle unterstützt werden, die in ArcGIS trainiert werden. Vortrainierte ArcGIS-Modelle und benutzerdefinierte Deep-Learning-Modelle enthalten ggf. zusätzliche von dem Werkzeug unterstützte Argumente.

    Weitere Informationen zu den verfügbaren Argumenten für die einzelnen Modelltypen finden Sie unter Deep-Learning-Argumente.

    Datenerweiterung

    Gibt den verwendeten Datenerweiterungstyp an.

    Datenerweiterung ist ein Verfahren, bei dem das Training-Dataset künstlich vergrößert wird, indem mithilfe vorhandener Daten modifizierte Kopien eines Datasets erstellt werden.

    • Standard: Es werden die standardmäßigen Datenerweiterungsparameter und -werte verwendet. Die verwendeten standardmäßigen Datenerweiterungsverfahren sind crop, dihedral_affine, brightness, contrast und zoom. Diese Standardwerte funktionieren bei Satellitenbildern in der Regel gut.
    • Keine: Es wird keine Datenerweiterung vorgenommen.
    • Benutzerdefiniert: Im Parameter Erweiterungsparameter können benutzerdefinierte Datenerweiterungswerte angegeben werden.
    • Datei: Es können fastai-Transformationen für die Datenerweiterung von Trainings- und Validierungs-Datasets angegeben werden. Diese Transformationen werden in einer .json-Datei namens transforms.json angegeben, die sich im selben Ordner befinden muss wie die Trainingsdaten. Weitere Informationen zu den verschiedenen Transformationen finden Sie auf der fastai-Website unter vision transforms.

    Erweiterungsparameter

    Gibt den Wert für jede Transformation im Erweiterungsparameter an.

    • rotate: Das Bild wird nach dem Zufallsprinzip (in Grad) nach einer Wahrscheinlichkeit (p) gedreht. Falls die Gradzahlen als Bereich angegeben sind (a,b) wird ein Wert einheitlich von a nach b zugewiesen. Der Standardwert ist 30,0; 0,5.
    • brightness: Die Helligkeit des Bildes wird nach dem Zufallsprinzip je nach Änderungswert mit einer Wahrscheinlichkeit (p) angepasst. Durch eine Änderung von "0" wird das Bild so hell wie möglich, und durch eine Änderung von "1" wird das Bild so hell wie möglich. Bei einer Änderung von 0,5 wird die Helligkeit nicht angepasst. Falls die Änderung ein Bereich ist (a,b), wird durch die Erweiterung einheitlich ein Wert von a nach b zugewiesen. Der Standardwert ist (0,4,0,6); 1,0.
    • contrast: Der Kontrast des Bildes wird nach dem Zufallsprinzip je nach Skalenwert mit einer Wahrscheinlichkeit (p) angepasst. Bei einer Skala von "0" wird das Bild in Graustufen transformiert, und bei einer Skala über "1" wird das Bild in ein Bild mit Super-Kontrast transformiert. Bei einer Skala von "1" wird der Kontrast nicht angepasst. Falls die Skala ein Bereich ist (a,b), wird durch die Erweiterung einheitlich ein Wert von a nach b zugewiesen. Der Standardwert ist (0,75, 1,5); 1,0.
    • zoom: Das Bild wird nach dem Zufallsprinzip je nach Skalenwert vergrößert. Der Zoom-Wert hat die Form scale(a,b); p. Der Standardwert ist (1,0, 1,2); 1,0, wobei p für die Wahrscheinlichkeit steht. Nur bei einer Skala von über 1,0 wird das Bild vergrößert. Falls die Skala ein Bereich ist (a,b), wird einheitlich ein Wert von a nach b zugewiesen.
    • crop: Das Bild wird nach dem Zufallsprinzip zugeschnitten. Der Zuschnittswert hat die Form size;p;row_pct;col_pct, wobei p für die Wahrscheinlichkeit steht. Die Position wird durch (col_pct, row_pct), angegeben, wobei col_pct und row_pct zwischen 0 und 1 normalisiert werden. Falls col_pct oder row_pct ein Bereich ist (a,b), wird einheitlich ein Wert von a nach b zugewiesen. Der Standardwert ist chip_size;1,0; (0, 1); (0, 1), wobei 224 die Standardschnipselgröße ist.

    Batch-Größe

    Die Anzahl der Trainingstichproben, die für das Training gleichzeitig bearbeitet werden müssen.

    Durch größere Batches kann die Leistung des Werkzeugs erhöht werden. Aber größere Batches belegen mehr Arbeitsspeicher.

    Wenn nicht genügend GPU-Speicher für die festgelegte Batch-Größe zur Verfügung steht, versucht das Werkzeug, eine optimale Batch-Größe zu schätzen und zu verwenden. Wird die Fehlermeldung "Nicht genügend Arbeitsspeicher" angezeigt, verwenden Sie kleinere Batches.

    Prozentsatz für Validierung

    Der Prozentsatz der Trainingsgebiete, die für die Überprüfung des Modells verwendet werden sollen. Der Standardwert ist 10.

    Schnipselgröße

    Die Größe des Bildes zum Trainieren des Modells. Bilder werden auf die angegebene Schnipselgröße zugeschnitten. Wenn die Bildgröße geringer ist als der Parameterwert, wird die Bildgröße verwendet. Der Standardwert beträgt 224 Pixel.

    Größe anpassen

    Passt die Größe der Bildschnipsel an. Nachdem die Größe eines Schnipsels angepasst wurde, werden Pixelblöcke auf die Schnipselgröße zugeschnitten und für das Training verwendet. Dieser Parameter findet nur auf die Objekterkennung (PASCAL VOC), die Objektklassifizierung (beschriftete Kacheln) und auf Super-Resolution-Daten Anwendung.

    Oftmals ist der Wert der Größenanpassung halb so groß wie der Wert der Schnipselgröße. Wenn der Wert der Größenanpassung kleiner ist als der Wert der Schnipselgröße, werden mit dem Wert der Größenanpassung Pixelblöcke für das Training erstellt.

    Lernrate

    Die Rate, mit der vorhandene Informationen während des gesamten Trainingsprozesses durch neu erworbene Informationen überschrieben werden. Ist kein Wert angegeben, wird die optimale Lernrate während des Trainingsprozesses aus der Lernkurve extrahiert.

    Backbone-Modell

    Gibt das vorkonfigurierte neuronale Netzwerk an, das als Architektur für das Training des neuen Modells verwendet werden soll. Diese Methode wird als Transfer Learning bezeichnet.

    Darüber hinaus können unterstützte neuronale Faltungsnetzwerke der PyTorch Image Models (timm) mit "timm" als Präfix angegeben werden, z. B. timm:resnet31, timm:inception_v4, timm:efficientnet_b3 usw.

    Kennwert überwachen

    Gibt den Kennwert an, der bei Kontrollpunkten und frühzeitigem Beenden überwacht wird.

    Beenden, wenn sich das Modell nicht mehr verbessert

    Gibt an, ob ein frühzeitiges Beenden implementiert wird.

    • Aktiviert: Frühzeitiges Beenden wird implementiert, und das Modelltraining wird beendet, wenn sich das Modell nicht mehr verbessert, und zwar unabhängig vom angegebenen Parameterwert Max. Epochen. Dies ist die Standardeinstellung.
    • Deaktiviert: Frühzeitiges Beenden wird nicht implementiert, und das Modelltraining wird fortgesetzt, bis der Parameterwert Max. Epochen erreicht wurde.

    Modell fixieren

    Gibt an, ob die Backbone-Layer im vorab trainierten Modell fixiert werden sollen, sodass die Gewichtungen und Verzerrungen wie ursprünglich vorgesehen beibehalten werden.

    • Aktiviert: Die Backbone-Layer werden fixiert, und die vordefinierten Gewichtungen und Verzerrungen werden im Parameter Backbone-Modell nicht geändert. Dies ist die Standardeinstellung.
    • Deaktiviert: Die Backbone-Layer werden nicht fixiert, und die Gewichtungen und Verzerrungen des Parameters Backbone-Modell können geändert werden, um sie an die Trainingsgebiete anzupassen. Die Verarbeitung dauert zwar länger, führt aber in der Regel zu besseren Ergebnissen.

    Gewichtungs-Initialisierungsschema

    Gibt das Schema an, in dem die Gewichtungen für den Layer initialisiert werden.

    Damit ein Modell mit multispektralen Daten trainiert werden kann, müssen in dem Modell die verschiedenen verfügbaren Bandtypen berücksichtigt werden. Dies erfolgt durch erneute Initialisierung des ersten Layers in dem Modell.

    • Zufällig: Für Nicht-RGB-Bänder werden zufällige Gewichtungen initialisiert, während für RGB-Bänder vortrainierte Gewichtungen beibehalten werden. Dies ist die Standardeinstellung.
    • Rotes Band: Gewichtungen, die dem roten Band aus dem Layer des vortrainierten Modells entsprechen, werden für Nicht-RGB-Bänder geklont, während für RGB-Bänder vortrainierte Gewichtungen beibehalten werden.
    • Alle zufällig: Zufällige Gewichtungen werden sowohl für RGB-Bänder als auch für Nicht-RGB-Bänder initialisiert. Diese Option findet nur auf multispektrale Bilddaten Anwendung.

    Dieser Parameter findet nur dann Anwendung, wenn in dem Modell multispektrale Bilddaten verwendet werden.

  3. Klicken Sie auf die Schaltfläche Weiter, um zur Seite Ergebnis zu wechseln.

Ergebnis

Auf der Seite Ergebnis sind die wichtigsten Details des trainierten Modells aufgeführt, damit Sie sie prüfen können. Zudem können Sie so das trainierte Modell mit anderen Modellen vergleichen. Bevor Sie Deep-Learning-Modelle zur Inferenzierung einsetzen, ist es unerlässlich, dass Sie sie verstehen. Indem Sie ein Modell überprüfen, erfahren Sie, wie es trainiert wurde und was es leisten kann. In vielen Fällen stehen Ihnen mehrere Modelle zur Verfügung, die Sie vergleichen können.

ElementBeschreibung

Modell

Mithilfe der Schaltfläche DurchsuchenDurchsuchen finden Sie das Modell, das Sie überprüfen möchten. Alle damit verbundenen Modelle werden der Dropdown-Liste Modell hinzugefügt. Sie können zwischen den Modellen hin und herwechseln und Modelle aus der Dropdown-Liste entfernen.

Modelltyp

Der Name der Modellarchitektur.

Backbone

Der Name des vorkonfigurierten neuronalen Netzwerks, das als Architektur für das Trainingsmodell verwendet wurde.

Lernrate

Die beim Training des neuronalen Netzwerks verwendete Lernrate. Wenn Sie keinen Wert angeben, wird er von dem Trainingswerkzeug berechnet.

Trainings- und Validierungsverlust

Dieser Abschnitt enthält ein Diagramm, das den Trainingsverlust und den Validierungsverlust im Laufe des Modelltrainings zeigt.

Trainings- und Validierungsverlust

Analyse des Modells

Je nach Modellarchitektur ein Kennwert oder eine Zahl. Bei Pixelklassifizierungsmodellen werden beispielsweise die folgenden Kennwerte für jede Klasse angezeigt: Precision, Recall und der F1-Score. Bei Objekterkennungsmodellen wird der durchschnittliche Precision-Score angezeigt.

Beispielergebnisse

Zeigt Beispiele für Bodenreferenz- und Vorhersagepaare.

Beispiele für Bodenreferenz- und Vorhersagepaare

Epochendetails

Eine Tabelle mit Informationen zu den einzelnen Epochen, wie z. B. Trainingsverlust, Validierungsverlust, Zeit und andere Kennwerte.

Tabelle "Epochendetails"

Verwandte Themen