US 12,443,882 B2
Machine learning algorithm search with symbolic programming
Daiyi Peng, Cupertino, CA (US); Yifeng Lu, Cupertino, CA (US); and Quoc V. Le, Sunnyvale, CA (US)
Assigned to Google LLC, Mountain View, CA (US)
Appl. No. 17/905,196
Filed by Google LLC, Mountain View, CA (US)
PCT Filed Jun. 4, 2021, PCT No. PCT/US2021/036002
§ 371(c)(1), (2) Date Aug. 29, 2022,
PCT Pub. No. WO2021/248068, PCT Pub. Date Dec. 9, 2021.
Claims priority of provisional application 63/035,551, filed on Jun. 5, 2020.
Prior Publication US 2023/0144138 A1, May 11, 2023
Int. Cl. G06N 20/00 (2019.01); G06N 5/01 (2023.01)
CPC G06N 20/00 (2019.01) [G06N 5/01 (2023.01)] 18 Claims
OG exemplary drawing
 
1. A method for searching for an output machine learning algorithm to perform a particular machine learning task given an input machine learning algorithm, the method comprising:
receiving data specifying an input machine learning algorithm that performs the particular machine learning task;
receiving data specifying a search algorithm that searches for candidate machine learning algorithms and an evaluation function that evaluates the performance of candidate machine learning algorithms;
generating data representing a symbolic tree from the input machine learning algorithm, wherein the symbolic tree is a tree of a plurality of nodes, wherein each node represents a component in the input machine learning algorithm and is associated with a concrete value;
generating data representing a hyper symbolic tree from the symbolic tree by changing each node in a subset of the plurality of the nodes in the symbolic tree to a respective new node having a respective placeholder value with a corresponding set of possible concrete values;
searching an algorithm search space that defines a set of possible concrete symbolic trees from the hyper symbolic tree, wherein each node in a possible concrete symbolic tree corresponds to a respective node in the hyper symbolic tree and takes a particular concrete value from a corresponding set of possible concrete values associated with the respective node in the hyper symbolic tree, wherein each possible concrete symbolic tree corresponds to a candidate machine learning algorithm, and wherein searching the algorithm search space comprises performing the following operations at least once:
generating data representing a candidate concrete symbolic tree by using the search algorithm to search for the candidate concrete symbolic tree in the algorithm search space;
generating a candidate machine learning algorithm from the candidate concrete symbolic tree,
training the candidate machine learning algorithm on the particular machine learning task,
determining, using the evaluation function, a performance metric specifying a performance of the trained candidate machine learning algorithm on the particular machine learning task; and
selecting one or more trained candidate machine learning algorithms among the trained candidate machine learning algorithms based on the determined performance metrics.