Eine Frage haben? Verbinden Sie sich mit der Community im TensorFlow Forum Visit Forum

MinDiff-Anforderungen

Wann sollte ich MinDiff verwenden?

Wir empfehlen, MinDiff in Fällen anzuwenden, in denen Ihr Modell im Allgemeinen eine gute Leistung erbringt, bei Beispielen einer sensiblen Gruppe jedoch häufiger schädliche Fehler verursacht und Sie die Leistungslücke schließen möchten. Die sensiblen Interessengruppen können je nach Anwendungsfall variieren, umfassen jedoch häufig geschützte Klassen wie Rasse, Religion, Geschlecht, sexuelle Orientierung und mehr. In diesem Dokument verwenden wir "sensible Gruppe", um auf eine Reihe von Beispielen zu verweisen, die zu einer geschützten Klasse gehören.

Es gibt zwei Hauptbedingungen für die Verwendung von MinDiff, um unterdurchschnittliche Datenmengen zu beheben:

  • Sie haben Ihr Modell bereits optimiert und ausgewertet und Metriken identifiziert, die eine unterdurchschnittliche Datenmenge anzeigen. Dies muss erfolgen, bevor die Modellsanierung angewendet wird.
  • Sie haben oder können eine ausreichende Anzahl relevanter gekennzeichneter Beispiele erhalten, die zur Gruppe mit schlechter Leistung gehören (weitere Einzelheiten siehe unten).

MinDiff ist eine von vielen Techniken zur Behebung ungleichen Verhaltens. Insbesondere kann dies eine gute Wahl sein, wenn Sie versuchen, die Leistung zwischen Gruppen direkt auszugleichen. MinDiff kann in Verbindung mit anderen Ansätzen wie Datenerweiterung und anderen verwendet werden, was zu besseren Ergebnissen führen kann. Wenn Sie jedoch Prioritäten setzen müssen, in welche Technik Sie investieren möchten, sollten Sie dies entsprechend Ihren Produktanforderungen tun.

Wenn Sie MinDiff anwenden, kann es bei Ihren Gruppen mit der besten Leistung zu einer Verschlechterung oder leichten Verschiebung der Leistung kommen, da sich Ihre Gruppen mit schlechter Leistung verbessern. Dieser Kompromiss wird erwartet und sollte im Kontext Ihrer Produktanforderungen bewertet werden. In der Praxis haben wir oft gesehen, dass MinDiff nicht dazu führt, dass Slices mit der besten Leistung unter akzeptable Werte fallen. Dies ist jedoch anwendungsspezifisch und eine Entscheidung, die vom Produktbesitzer getroffen werden muss.

Auf welche Modelltypen kann ich MinDiff anwenden?

Es hat sich gezeigt, dass MinDiff bei Anwendung auf binäre Klassifikatoren durchweg effektiv ist . Die Anpassung der Methode an andere Anwendungen ist möglich, wurde jedoch noch nicht vollständig getestet. Es wurden einige Arbeiten durchgeführt, um den Erfolg bei Mehrfachklassifizierungs- und Ranking-Aufgaben 1 zu zeigen. Die Verwendung von MinDiff für diese oder andere Modelltypen sollte jedoch als experimentell angesehen werden.

Auf welche Metriken kann ich MinDiff anwenden?

MinDiff ist möglicherweise eine gute Lösung, wenn die Metrik, die Sie gruppenübergreifend ausgleichen möchten, eine falsch positive Rate (FPR) oder eine falsch negative Rate (FNR) ist , funktioniert jedoch möglicherweise für andere Metriken. In der Regel funktioniert MinDiff möglicherweise, wenn die Metrik, auf die Sie abzielen, auf Unterschiede in der Punkteverteilung zwischen Beispielen einer sensiblen Gruppe und Beispielen, die nicht zu einer sensiblen Gruppe gehören, zurückzuführen ist.

Erstellen Ihres MinDiff-Datasets

Wenn Sie sich auf das Training mit MinDiff vorbereiten, müssen Sie drei separate Datensätze vorbereiten. Wie bei regelmäßigen Schulungen sollten Ihre MinDiff-Datensätze repräsentativ für die Benutzer sein, denen Ihr Modell dient. MinDiff funktioniert möglicherweise ohne dies, aber in solchen Fällen sollten Sie besonders vorsichtig sein.

