# US 2020/0401869 A1 · Self-organizing partially ordered networks

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

- Number: US 2020/0401869 A1
- Document ID: US20200401869A1
- Status: Published application
- Kind: A1
- Application number: 16/767,966
- Filed: 2019-01-28
- Published: 2020-12-24
- Earliest claimed: 2018-01-30
- Assignees: D5Ai LLC
- Applicants: D5Ai LLC
- Inventors: James K. BAKER; Bradley J. BAKER
- Web page: https://patentgrep.com/patent/US20200401869A1

## CPC

- G06N 3/082: modifying the architecture, e.g. adding, deleting or silencing nodes or connections
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- G06F 18/214: Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F 18/217: {Validation; Performance evaluation; Active pattern learning techniques}
- G06F 18/24: Classification techniques
- G06N 3/04: Architecture, e.g. interconnection topology
- G06N 3/045: Combinations of networks
- G06N 3/0455: Auto-encoder networks; Encoder-decoder networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/048: Activation functions
- G06N 3/0495: Quantised networks; Sparse networks; Compressed networks
- G06N 3/08: Learning methods
- G06N 3/084: Backpropagation, e.g. using gradient descent
- G06N 3/0895: Weakly supervised learning, e.g. semi-supervised or self-supervised learning
- G06N 3/09: Supervised learning
- G06N 3/092: Reinforcement learning
- G06N 3/098: Distributed learning, e.g. federated learning
- G06N 3/0985: Hyperparameter optimisation; Meta-learning; Learning-to-learn
- G06N 20/00: Machine learning
- G06N 20/20: Ensemble learning
- H04L 67/142: Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
- G06F 18/2148: {characterised by the process organisation or structure, e.g. boosting cascade}
- G06N 5/046: Forward inferencing; Production systems
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system and method for controlling a nodal network. The method includes estimating an effect on the objective caused by the existence or non-existence of a direct connection between a pair of nodes and changing a structure of the nodal network based at least in part on the estimate of the effect. A nodal network includes a strict partially ordered set, a weighted directed acyclic graph, an artificial neural network, and/or a layered feed-forward neural network.

## Claims

### Claim 1

A computer-implemented method for controlling an artificial neural network comprising a first node and a second node, the first and second nodes comprising activation functions that are evaluatable on a dataset according to an objective defined by an objective function, the method comprising:
estimating, by a computer system, an effect on the objective caused by the existence or non-existence of a direct connection between the first node and the second node based at least in part on activation values of the first node and estimates of partial derivatives of the objective with respect the activation of the second node; and
changing, by the computer system, a structure of the neural network based at least in part on the estimate of the effect.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein estimating the effect on the objective comprises:
computing, by the computer system, a weighted average over the dataset of a product of an activation of the first node and a partial derivative of the objective with respect to an input to the second node for each data item in the dataset.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, wherein the dataset comprises a development dataset set aside from a training dataset on which the neural network was trained.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein:
the first node and the second node are not directly connected;
estimating the effect on the objective comprises estimating, by the computer system, the effect on the objective of adding the direct connection between the first node and the second node; and
changing the structure of the neural network comprises adding, by the computer system, the direct connection between the first node and the second node based at least in part on whether an estimate of the effect on the objective indicates improvement in a performance of the neural network with respect to the objective due to the existence of the direct connection.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein:
the first node and the second node are directly connected;
estimating the effect on the objective comprises estimating, by the computer system, the effect on the objective of deleting the direct connection between the first node and the second node; and
changing the structure of the neural network comprises deleting, by the computer system, the direct connection between the first node and the second node based at least in part on whether an estimate of the effect on the objective indicates improvement in a performance of the neural network with respect to the objective due to the non-existence of the direct connection.

### Claim 6 (depends on 5)

