Understanding Boolean Function Learnability on Deep Neural Networks