  Given a discriminating neural network, the problem of fairness improvement is
to systematically reduce discrimination without significantly scarifies its
performance (i.e., accuracy). Multiple categories of fairness improving methods
have been proposed for neural networks, including pre-processing, in-processing
and post-processing. Our empirical study however shows that these methods are
not always effective (e.g., they may improve fairness by paying the price of
huge accuracy drop) or even not helpful (e.g., they may even worsen both
fairness and accuracy). In this work, we propose an approach which adaptively
chooses the fairness improving method based on causality analysis. That is, we
choose the method based on how the neurons and attributes responsible for
unfairness are distributed among the input attributes and the hidden neurons.
Our experimental evaluation shows that our approach is effective (i.e., always
identify the best fairness improving method) and efficient (i.e., with an
average time overhead of 5 minutes).
