3 credits
Spring 2025 LectureThis course teaches the theory and practice of deep neural networks from basic principles through state-of-the-art methods. The class blends hands-on programming, using a variety of state-of-the-art programming frameworks, with theoretical treatment based on current literature. Implementation will emphasize the use of the Pytorch language and the use of dynamic computational graphs. Some previous experience with optimization techniques is important for success in the course.
Learning Outcomes1Understand how to design a neural network architecture that is appropriate for a wide range of specific applications.
2Create an efficient implementation of a wide range of standard neural network architectures in Pytorch.
3Use neural networks to solve applications problems in classification, regression and data generation.
4Understand how the fundamental theory of optimization can be used to efficiently train neural networks.
5Understand the trade-offs between optimization techniques and how these techniques can be selected to achieve the best neural network training.
6Understand and use current theory of neural network performance.
7Understand the limitation of existing neural network theory and the likely directions of future research.