The computer-implemented method of claim 5, wherein deleting the direct connection between the first node and the second node is further based at least in part on a magnitude of a connection weight associated with the direct connection between the first node and the second node.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the neural network comprises a strict partially ordered set.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the neural network comprises a weighted directed acyclic graph.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein the neural network comprises a recurrent neural network.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, wherein the neural network comprises a layered feed-forward neural network.

### Claim 11 (depends on 10)

The computer-implemented method of claim 10, wherein:
the first node is located in a first layer of the layered feed-forward neural network and the second node is located in a second layer of the layered feed-forward neural network; and
the first node and the second node are not directly connected.

### Claim 12 (depends on 1)

The computer-implemented method of claim 1, wherein:
the neural network comprises a first subnetwork and a second subnetwork;
the first node is located in the first subnetwork;
the second node is located in the second subnetwork; and
changing the structure of the neural network comprises adding, by the computer system, the direct connection from the first node to the second node based at least in part on whether an estimate of the effect on the objective indicates improvement in a performance of the neural network with respect to the objective due to the existence of the direct connection.

### Claim 13 (depends on 1)

The computer-implemented method of claim 1, wherein changing the structure of the neural network is controlled by a machine learning system executed by the computer system.

### Claim 14 (depends on 13)

The computer-implemented method of claim 13, wherein the machine learning system comprises a learning coach machine learning system.

### Claim 15 (depends on 1)

The computer-implemented method of claim 1, wherein:
the first node and the second node form a cover pair in a strict partial order corresponding to a transitive closure of the neural network; and
changing the structure of the neural network comprises deleting a first direct connection from the first node to the second node and adding a second direct connection from the second node to the first node based at least in part on whether an estimate of the effect on the objective indicates improvement in a performance of the neural network with respect to the objective due to replacement of the first direct connection with the second direct connection.

### Claim 16 (depends on 1)

The computer-implemented method of claim 1, further comprising:
freezing, by the computer system, the direct connection between the first node and the second node such that while the direct connection is frozen a connection weight of the direct connection is not changed during training of the neural network.

### Claim 17 (depends on 16)

The computer-implemented method of claim 16, wherein the connection weight of the frozen direct connection is zero.

### Claim 18 (depends on 16)

The computer-implemented method of claim 16, wherein the connection weight of the frozen direct connection is non-zero.

### Claim 19 (depends on 16)

The computer-implemented method of claim 16, further comprising:
unfreezing, by the computer system, the frozen direct connection.

### Claim 20 (depends on 1)

The computer-implemented method of claim 1, wherein the dataset over which the neural network is evaluated comprises a full batch of a training dataset.

### Claim 21 (depends on 1)

The computer-implemented method of claim 1, wherein:
the dataset over which the neural network is evaluated comprises a mini-batch of a training dataset; and
estimating the effect on the objective comprises estimating, by the computer system, a gradient of the objective function for stochastic gradient descent.

### Claim 22 (depends on 1)

The computer-implemented method of claim 1, wherein the dataset comprises a first dataset, the method further comprising:
assigning, by the computer system, a data influence weight to each data item in the first dataset;
training, by the computer system, the neural network on the first dataset via stochastic gradient descent, which comprises:
computing, by the computer system, a weighted average of an estimate of a gradient in each stochastic gradient descent update according to the data influence weight for each data item in the first dataset;
measuring, by the computer system during training of the neural network, a performance of the neural network on a second dataset;
wherein the second dataset is disjoint from the first dataset; and
adjusting, by the computer system during training of the neural network, the data influence weight of one or more data items in the first dataset based on the performance of the neural network.

### Claim 23 (depends on 22)

The computer-implemented method of claim 22, wherein adjusting the data influence weight comprises setting, by the computer system, the data influence weight to zero.

### Claim 24 (depends on 22)

The computer-implemented method of claim 22, wherein measuring the performance of the neural network on the second dataset is semi-supervised.

### Claim 25 (depends on 24)

The computer-implemented method of claim 24, wherein semi-supervised measuring of the performance of the neural network on the second dataset comprises labeling, by the computer system, data items of the second dataset via a recognizer machine learning system.

