This repository contains all the necessary materials for the course COMP4531 - Deep Learning: Model Design and Application. Here, you'll find sample code, assignments, and other related content.
This course addresses the foundational concepts and components of artificial neural networks (ANN), highlighting their capabilities, strengths, and weaknesses as a machine learning algorithm. Students taking this course will develop ANN models from scratch in Python as a basis for understanding their design as well as the underlying mechanics and calculations that shape their behavior. Key topics such as forward-backward propagation, loss function characteristics, and optimization will be considered in relation to model design and computational efficiency as well as to problems such as exploding and vanishing gradients. Training strategies (e.g., dropout, initialization, batch normalization) will further enable students to assess trade-offs in model bias and variance. Coupled with hands-on assignments, these building blocks provide the knowledge and skills required to effectively design and implement ANN models that are ethically and technically sound, as well as foreground important architectures such as convolutional ANNs, recurrent ANNs, long short-term memory (LSTM), and transformers as well as their applicability to modern problems. Student learning and proficiency will be assessed based on a combination of quizzes, coding assignments, exams, and a culminating project.
week_n/: Contains all code examples and assignments for the week n.midterm_project/: Contains problem statements, datasets, and instructions for midterm projects.final_project/: Contains problem statements, datasets, and instructions for final projects.
- Python 3.7+
- TensorFlow 2.0+
- Pytorch 2.0
- Numpy
- Matplotlib
- Jupyter notebook