CPC G06N 3/08 (2013.01) [G06N 3/044 (2023.01); G06N 20/00 (2019.01)] | 20 Claims |
1. A neural network system for performing a machine learning task by invoking one or more programs selected from a set of programs that, when invoked, cause an environment to transition into a different state, the neural network system comprising:
a core neural network configured to receive a sequence of neural network inputs and to generate a sequence of neural network outputs;
a memory storing, for each program in the set of programs, a key identifying the program and an embedding for the program, wherein the embedding for the program is a collection of numeric values that represents the program, wherein the embeddings for the programs in the set of programs have been determined through training on a set of training data, and wherein one or more of the neural network inputs are generated based on an embedding for one of the programs in the set of programs; and
a subsystem configured to, for each neural network output:
determine, from the neural network output, whether or not to call a new program from the set of programs;
in response to determining to call a new program:
determine, from the neural network output, a next program to be called;
determine, from the neural network output, contents of arguments to the next program to be called;
invoke the next program with the contents of the arguments to the next program to cause the environment to transition into a current state;
obtain a representation of the current state of the environment; and
generate a next neural network input from the representation of the current state of the environment.
|