AI Platform Optimizer is a black-box optimization service that helps you tune hyperparameters in complex machine learning (ML) models. When ML models have many different hyperparameters, it can be difficult and time consuming to tune them manually. AI Platform Optimizer optimizes your model's output by tuning the hyperparameters for you.
Black-box optimization is the optimization of a system that meets either of the following criteria:
Doesn't have a known objective function to evaluate.
Is too costly to evaluate using the objective function, usually due to the complexity of the system.
If it is easier to conduct experiments on a system than to fully understand it, that system acts as if it is a black box. If you need to optimize that system, you can use black-box optimization.
Additional AI Platform Optimizer functionality
AI Platform Optimizer was built to optimize hyperparameters of ML models but it can also perform other optimization tasks.
AI Platform Optimizer can be used effectively to tune parameters in a function. For example, you can use it to determine the most effective combination of background color, font size, and link color on a news website's Subscription button. See the use cases for more examples. Read about the difference between hyperparameters and parameters.
Optimizing any evaluable system
AI Platform Optimizer can be used with any system that you can evaluate. This includes systems that cannot be expressed as a closed-form analytical function. For example, you can use AI Platform Optimizer to find the best neural network depth, width, and learning rate for a TensorFlow model.
How AI Platform Optimizer works
The following section summarizes how to use AI Platform Optimizer to optimize your ML model or function. You start by determining a study configuration.
A study configuration is the definition of the optimization problem that you are trying to solve. It includes the result you would like to optimize and the hyperparameters or parameters that affect that result.
Studies and trials
A study is the implementation of a study configuration. A study uses the study configuration's goal and input values (hyperparameters or parameters) to conduct experiments, called trials. A trial is a specific set of input values that produce a measured outcome.
AI Platform Optimizer suggests input values to use for each trial but it does not run your trials for you.
A study continues until it reaches a set limit of trials or you interrupt it.
How AI Platform Optimizer differs from AI Platform Training
AI Platform Training hyperparameter tuning can make it easier to determine the best hyperparameter settings for AI Platform Training jobs. AI Platform Optimizer is built to tune both hyperparameters and parameters, and can be used with any system that you can evaluate, including an AI Platform Training job. See Optimizing a machine learning model for an example of how to use AI Platform Optimizer with AI Platform Training.
Here are a few scenarios where AI Platform Optimizer can help tune hyperparameters to optimize a model or tune parameters to optimize an outcome:
Optimize the learning rate, batch size, and other hyperparameters of a neural network recommendation engine.
Test different arrangements of user interface elements to optimize usability of an application.
Find an ideal buffer size and thread count to minimize computing resources for a job.
Optimize the amounts of ingredients in a recipe to produce the most delicious version.
- Get started using AI Platform Optimizer to optimize a machine learning model.
- Try using AI Platform Optimizer to optimize two outcomes at once.
- AI Platform Optimizer is based on Google Vizier. Read Google Vizier: A Service for Black-Box Optimization to learn more about black-box optimization and Google Vizier's architecture and algorithms.