Example Deep Learning Course


    • Weekly in-person 3-hour sessions which include :
      • Instruction by Martin Andrews and Sam Witteveen
      • Project work is a core element :
          3 structured/coursework 1 week each
          2 company-agreed projects, each 2 weeks

    Prerequisites for participants

    The Course isn't an introduction to programming - it is intended for existing developers.

    Participants should be able to demonstrate the following experience and skills during their application :

    • Minimum 1 year of programming experience (preferably in Python)
    • Basic statistics knowledge (mean, variance, standard deviation, etc.)
    • Have covered (at some point) vectors/matrices, and basic calculus

    What corporate course sponsors can expect

    People who have successfully completed the Course will have a solid grounding in the foundations of Deep Learning, as well as having independently built projects of their own. They will be able to appreciate the engineering challenges that can be tackled using Deep Learning, and be able to hit the ground running.

    What participants will learn and accomplish

    Participants will learn the basic theory behind deep learning techniques, and (more importantly) the practical steps required to implement their own models. The following areas will be included :

    • Machine learning (recommender systems); CNNs (vision), RNNs (NLP), unsupervised learning;
    • Deploying TensorFlow models locally; to the cloud; and to mobile devices;
    • Project work (1-2 weeks each) : 3 'coursework projects' and 2 individual self-motivated projects.

    How the program is organised (example format)

    The course lasts 8 weeks, with in-person lectures (2 instructors, both with hands-on experience) and project-based tuition once per week. In each 3 hour session, participants should expect 60-90 minutes of lecture material, with the remainder being collaborative tuition on the various projects. In addition to the 3 hours of weekly time in the classroom, participants should expect to watch additional materials (video lectures, for instance) and do project work – totalling an extra 3-5 hours per week.

    Sample Schedule

     Week 1:
       Basics of Numpy / Intro to Tensorflow / DL Deep dive / Gradient Descent
       Project 1 : Build a basic dense network in NumPy by hand and then in TensorFlow
     Week 2:
       Intro to CNNs / Convolutions/ Pooling / VGG / Transfer learning
       Modern CNNs, Inception network, Alexnet, Auto encoders
       Project 2 : Build a CNN vision system by hand, and then one using a pretrained network
     Week 3:
       RNN and Word Embeddings, Basic char-RNN, word-RNN and tree-RNN
       LSTM, NLP Basics, Building a NER system
       Project 3 : Sentiment analysis
     Week 4:
       Individual Project 1 : Words or images - drill deeper into one area (individual projects)
         Example ideas : 
           Contribute to OpenSource project; 
           Implement a recent paper;
           Apply existing technique to novel dataset;
           Tackle a topic that is personally interesting (and suitable); etc.
     Week 5:
       Seq2Seq, Unsupervised learning, Clustering
       Individual Project 1 contd : Words or images - drill deeper into one area (individual projects)
     Week 6:
       GANs & more seq2seq
       Individual Project 2 : Real world project (individual basis) – data gathering, and concept outline
     Week 7:
       Personal projects / catch up anything that wasn’t covered
       Individual Project 2 contd : Real world project (individual basis) – refinement and finishing up
     Week 8:
       Personal projects / Wrap-Up
       Progress Assessment