Angenommen, Sie versuchen, die FPR Ihres Modells für Beispiele zu verbessern, die zu einer sensiblen Klasse gehören, benötigen Sie:

  1. Der ursprüngliche Trainingssatz - Der ursprüngliche Datensatz, der zum Trainieren Ihres Basismodells verwendet wurde
  2. Der MinDiff-Sensitivsatz - Ein Datensatz mit Beispielen, die zur sensitiven Klasse gehören und nur negative Grundwahrheitsbezeichnungen enthalten. Diese Beispiele werden nur zur Berechnung des MinDiff-Verlusts verwendet.
  3. Der nicht sensible MinDiff-Satz - Ein Datensatz mit Beispielen, die nicht zur sensitiven Klasse gehören, mit nur negativen Grundwahrheitsbezeichnungen. Diese Beispiele werden nur zur Berechnung des MinDiff-Verlusts verwendet.

Wenn Sie die Bibliothek verwenden, kombinieren Sie alle drei dieser Datensätze zu einem einzigen Datensatz, der als neuer Trainingssatz dient.

Beispiele für MinDiff auswählen

Im obigen Beispiel schien es möglicherweise nicht intuitiv zu sein, Sätze negativ gekennzeichneter Beispiele herauszuarbeiten, wenn Sie sich hauptsächlich mit Unterschieden bei der falsch positiven Rate befassen. Denken Sie jedoch daran, dass eine falsch positive Vorhersage von einem negativ gekennzeichneten Beispiel stammt, das fälschlicherweise als positiv eingestuft wurde.

Wenn Sie Ihre Daten für MinDiff erfassen, sollten Sie Beispiele auswählen, bei denen die Leistungsunterschiede offensichtlich sind. In unserem obigen Beispiel bedeutete dies, negativ gekennzeichnete Beispiele auszuwählen, um FPR anzusprechen. Wären wir daran interessiert gewesen, auf FNR abzuzielen, hätten wir positiv gekennzeichnete Beispiele auswählen müssen.

Wie viele Daten brauche ich?

Gute Frage - es hängt von Ihrem Anwendungsfall ab! Abhängig von Ihrer Modellarchitektur, Datenverteilung und MinDiff-Konfiguration kann die benötigte Datenmenge erheblich variieren. In früheren Anwendungen hat MinDiff mit 5.000 Beispielen in jedem MinDiff-Trainingssatz (Sätze 2 und 3 im vorherigen Abschnitt) gut funktioniert. Bei weniger Daten besteht ein erhöhtes Risiko einer Leistungsminderung. Dies kann jedoch im Rahmen Ihrer Produktionsbeschränkungen minimal oder akzeptabel sein. Nach der Anwendung von MinDiff müssen Sie Ihre Ergebnisse gründlich bewerten, um eine akzeptable Leistung sicherzustellen. Wenn sie unzuverlässig sind oder die Leistungserwartungen nicht erfüllen, sollten Sie dennoch weitere Daten erfassen.

Wann ist MinDiff nicht das richtige für mich?

MinDiff ist eine leistungsstarke Technik, die beeindruckende Ergebnisse liefern kann. Dies bedeutet jedoch nicht, dass es für alle Situationen die richtige Methode ist. Eine willkürliche Anwendung garantiert nicht, dass Sie eine angemessene Lösung erzielen.

Über die oben diskutierten Anforderungen hinaus gibt es Fälle, in denen MinDiff technisch machbar, aber nicht geeignet ist. Sie sollten Ihren ML-Workflow immer gemäß den bekannten empfohlenen Vorgehensweisen gestalten. Wenn beispielsweise Ihre Modellaufgabe schlecht definiert ist, das Produkt unklar ist oder Ihre Beispielbezeichnungen zu stark verzerrt sind, sollten Sie die Behandlung dieser Probleme priorisieren. Wenn Sie keine eindeutige Definition der sensiblen Gruppe haben oder nicht zuverlässig feststellen können, ob Beispiele zur sensiblen Gruppe gehören, können Sie MinDiff nicht effektiv anwenden.

Auf einer höheren Ebene sollten Sie immer überlegen, ob Ihr Produkt überhaupt für ML geeignet ist. Wenn dies der Fall ist, berücksichtigen Sie die potenziellen Vektoren für den dadurch verursachten Benutzerschaden. Das Streben nach verantwortungsbewusster ML ist eine facettenreiche Anstrengung, die darauf abzielt, ein breites Spektrum potenzieller Schäden zu antizipieren. MinDiff kann helfen, einige davon zu mildern, aber alle Ergebnisse verdienen eine sorgfältige Prüfung.

1 Beutel A., Chen, J., Doshi, T., Qian, H., Wei, L., Wu, Y., Heldt, L., Zhao, Z., Hong, L., Chi, E., Goodrow, C. (2019). Fairness im Empfehlungsranking durch paarweise Vergleiche.