Se puede detectar el sesgo directo e indirecto con el desbarbado activo y pasivo. El sesgo pasivo revela el sesgo, mientras que el sesgo activo previene el sesgo cambiando el modelo en tiempo real.
El algoritmo aplica un método denominado perturbación para evaluar las diferencias en los resultados esperados en los datos. Para obtener más información sobre cómo se calcula el sesgo, consulte Cálculo de equidad.
Cuando se evalúa la equidad de los despliegues, se detecta la directa y sesgo indirecto de las transacciones de la tabla de registro de carga útil.
Eliminación del sesgo pasiva
La depreciación pasiva se produce automáticamente, cada hora. Se considera pasiva porque se lleva a cabo sin la interacción del usuario. Cuando se analiza el sesgo, también se desvirtúan los datos. Analiza el comportamiento del modelo e identifica los datos en los que el modelo actúa de forma sesgada.
Se construye un modelo de aprendizaje automático para predecir si es probable que el modelo actúe de forma sesgada ante un nuevo punto de datos dado. Los datos que recibe el modelo se analizan cada hora para encontrar los puntos que causan sesgos. Para estos puntos de datos, el atributo de equidad se perturbe de minoría a mayoría, y de mayoría a minoría, y los datos perturbados se envían al modelo original para la predicción. La predicción del registro perturbado, junto con la predicción original, se utiliza para calcular el sesgo.
Los registros sesgados identificados que el modelo recibe en la última hora se desvirtúan. También se calcula la equidad de la salida sesgada, que se muestra en la pestaña Modelo sesgado.
Eliminación del sesgo activa
La eliminación del sesgo activa es una forma de solicitar y traer resultados con el sesgo corregido a la aplicación a través del punto final de la API REST. Puede invocar activamente las evaluaciones del modelo para conocer la predicción sesgada de su modelo y poder ejecutar su aplicación de forma no sesgada. En la eliminación del sesgo activa, puede utilizar un punto final de API REST de eliminación del sesgo de la aplicación. Este punto final de la API REST llama internamente al modelo y comprueba su comportamiento.
Si el modelo actúa de forma sesgada, los datos se perturban y se devuelven al modelo original. Tras el análisis interno del punto de datos perturbado, si el modelo se comporta de forma sesgada en el punto de datos, la salida del modelo original en los datos perturbados se devuelve como predicción sesgada.
Si el modelo original no actúa de forma sesgada, se devuelve la predicción del modelo original como predicción sesgada. Por lo tanto, al utilizar este punto final de la API REST, puede asegurarse de que la aplicación no base las decisiones en la salida sesgada.
Revisión de datos para valores sin sesgo
Cuando se ejecuta la evaluación de equidad, los valores depurados se almacenan en la tabla de registro de carga útil del despliegue del modelo. Todas las transacciones de puntuación realizadas a través de este punto final se eliminarán automáticamente, según corresponda. Puede acceder al punto final de puntuación sin sesgo del mismo modo que lo haría con el punto final de puntuación normal para el modelo desplegado. Además de devolver la respuesta del modelo desplegado, también devuelve dos columnas debiased_prediction
y debiased_probability
.
La columna
debiased_prediction
contiene el valor de la predicción sin sesgo.La columna
debiased_probability
representa la probabilidad de la predicción sin sesgo. Este conjunto de valores dobles representa la probabilidad de la predicción sin sesgo que pertenece a una de las clases de predicción.
Habilitación del parámetro sin sesgo
La eliminación de errores está desactivada por defecto cuando se configuran nuevas implantaciones. También puede establecer el parámetro perform_debias
en true
en la sección de parámetros del SDK de Python o especificar la etiqueta de entorno PERFORM_DEBIASING
a nivel de pod para activar debiasingm, como se muestra en el siguiente ejemplo:
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
)
Cuando se aplica un parche en la instancia de supervisor, el supervisor de equidad se ejecuta sin sesgo durante la siguiente evaluación.
Para obtener más información, consulte la documentación de SDK deWatson OpenScale Python.
Revisión de transacciones sin sesgo
Puede utilizar el punto final de transacciones sin sesgo para revisar las evaluaciones de equidad de las transacciones sin sesgo. Para obtener más información, consulte Envío de transacciones de modelo en Watson OpenScale.
Puesto que el punto final debias se ocupa del sesgo de tiempo de ejecución, continúa ejecutando comprobaciones de antecedentes para los datos de puntuación de la tabla de registro de carga útil. También sigue actualizando el modelo de mitigación de sesgo, que elimina el sesgo de las solicitudes de puntuación.
Puede configurar un umbral de imparcialidad para indicar cuándo los datos son aceptables e imparciales.
Mitigue el sesgo con una nueva versión del modelo:
- Debe crear una nueva versión del modelo que corrija el problema. Los registros sesgados se almacenan en la tabla de etiquetado manual. Estos registros sesgados se deben etiquetar manualmente y, a continuación, el modelo se vuelve a entrenar a través de los datos adicionales para crear una nueva versión del modelo que sea imparcial.
Extraiga una lista de los registros sesgados individuales:
- Conéctese a la tabla de etiquetado manual y lea los registros utilizando consultas SQL estándar.
Tema padre: Revisión de transacciones de modelo