Verlustfunktionen für die hierarchische Multi-Label-Klassifizierung?


7

Ich möchte verschiedene Verlustfunktionen für ein hierarchisches Klassifizierungsproblem mit mehreren Etiketten ausprobieren. Bisher habe ich verschiedene Modelle oder Submodelle wie den Multilayer Perceptron (MLP) -Zweig in einem größeren Modell trainiert, das sich mit verschiedenen Klassifizierungsebenen befasst und einen binären Vektor ergibt. Ich habe auch Binary Cross Entopy (BCE) verwendet und alle im Modell vorhandenen Verluste summiert, bevor ich zurückpropagiert habe.

Ich denke darüber nach, andere Verluste wie MultiLabelSoftMarginLoss und MultiLabelMarginLoss auszuprobieren. Welche anderen Verlustfunktionen sind es wert, ausprobiert zu werden? Hamming-Verlust vielleicht oder eine Variation? Ist es besser, alle Verluste und Backpropagation zu summieren oder mehrere Backpropagations durchzuführen?

Antworten:


1

Eine Verlustfunktion ist selbst eine Aggregation, außer im trivialsten Fall einer eindimensionalen Netzwerkausgabe. Das Aggregieren von Verlustfunktionen ist nur ein Ansatz, um einen Skalarverlust aus Unterschieden in mehreren Dimensionen zu erzeugen, und möglicherweise einen überkomplizierten.

Wenn die Konzeptklasse eine Hierarchie mit drei Ebenen ist, ist die Verlustfunktion eine Aggregation von Unterschieden, die im ein-, zwei- oder dreidimensionalen Raum auftreten, je nachdem, ob die Unterteilungen in jeder Kategorie in der gesamten Hierarchie identisch sind. Wenn es drei Etikettendimensionen gibt, diese statistisch unabhängig sind und jeweils drei Zustände haben, gibt es 27 Kategorien, die in drei ternären Ausgaben dargestellt werden können.

Das Ausprobieren mehrerer in torch.nn.modules.loss verfügbarer Verlustfunktionsoptionen ist eine Möglichkeit, die beste Lösung in PyTorch zu finden. Es ist jedoch möglich, die falsche Auswahl zu treffen, da die Hyperparameter in der besseren Auswahl nicht richtig eingestellt sind. Oder die Beschriftungen sind möglicherweise nicht ordnungsgemäß auf die Verlustfunktion mit schlechter Leistung abgebildet.

Es kann die Lösung zu kompliziert machen, ein Modell in ein anderes einzubetten, wenn es üblich ist, mit einem einzigen Netzwerk in mehrere Dimensionen zu kategorisieren. Nehmen Sie einen einfachen Fall.

Nehmen wir an, es gibt eine Kategoriedimension von vier Altersklassen, eine andere vom Typ Kleidung (lässig, geschäftlich lässig, formal, unbestimmt) und ein Drittel von acht kulturellen Hintergründen, einschließlich unbestimmt. Ziel ist es, Kopf-zu-Fuß-Bilder anhand von Warteschlangen im Gesichts-, Haar- und Kleidungsstil mit einer bestimmten Zuverlässigkeit zu kategorisieren.

In diesem Fall könnte die Netzwerkausgangsschicht zusätzlich zu den entsprechenden Faltungs-, Pooling- und vollständig verbundenen Schichten zwei Binärausgänge für das Alter, zwei für die Kleidung und drei für den kulturellen Hintergrund aufweisen.

Die Komplexität tritt auf, wenn sich die Kleidungsarten zwischen den kulturellen Hintergründen unterscheiden. In diesem Fall können die fünf Bits eine Zusammensetzung aus Kleidungstypen und kulturellem Hintergrund bestimmen, aber die Entwicklung separater Netzwerke, eines für jeden Kulturtyp, ist wahrscheinlich übertrieben.

Das Zuordnen der Abmessungen von Beschriftungen zum Ausgabevektor sollte im Mittelpunkt der Aufmerksamkeit stehen. Entropie ist ein Konzept, das für die Auswahl von Verlustfunktionen gilt. Die Idee besteht jedoch darin, die negative Entropie gleichmäßig an den Ausgabevektorkomponenten auszurichten, damit die Informationen gleichmäßig über die Vektorkomponenten verteilt werden.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.