# US 11,308,399 B2 · Method for topological optimization of graph-based models

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,308,399 B2
- Document ID: US11308399B2
- Status: Granted
- Kind: B2
- Application number: 16/239,431
- Filed: 2019-01-03
- Published: 2019-07-04
- Granted: 2022-04-19
- Earliest claimed: 2018-01-04
- Assignees: Jean-Patrice Glafkidès
- Applicants: Jean-Patrice Glafkidès
- Inventors: Yevgeniy Sher; Anton Zaleski; Jean-Patrice Glafkides
- Web page: https://patentgrep.com/patent/US11308399B2

## CPC

- G06N 3/086: using evolutionary algorithms, e.g. genetic algorithms or genetic programming
- G06F 16/1794: {Details of file format conversion}
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06N 3/044: Recurrent networks, e.g. Hopfield networks
- G06N 3/0442: characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/082: modifying the architecture, e.g. adding, deleting or silencing nodes or connections
- G06N 3/0895: Weakly supervised learning, e.g. semi-supervised or self-supervised learning
- G06N 3/09: Supervised learning
- G06N 3/047: Probabilistic or stochastic networks
- G06N 3/084: Backpropagation, e.g. using gradient descent
- G06N 3/088: Non-supervised learning, e.g. competitive learning
- G06N 3/105: {Shells for specifying net layout}
- G06N 5/01: Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method may include receiving a graph-based model in a first format, including a static topology of the graph-based model. The method may also include encoding the graph-based model from the first format into a neural network topology optimizer (NNTO) readable format such that the topology of the encoded graph-based model is configured to be altered; creating a first group of entities based on at least a same portion of the encoded graph-based model; and performing a learning operation by tuning parameters of the first group of entities to produce an optimization score for each entity. Additionally, the method may include performing a validation operation; determining that an improvement in validation performance for at least one entity is within a threshold amount of improvement; selecting a solution entity; and adding the selected solution entity into the graph-based model in place of the same portion.

## Claims

### Claim 1

A method comprising:
receiving a graph-based model in a first format, including a topology of the graph-based model in which the topology of the graph-based model is static;
encoding the graph-based model from the first format into a neural network topology optimizer (NNTO) readable format such that the topology of the encoded graph-based model is configured to be altered;
creating a first plurality of entities based on at least a same portion of the encoded graph-based model, each entity of the first plurality of entities including a different topological mutation to at least the same portion of the encoded graph-based model;
performing a learning operation by tuning parameters of the first plurality of entities to produce an optimization score for each entity of the first plurality of entities, the optimization score based on selectable features configured to be optimized;
performing a validation operation which validates each entity of the first plurality of entities using a common validation data set;
determining that an improvement in validation performance for at least one entity of the first plurality of entities is within a threshold amount of improvement;
selecting a solution entity of the first plurality of entities with a highest optimization score and that produced at least the threshold amount of improvement in the validation performance; and
adding the selected solution entity into the graph-based model in place of the same portion.

### Claim 2 (depends on 1)

The method of claim 1, further comprising, after the selecting the solution entity of the first plurality of entities:
creating a second plurality of entities, each entity of the second plurality of entities including a different topological mutation to at least one entity of the first plurality of entities;
performing a second learning operation by tuning parameters of the second plurality of entities to produce an optimization score for each entity of the second plurality of entities, the optimization score based on the selectable features configured to be optimized;
performing a second validation operation which validates each entity of the second plurality of entities using the common validation data set; and
determining that an improvement in validation performance for at least one entity of the second plurality of entities is not within the threshold amount of improvement.

### Claim 3 (depends on 2)

The method of claim 2, wherein at least one entity of the second plurality of entities includes a different topological mutation to the same portion of the encoded graph-based model without mutations.

### Claim 4 (depends on 2)

The method of claim 2, further comprising, in response to determining that an improvement in validation performance for at least one entity of the second plurality of entities is not within the threshold amount of improvement:
creating an nth plurality of entities, each entity of the nth plurality of entities including a different topological mutation to at least one entity of the first plurality of entities through the n−1th plurality of entities;
performing an nth learning operation by tuning parameters of the nth plurality of entities to produce an optimization score for each entity of the nth plurality of entities, the optimization score based on the selectable features configured to be optimized; and
performing an nth validation operation which validates each entity of the nth plurality of entities using the common validation data set.

### Claim 5 (depends on 4)

The method of claim 4, wherein:
the nth plurality of entities, the nth learning operation, and the nth validation operation correspond to an nth iteration in which the nth iteration is a target number of iterations for attempts at improving validation performance for at least one entity of the second plurality of entities through the nth plurality of entities to be within the threshold amount of improvement; and
the nth iteration is a last iteration if the validation performance is not within the threshold amount of improvement.

### Claim 6 (depends on 4)

The method of claim 4, further comprising:
determining that an improvement in validation performance for at least one entity of the nth plurality of entities is within the threshold amount of improvement;
selecting an entity of the nth plurality of entities with the highest optimization score and that produced at least the threshold amount of improvement in the validation performance; and
adding the selected solution entity into the graph-based model.

### Claim 7 (depends on 1)

The method of claim 1, wherein the learning operation is performed using a common training data set or using a simulator to simulate an environment without the common training data set.

