fairsquare
play

FairSquare: Probabilistic Verification of Program Fairness Aws - PowerPoint PPT Presentation

FairSquare: Probabilistic Verification of Program Fairness Aws Albarghouthi Loris DAntoni Samuel Drews University of Wisconsin-Madison Aditya V. Nori Microsoft Research Machine Data Model Learning Machine Data Model Learning small


  1. FairSquare: Probabilistic Verification of Program Fairness Aws Albarghouthi Loris D’Antoni Samuel Drews University of Wisconsin-Madison Aditya V. Nori Microsoft Research

  2. Machine Data Model Learning

  3. Machine Data Model Learning small error

  4. Machine Data Model Learning small error racist? sexist?

  5. Group Fairness decision- making program

  6. Group Fairness sensitive feature (e.g. minority)

  7. Group Fairness sensitive feature (e.g. minority)

  8. Group Fairness population model

  9. Individual Fairness similarity

  10. Q: What are good definitions of fairness?

  11. Q: What are good definitions of fairness? A: Someone else’s problem

  12. Contributions ● Formalize fairness definitions as probabilistic verification problems ● Decision procedure for evaluating probabilistic postconditions

  13. FairSquare

  14. Population Model Decision Program Fairness FairSquare Definition

  15. Population Model Unfairness proof Decision Program Fairness proof Fairness FairSquare Definition

  16. population decision-making model program

  17. population decision-making model program

  18. represent assignments as a region (LRA formula) colRank “weighted volume” ethnicity yExp

  19. 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

  20. 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

  21. 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

  22. 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

  23. “Live” demo

  24. 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

  25. 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

  26. Population Model Unfairness proof Decision Program Fairness proof Fairness FairSquare Definition

Recommend


More recommend