Over the past few years we have seen a convergence of two large scale trends: Big Data and Big Compute. The resulting combination of large amounts of data and abundant CPU (and GPU) cycles has brought to the forefront and highlighted the power of neural network techniques and approaches that were once thought to be too impractical.
Deep Learning, as this new wave of interest has come to be known, has made impressive and unprecedented progress on applications as diverse as Natural Language Processing, Machine Translation, Computer Vision, Robotics, etc. In this lecture, students will learn, in a hands-on way, the theoretical foundations and principal ideas underlying this burgeoning field. The code structure of the implementations provided is meant to closely resemble the way the state of the art deep learning libraries Keras is structured so that by the end of the course, students will be prepared to dive deeper into the deep learning applications of their choice.