Quando devo usar o MinDiff?
Aplique MinDiff em casos em que seu modelo geralmente apresenta bom desempenho, mas produz erros prejudiciais com mais frequência em exemplos pertencentes a um grupo sensível e você deseja preencher a lacuna de desempenho. Os grupos de interesse sensíveis podem variar dependendo do seu caso de uso, mas geralmente incluem classes protegidas, como raça, religião, gênero, orientação sexual e muito mais. Ao longo deste documento, usaremos “grupo sensível” para nos referirmos a qualquer conjunto de exemplos pertencentes a uma classe protegida.
Existem duas condições principais para usar o MinDiff para lidar com fatias de dados com baixo desempenho:
- Você já ajustou e avaliou seu modelo, identificando métricas que mostram fatias de dados com baixo desempenho. Isso deve ser feito antes de aplicar a correção do modelo.
- Você tem, ou pode obter, um número suficiente de exemplos rotulados relevantes pertencentes ao grupo de baixo desempenho (mais detalhes abaixo).
MinDiff é uma das muitas técnicas para remediar comportamentos desiguais. Em particular, pode ser uma boa escolha quando você está tentando equalizar diretamente o desempenho entre grupos. MinDiff pode ser usado em conjunto com outras abordagens, como aumento de dados e outras, o que pode levar a melhores resultados. Porém, se você precisa priorizar em qual técnica investir, deve fazê-lo de acordo com as necessidades do seu produto.
Ao aplicar o MinDiff, você poderá observar uma ligeira degradação ou mudança no desempenho dos grupos com melhor desempenho, à medida que os grupos com baixo desempenho melhoram. Essa compensação é esperada e deve ser avaliada no contexto dos requisitos do seu produto. Na prática, vimos frequentemente que o MinDiff não faz com que as fatias de melhor desempenho caiam abaixo dos níveis aceitáveis, mas isso é específico da aplicação e uma decisão que precisa ser tomada pelo proprietário do produto.
Em quais tipos de modelo posso aplicar o MinDiff?
O MinDiff demonstrou ser consistentemente eficaz quando aplicado a classificadores binários. A adaptação do método para outras aplicações é possível, mas não foi totalmente testada. Algum trabalho foi feito para mostrar sucesso em tarefas de multiclassificação e classificação 1 , mas qualquer uso do MinDiff nestes ou em outros tipos de modelos deve ser considerado experimental.
Em quais métricas posso aplicar o MinDiff?
MinDiff pode ser uma boa solução quando a métrica que você está tentando equalizar entre grupos é a taxa de falsos positivos (FPR) ou a taxa de falsos negativos (FNR) , mas pode funcionar para outras métricas. Como regra geral, MinDiff pode funcionar quando a métrica que você está almejando é resultado de diferenças nas distribuições de pontuação entre exemplos pertencentes a um grupo sensível e exemplos que não pertencem a um grupo sensível.
Construindo seu conjunto de dados MinDiff
Ao se preparar para treinar com MinDiff, você precisará preparar três conjuntos de dados separados. Tal como acontece com o treinamento regular, seus conjuntos de dados MinDiff devem ser representativos dos usuários que seu modelo atende. MinDiff pode funcionar sem isso, mas você deve ter cuidado extra nesses casos.
Supondo que você esteja tentando melhorar o FPR do seu modelo para exemplos pertencentes a uma classe sensível, você precisará de:
- O conjunto de treinamento original – O conjunto de dados original que foi usado para treinar seu modelo de linha de base
- O conjunto sensível MinDiff - Um conjunto de dados de exemplos pertencentes à classe sensível com apenas rótulos de verdade fundamental negativos. Estes exemplos serão usados apenas para calcular a perda MinDiff.
- O conjunto não sensível MinDiff - Um conjunto de dados de exemplos que não pertencem à classe sensível com apenas rótulos de verdade fundamental negativos. Estes exemplos serão usados apenas para calcular a perda MinDiff.
Ao usar a biblioteca, você combinará todos esses três conjuntos de dados em um único conjunto de dados, que servirá como seu novo conjunto de treinamento.
Escolhendo exemplos para MinDiff
Pode ter parecido contra-intuitivo no exemplo acima criar conjuntos de exemplos rotulados negativamente se você estiver preocupado principalmente com disparidades na taxa de falsos positivos . No entanto, lembre-se de que uma previsão falso positivo vem de um exemplo rotulado negativamente e classificado incorretamente como positivo.
Ao coletar seus dados para o MinDiff, você deve escolher exemplos onde a disparidade de desempenho seja evidente. No nosso exemplo acima, isso significou escolher exemplos rotulados negativamente para abordar o FPR. Se estivéssemos interessados em atingir o FNR, teríamos necessidade de escolher exemplos rotulados positivamente.
Quantos dados eu preciso?
Boa pergunta – depende do seu caso de uso! Com base na arquitetura do modelo, na distribuição de dados e na configuração do MinDiff, a quantidade de dados necessária pode variar significativamente. Em aplicações anteriores, vimos o MinDiff funcionar bem com 5.000 exemplos em cada conjunto de treinamento MinDiff (conjuntos 2 e 3 na seção anterior). Com menos dados, há um risco maior de desempenho reduzido, mas isso pode ser mínimo ou aceitável dentro dos limites das suas restrições de produção. Depois de aplicar o MinDiff, você precisará avaliar minuciosamente seus resultados para garantir um desempenho aceitável. Se eles não forem confiáveis ou não atenderem às expectativas de desempenho, você ainda poderá considerar a coleta de mais dados.
Quando o MinDiff não é adequado para mim?
MinDiff é uma técnica poderosa que pode fornecer resultados impressionantes, mas isso não significa que seja o método certo para todas as situações. Aplicá-lo ao acaso não garante que você alcançará uma solução adequada.
Além dos requisitos discutidos acima, há casos em que o MinDiff pode ser tecnicamente viável, mas não adequado. Você deve sempre projetar seu fluxo de trabalho de ML de acordo com práticas recomendadas conhecidas. Por exemplo, se a tarefa do seu modelo estiver mal definida, se o produto não estiver claro ou se os rótulos do seu exemplo estiverem excessivamente distorcidos, você deve priorizar a abordagem desses problemas. Da mesma forma, se você não tiver uma definição clara do grupo sensível ou não for capaz de determinar com segurança se os exemplos pertencem ao grupo sensível, você não conseguirá aplicar o MinDiff de maneira eficaz.
Em um nível superior, você deve sempre considerar se o seu produto é um uso apropriado para ML. Se for, considere os vetores potenciais de danos ao usuário que isso cria. A prossecução do BC responsável é um esforço multifacetado que visa antecipar uma vasta gama de potenciais danos; O MinDiff pode ajudar a mitigar alguns destes problemas, mas todos os resultados merecem uma consideração cuidadosa.
1 Beutel A., Chen, J., Doshi, T., Qian, H., Wei, L., Wu, Y., Heldt, L., Zhao, Z., Hong, L., Chi, E., Goodrow, C. (2019). Justiça na classificação de recomendações por meio de comparações entre pares.