Lecture on Beyond Simple Word Embeddings on June 30 at 9pm IST. Pre-work released. Please visit our YouTube channel for the live streaming of this lecture.
About Topics Pedagogy Schedule Prerequisites Team Signup FAQs Contact

ABOUT

During these months of social distancing and lockdown, a lot of college students are not able to attend classes or go for internships where they could be learning practical tech skills. We, a team of volunteers comprising professors, industry professionals, and students working in data science, machine learning, and deep learning have gotten together to offer a course to students of engineering colleges on these topics. There is no fee for this course, and this is our way of contributing to the Indian and world community in these trying times.

We would like the course to be full of rewarding practical knowledge for the diligent students, which we will achieve by giving rigorous programming exercises and mini-projects to apply the concepts learned during the course. We will attempt to make sure that all diligent students who have the requisite background knowledge are able to make progress on the course by getting their doubts cleared in interactive video calls. Please see more details in the section about Topics and Pedagogy. The course is going to be rigorous but fun and rewarding to the diligent students who finish the entire course. However, between consecutive topics, we would allow any student to drop the course if one no longer wishes to continue given any circumstances.

TOPICS

Data Science (DS): Getting started, Basic data understanding, Improving plots, Basic statistics.

Machine Learning (ML): Introduction to ML, Decision trees, Bayesian decision theory, Linear models, Kernelization, Feature selection and engineering, Dense and shallow neural networks, Advanced topics in neural networks, Clustering, Model Explainability.

Deep Learning (DL) for Vision: Introduction to CNNs, Advanced conv nets, Semantic segmentation, Object detection, Instance segmentation, Few-shot learning, Metric learning, Generative Adversarial Networks (GANs), Variational Autoencoder (VAE).

Deep Learning for Natural Language Processing (NLP): Word embeddings, Language modeling, Simple applications of LSTMs, Advanced applications of LSTMs - 1, Relationship extraction, Advanced applications of LSTMs - 2, Advanced applications of LSTMs - 3, Beyond simple word embeddings, Beyond LSTMs, Chat-bot making.

Miscellaneous: Graph conv nets for NLP, Knowledge graphs, Reinforcement Learning.

Practical Implementation of ML Models: Deployment - 1, Deployment - 2, Deployment - 3, Front-end and logistics, Making APIs, Winning Kaggle, Compute and bandwith considerations, When to use which framework.

PEDAGOGY

The course will be divided in small topics, which will require one or two days of intense work each. There will be approximately three topics covered each week for approximately eight weeks. The following will be the components of each topic:

  • Pre-work: Links to online text and videos will be shared.
  • Pre-quiz: A quiz on basic concepts will be given to assess the student’s readiness for the module.
  • Online interactive video lecture: The material in the pre-work will be covered, doubts will be cleared, and more advanced insights will be provided.
  • Assignment release: Assignment for the module will be released on kaggle as an in-class competition.
  • Assignment help session: A second online interactive video session will be conducted for each session to clear any doubts about the assignment.
  • Assignment submission.
  • Release of instructor’s and the best of students’ solutions.

After a group of modules, project statements will be released.

Please note that there will be no formal certificate given to the students for completing the course assignments. The best projects and assignments will be mentioned on the course website for all to see. Students are encouraged to make their GitHub portfolios and point to the course webpage, which will help them immensely for recruitment.

SCHEDULE

For detailed schedule, click here

Note: Interactive sessions will start at 9pm Indian Standard Time (IST).