### Claim 26 (depends on 1)

The computer-implemented method of claim 1, further comprising:
training, by the computer system, the second node to match an output of the first node.

### Claim 27 (depends on 1)

The computer-implemented method of claim 1, further comprising:
training, by the computer system, the first node to maximize a magnitude of a correlation between the activation function of the first node and a partial derivative of the objective function with respect to an input to the second node.

### Claim 28 (depends on 1)

The computer-implemented method of claim 1, wherein the activation functions comprise non-monotonic activations functions.

### Claim 29 (depends on 1)

The computer-implemented method of claim 1, wherein:
the neural network comprises:
a first subnetwork for performing a first machine learning task; and
a second subnetwork for performing a second machine learning task that is distinct from the first machine learning task;
the first node is located in the first subnetwork; and
the second node is located in the second subnetwork.

### Claim 30 (depends on 29)

The computer-implemented method of claim 29, further comprising:
inputting, by the computer system, the dataset to the first subnetwork; and
inputting, by the computer system, a subset of the dataset to the second subnetwork.

### Claim 31 (depends on 29)

The computer-implemented method of claim 29, further comprising:
training, by the computer system, the first subnetwork on the dataset; and
training, by the computer system, the second subnetwork on a subset of the dataset.

### Claim 32 (depends on 29)

The computer-implemented method of claim 29, further comprising:
training, by the computer system, the first subnetwork to distinguish a plurality of categories; and
training, by the computer system, the second subnetwork to distinguish a subset oft he plurality of categories.

### Claim 33 (depends on 29)

The computer-implemented method of claim 29, wherein the first subnetwork is evaluatable based on a first objective and the second subnetwork is evaluatable based on a second objective, the first objective corresponding to a plurality of categories and the second objective corresponding to a subset of the plurality of categories.

### Claim 34 (depends on 29)

The computer-implemented method of claim 29, wherein the first subnetwork and the second subnetwork operate asynchronously, further comprising:
monitoring, by the computer system, an individual performance of each of the first subnetwork and the second subnetwork via a machine learning coach executed by the computer system; and
changing, by the computer system, the structure of at least one of the first subnetwork or the second subnetwork to improve a combined performance of the first subnetwork and the second subnetwork.

### Claim 35 (depends on 1)

The computer-implemented method of claim 1, further comprising:
training, by the computer system, the neural network on the dataset according to the objective;
detecting, by the computer system, a problem in a learning process of the neural network during training of the neural network via a learning coach machine learning system; and
correcting, by the computer system, the problem detected by the learning coach machine learning system.

### Claim 36 (depends on 35)

The computer-implemented method of claim 35, wherein detecting the problem in the learning process of the neural network comprises:
detecting, by the computer system, whether a magnitude of an estimated gradient is less than a threshold value across a plurality of stochastic gradient descent updates via the learning coach machine learning system.

### Claim 37 (depends on 35)

The computer-implemented method of claim 35, wherein:
the dataset comprises a first dataset; and
detecting the problem in the learning process of the neural network comprises detecting, by the computer system, whether a difference between a performance of the neural network with respect to the objective on the first dataset and the performance of the neural network with respect to the objective on a second dataset that is disjoint from the first dataset exceeds a threshold value via the learning coach machine learning system.

### Claim 38 (depends on 35)

The computer-implemented method of claim 35, wherein detecting the problem in the learning process of the neural network comprises:
detecting, by the computer system, whether the neural network misclassifies a particular data item of the dataset over a plurality of training epochs via the learning coach machine learning system.

### Claim 39 (depends on 35)

The computer-implemented method of claim 35, wherein detecting the problem in the learning process of the neural network comprises:
detecting, by the computer system via the learning coach machine learning system, whether the neural network classifies a plurality of data items of the dataset into a single category, wherein the classified plurality of data items are designated to be classified into a plurality of categories.

