LEARNING OBJECTIVES
Understand the possibilities and limitations of Deep Learning
Understand how single and multi-layered Neural Networks are trained on data
Create, evaluate and optimize Neural Networks with Keras
Tackle image recognition tasks with Convolutional Neural Networks
Leverage Transfer Learning to speed up training and increase accuracy
PROGRAM
Introduction to Machine/Deep Learning and its possibilities:
Fundamental concepts
Formalizing supervised learning problems: classification and regression
Example use cases
Revisions of Python basics; usage of Jupyter notebooks
Linear and logistic regression:
Performance metrics: MSE (regression), accuracy and log-loss (classification)
Creating a single-layer network with Keras: defining input and output layers, optimizer, compilation, training
Logistic and softmax functions for classification
Data preparation
Multi-layered neural networks:
Structure of fully-connected, multi-layered networks
Activation functions
Adding layers in Keras
Exporting trained networks/models for deployment
Evaluating, optimizing and comparing models:
Evaluation procedure
Plotting and interpreting learning curves
Detecting overfitting
Reducing training time via efficient GPU utilization
Application to structured datasets
Convolutional Neural Networks and their application to image recognition:
Convolution layers, pooling layers, and “dropout” regularization
Application to MNIST (handwritten digit recognition)
Introduction to Transfer Learning:
Reusing trained deep nets to extract high-level features and tackle new problems efficiently
Application to an image classification challenge on Kaggle
Going further with Deep Learning:
Recap
Limitations of Deep Learning
Practical tips for using Deep Learning in your applications
Other types of Neural Networks
Resources
STUDENT REQUIREMENTS
Programming experience and basic knowledge of the Python syntax. Code will be provided for students to replicate what will be shown during hands-on demos. Please consult Codeacademy's Learn Python and Robert Johansson's Introduction to Python programming (in particular the following sections: Python program files, Modules, Assignment, Fundamental types, Control Flow and Functions) to learn or revise Python's basics.
Basic maths knowledge (undergraduate level) will be useful to better understand some of the theory behind learning algorithms, but it isn’t a hard requirement.
Own laptop to bring for hands-on practical work.
REGISTRATION & PRACTICAL INFORMATION
The workshop will be given in French.
Register at https://www.humancoders.com/formations/deep-learning