Module 0: Introduction to the course
Module 1: Data Science
Getting started: Google Colab, GPU service, Useful Python libraries, GitHub
Prerequisites: Python data structure, Loops, Classes, Linear Algebra
Pre-work: Google Colaboratory-1, Google Colaboratory-2, NumPy
Basic data understanding: Data science, Central tendency, Plots, Cumulative distribution
Prerequisites: Identifying plots and basics of statistics, Importing packages, Defining data frames
Pre-work: Measures of central tendency, Statistics fundamentals, Histograms
Improving plots: Data science, Central tendency, Plots, Cumulative distribution
Prerequisites: Different types of plots, How to customize plots
Pre-work: Chart Types for Data Visualization, Types of Graphs
Basic statistics: Maximum likelihood estimation, sufficient statistics, null hypothesis testing, t-test, Wilcoxon rank test
Prerequisites: Conditional probability, Probability distributions and moments
Pre-work: Random variables, Maximum likelihood estimation, Hypothesis testing, Statistical tests
Pre-Quiz | Notebook | Slides | Lecture | Assignment | Solution | Tutorial | Quiz
Module 2: Machine Learning
Introduction to ML: Machine learning problems, parameter vs. hyperparameter, overfitting, training, validation, testing, cross-validation, regularization
Prerequisites: Linear algebra, basic statistics, data visualization, encoding features
Pre-work: Theory of machine learning, Basics of machine learning
Decision Trees: Definition of a decision tree, metrics of impurity, greedy algorithm to split a node, tree depth and pruning, ensemble of trees (random forest)
Prerequisites: Intro to ML, supervised learning, unsupervised learning, classification, regression
Pre-work: Classification and Regression Trees, Random Forests
Bayesian decision theory: Bayes rule: Prior, likelihood, posterior, evidence, Gaussian density, sufficient statistics, maximum likelihood derivation for mean and covariance
Prerequisites: Maximum likelihood estimation, conditional probability, linear algebra regression
Pre-work: Bayes' theorem, Examples of Bayes' theorem, Gaussian distribution
Linear models: linear regression and its analytical solution, loss function, gradient descent and learning rate, logistic regression and its cost, SVM: hinge loss with L2 penalty
Prerequisites: Derivatives, chain rule, partial derivative, convex functions regression
Pre-work: Machine learning - Andrews Ng lectures 2.1-2.7, 3.1-3.6, 4.1-4.6, 6.1-6.7, 7.1-7.4, Matrix cookbook
Kernelization: Dual form of an SVM, kernels for a dual form, examples of kernels and their typical uses, SVR in primal form, SVR in dual form
Prerequisites: Linear models, conditional probability, linear algebra
Pre-work: Support vector machine, Kernel trick
Feature selection and engineering: T-test, forward selection, features for images, features for audio, features for images, features for NLP, PCA, ZCA, K-PCA
Prerequisites: Basics of ML, linear algebra, mathematics
Pre-work: Supervised feature selection, Feature Selection, Image fundamentals, Audio fundamentals, Music feature extraction in Python
Pre-Quiz | Notebook | Slides | Lecture | Assignment | Solution | Tutorial | Quiz
Dense and shallow neural networks: Logistic regression as a sigmoid, single hidden layer using sigmoid and ReLU, approximation of any function using a single hidden layer, overfitting, advantage of multiple hidden layers, neural networks for regression, multi-regression, multi-classification using softmax, back propagation.
Prerequisites: Basics of ML, linear algebra, mathematics
Pre-work: Multilayer Perceptrons, Universal Approximation Theorem, Forward Propagation, Backward Propagation, and Computational Graphs
Pre-Quiz | Notebook | Slides | Lecture | Assignment | Solution | Tutorial | Quiz
Advanced topics in neural networks: Weight initialization, momentum, weight decay, early stopping, batch SGD, advanced optimizers such as RMSprop and ADAM
Prerequisites: Basics of ML, neural networks, linear algebra, mathematics
Pre-work: Training neural networks I, Training neural networks II
Pre-Quiz | Notebook | Slides | Lecture | Assignment | Tutorial | Quiz
Clustering: K-means, DB-SCAN, agglomerative clustering, scaling of dimensions, goodness of clustering
Prerequisites: Euclidean distance, unsupervised learning, K-means
Pre-work: Introduction to clustering, K-means clustering, Cluster analysis
Interim break (May 18 - May 24)

Classes will resume from May 25 with a new schedule. This week, please catch up with the recorded lectures, assignments, and the tutorials on TensorFlow as given below:


If you are all caught up with the material covered so far, then please try some ML problems such as those given below:

