Depois que uma fonte de viés é identificada nos dados de treinamento, podemos tomar medidas preventivas para mitigar os efeitos. Há duas estratégias principais que os engenheiros de machine learning (ML) normalmente usam para corrigir a viés:
- Aumente os dados de treinamento.
- Ajustar a função de perda do modelo.
Como aumentar os dados de treinamento
Se uma auditoria dos dados de treinamento tiver revelado problemas com dados ausentes, incorretos ou distorcidos, a maneira mais direta de resolver o problema é, geralmente, coletar mais dados.
No entanto, embora aumentar os dados de treinamento seja ideal, a desvantagem dessa abordagem é que ela também pode ser inviável devido à falta de dados disponíveis ou restrições de recursos que impedem a coleta de dados. Por exemplo, coletar mais dados pode ser muito caro, demorado ou inviável devido a restrições legais/de privacidade.
Como ajustar a função de otimização do modelo
Nos casos em que a coleta de dados de treinamento adicionais não é viável, outra abordagem para reduzir a viés é ajustar a forma como a perda é calculada durante o treinamento do modelo. Normalmente, usamos uma função de otimização, como a perda de registro, para penalizar previsões de modelo incorretas. No entanto, a perda de registro não considera a associação a subgrupos. Em vez de usar a perda de registro, podemos escolher uma função de otimização projetada para penalizar erros de forma justa, que contrapõe os desequilíbrios identificados nos dados de treinamento.
A biblioteca Model Remediation do TensorFlow fornece utilitários para aplicar duas técnicas diferentes de mitigação de viés durante o treinamento de modelo:
MinDiff: o objetivo do MinDiff é equilibrar os erros de duas fatias diferentes de dados (alunos do sexo masculino/feminino em comparação com alunos não binários) adicionando uma penalidade por diferenças nas distribuições de previsão dos dois grupos.
Pareamento de logit contrafactual: o objetivo do pareamento de logit contrafactual (CLP, na sigla em inglês) é garantir que a alteração de um atributo sensível de um determinado exemplo não altere a previsão do modelo para esse exemplo. Por exemplo, se um conjunto de dados de treinamento tiver dois exemplos com valores de recursos idênticos, exceto que um tem um valor
gender
demale
e o outro tem um valorgender
denonbinary
, o CLP vai adicionar uma penalidade se as previsões desses dois exemplos forem diferentes.
As técnicas escolhidas para ajustar a função de otimização dependem dos casos de uso do modelo. Na próxima seção, vamos analisar como abordar a tarefa de avaliar a imparcialidade de um modelo considerando esses casos de uso.