FairSquare: Probabilistic Verification of Program Fairness Aws Albarghouthi Loris D’Antoni Samuel Drews University of Wisconsin-Madison Aditya V. Nori Microsoft Research
Machine Data Model Learning
Machine Data Model Learning small error
Machine Data Model Learning small error racist? sexist?
Group Fairness decision- making program
Group Fairness sensitive feature (e.g. minority)
Group Fairness sensitive feature (e.g. minority)
Group Fairness population model
Individual Fairness similarity
Q: What are good definitions of fairness?
Q: What are good definitions of fairness? A: Someone else’s problem
Contributions ● Formalize fairness definitions as probabilistic verification problems ● Decision procedure for evaluating probabilistic postconditions
FairSquare
Population Model Decision Program Fairness FairSquare Definition
Population Model Unfairness proof Decision Program Fairness proof Fairness FairSquare Definition
population decision-making model program
population decision-making model program
represent assignments as a region (LRA formula) colRank “weighted volume” ethnicity yExp
define dec(colRank, yExp): define popModel(): expRank ← yExp – colRank ethnicity ~ gauss(0,10) if colRank <= 5: colRank ~ gauss(25,10) hire ← true yExp ~ gauss(10,5) elif expRank > -5: if ethnicity > 10: hire ← true colRank ← colRank + 5 else: return colRank, yExp hire ← false return hire popModel dec Pr
define dec(colRank, yExp): define popModel(): expRank ← yExp – colRank ethnicity ~ gauss(0,10) if colRank <= 5: colRank ~ gauss(25,10) hire ← true yExp ~ gauss(10,5) elif expRank > -5: if ethnicity > 10: hire ← true colRank ← colRank + 5 else: return colRank, yExp hire ← false return hire popModel dec Pr
define dec(colRank, yExp): define popModel(): expRank ← yExp – colRank ethnicity ~ gauss(0,10) if colRank <= 5: colRank ~ gauss(25,10) hire ← true yExp ~ gauss(10,5) elif expRank > -5: if ethnicity > 10: hire ← true colRank ← colRank + 5 else: return colRank, yExp hire ← false return hire popModel dec Pr
Evaluating post ● Obtain formula for each probability in post ● Underapproximate the weighted volume of ● Overapproximate by doing the same for eventually, approximations are good enough
“Live” demo
Case Study Bayesian Population Networks Model Income Dataset [1] Decision Trees, Decision Linear SVMs, Program RLU Neural Nets Group Fairness Fairness for Women Definition [1] https://archive.ics.uci.edu/ml/datasets/adult
Fairness Verification Problems 14 12 NN 10 SVM 8 DT 6 4 2 0 Total FairSquare PSI [1] VolComp [2] [1] Gehr et al. CAV 2016 [2] Sankaranarayanan et al. PLDI 2013
Population Model Unfairness proof Decision Program Fairness proof Fairness FairSquare Definition
Recommend
More recommend