Combining Neuromorphic Design Principles with Modern Machine Learning Algorithms