Dice-Coefficient-Loss-Funktion gegen Cross-Entropie

27

Wie entscheiden Sie sich beim Trainieren von neuronalen Netzen mit Pixelsegmentierung, wie z. B. vollständig faltungsorientierten Netzen, für die Verwendung der Funktion für den entropieübergreifenden Verlust im Vergleich zur Funktion für den Verlust des Würfelkoeffizienten?

Mir ist klar, dass dies eine kurze Frage ist, aber ich bin mir nicht sicher, welche anderen Informationen ich liefern soll. Ich habe mir eine ganze Reihe von Dokumentationen über die beiden Verlustfunktionen angesehen, kann aber nicht intuitiv nachvollziehen, wann eine über die andere zu verwenden ist.

Christian
quelle
Nutzen Sie den praktischen Ansatz, um beides zu nutzen und die Ergebnisse zu vergleichen. Die Diskussion der Verlustfunktion ist mit Blick auf viele verschiedene Anwendungsbereiche ein eigenes Thema der erweiterten Forschung. Da Faltungsnetzwerke immer noch ein "heißes Thema" sind, würde ich vermuten, dass die meisten Artikel auch in Zukunft veröffentlicht werden.
Cherub

Antworten:

27

Ein zwingender Grund für die Verwendung der Kreuzentropie über dem Würfelkoeffizienten oder einer ähnlichen IoU-Metrik ist, dass die Gradienten besser sind.

Die Gradienten der Kreuzentropie in den Logs sind etwa , wobei die Softmax-Ausgaben und das Ziel sind. Wenn wir versuchen, den in einer differenzierbaren Form zu schreiben: oder , dann sind die resultierenden Gradienten bezüglich viel hässlicher : und . Man kann sich leicht einen Fall vorstellen, in dem sowohl als auch klein sind und der Gradient einen riesigen Wert erreicht. Im Allgemeinen ist es wahrscheinlich, dass das Training instabiler wird.ptpt2ptp2+t22ptp+t2 t 2p 2t(t2-p2)2t2(p+t)2 pt2t(t2p2)(p2+t2)2pt


Der Hauptgrund, warum Menschen versuchen, den Würfelkoeffizienten oder die IoU direkt zu verwenden, ist, dass das eigentliche Ziel die Maximierung dieser Metriken ist und Cross-Entropy nur ein Proxy ist, der mit Backpropagation einfacher zu maximieren ist. Darüber hinaus ist der Würfelkoeffizient bei Problemen mit unausgeglichenen Klassen konstruktionsbedingt besser:

Das Klassenungleichgewicht wird jedoch in der Regel einfach dadurch behoben, dass jeder Klasse Verlustmultiplikatoren zugewiesen werden, so dass das Netzwerk stark davon abgehalten wird, eine Klasse, die selten auftritt, einfach zu ignorieren. Daher ist unklar, ob in diesen Fällen ein Würfelkoeffizient wirklich erforderlich ist.


Ich würde mit dem Kreuzentropieverlust beginnen, der der Standardverlust für Trainingssegmentierungsnetzwerke zu sein scheint, es sei denn, es gab einen wirklich zwingenden Grund, den Würfelkoeffizienten zu verwenden.

shimao
quelle
Die Kreuzentropie aller Exponentialfamilien ist ein netter Unterschied . pt
Neil G
3
Wann ist das "Hauptziel" die Maximierung des Würfelverlustes? Ich habe das Originalpapier überprüft und alles, was gesagt wird, ist: "Wir erhalten Ergebnisse, die wir experimentell beobachtet haben, sind viel besser als diejenigen, die durch dasselbe Netzwerk berechnet wurden, das darauf trainiert wurde, einen multinomialen logistischen Verlust mit erneuter Gewichtung der Stichprobe zu optimieren." Dies ist nicht sehr überzeugend.
Neil G
@shimao Mit "hässlich" meinst du nur, dass die Farbverläufe explodieren können, ist das richtig?
27.
17

Wie @shimao und @cherub zusammenfassen, kann man apriori nicht sagen, welches für einen bestimmten Datensatz besser geeignet ist. Der richtige Weg ist, beides zu versuchen und die Ergebnisse zu vergleichen. Beachten Sie auch, dass es bei der Segmentierung nicht so einfach ist, "die Ergebnisse zu vergleichen" : IoU-basierte Maße wie der Würfelkoeffizient decken nur einige Aspekte der Qualität der Segmentierung ab; Bei einigen Anwendungen müssen andere Maße wie der mittlere Oberflächenabstand oder der Hausdorff-Oberflächenabstand verwendet werden. Wie Sie sehen, ist nicht einmal die Wahl der richtigen Qualitätsmetrik trivial, geschweige denn die Wahl der besten Kostenfunktion.

Ich persönlich habe sehr gute Erfahrungen mit dem Würfelkoeffizienten; Es ist wirklich wunderbar, wenn es um Klassenungleichgewichte geht (einige Segmente belegen weniger Pixel / Voxel als andere). Andererseits wird die Trainingsfehlerkurve zu einer totalen Verwirrung: Sie gab mir absolut keine Informationen über die Konvergenz, so dass in dieser Hinsicht die Kreuzentropie gewinnt. Natürlich kann / sollte dies umgangen werden, indem der Validierungsfehler trotzdem überprüft wird.

Jan Kukacka
quelle