Practical Deep Learning: 2-Day Intensive

OVERVIEW

The “Practical Deep Learning” is a 2-day training event focused on understanding and applying machine learning models using Google’s modern TensorFlow and Keras libraries.

Teams will learn best practices for building, evaluating and deploying scalable data services using Python while exploring existing software libraries to help them save time and avoid reinventing the wheel.

The course will appeal mainly to data scientists or machine learning engineers with an interest in deep neural models.

All exercises and discussions will be adjusted to reflect the problems currently facing your business.

A combination of teaching and hands-on programming exercises will give learners the opportunity to apply, test and refine their knowledge, improving retention and building confidence through real-time feedback.

Who Should Attend?

The course is designed for machine learning developers, but is suitable for analysts and
data scientists with a basic understanding of Python and previous experience with machine learning.

WHAT TEAMS WILL LEARN

  • Develop machine learning models using Google’s TensorFlow machine intelligence library.
  • Understand capabilities and limitations of TensorFlow applied to processing text documents.
  • Understand the trade-off of CPU vs. GPU computations.
  • Build deep models using word embeddings, convolutions, pooling, dropout, batch normalisation, recurrent models such as LSTMs, GRUs, and attention models.
  • Debug the TensorFlow models for learning errors and computational efficiency.

Prerequisites and Recommended Background

Attendees are expected to be familiar with basic programming concepts and terminology (command line, shell, filesystem navigation, basic data structures and algorithms such as list or dictionary and basic Python syntax), as well as basic machine learning concepts (training, testing, cross validation, loss function).

In addition, participants will be expected to download and install data and software libraries as per our provided “Before You Arrive – Setup Sheet” in advance of the session. Delays due to installation issues on-site may adversely affect the day’s training schedule.

Each participant must have their own laptop, with a system that supports Python (OS X, Linux, Windows…), to participate in the interactive exercises throughout the training.

CLASS SYLLABUS

Please note: This syllabus can be customised to your specific needs, projects or areas of focus.
We are happy to tailor course content and exercises to meet your specific business goals.

  • Course Introduction
    • Administration, setup and course materials
    • Course structure and agenda
    • Participants and trainer introductions
  • Session 1: Overview and motivation
    • Computation defined as data flow graphs
    • TensorFlow as a tool for building large-scale mathematical models (classifiers, regressions) with parameters that can be optimised using data
    • Use of TensorFlow for mathematical modelling: classifiers, regressions, DNN, PDE, etc.
    • Alternative solutions: Theano, CNTK, Cafe, Torch
    • Google Cloud Machine Learning services
  • Session 2: Installation
    • Installation using Python PIP, Docker, Source
    • Advantages of different ways of installation: stable PIP packages vs. cutting edge “source repository”
    • Discussing the Python 2 vs. Python 3 compatibility
    • Learned skills: installing stable and cutting edge TensorFlow. With source installation, one can start extending, developing the core TensorFlow functionality.
  • Session 3: TensorFlow concepts
    • Introduction to computational graph construction
    • Use of constants, tensors, (state) variables, input variables
    • Use of graph operations: add, sub, mul, matmul, etc.
    • Initialisation of the graph variables
    • Execution of computational graph
    • Visualisation of the computational graph using TensorBoard
    • Learned skills: building computational graphs using TensorFlow primitives.
  • Session 4: Optimisation
    • Introduction to graph parameter optimisation
    • Automatic differentiation
    • Use of optimisers: SGD, ADAM, etc.
    • Learned skills: TensorFlow model parameter optimization
  • Session 5: Construction (very deep) neural networks
    • Introduction to TensorFlow neural network capabilities: tf.nn package
    • Examples of use: word embeddings, convolutions, pooling, dropout, batch normalisation, (bidirectional) recurrent models (LSTM, GRU), attention models
    • Structuring the TensorFlow models for readability: tfx, Scikit Flow, tflearn, Keras
    • Learned skills: constructing complex machine learning models based on deep neural networks.
  • Session 6: Construction of optimisation losses
    • TensorFlow defined losses: L2, sigmoid and softmax cross entropy, sampled NCE, sampled softmax
    • Construction of custom losses: example of a loss for a set of binary classifiers and categorical classifiers
    • Efficiency and accuracy of loss functions
    • Learned skills: knowledge of standard TensorFlow losses, construction of custom loss functions.
  • Session 7: Efficiency and debugging of graphs and the learning process
    • GPU vs. CPU computation on one machine with multiple CPUs and GPUs
    • Debugging the efficiency of the computational graph: slicing, concatenation, reshaping matrices
    • Optimisation GPU memory transfers: adding data to the computational graph as constants
    • Visualisation of the learning process using TensorFlow
    • Learned skills: debugging TensorFlow computational graph, visualisation of the learning process

INTERESTED IN THIS COURSE?

Contact us today to discuss available dates and how we can customise this training for your team.