set_dl_classifier_paramset_dl_classifier_paramSetDlClassifierParamSetDlClassifierParam — Setzen der Parameter des Deep Learning-basierten Klassifikators.
Anzahl der Bilder (und ihren entsprechenden
Labels) in einem Batch und damit die Anzahl der Bilder, die beim Training
gleichzeitig in einer Iteration verarbeitet werden. Mehr Information
können in der Referenz von train_dl_classifier_batchtrain_dl_classifier_batchTrainDlClassifierBatchTrainDlClassifierBatchTrainDlClassifierBatch gefunden
werden. Dieser Parameter ist im vortrainierten Modell gespeichert.
Standardmäßig ist 'batch_size'"batch_size""batch_size""batch_size""batch_size" so gesetzt, dass ein Training des
vortrainierten Klassifikators mit bis zu 100 Klassen problemlos
auf einer GPU mit einem Speicher von 8 Gigabyte durchgeführt
werden kann. Für die vortrainierten Klassifikatoren ergeben sich so
folgende Standardwerte für die Batchgröße:
Vortrainierter Klassifikator
Standardwerte für
'batch_size'"batch_size""batch_size""batch_size""batch_size"
Werden die Argumente der Zielfunktionswerte aktualisiert, gibt
der Hyperparameter 'momentum'"momentum""momentum""momentum""momentum" an, zu welchem Ausmaß vorherige
Aktualisierungsvektoren im aktuellen Aktualisierungsvektor berücksichtigt
werden.
Für weitere Informationen verweisen wir auf die Referenz von
train_dl_classifier_batchtrain_dl_classifier_batchTrainDlClassifierBatchTrainDlClassifierBatchTrainDlClassifierBatch.
Standardmäßig ist 'momentum'"momentum""momentum""momentum""momentum" auf 0.9 gesetzt.
Regularisierungsparameter für die Regularisierung der
Zielfunktion. Diese Regularisierung ist hilfreich falls während des
Klassifikatortrainings Überanpassung auftritt.
Ist der Hyperparameter
'weight_prior'"weight_prior""weight_prior""weight_prior""weight_prior" auf einen Wert ungleich Null gesetzt, so wird
der folgende Regularisierungsterm zur Zielfunktion addiert (siehe
train_dl_classifier_batchtrain_dl_classifier_batchTrainDlClassifierBatchTrainDlClassifierBatchTrainDlClassifierBatch):
Der Index k läuft hierbei über alle Gewichte des Netzwerks, mit der
Ausnahme von Bias-Termen. Diese werden nicht regularisiert. Der
Regularisierungs-Term schiebt die Gewichte
gegen Null und bestraft damit insbesondere größte Gewichte, was effektiv
die Komplexität des Modells verringert.
Einfach gesagt, begünstigt die Regularisierung einfachere
Modelle, die weniger anfällig sind, Rauschen in den Daten zu lernen und
dadurch generalisieren diese Modelle in der Regel besser. Standardmäßig
wird keine Regularisierung verwendet, d.h. 'weight_prior'"weight_prior""weight_prior""weight_prior""weight_prior" ist
0.0. Für den Fall einer Überanpassung des Klassifikators,
empfehlen wir verschiedene Werte für den Parameter 'weight_prior'"weight_prior""weight_prior""weight_prior""weight_prior"
zu testen. Die Wahl des Wertes ist eine Abwägen zwischen der Fähigkeit des
Netzwerkes zu Generalisieren, einer Überanpassung oder einer
Unteranpassung. Ist zu klein, ist eine Überanpassung
möglich, ist es zu groß kann es passieren, dass das Modell seine
Fähigkeit verliert, sich an die Daten anzupassen, da dann alle Gewichte
effektiv null sind. Um einen idealen Wert für zu finden,
empfehlen wir eine Kreuzvalidierung durchzuführen. Das heißt, das
Training wird für eine Reihe von Werten durchgeführt und man wählt den
Wert, der den besten Validierungsfehler liefert.
Üblich sind zum Testen die Werte für 'weight_prior'"weight_prior""weight_prior""weight_prior""weight_prior" auf einer
logarithmischen Skala zwischen .
Falls das Training sehr lange dauert, besteht die Möglichkeit für die
Optimierung der Hyperparameter einen reduzierten Datensatz zu verwenden.
Das Konzept der Deep Learning-basierten Klassifikation ist in der Einleitung
zu Kapitel Deep Learning / Klassifikation beschrieben.
Um diesen Operator ausführen zu können, wird cuDNN benötigt, wenn
'gpu'"gpu""gpu""gpu""gpu" oder 'runtime_init'"runtime_init""runtime_init""runtime_init""runtime_init" gesetzt wird.
Für weitere Details wird auf den Installation Guide, Abschnitt
Requirements for Deep Learning, verwiesen.
Sind die Parameterwerte korrekt, dann liefert
set_dl_classifier_paramset_dl_classifier_paramSetDlClassifierParamSetDlClassifierParamSetDlClassifierParam den Wert 2 (H_MSG_TRUE).
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.