### Claim 40 (depends on 35)

The computer-implemented method of claim 35, wherein detecting the problem in the learning process of the neural network comprises:
detecting, by the computer system, whether a performance of the neural network with respect to the objective on the dataset is worse than the performance of an ensemble of neural networks by an amount exceeding a criterion.

### Claim 41 (depends on 35)

The computer-implemented method of claim 35, wherein correcting the problem detected by the learning coach machine learning system comprises:
adding or deleting, by the computer system, a connection between the first node and the second node.

### Claim 42 (depends on 35)

The computer-implemented method of claim 35, wherein correcting the problem detected by the learning coach machine learning system comprises:
unfreezing, by the computer system, a connection weight between the first node and the second node.

### Claim 43 (depends on 35)

The computer-implemented method of claim 35, wherein correcting the problem detected by the learning coach machine learning system comprises:
copying, by the computer system, the neural network into a plurality of copy neural networks;
wherein the plurality of copy neural networks each comprise a first set of copy nodes that are copies of nodes of the neural network that are connected to input nodes of the neural network;
wherein the plurality of copy neural networks each comprise a second set of copy nodes that are copies of nodes of the neural network that are connected to output nodes of the neural network;
combining, by the computer system, the plurality of copy neural networks into a combined neural network;
connecting, by the computer system, each of the first set of copy nodes to respective input nodes of the combined neural network; and
connecting, by the computer system, each of the second set of copy nodes to respective output nodes of the combined neural network.

### Claim 44 (depends on 43)

The computer-implemented method of claim 43, wherein the plurality of copy neural networks each comprise copy inner layer nodes that are copies of inner layer nodes of the neural network, the method further comprising:
initializing, by the computer system, the combined neural network such that the copy inner layer nodes of each of the plurality of copy neural networks are not connected to the copy inner layer nodes of another of the plurality of copy neural networks; and
adding or deleting, by the computer system, connections between the copy inner layer nodes from different copy neural networks via the learning coach machine learning system;
wherein the learning coach machine learning system has been trained to estimate the effect on the objective for the combined neural network resulting from adding or deleting the connections between the copy inner layer nodes.

### Claim 45 (depends on 44)

The computer-implemented method of claim 44, further comprising:
delineating, by the computer system, a strict partial order amongst the plurality of copy neural networks;
determining, by the computer system, whether a first node of a first copy neural network of the plurality of copy neural networks is less than or incomparable to a second node of a second copy neural network of the plurality of copy neural networks; and
adding, by the computer system, a connection from the first node to the second node only if the first node is less than or incomparable to the second node.

### Claim 46 (depends on 45)

The computer-implemented method of claim 45, wherein the delineated strict partial order is a total order.

### Claim 47 (depends on 45)

The computer-implemented method of claim 45, further comprising:
positioning, by the computer system, the first copy neural network and the second copy neural network in the strict partial order such that they are comparable.

### Claim 48 (depends on 45)

The computer-implemented method of claim 45, further comprising:
positioning, by the computer system, the first copy neural network at a first position in the strict partial order; and
positioning, by the computer system, the second copy neural network at a second position in the strict partial order;
wherein the first position is lower than the second position.

### Claim 49 (depends on 44)

The computer-implemented method of claim 44, wherein the neural network comprises a first neural network, the method further comprising:
training, by the computer system, a second neural network to perform a discrimination task that has not been learned by the first neural network.

### Claim 50 (depends on 44)

The computer-implemented method of claim 44, further comprising:
training, by the computer system, the neural network via one-shot learning.

### Claim 51 (depends on 44)

The computer-implemented method of claim 44, further comprising:
training, by the computer system, the neural network to discriminate between a first data item from the dataset and a second data item from the dataset.

### Claim 52 (depends on 44)

The computer-implemented method of claim 44, wherein the neural network comprises a first neural network, the method further comprising:
training, by the computer system, a second neural network to perform a machine learning task that is not performed by the first neural network.

