Machine Learning with TensorFlow on Google Cloud Platform

(5 days)

 

What is machine learning, and what kinds of problems can it solve? What are the five phases of converting a candidate use case to be driven by machine learning, and why is it important that the phases not be skipped? Why are neural networks so popular now? How can you set up a supervised learning problem and find a good, generalizable solution using gradient descent and a thoughtful way of creating datasets?

Course Description

Learn how to write distributed machine learning models that scale in Tensorflow, scale out the training of those models, and offer high-performance predictions. Convert raw data to features in a way that allows ML to learn important characteristics from the data and bring human insight to bear on the problem. Finally, learn how to incorporate the right mix of parameters that yields accurate, generalized models and knowledge of the theory to solve specific types of ML problems. You will experiment with end-to-end ML, starting from building an ML-focused strategy and progressing into model training, optimization, and productionalization with hands-on labs using Google Cloud Platform.

Objectives

  • Think strategically and analytically about ML as a business process and consider the fairness implications with respect to ML
  • How ML optimization works and how various hyperparameters affect models during optimization
  • How to write models in TensorFlow using both pre-made estimators as well as custom ones and train them locally or in Cloud AI Platform
  • Why feature engineering is critical to success and how you can use various technologies including Cloud Dataflow and Cloud Dataprep

Audience

  • Data Engineers and programmers interested in learning how to apply machine learning in practice.
  • Anyone interested in learning how to leverage machine learning in their enterprise.

Course Outline

 

Module 1: How Google Does Machine Learning

What is machine learning, and what kinds of problems can it solve? Google thinks about machine learning slightly differently: it’s about logic, rather than just data. We talk about why such a framing is useful when thinking about building a pipeline of machine learning models. Then we discuss the five phases of converting a candidate use case to be driven by machine learning, and consider why it is important not to skip the phases. We end with a recognition of the biases that machine learning can amplify and how to recognize them.

  • Develop a data strategy around machine learning
  • Examine use cases that are then reimagined through an ML lens
  • Recognize biases that ML can amplify
  • Leverage Google Cloud Platform tools and environment to do ML
  • Learn from Google’s experience to avoid common pitfalls
  • Carry out data science tasks in online collaborative notebooks
  • Invoke pre-trained ML models from Cloud Datalab

Module 2: Launching into Machine Learning

Starting from a history of machine learning, we discuss why neural networks today perform so well in a variety of problems. We then discuss how to set up a supervised learning problem and find a good solution using gradient descent. This involves creating datasets that permit generalization; we talk about methods of doing so in a repeatable way that supports experimentation.

  • Identify why deep learning is currently popular
  • Optimize and evaluate models using loss functions and performance metrics
  • Mitigate common problems that arise in machine learning
  • Create repeatable and scalable training, evaluation, and test datasets

Module 3: Intro to TensorFlow

We introduce low-level TensorFlow and work our way through the necessary concepts and APIs so as to be able to write distributed machine learning models. Given a TensorFlow model, we explain how to scale out the training of that model and offer high-performance predictions using Cloud Machine Learning Engine.

  • Create machine learning models in TensorFlow
  • Use the TensorFlow libraries to solve numerical problems
  • Troubleshoot and debug common TensorFlow code pitfalls
  • Use tf_estimator to create, train, and evaluate an ML model
  • Train, deploy, and productionalize ML models at scale with Cloud ML Engine

Module 4: Feature Engineering

A key component of building effective machine learning models is to convert raw data to features in a way that allows ML to learn important characteristics from the data. We discuss how to represent features and code this up in TensorFlow. Human insight can be brought to bear in machine learning problems through the use of custom feature transformations. In this module, we talk about common types of transformations and how to implement them at scale.

  • Turn raw data into feature vectors
  • Preprocess and create new feature pipelines with Cloud Dataflow
  • Create and implement feature crosses and assess their impact
  • Write TensorFlow Transform code for feature engineering

Module 5: The Art and Science of ML

Machine Learning is both an art that involves knowledge of the right mix of parameters that yields accurate, generalized models and a science that involves knowledge of the theory to solve specific types of ML problems. We discuss regularization, dealing with sparsity, multi-class neural networks, reusable embeddings, and many other essential concepts and principles.

  • Optimize model performance with hyperparameter tuning
  • Experiment with neural networks and fine-tune performance
  • Enhance ML model features with embedding layers
  • Create reusable custom model code with the Custom Estimator