Quando devo usar MinDiff?
Aplique MinDiff em instâncias 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 fechar 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 primárias 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 o comportamento desigual. Em particular, pode ser uma boa escolha quando você está tentando equalizar diretamente o desempenho entre grupos. O MinDiff pode ser usado em conjunto com outras abordagens, como aumento de dados e outras, que podem levar a melhores resultados. No entanto, se você precisar priorizar em qual técnica investir, deve fazê-lo de acordo com as necessidades do seu produto.
Ao aplicar MinDiff, você pode ver o desempenho degradar ou mudar um pouco para seus grupos de melhor desempenho, à medida que seus grupos de baixo desempenho melhoram. Essa compensação é esperada e deve ser avaliada no contexto dos requisitos do seu produto. Na prática, muitas vezes vimos que o MinDiff não faz com que as fatias de alto desempenho caiam abaixo dos níveis aceitáveis, mas isso é específico do aplicativo e uma decisão que precisa ser tomada pelo proprietário do produto.
Em quais tipos de modelo posso aplicar o MinDiff?
MinDiff demonstrou ser consistentemente eficaz quando aplicado a classificadores binários. Adaptar o método para outras aplicações é possível, mas não foi totalmente testado. Algum trabalho foi feito para mostrar sucesso em tarefas de multiclassificação e classificação 1 , mas qualquer uso de MinDiff nesses 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 os grupos é taxa de falsos positivos (FPR) ou 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á segmentando é resultado de diferenças nas distribuições de pontuação entre exemplos pertencentes a um grupo confidencial e exemplos que não pertencem a um grupo confidencial.
Construindo seu conjunto de dados MinDiff
Ao se preparar para treinar com o MinDiff, você precisará preparar três conjuntos de dados separados. Assim como no 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á:
- 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 do terreno negativos. Esses 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 negativos de verdade. Esses 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 esculpir 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 de falso positivo vem de um exemplo rotulado negativamente classificado incorretamente como positivo.
Ao coletar seus dados para MinDiff, você deve escolher exemplos em que a disparidade no desempenho seja evidente. Em nosso exemplo acima, isso significava escolher exemplos rotulados negativamente para abordar o FPR. Se estivéssemos interessados em direcionar a FNR, teríamos que escolher exemplos rotulados positivamente.
De quantos dados eu preciso?
Boa pergunta - depende do seu caso de uso! Com base em sua arquitetura de modelo, distribuição de dados e configuração MinDiff, a quantidade de dados necessária pode variar significativamente. Em aplicações anteriores, vimos 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 de suas restrições de produção. Depois de aplicar o MinDiff, você precisará avaliar seus resultados completamente para garantir um desempenho aceitável. Se eles não forem confiáveis ou não atenderem às expectativas de desempenho, talvez você ainda queira 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ê obterá uma solução adequada.
Além dos requisitos discutidos acima, há casos em que MinDiff pode ser tecnicamente viável, mas não adequado. Você deve sempre projetar seu fluxo de trabalho de ML de acordo com as práticas recomendadas conhecidas. Por exemplo, se sua tarefa de modelo estiver mal definida, o produto precisar ser pouco claro ou seus rótulos de exemplo estiverem muito distorcidos, você deve priorizar a abordagem desses problemas. Da mesma forma, se você não tiver uma definição clara do grupo confidencial ou não puder determinar com segurança se os exemplos pertencem ao grupo confidencial, não poderá aplicar MinDiff efetivamente.
Em um nível mais alto, você deve sempre considerar se seu produto é um uso apropriado para ML. Se for, considere os vetores potenciais de danos ao usuário que ele cria. A busca do BC responsável é um esforço multifacetado que visa antecipar uma ampla gama de danos potenciais; MinDiff pode ajudar a mitigar alguns deles, mas todos os resultados merecem 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). Equidade na classificação de recomendações por meio de comparações de pares.