Set a Performance Goal
Last updated
Last updated
The performance goal is the most important KPI or metric you will use to evaluate your agent’s success.
This goal directs your agent as it trains. The AI learning technology within the agent will reward the agent when it gets closer to the goal, helping it to improve.
For many business use cases, the top-level goal will be expressed in terms of profit or ROI. For example, in , there are many different factors to consider, but profit is the ultimate goal so it is the most important KPI.
Some use cases will have multiple goals that the agent needs to meet simultaneously. In fact, the need to balance more than one goal is a sign that a use case is a good fit for Machine Teaching. In the industrial mixer use case, the agent needs to get the right concentration of the chemical product but also to keep the temperature in the tank from becoming dangerously hot.
When you set up a project in the UI you can use natural language to describe your goals for the project. Composabl's copilot assistant uses this information to create a starter goal in the format the platform can use for training. This goal may be ready to use, but more likely you will need to adjust it.
To edit a goal created by the copilot, or to create a new goal, follow these steps.
Navigate to the project page
Click Set up goal and enter a name and description for your goal.
Click Add condition to define the goal.
Use the dropdown menus to select the variables and then define the parameters for each goal you want to include.
Goals apply to one of the sensor variables, and are defined using one of five possible directives:
Avoid: Keep the variable from reaching a specified value
Maximize: Maximize the value of the variable
Minimize: Minimize the value of the variable
Approach: Get the value to the target range as quickly as possible
Maintain: Keep the variable at a specified value
For example, for the industrial mixer, we want to maximize the concentration of the product, Ca. We also want to avoid temperature, T, getting above 400 degrees Kelvin.
You can also use advanced goal settings to fine-tune your goals. Access the advanced settings by clicking on the settings icon associated with one of the goals. You'll then see additional options to configure your goal.
Tolerance only applies to the three objective types that include a target, Avoid, Approach, and Maintain. This setting allows you to tell the agent to accept a range of values around the target as successful performance. You might use this to prevent the agent from using too much compute power trying to get from good enough to perfect.
Stop value allows you to tell the agent to end the training episode when the variable reaches the target value. This could be because the agent has succeeded and the process is complete, or because it has failed and needs to try again.
Stop steps allows you to tell the agent to end the training episode after a certain number of iterations.
Boundaries are for normalizing rewards. This is useful when the problem has variables that are very different, which can otherwise make it difficult for the trainer to calculate reward. For example, one sensor variable in your agent might have very large values (in the thousands), but another variable might have small values (in the tenths), so you might use boundaries to allow the agent to better compare the two variables.
Scale allows you to provide relative weights to goals to account for goals that have different levels of importance or priority. This is very difficult to get right with Machine Teaching and should be handled with care.