Module 3: Deep Learning
CNNs for Image classification: Applications of computer vision, implementation of convolution, building a convolutional neural network, image Classification using CNNs.
Prerequisites: Digital image processing filters, Dense Neural Networks.
Pre-work: Andrew NG, Deep Learning (lec 1-22), Stanford University, CS231 (lec 1-10)
Pre-Quiz | Notebook | Slides | Lecture | Assignment | Solution | Tutorial | Quiz
Semantic segmentation: Using CNNs for semantic image segmentation, labelling specific regions of an image.
Prerequisites: Basics of CNN, Digital image processing filters, Dense Neural Networks.
Pre-work: An overview of semantic image segmentation, Semantic Segmentation — U-Net , Semantic Segmentation, Detection and Segmentation
Pre-Quiz | Notebook | Slides | Lecture | Assignment | Solution |Tutorial | Quiz
Object detection + instance segmentation: Detecting instances of semantic objects, tasks of computer vision.
Prerequisites: Basics of CNN, Digital image processing filters, Dense Neural Networks.
Pre-work: Detection and Segmentation, Concepts of object detection (lec 23-31)
Pre-Quiz | Notebook | Slides | Lecture | Assignment | Solution | Tutorial | Quiz
Few-shot + metric learning: Detecting instances of semantic objects, tasks of computer vision.
Prerequisites: Basics of CNN, Digital image processing filters, Dense Neural Networks.
Pre-work: Siamese Network, Triplet loss, One Shot Learning
Pre-Quiz | Notebook | Slides | Lecture | Assignment | Solution |Tutorial | Quiz
GAN + VAE: Unsupervised Learning, Representation Learning, Density Estimation, Generative Model, Image-to-Image Translation.
Prerequisites: Probability distributions, Basics of MLP and CNN, Basic Image Processing, Vector Spaces.
Pre-work: Generative Models , Deep Generative Modeling
Pre-Quiz | Notebook | Slides | Lecture | Assignment | Solution | Tutorial | Quiz
Word embedding + Language model: Probabilistic language Modeling, N-gram models, Recurrent Neural Networks.
Prerequisites: Probability, Statistics, Linear algebra, Basic neutral nets, Calculus and Optimization.
Pre-work: Word Embeddings, Understanding of Word Embeddings, Word Embeddings for NLP, RNN cheatsheet, Sequence Modeling, RNN - Backpropagation Through Time and Vanishing Gradients, Vanishing gradients with RNNs
Pre-Quiz | Notebook | Slides | Lecture on Word Embedding | Lecture on Language Modeling | Assignment | Solution | Tutorial | Quiz
Simple applications of LSTMs: TF-IDF, Sentiment Classification, Feature Selection, LSTM Neural Network
Pre-Quiz | Notebook | Slides | Lecture | Assignment | Solution | Tutorial | Quiz
Text Classification and Sequence Labelling: Text Classification, Classical approaches for text representation, BOW, TF-IDF, Word Vectors, NER, POS
Prerequisites: Probability distributions, Basics of MLP and CNN, Loss functions: BinaryCrossEntropy, L1, L2, Basic Image Processing, Vector Spaces
Pre-work: Text Classification, Text Classification: The First Step Toward NLP Mastery
Pre-Quiz | Notebook | Slides | Lecture | Assignment | Solution | Tutorial | Quiz
Relationship extraction: Information Extraction, Relationship Type and Categories, Relationship Extraction, Classifiers, Unsupervised and Distant Supervision
Prerequisites: LSTMs, Probability distributions, Basics of ML, Loss functions, Vector Spaces
Pre-work: Relation Extraction | Stanford CS224U, Relation Extraction from text, Noun Compound Interpretation
Pre-Quiz | Notebook | Slides | Lecture | Assignment | Solution |Tutorial | Quiz
Question Answering & Multilinguality: Question Answering (RE) problem, Multilingual scenario in NLP, Cross-lingual Tasks and approaches
Prerequisites: LSTMs, RNNs, Attention-based architectures, Probability distributions, Basics of ML, Loss functions, Vector Spaces
Pre-work: Building a Question Answering model, Cross-Lingual Transfer Learning
Pre-Quiz | Notebook | Slides | Lecture | Assignment | Solution | Tutorial | Quiz
Beyond Simple Word Embeddings: Classical techniques, Bidirectional Representation for Transformers (BERT)
Prerequisites: LSTMs, RNNs, Attention-based architectures, Probability distributions, Basics of ML, Loss functions, Vector Spaces
Pre-work: BERT architecture, Beyond Word Embedding, BERT Explained, Understanding BERT – NLP
Pre-Quiz | Notebook | Slides | Lecture | Assignment | Solution | Tutorial | Quiz

PRE-REQUISITES

Computer and connectivity: 8GB+ RAM, 20GB of free disk space, 100kbps+ connectivity

Knowledge: This course is directed at engineering students. Others who know the following topics are also welcome: Linear algebra (vectors and matrix arithmetic, projection of vectors, singular value decomposition), calculus (differentiation, partial derivatives, double derivatives, chain rule of derivatives), programming (preferably python, loops, conditions, functions, classes, programming best practices such as modularity, commenting, and informative variable naming).

Status: Student with a valid college ID card. Not restricted to India.

Study Materials: Please go through the following before April 15:

  1. Basic mathematics for machine learning (linear algebra, calculus, probability and statistics), such as Mathematics for Machine Learning. It will be better if you actually do all the math by hand on paper and pencil while following the material. Just reading it is not enough for retention of concepts.
  2. Basics of Python programming such as Learn Python. There are many other good ones too.

TEAM

Instructors

Abhijeet Patil
PhD*, IITB

Amit Sethi
Professor, IITB

Ankur Deka
MS*, CMU

Arjun Jain
Professor, IISc

