US 12,405,975 B2
Method and system for constraint based hyperparameter tuning
Mark Edward Johnson, Castle Cove (AU); Thanh Long Duong, Seabrook (AU); Vishal Vishnoi, Redwood City, CA (US); Balakota Srinivas Vinnakota, Sunnyvale, CA (US); Tuyen Quang Pham, Springvale (AU); and Cong Duy Vu Hoang, Wantima South (AU)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Mar. 29, 2021, as Appl. No. 17/216,496.
Claims priority of provisional application 63/119,577, filed on Nov. 30, 2020.
Claims priority of provisional application 63/002,159, filed on Mar. 30, 2020.
Prior Publication US 2021/0304003 A1, Sep. 30, 2021
Int. Cl. G06N 20/00 (2019.01); G06F 16/3329 (2025.01); G06F 18/21 (2023.01); G06F 18/211 (2023.01); G06N 3/08 (2023.01); H04L 51/02 (2022.01)
CPC G06F 16/3329 (2019.01) [G06F 18/211 (2023.01); G06F 18/217 (2023.01); G06N 3/08 (2013.01); G06N 20/00 (2019.01); H04L 51/02 (2013.01)] 16 Claims
OG exemplary drawing
 
1. A method comprising:
obtaining one or more digital datasets for training a machine-learning model;
selecting a plurality of metrics for evaluating performance of the machine-learning model on the one or more digital datasets, each metric of the plurality of metrics being configured based on a specification set associated with the metric, and wherein each metric is configured independently of other metrics included in the plurality of metrics, wherein the plurality of metrics is selected to include at least a size of the machine-learning model, a training time of the machine-learning model, an accuracy of the machine-learning model, a stability of the machine-learning model, a regression error of the machine-learning model, and a confidence score of the machine-learning model;
assigning a first weight to each metric of the plurality of metrics, wherein the first weight specifies an importance of each metric in evaluating the performance of the machine-learning model;
creating a loss function that measures the performance of the machine-learning model based on the plurality of metrics and the first weights assigned to each of the plurality of metrics;
tuning a set of hyperparameters associated with the machine-learning model in order to obtain a minimum value of the loss function across the plurality of metrics, thereby optimizing the machine-learning model for the plurality of metrics,
wherein the tuning comprises:
(i) training the machine-learning model using the one or more digital datasets, wherein the machine-learning model is configured based on a current set of values for the set of hyperparameters, the current set of values being determined for a current iteration of the tuning;
(ii) evaluating, using the loss function, performance of the machine-learning model on the one or more digital datasets, thereby obtaining a current value of the loss function for the current iteration;
(iii) determining whether the machine-learning model is optimized for the plurality of metrics by comparing the current value of the loss function with a value of the loss function obtained in a previous iteration;
(iv) in response to the machine-learning model not being optimized for the plurality of metrics: (a) modifying the current set of values for the set of hyperparameters to generate a modified set of hyperparameters, (b) reconfiguring the machine-learning model with the modified set of hyperparameters, and (c) repeating steps (i)-(iii) using the reconfigured machine-learning model, to determine the minimum value of the loss function; and
(v) in response to the machine-learning model being optimized for the plurality of metrics, providing the machine-learning model configured with a set of optimal values of hyperparameters in an iteration determined to have the minimum value of the loss function, as a trained machine-learning model;
incorporating the trained machine-learning model in a digital assistant chatbot system (DACS) configured for a set of predetermined intents; and
based on an input utterance of a user provided to the DACS, inputting the input utterance to the trained machine-learning model, and outputting, by the trained machine-learning model, an intent for the input utterance from the set of predetermined intents.