Counterfactual Logit Pairing (CLP) è una tecnica all'interno della libreria di correzione del modello TensorFlow che cerca di garantire che la previsione di un modello non cambi quando un attributo sensibile a cui si fa riferimento in un esempio viene rimosso o sostituito. Ad esempio, in un classificatore di tossicità, esempi come "Sono un uomo" e "Sono lesbica" non dovrebbero avere una previsione diversa di tossicità.
Per una discussione approfondita su questo argomento, vedere la ricerca sull'equità controfattuale , sull'accoppiamento logit contraddittorio e sull'accoppiamento logit controfattuale .
Quando dovresti utilizzare l'abbinamento Logit controfattuale?
Il CLP affronta lo scenario in cui una modifica in un attributo sensibile a cui si fa riferimento in una caratteristica modifica la previsione (quando la previsione non avrebbe dovuto cambiare). In tal modo, tenta di rispondere alla domanda: questo modello è suscettibile di modificare la sua previsione basata esclusivamente sulla presenza di un attributo di identità? Consultare il documento di ricerca per i dettagli sull'equità controfattuale.
Questo problema è stato riscontrato nell'API Perspective , uno strumento ML utilizzato da sviluppatori ed editori per analizzare il contenuto dei commenti alla ricerca di testo potenzialmente offensivo o tossico . L'API Perspective accetta il testo del commento come input e restituisce un punteggio da 0 a 1 come indicazione della probabilità che il commento sia tossico. Ad esempio, un commento come “Sei un idiota” può ricevere un punteggio di probabilità di 0,8 per la tossicità, indicando quanto è probabile che un lettore percepisca quel commento come tossico.
Dopo il lancio iniziale dell'API Perspective, gli utenti esterni hanno scoperto una correlazione positiva tra i termini di identità contenenti informazioni sulla razza o sull'orientamento sessuale e il punteggio di tossicità previsto. Ad esempio, la frase "Sono lesbica" ha ricevuto un punteggio di 0,51, mentre "Sono un uomo" ha ricevuto un punteggio inferiore di 0,2. In questo caso, i termini di identità non venivano usati in senso peggiorativo, quindi non dovrebbe esserci una differenza così significativa nel punteggio. Per ulteriori informazioni sull'API Perspective, consulta il post del blog sui termini di identità e pregiudizi non intenzionali .
Come posso misurare l'effetto del Logit Pairing controfattuale?
Se hai valutato il tuo modello di machine learning e stabilito che i cambiamenti nelle previsioni dovuti a cambiamenti in specifici attributi sensibili sarebbero dannosi, allora dovresti misurare la prevalenza di questo problema. Nel caso di un classificatore binario o multiclasse, un flip è definito come un classificatore che dà una decisione diversa (come cambiare una previsione da tossica a non tossica) quando cambia l'attributo sensibile a cui si fa riferimento nell'esempio. Quando si valuta la prevalenza dei lanci , è possibile osservare il numero e il tasso di lanci . Tenendo conto del potenziale danno per l'utente causato da un ribaltamento e della frequenza con cui si verificano, è possibile determinare se si tratta di un problema che deve essere risolto applicando il CLP. Per ulteriori informazioni su questi parametri, fare riferimento alla guida sugli indicatori di equità .
Su quali tipi di modelli posso applicare l'accoppiamento Logit controfattuale?
Questa tecnica può essere utilizzata con classificatori binari e multiclasse di diversi tipi di dati come testo, immagini e video.
Quando l'abbinamento Logit controfattuale non è adatto a me?
Il CLP non è il metodo giusto per tutte le situazioni. Ad esempio, non è rilevante se la presenza o l'assenza di un termine identificativo modifica legittimamente la previsione del classificatore. Questo potrebbe essere il caso se il classificatore mira a determinare se la caratteristica fa riferimento a un particolare gruppo di identità. Questo metodo ha anche un impatto minore se la correlazione involontaria tra il risultato del classificatore e il gruppo di identità non ha ripercussioni negative sull'utente.
Il CLP è utile per verificare se un modello linguistico o un classificatore di tossicità sta modificando il proprio output in modo scorretto (ad esempio classificando un pezzo di testo come tossico) semplicemente perché termini come “nero”, “gay”, “musulmano” sono presenti nel testo. testo. Il CLP non è destinato a fare previsioni sugli individui, ad esempio manipolando l'identità di un individuo. Vedi questo documento per una discussione più dettagliata.
È importante tenere presente che il CLP è una tecnica del Responsible AI Toolkit specificamente progettata per affrontare la situazione in cui gli attributi sensibili a cui si fa riferimento nelle funzionalità modificano la previsione. A seconda del modello e del caso d’uso, potrebbe anche essere importante considerare se esistono lacune prestazionali per i gruppi storicamente emarginati, in particolare perché il CLP può influenzare le prestazioni del gruppo. Questo può essere valutato con gli indicatori di equità e risolto da MinDiff che si trova anche nella libreria di riparazione del modello TensorFlow.
Dovresti anche considerare se il tuo prodotto è un utilizzo appropriato per l'apprendimento automatico. In tal caso, il flusso di lavoro di machine learning dovrebbe essere progettato in base a pratiche consigliate note, ad esempio avere un'attività modello ben definita e esigenze di prodotto chiare.
Come funziona l'accoppiamento Logit controfattuale?
Il CLP aggiunge una perdita al modello originale fornita dall'accoppiamento logit di un esempio originale e controfattuale da un set di dati. Calcolando la differenza tra i due valori, penalizzi le differenze dei termini sensibili che causano la modifica della previsione del classificatore. Questo lavoro si basava sulla ricerca sull'accoppiamento logit contraddittorio e sull'accoppiamento logit controfattuale .