# Deep Learning Bootcamp

“All knowledge is connected to all other knowledge. The fun is in making the connections.” — Arthur Aufderheide

The objective for the Deep Learning bootcamp is to ensure that the participants have enough theory and practical concepts of building a deep learning solution in the space of computer vision and natural language processing. Post the bootcamp, all the participants would be familiar with the following key concepts and would be able to apply them to a problem.

**Key Deep Learning Concept**

**Theory**: DL Motivation, Back-propagation, Activation**Paradigms**: Supervised, Unsupervised**Models**: Architecture, Pre-trained Models (Transfer Learning)**Methods**: Perceptron, Convolution, Pooling, Dropouts, Recurrent, LSTM**Process**: Setup, Encoding, Training, Serving**Tools**:`python-data-stack`

,`keras`

,`tensorflow`

### Approach

This would be a two-day instructor-led hands-on workshop to learn and implement an end-to-end deep learning model for computer vision (image recognition and generation) and natural language processing (text classfication and generation)

- Day 1 will cover introduction to deep learning and applications to computer vision
- Day 2 will cover applications to natural language processing

There will be **eight** sessions of **two** hours each over two days.

### Session 1: Deep Learning (DL) Theory

- What is deep learning?
- Use cases in computer vision and natural language processing.
- Overview of the building blocks
- Neurons
- Activation functions
- Back propagation algorithm
- Stochastic gradient descent
- Adaptive learning
- Momentum

### Session 2: DL for Computer Vision

- Introduction to problem and data-set
- Working on the cloud, including
`keras`

and`tensorflow`

- Build your first DL Model - Multi-layer Perceptron (MLP)

### Session 3: Convolutional Neural Networks (CNN)

- Concept of Convolution, Max-pooling and Dropouts
- Build your second DL Model - CNN
- Tricks to improve your model
- Augment your training data
- Batch normalization

### Session 4: Transfer Learning

- Concept of Transfer Learning
- Build your third DL Model - Leverage pre-trained models
- Deploying your DL model on the cloud

### Session 5: DL for Natural Language Processing (NLP)

- Challenges with traditional NLP techniques
- Concept of Word Embedding - word2vec
- Build your fourth DL Model - MLP using word2vec

### Session 6: Recurrent Neural Networks (RNN)

- Concept of RNNs
- Concept of Long Short-Term Memory (LSTM)
- Build your fifth DL Model - LSTM

### Session 7: Build your DL Applications

- Concept of Sequence-to-Sequence Learning
- Build your sixth DL Model - Text Generation
- Deploy it as a bot (e.g. TweetBot / ChatBot)

### Session 8: Advanced Topics in DL (Theory)

- Challenges in building DL apps
- Concept of Generative Adversarial Network
- Moving beyond Classification e.g. Object Detection
- Concept of DL for Unsupervised Learning
- Concept of Reinforcement Learning
- Where to go from here

## Resources

The material for the workshop is hosted on github:

- For Image: https://github.com/rouseguy/DeepLearning-Image
- For NLP: https://github.com/rouseguy/DeepLearning-NLP

This is from the popular workshop series by the speakers on deep learning. Additional materials relevant to learning Deep Learning would be shared prior to the workshop.

## Target Audience

- A machine learning practitioner
- A programmer interested in building data science products
- Anyone (researcher, student, professional) learning machine learning
- Corporates and Start-ups looking to add DL to their product or service offerings

## Pre-requisites

- This is a hands-on course and hence, participants should be comfortable with programming. Familiarity with python data stack is ideal.
- Prior knowledge of machine learning will be helpful. Participants should have some practice with basic machine learning problems e.g. regression, classification.
- While the DL concepts will be taught in an intuitive way, some prior knowledge of linear algebra and calculus would be helpful.

## Software Requirements

We will be using Python data stack for the workshop with `keras`

and `tensorflow`

for the deep learning component. Please install Ananconda for Python 3 for the workshop. Additional requirement will be communicated to participants.

## Facilitators’ Profile

Amit Kapoor teaches the craft of telling visual stories with data. He conducts workshops and trainings on Data Science in Python and R, as well as on Data Visualisation topics. His background is in strategy consulting having worked with AT Kearney in India, then with Booz & Company in Europe and more recently for startups in Bangalore. He did his B.Tech in Mechanical Engineering from IIT, Delhi and PGDM (MBA) from IIM, Ahmedabad. You can find more about him at http://amitkaps.com/ and tweet him at @amitkaps.

Bargava Subramanian is a practicing Data Scientist. He has 14 years of experience delivering business analytics solutions to Investment Banks, Entertainment Studios and High-Tech companies. He has given talks and conducted workshops on Data Science, Machine Learning, Deep Learning and Optimization in Python and R. He has a Masters in Statistics from University of Maryland, College Park, USA. He is an ardent NBA fan. You can tweet to him at @bargava.