This paper proivdes an introduction to the field of deep learning and the associated frameworks. We first provide a short background of machine learning and shallow architectures like Perceptrons, SVMs ans provide the motivations behind deep learning. We then proceed to discuss some important breakthroughs in training deep architectures as well as examine the state-of-the-art deep learning algorithms. We illustrate the usefulness of deep learning algorithms by discussing real-world applications and highlight the challenges, trends and future work in the field of deep learning.