Hitesh Kurapati
MTech*, IITB

Jyotikrishna
PhD*, TAMU

Kaveri Kale
PhD*, IITB

Malaikannan
VP, Saama Tech

Manish Kumar
Sr.Eng, DENSO

Mantri Ipsit
BTech*, IITB

Nikhil Kurian
PhD*, IITB

Parth Dodhia
BTech*, IITB

Prasad
Mentor, Grab

Prashant
MTech*, IITB

Saqib Shamsi
Engr, Whirlpool

Sayan Chatterjee
MTech*, IITB

Shreyans
DS, HP

Sudhakar Kumar
MTech*, IITB

Sumandeep
ML Engineer

Organizers

Aayush
Analyst, Toppr

Aayush Kumar
Intern, IITB

Abhishek
RA, IITB

Akshay Bajpai
MTech*, IITB

Deep
Volunteer

Mohit Agarwala
MTech*, IITB

Mukul Arora
SDE, Amazon

Narjis Asad
PhD*, IITB

Nimit Kapadia
Analyst, Hitachi

Rishab Dabral
PhD*, IITB

Rishav Arjun
BTech*, IITB

Ronak Shah
MTech*, IITB

Sahar Nasser
PhD*, IITB

Saurabh Parekh
BTech*, IITB

Shreyas Dilip
Scholar, IITB

Srikant Panda
Volunteer

Sudip Walter
MTech*, IITB

Taposh Kumar
MTech*, IITB

Tirtha Chetry
SDE, Amdocs

Unmesh Raskar
BTech*, IITB

Vinayak Agrawal
MTech*, IITB

SIGNUP

Note: This course will be beneficial to those who can put in several hours of work daily for 2-3 months, because there will be several hours of self-study, interactive video sessions, and 2-3 programming assignments each week. Casual learners may feel overwhelmed. Need good internet connection and knowledge of vector and matrix operations, differential calculus, and intermediate-level programming.

Disclaimer: There will be no certificate, and no university is formally involved. Students are expected to build their confidence and GitHub portfolios on their own. This is a volunteer effort in community service during this lock-down.

Signup for the course

FAQs

  1. What is the fee for the course?
    There is no fee. The course is offered as a community service initative during this troubled time.

  2. There are so many MOOCs available. What value will this course add?
    Although this course is free, we believe that its contents are perhaps the most comprehensive one on these topics out there, even among paid courses. Each lecture comprehensively covers a topic in about two hours, instead of short clips. It goes into each topic in some practical depth, without going too deep towards the research end of the spectrum. The course is targeted at engineering students and requires some basic knowledge of college-level mathematics and programming, and several hours of dedicated effort for about three months. Although, working professionals and those without the math and programming background are welcome to follow the recorded content (all available for free on our website), we believe that it will be difficult for such audience to keep up with an intense pace of the course. Those registered in the course will have live interaction during video lectures and adaptive explanation in Indian accent and Indian English with a bit of explanation in Indian languages thrown in.

  3. What is the overall course structure?
    Data science and machine learning modules will run one after another. After that, deep learning for vision and deep learning for NLP will run in parallel, with their lectures staggered by a few hours to allow people to take both. Similarly, miscellaneous and practical implementation modules will run in parallel after the deep learning modules.

  4. How will each topic be covered?
    Each week, there will be two or three topics covered. Each topic will be covered on a separate day. For each topic, reading and watching list will be released first. Two days after that, an easy quiz will be released based on the reading and watching material. Those who perform well on the quiz will be invited minutes later to a live and interactive lecture, where they will be able to ask questions by audio, while others will be given a link to the recording of that session about an hour after the session completes. Immediately after the session, a programming assignment will be released. The next day, another interactive session will be conducted to go over doubts in the assignment. After that, a post-topic quiz will be released.

  5. What resources will I require for the course?
    A good internet connection will be required to follow live interactive video lectures. Students can use free or inexpensive resources such as Google Colab or Amazon AWS educational credits to do their assignments.

  6. Is this course backed by a university or will there be any certificate at the end?
    There will be no certificate, and no university is formally involved. Students are expected to build their confidence and GitHub portfolios on their own. This is a volunteer effort in community service during this lock-down.

  7. Can working professionals join?
    Working professionals are welcome to watch all the lectures after those are put online with about an hour of lag after the live interactive sessions, and solve the exercises. We intend to put the entire material online for free. However, to manage our class size, the live sessions of this course are only open to college students who can dedicate a lot of time. Other than following our course in a non-live mode, we believe that the working professionals have the choice of taking similar courses offered by several companies as well, which most college students cannot afford.

CONTACTS