### Claim 53

A computer system for controlling a nodal an artificial neural network, the computer system comprising:
a processor; and
a memory coupled to the processor, the memory storing:
the neural network comprising a first node and a second node, the first and second nodes comprising activation functions that are evaluatable on a dataset according to an objective defined by an objective function; and
instructions that, when executed by the processor, cause the computer system to:
estimate an effect on the objective caused by the existence or non-existence of a direct connection between the first node and the second node based at least in part on activation values of the first node and estimates of partial derivatives of the objective with respect the activation of the second node; and
change a structure of the neural network based at least in part on whether the direct connection between the first node and the second node exists.

### Claim 54 (depends on 53)

The computer system of claim 53, wherein the memory stores instructions that cause the computer system to estimate the effect on the objective by computing a weighted average over the dataset of a product of an activation of the first node and a partial derivative of the objective with respect to an input to the second node for each data item in the dataset.

### Claim 55 (depends on 54)

The computer system of claim 54, wherein the dataset comprises a development dataset set aside from a training dataset on which the neural network was trained.

### Claim 56 (depends on 53)

The computer system of claim 53, wherein:
the first node and the second node are not directly connected; and
the memory stores instructions that cause the computer system to:
estimate the effect on the objective by estimating the effect on the objective of adding the direct connection between the first node and the second node; and
change the structure of the neural network by adding the direct connection between the first node and the second node based at least in part on whether the estimate of the effect on the objective indicates improvement in a performance of the neural network with respect to the objective due to the existence of the direct connection.

### Claim 57 (depends on 53)

The computer system of claim 53, wherein:
the first node and the second node are directly connected;
the memory stores instructions that cause the computer system to
estimate the effect on the objective by estimating the effect on the objective of deleting the direct connection between the first node and the second node; and
change the structure of the neural network by deleting the direct connection between the first node and the second node based at least in part on whether an estimate of the effect on the objective indicates improvement in a performance of the neural network with respect to the objective due to the non-existence of the direct connection.

### Claim 58 (depends on 57)

The computer system of claim 57, wherein the memory stores instructions that cause the computer system to delete the direct connection between the first node and the second node further based at least in part on a magnitude of a connection weight associated with the direct connection between the first node and the second node.

### Claim at position 59

59-60. (canceled)

### Claim 61 (depends on 53)

The computer system of claim 53, wherein:
the neural network comprises a first subnetwork and a second subnetwork;
the first node is located in the first subnetwork;
the second node is located in the second subnetwork; and
the memory stores instructions that cause the computer system to change the structure of the neural network by adding the direct connection from the first node to the second node based at least in part on whether an estimate of the effect on the objective indicates improvement in a performance of the neural network with respect to the objective due to the existence of the direct connection.

### Claim 62 (depends on 53)

The computer system of claim 53, wherein:
the memory stores a machine learning system for controlling the neural network; and
the memory stores instructions that cause the computer system to change the structure of the neural network according to the machine learning system.

### Claim 63 (depends on 62)

The computer system claim 62, wherein the machine learning system comprises a learning coach machine learning system.

### Claim 64 (depends on 53)

The computer system of claim 53, wherein:
the first node and the second node form a cover pair in a strict partial order corresponding to a transitive closure of the neural network; and
the memory stores instructions that cause the computer system to change the structure of the neural network by deleting a first direct connection from the first node to the second node and adding a second direct connection from the second node to the first node based at least in part on whether an estimate of the effect on the objective indicates improvement in a performance of the neural network with respect to the objective due to replacement of the first direct connection with the second direct connection.

### Claim 65 (depends on 53)

The computer system of claim 53, wherein the memory stores instructions that cause the computer system to freeze the direct connection between the first node and the second node such that while the direct connection is frozen a connection weight of the direct connection is not changed during training of the neural network.

### Claim at position 65

66-67. (canceled)

### Claim 68 (depends on 53)

