Deep Learning for Recognition of Objects, Activities, Faces, and Spatio-Temporal Patterns