Error Resilient and Adaptive Deep Learning Systems