The computer system of claim 53, wherein the memory stores instructions that cause the computer system to unfreeze the frozen direct connection.

### Claim at position 67

69-70. (canceled)

### Claim 71 (depends on 53)

The computer system of claim 53, wherein:
the dataset comprises a first dataset; and
the memory stores instructions that cause the computer system to:
assign a data influence weight to each data item in the first dataset;
train the neural network on the first dataset via stochastic gradient descent, which comprises:
computing a weighted average of an estimate of a gradient in each stochastic gradient descent update according to the data influence weight for each data item in the first dataset;
measure, during training of the neural network, a performance of the neural network on a second dataset;
wherein the second dataset is disjoint from the first dataset; and
adjust, during training of the neural network, the data influence weight of one or more data items in the first dataset based on the performance of the neural network.

### Claim 72 (depends on 71)

The computer system of claim 71, wherein the memory stores instructions that cause the computer system to adjust the data influence weight by setting the data influence weight to zero.

### Claim 73 (depends on 71)

The computer system of claim 71, wherein the performance of the neural network on the second dataset comprises is measured via semi-supervised machine learning.

### Claim 74 (depends on 73)

The computer system of claim 73, wherein the memory stores instructions that cause the computer system to label data items of the second dataset via a recognizer machine learning system for the semi-supervised machine learning.

### Claim 75 (depends on 53)

The computer system of claim 53, wherein the memory stores instructions that cause the computer system to train the second node to match an output of the first node.

### Claim 76 (depends on 53)

The computer system of claim 53, wherein the memory stores instructions that cause the computer system to train the first node to maximize a magnitude of a correlation between the activation function of the first node and a partial derivative of the objective function with respect to an input to the second node.

### Claim 77 (depends on 53)

The computer system of claim 53, wherein the activation functions comprise non-monotonic activations functions.

### Claim 78 (depends on 53)

The computer system of claim 53, wherein:
the neural network comprises:
a first subnetwork for performing a first machine learning task; and
a second subnetwork for performing a second machine learning task that is distinct from the first machine learning task;
the first node is located in the first subnetwork; and
the second node is located in the second subnetwork.

### Claim at position 76

79-83. (canceled)

### Claim 84 (depends on 53)

The computer system of claim 53, wherein the memory stores instructions that cause the computer system to:
train the neural network on the dataset according to the objective;
detect a problem in a learning process of the neural network during training of the neural network via a learning coach machine learning system; and
correct the problem detected by the learning coach machine learning system.

### Claim at position 78

85-91. (canceled)

### Claim 92 (depends on 84)

The computer system of claim 84, wherein the memory stores instructions that cause the computer system to correct the problem detected by the learning coach machine learning system by:
copying the neural network into a plurality of copy neural networks;
wherein the plurality of copy neural networks each comprise a first set of copy nodes that are copies of nodes of the neural network that are connected to input nodes of the neural network;
wherein the plurality of copy neural networks each comprise a second set of copy nodes that are copies of nodes of the neural network that are connected to output nodes of the neural network;
combining the plurality of copy neural networks into a combined neural network;
connecting each of the first set of copy nodes to respective input nodes of the combined neural network; and
connecting each of the second set of copy nodes to respective output nodes of the combined neural network.

### Claim 93 (depends on 92)

The computer system of claim 92, wherein:
the plurality of copy neural networks each comprise copy inner layer nodes that are copies of inner layer nodes of the neural network; and
the memory stores instructions that cause the computer system to:
initialize the combined neural network such that the copy inner layer nodes of each of the plurality of copy neural networks are not connected to the copy inner layer nodes of another of the plurality of copy neural networks; and
add or delete connections between the copy inner layer nodes from different copy neural networks via the learning coach machine learning system;
wherein the learning coach machine learning system has been trained to estimate the effect on the objective for the combined neural network resulting from adding or deleting the connections between the copy inner layer nodes.

### Claim at position 81

94-101. (canceled)
