Imparcialidade: como mitigar o viés

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 de male e o outro tem um valor gender de nonbinary, 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.

Exercício: testar seu conhecimento

Quais das afirmações a seguir sobre técnicas de redução de viés são verdadeiras?
Tanto MinDiff quanto CLP penalizam discrepâncias no desempenho do modelo ligadas a atributos sensíveis
Ambas as técnicas têm como objetivo reduzir o viés penalizando os erros de previsão resultantes de desequilíbrios na forma como os atributos sensíveis são representados nos dados de treinamento.
MinDiff penaliza as diferenças na distribuição geral de previsões para diferentes parcelas de dados, enquanto o CLP penaliza as discrepâncias nas previsões para pares individuais de exemplos.
MinDiff aborda o viés ao alinhar distribuições de pontuação para dois subgrupos. O CLP lida com o viés garantindo que exemplos individuais não sejam tratados de maneira diferente apenas por causa da associação a subgrupos.
Adicionar mais exemplos ao conjunto de dados de treinamento sempre ajuda a combater o viés nas previsões de um modelo.
Adicionar mais exemplos de treinamento é uma estratégia eficaz para reduzir o viés, mas a composição dos novos dados de treinamento é importante. Se os exemplos de treinamento adicionais apresentarem desequilíbrios semelhantes aos dados originais, provavelmente não ajudarão a reduzir o viés existente.
Se você estiver mitigando a viés adicionando mais dados de treinamento, não aplique MinDiff ou CLP durante o treinamento.
Aumentar os dados de treinamento e aplicar técnicas como MinDiff ou CLP podem ser complementares. Por exemplo, um engenheiro de ML pode coletar dados de treinamento suficientes para reduzir a discrepância no desempenho em 30% e, em seguida, usar MinDiff para reduzir ainda mais a discrepância em mais 50%.