This course is an introduction to deep learning, a branch of machine learning concerned with developing and applying modern neural networks. Deep learning algorithms extract layered high-level representations of data to maximize performance on a given task. For example, if asked to recognize faces, a deep neural network may learn to represent image pixels with edges, larger shapes, parts of the face like eyes and ears, and, finally, individual face identities. Deep learning is behind many recent advances in AI, including Siri’s speech recognition, Facebook’s tag suggestions, and self-driving cars. This course covers the basics of neural networks, different types of neural network architectures, optimization techniques, deep neural networks such as CNN, RNN, LSTM, etc., and sequence modeling, auto-encoders, attention, and transformers.
CO - 1: Apply knowledge of deep learning principles to create and implement a simple feed forward neural network.
CO - 2: Analyze and evaluate deep learning architectures for specific tasks in computer vision, NLP, and generative modeling.
CO - 3: Design and optimize data preprocessing techniques, loss functions, and regularization methods to train deep learning models effectively.
CO - 4: Synthesize and demonstrate proficiency in advanced activation functions, normalization techniques, transfer learning, and state-of-the-art research in deep learning for complex model development.
MODULE 1: Fundamentals of Deep Learning - Introduction to Deep Learning: Definition and Motivation, Overview and Key Milestones behind Deep Learning, Deep Learning vs. Traditional Machine Learning: Comparison, Advantages and limitations of Deep Learning, Neural Network Basics: Structure and Function of Artificial Neuron, Activation Functions, Building Blocks: Layes, Weights, Bias, Forward and Backward Propagation, Implementation of Feedforward Neural Network.
MODULE 2: Deep Learning Architectures - Multi-Layer Perceptron, Back Propagation Algorithm, Convolutional Neural Networks (CNN): Architecture, Pooling, Usecases: Image Classification, Object Detection, and Image Segmentation, Recurrent Neural Networks (RNNs): Architecture, Long Short-Term Memory (LSTM), Gated Recurrent Unit (GRU), Generative Adversarial Networks (GANs): Training to generate images, music, or text, Applications of GAN: art generation and data augmentation, Applications of Deep Learning: Case Studies.
MODULE 3: Deep Learning Operations (DLOps) - Introduction to Deep Learning Operations: Significance and Management, DL Models in Production: Challenges, Complexities, Model Versioning, and Collaboration, Tools for collaborative development and model versioning, Continuous Integration and Continuous Deployment (CI/CD), Scalability and Distributed Training, Monitoring and Logging, Model Governance and Ethics, Automated Machine Learning (AutoML)
MODULE 4: Practical Applications of Deep Learning - Image Classification: Use CNN for Image Classification, Natural Language Processing (NLP): Train RNN for Sentiment Analysis, Computer Vision: Object Detection using Pre-trained Models, Image Generation using GAN
Good Knowledge in Python Programming
Usage of GitHub
Jupyter Notebook/Google Colab
Streamlit
Deep Learning by Ian Goodfellow, Yoshua Bengio, and Aaron Courville
Neural Networks and Deep Learning: A Textbook by Charu Aggarwal
Dive into Deep Learning by Aston Zhang, Zack C. Lipton, Mu Li, and Alexander J. Smola
Deep Learning with Python by Francois Chollet
Please note that the presentation materials will not be shared with the learners. The learners are requested to prepare lecture notes and also make use of the text and reference books available at the University library. Supplementary materials related to the course will be shared with the learners from time-to-time, through GitHub only.
The exercises, codes, supplementary materials, and relevant papers will be made available at this GitHub Repository.
The learners are requested to clone the repository and create a local copy of their working directory (Instructions available in the README file).
All the learners should maintain a repository of all the coding exercises and assignments in their GitHub profile which will be evaluated by the instructor from time-to-time.
There will not be any written assignments as part of this course. There will be regular quizzes conducted (both surprise and planned quizzes) during the course. Since this course uses project-based learning strategy, there will be group activities such as interim and final project presentation. Also, there will be individual viva planned to assess the progress of each learner. The instructor may decide appropriate assignments and evaluation methodologies from time-to-time.
The video lectures related to the course may be added to the Instructor's YouTube Channel available HERE. You may subscribe this channel for receiving notification when new videos are uploaded.
The instructor may share other publicly available relevant videos with the learners as and when required to supplement the learning process.
Feedback links remain OPEN throughout the semester to promote continuous feedback process. Please share your feedback/comments/suggestions HERE
If you have any questions or need further clarification about the course, please contact me via email or during my office hours. Let's embark on this exciting journey into Deep Learning! Get ready to unlock the potential of AI through the power of deep neural networks.
Looking forward to a rewarding and knowledge-filled semester!
Dr. Anoop V. S.
Course Instructor