Deep Learning has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars. Core to many of these applications are visual recognition tasks such as image classification, localization and detection and language understanding tasks like summarization, text generation and reasoning. Recent developments in neural network (aka “deep learning”) approaches have greatly advanced the performance of these state-of-the-art systems.
This course is a deep dive into the details of deep learning algorithms, architectures, tasks, metrics, with a focus on learning end-to-end models. We will begin by grounding deep learning advancements particularly for the task of image classification; later, we will generalize these ideas to many other tasks. During the 10-week course, students will learn to implement and train their own neural networks and gain a detailed understanding of cutting-edge research in deep learning. Additionally, the final assignment will give them the opportunity to train and apply multi-million parameter networks on real-world vision problems of their choice. Through multiple hands-on assignments and the final course project, students will acquire the toolset for setting up deep learning tasks and practical engineering tricks for training and fine-tuning deep neural networks.
Linear Algebra, Calculus and Statistics. It is not required to have prior background in Machine Learning, Computer Vision or Natural Language Processing and the necessary fundamentals will be covered as part of the class.
The class format will be a combination of lectures, 3 assignments, mid-term exam, and a course project.