create_dl_layer_loss_cross_entropy T_create_dl_layer_loss_cross_entropy CreateDlLayerLossCrossEntropy CreateDlLayerLossCrossEntropy create_dl_layer_loss_cross_entropy (Operator)
Name
create_dl_layer_loss_cross_entropy T_create_dl_layer_loss_cross_entropy CreateDlLayerLossCrossEntropy CreateDlLayerLossCrossEntropy create_dl_layer_loss_cross_entropy — Erstellen eines Cross-Entropy-Loss-Layers.
Signatur
void CreateDlLayerLossCrossEntropy (const HTuple& DLLayerInput , const HTuple& DLLayerTarget , const HTuple& DLLayerWeights , const HTuple& LayerName , const HTuple& LossWeight , const HTuple& GenParamName , const HTuple& GenParamValue , HTuple* DLLayerLossCrossEntropy )
HDlLayer HDlLayer ::CreateDlLayerLossCrossEntropy (const HDlLayer& DLLayerTarget , const HDlLayer& DLLayerWeights , const HString& LayerName , double LossWeight , const HTuple& GenParamName , const HTuple& GenParamValue ) const
HDlLayer HDlLayer ::CreateDlLayerLossCrossEntropy (const HDlLayer& DLLayerTarget , const HDlLayer& DLLayerWeights , const HString& LayerName , double LossWeight , const HString& GenParamName , const HString& GenParamValue ) const
HDlLayer HDlLayer ::CreateDlLayerLossCrossEntropy (const HDlLayer& DLLayerTarget , const HDlLayer& DLLayerWeights , const char* LayerName , double LossWeight , const char* GenParamName , const char* GenParamValue ) const
HDlLayer HDlLayer ::CreateDlLayerLossCrossEntropy (const HDlLayer& DLLayerTarget , const HDlLayer& DLLayerWeights , const wchar_t* LayerName , double LossWeight , const wchar_t* GenParamName , const wchar_t* GenParamValue ) const
(Nur Windows)
static void HOperatorSet .CreateDlLayerLossCrossEntropy (HTuple DLLayerInput , HTuple DLLayerTarget , HTuple DLLayerWeights , HTuple layerName , HTuple lossWeight , HTuple genParamName , HTuple genParamValue , out HTuple DLLayerLossCrossEntropy )
HDlLayer HDlLayer .CreateDlLayerLossCrossEntropy (HDlLayer DLLayerTarget , HDlLayer DLLayerWeights , string layerName , double lossWeight , HTuple genParamName , HTuple genParamValue )
HDlLayer HDlLayer .CreateDlLayerLossCrossEntropy (HDlLayer DLLayerTarget , HDlLayer DLLayerWeights , string layerName , double lossWeight , string genParamName , string genParamValue )
Beschreibung
Der Operator create_dl_layer_loss_cross_entropy create_dl_layer_loss_cross_entropy CreateDlLayerLossCrossEntropy CreateDlLayerLossCrossEntropy CreateDlLayerLossCrossEntropy create_dl_layer_loss_cross_entropy erstellt einen
Cross-Entropy-Loss-Layer, dessen Handle in DLLayerLossCrossEntropy DLLayerLossCrossEntropy DLLayerLossCrossEntropy DLLayerLossCrossEntropy DLLayerLossCrossEntropy dllayer_loss_cross_entropy
zurückgegeben wird.
Dieser Layer berechnet den zweidimensionalen Cross-Entropy-Loss der Eingabe
(gegeben durch DLLayerInput DLLayerInput DLLayerInput DLLayerInput DLLayerInput dllayer_input ) mit dem entsprechenden Target
(gegeben durch DLLayerTarget DLLayerTarget DLLayerTarget DLLayerTarget DLLayerTarget dllayer_target ) und Gewicht
(gegeben durch DLLayerWeights DLLayerWeights DLLayerWeights DLLayerWeights DLLayerWeights dllayer_weights ).
Cross Entropy wird im üblicherweise genutzt um die Ähnlichkeit zweier
Vektoren zu messen.
Beispiel:
Anschauungsbeispiel, bei dem
ein Klassifikationsproblem auf Pixelebene mit drei Klassen vorliegt.
Der Eingabevektor für ein einzelnes Pixel ist
(z.B. die Ausgabe eines Softmax-Layers), was bedeutet, dass der
vorhergesagte Wert (z.B. die Wahrscheinlichkeit) 0.7 für die Klasse mit
Index 0, 0.1 für die Klasse mit Index 1 und 0.2 für die Klasse mit Index 2
beträgt.
Der Zielvektor ist
mit einer Wahrscheinlichkeit von 1.0 für die aktuelle Klasse und ansonsten
0.0.
Die Entropie wird durch das Skalarprodukt dieser beiden Vektoren berechnet.
Da der Zielvektor nur einen Eintrag ungleich Null hat kann er durch den
Index der aktuellen Klasse anstelle eines Vektors angegeben werden, in
diesem Fall
.
Die Cross Entropy ist dann einfach der Wert des Eingabevektors beim Index
der Zielklasse, also
.
Mit dieser Vereinfachung kann die Cross-Entropy-Loss-Funktion über ein
Eingabebild definiert werden durch
wobei die Eingabe
aus einem Vorhersagevektor
für jedes Pixel besteht, das Ziel
und das Gewicht
aus einem Wert
und
für jedes Eingabepixel bestehen,
die Anzahl Pixel ist und
die Summe aller Gewichte ist.
Dieser Layer erwartet mehrere Layer als Eingabe:
Der Parameter LayerName LayerName LayerName LayerName layerName layer_name legt einen individuellen Layernamen fest.
Es ist zu beachten, dass beim Erstellen eines Modells mit
create_dl_model create_dl_model CreateDlModel CreateDlModel CreateDlModel create_dl_model jeder Layer des erstellten Netzes einen
eindeutigen Namen haben muss.
Der Parameter LossWeight LossWeight LossWeight LossWeight lossWeight loss_weight bestimmt den skalaren Gewichtungsfaktor
mit dem der in diesem Layer berechnete Loss multipliziert wird.
Dieser Parameter kann genutzt werden um den Beitrag des Cross-Entropy-Loss
zum gesamten Loss des Netzwerks zu bestimmen, falls mehrere Loss-Layer
verwendet werden.
Die folgenden generischen Parameter GenParamName GenParamName GenParamName GenParamName genParamName gen_param_name und die
entsprechenden Werte GenParamValue GenParamValue GenParamValue GenParamValue genParamValue gen_param_value werden unterstützt:
'is_inference_output' "is_inference_output" "is_inference_output" "is_inference_output" "is_inference_output" "is_inference_output" :
Bestimmt, ob apply_dl_model apply_dl_model ApplyDlModel ApplyDlModel ApplyDlModel apply_dl_model die Ausgabe dieses Layers im
Dictionary DLResultBatch DLResultBatch DLResultBatch DLResultBatch DLResultBatch dlresult_batch zurückgibt, auch ohne den
Layer in Outputs Outputs Outputs Outputs outputs outputs anzugeben ('true' "true" "true" "true" "true" "true" ), oder
nur falls er angegeben wird ('false' "false" "false" "false" "false" "false" ).
Default: 'false' "false" "false" "false" "false" "false"
'num_trainable_params' "num_trainable_params" "num_trainable_params" "num_trainable_params" "num_trainable_params" "num_trainable_params" :
Anzahl der trainierbaren Parameter (Gewichte und Bias-Werte) des Layers.
Bestimmte Parameter von Layern, die mit
create_dl_layer_loss_cross_entropy create_dl_layer_loss_cross_entropy CreateDlLayerLossCrossEntropy CreateDlLayerLossCrossEntropy CreateDlLayerLossCrossEntropy create_dl_layer_loss_cross_entropy 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 set_dl_model_layer_param SetDlModelLayerParam SetDlModelLayerParam SetDlModelLayerParam set_dl_model_layer_param gesetzt werden können und welche mit
get_dl_model_layer_param get_dl_model_layer_param GetDlModelLayerParam GetDlModelLayerParam GetDlModelLayerParam get_dl_model_layer_param oder get_dl_layer_param get_dl_layer_param GetDlLayerParam GetDlLayerParam GetDlLayerParam get_dl_layer_param ausgelesen
werden können. Es ist zu beachten, dass die Operatoren
set_dl_model_layer_param set_dl_model_layer_param SetDlModelLayerParam SetDlModelLayerParam SetDlModelLayerParam set_dl_model_layer_param und get_dl_model_layer_param get_dl_model_layer_param GetDlModelLayerParam GetDlModelLayerParam GetDlModelLayerParam get_dl_model_layer_param ein
Modell benötigen, das mit create_dl_model create_dl_model CreateDlModel CreateDlModel CreateDlModel create_dl_model erzeugt wurde.
Generische Layer-Parameter
set
get
'is_inference_output' "is_inference_output" "is_inference_output" "is_inference_output" "is_inference_output" "is_inference_output"
'num_trainable_params' "num_trainable_params" "num_trainable_params" "num_trainable_params" "num_trainable_params" "num_trainable_params"
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Wird ohne Parallelisierung verarbeitet.
Parameter
DLLayerInput DLLayerInput DLLayerInput DLLayerInput DLLayerInput dllayer_input (input_control) dl_layer → HDlLayer , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Eingabelayer.
DLLayerTarget DLLayerTarget DLLayerTarget DLLayerTarget DLLayerTarget dllayer_target (input_control) dl_layer → HDlLayer , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Ziellayer.
DLLayerWeights DLLayerWeights DLLayerWeights DLLayerWeights DLLayerWeights dllayer_weights (input_control) dl_layer → HDlLayer , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Gewichtelayer.
LayerName LayerName LayerName LayerName layerName layer_name (input_control) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Name des Ausgabelayers.
LossWeight LossWeight LossWeight LossWeight lossWeight loss_weight (input_control) number → HTuple float HTuple Htuple (real) (double ) (double ) (double )
Gesamt-Loss-Gewicht, falls mehrere Losses
im Netzwerk existieren.
Defaultwert: 1.0
GenParamName GenParamName GenParamName GenParamName genParamName gen_param_name (input_control) attribute.name(-array) → HTuple MaybeSequence[str] HTuple Htuple (string) (string ) (HString ) (char* )
Namen der generischen Eingabeparameter.
Defaultwert: []
Werteliste: 'is_inference_output' "is_inference_output" "is_inference_output" "is_inference_output" "is_inference_output" "is_inference_output" , 'num_trainable_params' "num_trainable_params" "num_trainable_params" "num_trainable_params" "num_trainable_params" "num_trainable_params"
GenParamValue GenParamValue GenParamValue GenParamValue genParamValue gen_param_value (input_control) attribute.value(-array) → HTuple MaybeSequence[Union[int, float, str]] HTuple Htuple (string / integer / real) (string / int / long / double) (HString / Hlong / double) (char* / Hlong / double)
Werte der generischen Eingabeparameter.
Defaultwert: []
Wertevorschläge: 'true' "true" "true" "true" "true" "true" , 'false' "false" "false" "false" "false" "false"
DLLayerLossCrossEntropy DLLayerLossCrossEntropy DLLayerLossCrossEntropy DLLayerLossCrossEntropy DLLayerLossCrossEntropy dllayer_loss_cross_entropy (output_control) dl_layer → HDlLayer , HTuple HHandle HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Cross-Entropy-Loss-Layer.
Modul
Deep Learning Training