Training Binary Neural Networks via Gaussian Variational Inference and Low-Rank Semidefinite Programming