Binarized Neural Networks: Training Neural Networks with Weights and Activations Constrained to +1 or -1