Deep Learning: Algorithms and Architectures