Introduction to Deep Learning
This course provides a beginner’s introduction to Artificial Neural Networks (ANN) and Deep Neural Networks (DNN) and their applications to various AI tasks, including image classification, speech recognition, and natural language processing. By the end of the course, students are expected to have a significant familiarity with the subject and be able to apply deep learning to a variety of tasks.
Students will be introduced to the basic concepts and terminology associated with deep neural networks. We will start with the basics of learning in artificial neural networks and their optimizations, and we will cover the most commonly used DNN architectures such as Feed Forward Neural Networks, Convolutional Neural Networks and Recurrent Neural Networks.
We will use the Jupyter Notebook environment for coding and build our models using the PyTorch library.
This is the planned schedule for the whole course, but of course, changes are possible due to unforeseen reasons.
The mapping between lectures and course sessions is not one to one. Meaning that we might work on several lectures in one course session or working on one lecture for several sessions.
|Lecture #||Title||Lecture Topics||Recitations||Externals|
About this course
Artificial neural network: a history
What is PyTorch?
Who uses PyTorch?
Why use PyTorch?
|2||Feed Forward Neural Networks||
Optimization and Backpropagation
Stochastic gradient descent
PyTorch workflow basics
Building your first model
|3||Training the Model I||
Model training in PyTorch
House Price Prediction
|4||Training the Model II||
PyTorch binary classification
PyTorch multi-class classification
Sigmoid and Softmax
|5||Convolutional Neural Networks||
Computer vision basics
PyTorch for computer vision
PyTorch image classification
What is transfer learning?
PyTorch transfer learning
Fine tuning a pretrained models
Robust image classification
|7||In-class project||In-class project|
|8||Recurrent Neural Networks||
Long term dependencies
Natural language processing basics
PyTorch for natural language processing
PyTorch text classification