Deep Learning With TensorFlow and Keras

Overview

The abundance of data and affordable cloud-scale has led to an explosion of interest in Deep Learning. Google has open-sourced a library called TensorFlow which has become the de-facto standard, allowing state-of-the-art machine learning done at scale, complete with GPU-based acceleration.

This course introduces Deep Learning concepts and TensorFlow and Keras libraries to students.

What you will learn

  • Deep Learning concepts
  • TensorFlow and Keras
  • Create neural networks with Tensorflow and Keras
  • Learn to use tools like Tensorboard to help with training neural networks
  • We will build neural networks to solve the following problems
    • Regression
    • Classification
    • Computer vision / Image analytics
    • Text analytics
    • Time series

Duration

Three Days

Audience

Developers, Data analysts, data scientists

Skill level

Introductory to Intermediate

Industry Use Cases Covered

We will study and solve some of the most common industry use cases; listed below

  • Finance
    • Predicting loan defaults at Prosper
    • Predicting house prices
  • Health care
    • Predicting diabetes outcome
  • Customer service
    • Predicting customer turnover
  • Computer vision
    • Various image analysis
  • Time series
    • Analyze stock behavior

Prerequisites

  • Basic knowledge of Python language and Jupyter notebooks is assumed.
    Even if you haven’t done any Python programming, Python is such an easy language to learn quickly. We will provide Python resources.

Lab environment

  • Cloud-based lab environment will be provided to students, no need to install anything on the laptop

Students will need the following

  • A reasonably modern laptop with unrestricted connection to the Internet. Laptops with overly restrictive VPNs or firewalls may not work properly
  • Chrome browser

Detailed Course Outline

Introduction to Deep Learning

  • Understanding Deep Learning use cases
  • Understanding AI / Machine Learning / Deep Learning
  • Data and AI
  • AI vocabulary
  • Hardware and software ecosystem
  • Understanding types of Machine Learning (Supervised / Unsupervised / Reinforcement)

Introducing TensorFlow

  • TensorFlow intro
  • TensorFlow features
  • Execution graph
  • TensorFlow on GPU and TPU
  • TensorFlow API
  • Lab: Setting up and Running TensorFlow

Introducing Keras

  • Keras Intro
  • Keras concepts (models, layers)
  • Using Keras API
  • Lab

Deep Learning Concepts

  • Introducing Perceptrons
  • Linear Perceptrons
  • Activation Functions (Sigmoid, Tanh, Relu, Softmax)
  • Backpropagation
  • Optimizers (Gradient Descent, Adam, RMSProp)
  • Loss functions for regressions and classifications
  • Vanishing/exploding gradient problem
  • Lab: Tensorflow playground

Feedforward Network

  • FFNN architecture
  • Input layer, output layer
  • Hidden layers and Deep neural networks
  • Sizing neural networks
  • Lab: Feedforward Neural Networks

Computer Vision

  • Introducing Convolutional Neural Networks (CNN)
  • CNN architecture
  • CNN concepts
  • Lab: Image recognition using CNNs

 Recurrent Neural Networks

  • Introducing RNNs
  • RNN architecture
  • RNN concepts
  • LSTM (Long Short Term Memory) networks
  • LSTM architecture
  • Lab: RNNs for text and sequence prediction

Transfer Learning

  • Understanding transfer learning
  • Customizing available models
  • Lab: transfer learning lab
  • Lab: Benchmarking performance on CPU and GPU

Workshop (Time permitting)

  • Students will work in teams to solve a real world use case