Detailed Course Outline
Module 1: Machine Learning on Google Cloud Platform
- Effective ML
 - Fully Managed ML
 
Module 2: Explore the Data
- Exploring the Dataset
 - BigQuery
 - BigQuery and AI Platform Notebooks
 
Module 3: Creating the Dataset
- Creating a Dataset
 
Module 4: Build the Model
- Build the Model
 
Module 5: Operationalize the Model
- Operationalizing the Model
 - Cloud AI Platform
 - Train and Deploy with Cloud AI Platform
 - BigQuery ML
 - Deploying and Predicting with Cloud AI Platform
 
Module 6: Architecting Production ML Systems
- The Components of an ML System
 - The Components of an ML System: Data Analysis and Validation
 - The Components of an ML System: Data Transformation + Trainer
 - The Components of an ML System: Tuner + Model Evaluation and Validation
 - The Components of an ML System: Serving
 - The Components of an ML System: Orchestration + Workflow
 - The Components of an ML System: Integrated Frontend + Storage
 - Training Design Decisions
 - Serving Design Decisions
 - Designing from Scratch
 
Module 7: Ingesting Data for Cloud-Based Analytics and ML
- Data On-Premises
 - Large Datasets
 - Data on Other Clouds
 - Existing Databases
 
Module 8: Designing Adaptable ML Systems
- Adapting to Data
 - Changing Distributions
 - Right and Wrong Decisions
 - System Failure
 - Mitigating Training-Serving Skew Through Design
 - Debugging a Production Model
 
Module 9: Designing High-Performance ML Systems
- Training
 - Predictions
 - Why Distributed Training?
 - Distributed Training Architectures
 - Faster Input Pipelines
 - Native TensorFlow Operations
 - TensorFlow Records
 - Parallel Pipelines
 - Data Parallelism with All Reduce
 - Parameter Server Approach
 - Inference
 
Module 10: Hybrid ML Systems
- Machine Learning on Hybrid Cloud
 - KubeFlow
 - Embedded Models
 - TensorFlow Lite
 - Optimizing for Mobile
 
Module 11: Welcome to Image Understanding with TensorFlow on GCP
- Images as Visual Data
 - Structured vs. Unstructured Data
 
Module 12: Linear and DNN Models
- Linear Models
 - DNN Models Review
 - Review: What is Dropout?
 
Module 13: Convolutional Neural Networks (CNNs)
- Understanding Convolutions
 - CNN Model Parameters
 - Working with Pooling Layers
 - Implementing CNNs with TensorFlow
 
Module 14: Dealing with Data Scarcity
- The Data Scarcity Problem
 - Data Augmentation
 - Transfer Learning
 - No Data, No Problem
 
Module 15: Going Deeper Faster
- Batch Normalization
 - Residual Networks
 - Accelerators (CPU vs GPU, TPU)
 - TPU Estimator
 - Neural Architecture Search
 
Module 16: Pre-built ML Models for Image Classification
- Pre-Built ML Models
 - Cloud Vision API
 - AutoML Vision
 - AutoML Architecture
 
Module 17: Working with Sequences
- Sequence Data and Models
 - From Sequences to Inputs
 - Modeling Sequences with Linear Models
 - Modeling Sequences with DNNs
 - Modeling Sequences with CNNs
 - The Variable-Length problem
 
Module 18: Recurrent Neural Networks
- Introducing Recurrent Neural Networks
 - How RNNs Represent the Past
 - The Limits of What RNNs Can Represent
 - The Vanishing Gradient Problem
 
Module 19: Dealing with Longer Sequences
- LSTMs and GRUs
 - RNNs in TensorFlow
 - Deep RNNs
 - Improving our Loss Function
 - Working with Real Data
 
Module 20: Text Classification
- Working with Text
 - Text Classification
 - Selecting a Model
 - Python vs Native TensorFlow
 
Module 21: Reusable Embeddings
- Historical Methods of Making Word Embeddings
 - Modern Methods of Making Word Embeddings
 - Introducing TensorFlow Hub
 - Using TensorFlow Hub Within an Estimator
 
Module 22: Recurrent Neural NetworksEncoder-Decoder Models
- Introducing Encoder-Decoder Networks
 - Attention Networks
 - Training Encoder-Decoder Models with TensorFlow
 - Introducing Tensor2Tensor
 - AutoML Translation
 - Dialogflow
 
Module 23: Recommendation Systems Overview
- Types of Recommendation Systems
 - Content-Based or Collaborative
 - Recommendation System Pitfalls
 
Module 24: Content-Based Recommendation Systems
- Content-Based Recommendation Systems
 - Similarity Measures
 - Building a User Vector
 - Making Recommendations Using a User Vector
 - Making Recommendations for Many Users
 - Using Neural Networks for Content-Based Recommendation Systems
 
Module 25: Collaborative Filtering Recommendation Systems
- Types of User Feedback Data
 - Embedding Users and Items
 - Factorization Approaches
 - The ALS Algorithm
 - Preparing Input Data for ALS
 - Creating Sparse Tensors For Efficient WALS Input
 - Instantiating a WALS Estimator: From Input to Estimator
 - Instantiating a WAL Estimator: Decoding TFRecords
 - Instantiating a WALS Estimator: Recovering Keys
 - Instantiating a WALS Estimator: Training and Prediction
 - Issues with Collaborative Filtering
 - Cold Starts
 
Module 26: Neural Networks for Recommendation Systems
- Hybrid Recommendation System
 - Context-Aware Recommendation Systems
 - Context-Aware Algorithms
 - Contextual Postfiltering
 - Modeling Using Context-Aware Algorithms
 
Module 27: Building an End-to-End Recommendation System
- Architecture Overview
 - Cloud Composer Overview
 - Cloud Composer: DAGs
 - Cloud Composer: Operators for ML9
 - Cloud Composer: Scheduling
 - Cloud Composer: Triggering Workflows with Cloud Functions
 - Cloud Composer: Monitoring and Logging