Ich möchte eine Verlustschicht des Typs InfogainLoss
in meinem Modell verwenden. Aber ich habe Schwierigkeiten, es richtig zu definieren.InfogainLoss Schicht
Gibt es ein Tutorial/Beispiel für die Verwendung von
INFOGAIN_LOSS
Schicht?Sollte der Eingang zu dieser Schicht, die Klassenwahrscheinlichkeiten, die Ausgabe einer
SOFTMAX
Schicht sein, oder genügt es, die "Oberseite" einer vollständig verbundenen Schicht einzugeben?
INFOGAIN_LOSS
benötigt drei Eingaben: Klassenwahrscheinlichkeiten, Etiketten und die Matrix H
. Die Matrix H
kann entweder als Layer-Parameter infogain_loss_param { source: "fiename" }
bereitgestellt werden.
Angenommen, ich habe ein Python-Skript, das H
als numpy.array
von Form (L,L)
mit dtype='f4'
berechnet (wobei L
die Anzahl der Etiketten in meinem Modell ist).
Wie kann ich meine
numpy.array
in einebinproto
-Datei umwandeln, die alsinfogain_loss_param { source }
zum Modell zur Verfügung gestellt werden können?Angenommen, ich möchte
H
als dritte Eingabe (unten) zur Verlustschicht bereitstellen (und nicht als Modellparameter). Wie kann ich das machen?
Definiere ich eine neue Datenschicht, die "oben"H
ist? Wenn ja, würden die Daten dieser Schicht nicht bei jeder Trainingsiteration wie die Trainingsdaten inkrementiert werden? Wie kann ich mehrere nicht zusammenhängende Input "Daten" Schichten definieren, und wie Caffe wissen kann, aus dem Training/Test "Daten" Schicht Batch nach Batch zu lesen, während von derH
"Daten" Schicht es nur einmal für alle zu lesen Trainingsprozess?
es ist nicht genau diese Summe, es gibt auch Gewichte – Shai
Ja, es gibt die Gewichte, aber sie sind nicht der Faktor, der den Wert von p_i einschränkt. log (p) <0 für 0 1 log (p)> 0 und so wird -log (p) größer, wenn p kleiner wird. Dies ist das Gegenteil von dem, was die Verlustfunktion tun sollte. Deshalb muss p in (0, 1) sein. Log (0) = -infinity, also sollte darauf geachtet werden, p = 0 nicht zu haben, aber das ist bereits in der Schicht selbst implementiert. –
Yair
Also, wenn ich das richtig verstehe , Ihre Antwort auf Frage Nummer 2 ist: der Eingang zu 'info_gain' sollte der" oberste "eines' softmax' Layers sein. – Shai