create_dl_layer_loss_focal — Erstellen eines Focal-Loss-Layers.
create_dl_layer_loss_focal( : : DLLayerInput, DLLayerTarget, DLLayerWeights, DLLayerNormalization, LayerName, LossWeight, Gamma, ClassWeights, Type, GenParamName, GenParamValue : DLLayerLossFocal)
Der Operator create_dl_layer_loss_focal erstellt einen
Focal-Loss-Layer, dessen Handle in DLLayerLossFocal zurückgegeben
wird.
Siehe die unten zitierte Referenz für Informationen zu dessen Definition
und der Bedeutung seiner Parameter.
Dieser Layer erwartet mehrere Layer als Eingabe:
DLLayerInput: Bestimmt die Vorhersage
(z.B. ein Sigmoid- oder Softmax-Layer).
DLLayerTarget: Bestimmt die Zielsequenzen
(aus den Ground-Truth-Informationen stammend).
DLLayerWeights: Bestimmt die Gewichtssequenzen. Dieser
Parameter ist optional. Wenn ein leeres Tupel [] übergeben wird,
wird für jeden Wert das Gewicht 1.0 verwendet.
DLLayerNormalization: Bestimmt
den Normalisierungsfaktor des Loss. Dieser Parameter ist optional,
er kann über das Layer-Handle als Wert gegeben werden oder ignoriert werden
indem ein leeres Tupel [] übergeben wird.
Der Parameter LayerName legt einen individuellen Layernamen fest.
Es ist zu beachten, dass beim Erstellen eines Modells mit
create_dl_model jeder Layer des erstellten Netzes einen
eindeutigen Namen haben muss.
Der Parameter LossWeight ist ein Gesamt-Loss-Gewicht, falls
mehrere Losses im Netzwerk existieren.
Der Parameter Gamma ist der Exponent des Focal-Faktors.
Der Parameter ClassWeights definiert klassenspezifische Gewichte.
Alle Beiträge einer Klasse zum Loss werden mit dem gegebenen Faktor
gewichtet.
Typischerweise haben diese Gewichte den Wert
'1.0/(Anzahl Samples dieser Klasse)'.
Es ist zu beachten, dass die Länge dieses Arrays entweder 1 sein muss, dann
wird das Array mit der Wert für alle Klassen initialisiert, oder die Länge
muss mit der Anzahl der Klassen übereinstimmen.
Der Defaultwert [] entspricht einem Faktor von 0.5 für
jede Klasse.
Falls die Anzahl von Klassen im Netzwerk geändert wird, dann wird auch die
Anzahl der klassenspezifischen Gewichte angepasst, und diese auf den
Defaultwert 0.5 für jede Klasse zurückgesetzt.
Der Parameter Type bestimmt den Typ von Focal-Loss:
Focal-Loss.
Focal-Loss kombiniert mit Sigmoid.
Die folgenden generischen Parameter GenParamName und die
entsprechenden Werte GenParamValue werden unterstützt:
Bestimmt, ob apply_dl_model die Ausgabe dieses Layers im
Dictionary DLResultBatch zurückgibt, auch ohne den
Layer in Outputs anzugeben ('true'), oder
nur falls er angegeben wird ('false').
Default: 'false'
Bestimmte Parameter von Layern, die mit create_dl_layer_loss_focal
erzeugt wurden, können mit weiteren Operatoren gesetzt und abgerufen werden.
Die folgenden Tabellen geben einen Überblick, welche Parameter mit
set_dl_model_layer_param gesetzt werden können und welche mit
get_dl_model_layer_param oder get_dl_layer_param ausgelesen
werden können. Es ist zu beachten, dass die Operatoren
set_dl_model_layer_param und get_dl_model_layer_param ein
Modell benötigen, das mit create_dl_model erzeugt wurde.
| Layer-Parameter | set |
get
|
|---|---|---|
'focal_type' (Type) |
x
|
|
'gamma' (Gamma) |
x |
x
|
'input_layer' (DLLayerInput, DLLayerTarget, DLLayerWeights, und/oder DLLayerNormalization) |
x
|
|
'loss_weight' (LossWeight) |
x |
x
|
'name' (LayerName) |
x |
x
|
'output_layer' (DLLayerLossFocal) |
x
|
|
| 'shape' | x
|
|
| 'type' | x
|
| Generische Layer-Parameter | set |
get
|
|---|---|---|
| 'is_inference_output' | x |
x
|
| 'num_trainable_params' | x
|
DLLayerInput (input_control) dl_layer → (handle)
Eingabelayer.
DLLayerTarget (input_control) dl_layer → (handle)
Ziellayer.
DLLayerWeights (input_control) dl_layer → (handle)
Gewichtelayer.
DLLayerNormalization (input_control) dl_layer → (handle)
Normalisierungslayer.
Default: []
LayerName (input_control) string → (string)
Name des Ausgabelayers.
LossWeight (input_control) number → (real / integer)
Gesamt-Loss-Gewicht, falls mehrere Losses im Netzwerk existieren.
Default: 1.0
Gamma (input_control) number → (real / integer)
Focal-Faktor.
Default: 2.0
ClassWeights (input_control) number(-array) → (real / integer)
Klassenspezifisches Gewicht.
Default: []
Type (input_control) string → (string)
Focal-Loss-Typ.
Default: 'focal_binary'
Werteliste: 'focal_binary', 'sigmoid_focal_binary'
GenParamName (input_control) attribute.name(-array) → (string)
Namen der generischen Eingabeparameter.
Default: []
Werteliste: 'is_inference_output'
GenParamValue (input_control) attribute.value(-array) → (string)
Werte der generischen Eingabeparameter.
Default: []
Wertevorschläge: 'true', 'false'
DLLayerLossFocal (output_control) dl_layer → (handle)
Focal-Loss-Layer.
T. Lin, P. Goyal, R. Girshick, K. He and P. Dollar, "Focal Loss for Dense Object Detection," in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 42, no. 2, pp. 318-327, 1 Feb. 2020, doi: 10.1109/TPAMI.2018.2858826.
Deep Learning Professional