-1

Ich versuche, ein wenig die Verlustfunktion meines Klosters zu ändern, und ich habe einige Fragen von der Implementierung Seite.Keras: benutzerdefinierte Zielfunktion, wo die Ableitung setzen

Ich weiß bereits, wie man eine benutzerdefinierte Verlustfunktion in Keras erstellt, und wie man es nennt. Aber ich habe immer noch nicht klar, wo die Ableitung der Funktion enthalten sein soll.

Lassen Sie uns sagen, dass meine neue Verlustfunktion ist:

Verlust = Quer Entropie + f (x)

wobei f (x) = x ** 2.

Wo sollte ich f '(x) = 2x angeben, damit es im Back-Prop-Schritt verwendet wird? Macht Keras das automatisch? Oder sollte ich das explizit in einem Teil definieren?

Danke für jeden Hinweis darauf, da ich nicht weiß, wie es geht.

Chuan.

Antwort

1

Der Verlust muss eine Funktion von a) Ihrer Netzwerkausgabe und b) korrekten Etiketten sein. Mit Verlust = Summ (a, b) minimiert Ihr Netzwerk sowohl a) als auch b). Minimierung x ** 2 bringt x nahe Null; Minimierung von softmax() .. da softmax (x) keine Verlustfunktion ist, nur für einen Vektor X definiert ist und dazu beiträgt, einen Vektor-Summ auf 1 zu setzen, kann man ihn nicht wirklich minimieren. Ich schätze, du mischt Konzepte hier.

Softmax ist eine Aktivierungsfunktion, und ihr Ausgang kann verwendet werden, um Verluste zu berechnen, z. logloss

+0

danke für Ihre (schnelle) Antwort. Sie haben Recht, ich habe einen Fehler gemacht, ich wollte sagen Cross-Entropie, nicht Softmax (ich weiß nicht, warum ich Softmax BTW). Ich habe es in der Frage korrigiert. Nun, für f (x) war es nur ein Beispiel für eine differenzierbare Funktion, ich möchte diese Funktion nicht wirklich minimieren –

Verwandte Themen