Sie können direkte und indirekte Verzerrungen mit aktivem und passivem Debiasing erkennen. Die passive Verzerrungsbereinigung zeigt Verzerrungen auf, während die aktive Verzerrungsbereinigung Verzerrungen verhindert, indem das Modell in Echtzeit geändert wird.
Der Algorithmus wendet eine Methode mit dem Namen Perturbation an, um Unterschiede in den erwarteten Ergebnissen in den Daten auszuwerten. Weitere Informationen zur Berechnung von Verzerrungen finden Sie unter Fairness berechnen.
Wenn Sie Einsätze auf Fairness prüfen, wird die direkte und indirekte Verzerrung der Transaktionen aus der Nutzlastprotokollierungstabelle ermittelt.
Passive Verzerrungsbereinigung
Die passive Entwertung erfolgt automatisch, jede Stunde. Das Adjektiv 'passiv' bedeutet, dass dieser Vorgang ohne Benutzereingriff erfolgt. Wenn Verzerrungen analysiert werden, entschärfen sie auch die Daten. Dabei wird das Verhalten des Modells analysiert und ermittelt, welche Daten vom Modell verzerrt werden.
Ein Modell des maschinellen Lernens wird erstellt, um vorherzusagen, ob das Modell bei einem gegebenen, neuen Datenpunkt wahrscheinlich verzerrt reagieren wird. Die Daten, die das Modell empfängt, werden stündlich analysiert, um die Datenpunkte zu finden, die eine Verzerrung verursachen. Für solche Datenpunkte wird das Fairnessattribut von Minderheit zu Mehrheit und von Mehrheit zu Minderheit durch Perturbation geändert und die durch Perturbation veränderten Daten werden zur Vorhersage an das ursprüngliche Modell gesendet. Die Vorhersage des durch Perturbation veränderten Datensatzes wird zusammen mit der ursprünglichen Vorhersage zur Berechnung der Verzerrung verwendet.
Die identifizierten verzerrten Datensätze, die das Modell in der letzten Stunde erhält, werden entschärft. Die Fairness für die entlastete Ausgabe wird ebenfalls berechnet und auf der Registerkarte Entlastetes Modell angezeigt.
Aktive Verzerrungsbereinigung
Die aktive Verzerrungsbereinigung ist eine Methode, mit der Sie verzerrungsbereinigte Ergebnisse anfordern und über den REST-API-Endpunkt in Ihre Anwendung übernehmen können. Sie können aktiv Modellauswertungen aufrufen, um die verzerrte Vorhersage Ihres Modells zu erfahren, so dass Sie Ihre Anwendung ohne Verzerrungen ausführen können. Bei der aktiven Verzerrungsbereinigung können Sie einen REST-API-Endpunkt für Verzerrungsbereinigung aus Ihrer Anwendung heraus verwenden. Dieser REST-API-Endpunkt ruft Ihr Modell intern auf und überprüft das Verhalten des Modells.
Wenn sich das Modell verzerrt verhält, werden die Daten gestört und an das ursprüngliche Modell zurückgeschickt. Wenn sich das Modell nach der internen Analyse des gestörten Datenpunkts in Bezug auf den Datenpunkt verzerrt verhält, wird die Ausgabe des ursprünglichen Modells in Bezug auf die gestörten Daten als verfälschte Vorhersage zurückgegeben.
Wenn das ursprüngliche Modell nicht verzerrt ist, wird die Vorhersage des ursprünglichen Modells als die verzerrte Vorhersage zurückgegeben. Durch die Verwendung dieses REST-API-Endpunkts können Sie daher sicherstellen, dass die Entscheidungen Ihrer Anwendung nicht auf verzerrten Ausgabedaten basieren.
Daten auf verzerrungsbereinigte Werte überprüfen
Wenn die Fairness-Auswertung läuft, werden die entlasteten Werte in der Payload-Protokolltabelle der Modellbereitstellung gespeichert. Alle über diesen Endpunkt ausgeführten Scoring-Transaktionen sind automatisch verzerrungsbereinigt. Sie können auf den verzerrungsbereinigten Scoring-Endpunkt wie auf den normalen Scoring-Endpunkt für Ihr bereitgestelltes Modell zugreifen. Zusätzlich zur Antwort des bereitgestellten Modells werden die Spalten für verzerrungsbereinigte Vorhersage (debiased_prediction
) und verzerrungsbereinigte Wahrscheinlichkeit (debiased_probability
) zurückgegeben.
Die Spalte
debiased_prediction
enthält den verzerrungsbereinigten Vorhersagewert.Die Spalte
debiased_probability
gibt die Wahrscheinlichkeit für die verzerrungsbereinigte Vorhersage an. Dieses Array mit Werten des Typ 'double' gibt die Wahrscheinlichkeit für die verzerrungsbereinigte Vorhersage an, die zu einer der Vorhersageklassen gehört.
Parameter für Verzerrungsbereinigung aktivieren
Das Debiasing ist standardmäßig deaktiviert, wenn Sie neue Bereitstellungen konfigurieren. Sie können auch den perform_debias
Parameter auf true
in der Parametersektion des Python SDKs setzen oder das PERFORM_DEBIASING
pod-level environment label angeben, um debiasingm zu aktivieren, wie im folgenden Beispiel gezeigt:
wos_client.monitor_instances.update(
monitor_instance_id=<FAIRNESS_MONITOR_INSTANCE_ID>,
patch_document=[JsonPatchOperation(
op=OperationTypes.ADD,
path='/parameters/perform_debias',
value=True
)],update_metadata_only=True
)
Wenn Sie die Überwachungsinstanz korrigieren, führt die Fairnessüberwachung die Verzerrungsbereinigung während der nächsten Auswertung aus.
Weitere Informationen finden Sie in der Dokumentation zuWatson OpenScale Python SDK.
Verzerrungsbereinigte Transaktionen überprüfen
Sie können den Endpunkt für verzerrungsbereinigte Transaktionen verwenden, um verzerrungsbereinigte Transaktionen für Fairnessbewertungen zu prüfen. Weitere Informationen finden Sie unter Modelltransaktionen in Watson OpenScale.
Da der Endpunkt für Verzerrungsbereinigung Laufzeitverzerrung behandelt, führt er weiterhin Hintergrundprüfungen für die Scoring-Daten aus der Nutzdatenprotokollierungstabelle aus. Außerdem wird das Modell für die Verzerrungsminderung aktualisiert, das die Scoring-Anforderungen debiassiert.
Sie können einen Fairness-Schwellenwert konfigurieren, der angibt, wann Daten akzeptabel und unverfälscht sind.
Verringern Sie die Verzerrung mit einer neuen Version des Modells:
- Sie müssen eine neue Version des Modells erstellen, die das Problem behebt. Verzerrte Datensätze werden in der manuellen Beschriftungstabelle gespeichert. Diese verzerrten Datensätze müssen manuell beschriftet werden. Anschließend wird das Modell mithilfe der zusätzlichen Daten neu trainiert, um eine neue Version des Modells zu erstellen, die unverzerrt ist.
Extrahieren Sie eine Liste der einzelnen verzerrten Datensätze:
- Stellen Sie eine Verbindung zur Tabelle für manuelle Kennzeichnung her und lesen Sie die Datensätze unter Verwendung von SQL-Standardabfragen.
Übergeordnetes Thema: Modelltransaktionen überprüfen