Detailed Course Outline
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
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
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
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
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