Algorithms for Adversarially Robust Deep Learning