### Claim 8 (depends on 1)

The method of claim 1, further comprising decoding the graph-based model from the NNTO readable format to the first format.

### Claim 9 (depends on 1)

The method of claim 1, further comprising performing a final test using an independent test data set.

### Claim 10 (depends on 1)

The method of claim 1, further comprising, after improvement to the graph-based model with the adding of the solution entity, sending the graph-based model to a client device for running on an NNTO runtime application.

### Claim 11

A system comprising:
non-transitory computer readable media that include instructions thereon that, in response to execution by one or more processors, control performance of operations comprising:
receive a graph-based model in a first format, including a topology of the graph-based model in which the topology of the graph-based model is static;
encode the graph-based model from the first format into a neural network topology optimizer (NNTO) readable format such that the topology of the encoded graph-based model is configured to be altered;
create a first plurality of entities based on at least a same portion of the encoded graph-based model, each entity of the first plurality of entities including a different topological mutation to at least the same portion of the encoded graph-based model;
perform a learning operation by tuning parameters of the first plurality of entities to produce an optimization score for each entity of the first plurality of entities, the optimization score based on selectable features configured to be optimized;
perform a validation operation which validates each entity of the first plurality of entities using a common validation data set;
determine that an improvement in validation performance for at least one entity of the first plurality of entities is within a threshold amount of improvement;
select a solution entity of the first plurality of entities with a highest optimization score and that produced at least the threshold amount of improvement in the validation performance; and
add the selected solution entity into the graph-based model in place of the same portion.

### Claim 12 (depends on 11)

The system of claim 11, wherein the operations further comprise, after the selecting the solution entity of the first plurality of entities:
creating a second plurality of entities, each entity of the second plurality of entities including a different topological mutation to at least one entity of the first plurality of entities;
performing a second learning operation by tuning parameters of the second plurality of entities to produce an optimization score for each entity of the second plurality of entities, the optimization score based on the selectable features configured to be optimized;
performing a second validation operation which validates each entity of the second plurality of entities using the common validation data set; and
determining that an improvement in validation performance for at least one entity of the second plurality of entities is not within the threshold amount of improvement.

### Claim 13 (depends on 12)

The system of claim 12, wherein at least one entity of the second plurality of entities includes a different topological mutation to the same portion of the encoded graph-based model without mutations.

### Claim 14 (depends on 12)

The system of claim 12, wherein the operations further comprise, in response to determining that an improvement in validation performance for at least one entity of the second plurality of entities is not within the threshold amount of improvement:
creating an nth plurality of entities, each entity of the nth plurality of entities including a different topological mutation to at least one entity of the first plurality of entities through the n−1th plurality of entities;
performing an nth learning operation by tuning parameters of the nth plurality of entities to produce an optimization score for each entity of the nth plurality of entities, the optimization score based on the selectable features configured to be optimized; and
performing an nth validation operation which validates each entity of the nth plurality of entities using the common validation data set.

### Claim 15 (depends on 14)

The system of claim 14, wherein:
the nth plurality of entities, the nth learning operation, and the nth validation operation correspond to an nth iteration in which the nth iteration is a target number of iterations for attempts at improving validation performance for at least one entity of the second plurality of entities through the nth plurality of entities to be within the threshold amount of improvement; and
the nth iteration is a last iteration if the validation performance is not within the threshold amount of improvement.

### Claim 16 (depends on 14)

The system of claim 14, wherein the operations further comprise:
determining that an improvement in validation performance for at least one entity of the nth plurality of entities is within the threshold amount of improvement;
selecting an entity of the nth plurality of entities with the highest optimization score and that produced at least the threshold amount of improvement in the validation performance; and
adding the selected solution entity into the graph-based model.

### Claim 17 (depends on 11)

The system of claim 11, wherein the learning operation is performed using a common training data set or using a simulator to simulate an environment without the common training data set.

### Claim 18 (depends on 11)

The system of claim 11, wherein the operations further comprise decoding the graph-based model from the NNTO readable format to the first format.

### Claim 19 (depends on 11)

The system of claim 11, wherein the operations further comprise, after improvement to the graph-based model with the adding of the solution entity, sending the graph-based model to a client device for running on an NNTO runtime application.

### Claim 20

A system, comprising:
one or more processors;
non-transitory computer readable media that include instructions thereon that, in response to execution by the one or more processors, control performance of operations comprising:
receive a graph-based model in a first format, including a topology of the graph-based model in which the topology of the graph-based model is static;
encode the graph-based model from the first format into a neural network topology optimizer (NNTO) readable format such that the topology of the encoded graph-based model is configured to be altered;
create a first plurality of entities based on at least a same portion of the encoded graph-based model, each entity of the first plurality of entities including a different topological mutation to at least the same portion of the encoded graph-based model;
receive an optimization score for each entity of the first plurality of entities, the optimization score based on selectable features configured to be optimized;
receive data relating to a validation operation which validates each entity of the first plurality of entities;
determine that an improvement in validation performance for at least one entity of the first plurality of entities is within a threshold amount of improvement;
select a solution entity of the first plurality of entities with a highest optimization score and that produced at least the threshold amount of improvement in the validation performance; and
add the selected solution entity into the graph-based model in place of the same portion.
