# US 11,113,597 B2 · Artificial neural network and method of training an artificial neural network with epigenetic neurogenesis

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

- Number: US 11,113,597 B2
- Document ID: US11113597B2
- Status: Granted
- Kind: B2
- Application number: 16/561,735
- Filed: 2019-09-05
- Published: 2020-04-23
- Granted: 2021-09-07
- Earliest claimed: 2018-10-23
- Assignees: HRL Laboratories, LLC
- Applicants: Hrl Laboratories, LLC
- Inventors: Charles E. Martin; Nicholas A. Ketz; Praveen K. Pilly; Soheil Kolouri; Michael D. Howard; Nigel D. Stepp
- Web page: https://patentgrep.com/patent/US11113597B2

## CPC

- G06N 3/006: based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
- G06F 18/22: Matching criteria, e.g. proximity measures
- G06N 3/044: Recurrent networks, e.g. Hopfield networks
- G06N 3/045: Combinations of networks
- G06N 3/047: Probabilistic or stochastic networks
- G06N 3/0499: Feedforward networks
- G06N 3/08: Learning methods
- G06N 3/082: modifying the architecture, e.g. adding, deleting or silencing nodes or connections
- G06N 3/088: Non-supervised learning, e.g. competitive learning
- G06N 3/09: Supervised learning
- G06V 10/764: using classification, e.g. of video objects
- G06V 10/82: using neural networks
- G06V 20/56: exterior to a vehicle by using sensors mounted on the vehicle
- G06N 3/084: Backpropagation, e.g. using gradient descent
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

A method for retraining an artificial neural network trained on data from an old task includes training the artificial neural network on data from a new task different than the old task, calculating a drift, utilizing Sliced Wasserstein Distance, in activation distributions of a series of hidden layer nodes during the training of the artificial neural network with the new task, calculating a number of additional nodes to add to at least one hidden layer based on the drift in the activation distributions, resetting connection weights between input layer nodes, hidden layer nodes, and output layer nodes to values before the training of the artificial neural network on the data from the new task, adding the additional nodes to the at least one hidden layer, and training the artificial neural network on data from the new task.

## Claims

### Claim 1

A method for retraining an artificial neural network trained on data from an old task, the artificial neural network comprising an input layer having a plurality of input layer nodes, a plurality of hidden layers comprising at least a first hidden layer and a second hidden layer each having a plurality of hidden layer nodes, an output layer having a plurality of output layer nodes, and a plurality of old connections connecting the plurality of input layer nodes, the plurality of hidden layer nodes, and the output layer nodes, the method comprising:
training the artificial neural network on data from the old task and data from a new task different than the old task;
calculating a drift, utilizing Sliced Wasserstein Distance, in activation distributions of the plurality of hidden layer nodes during training of the artificial neural network with the data from the old task and data from the new task;
calculating a number of additional nodes to add to at least one of the plurality of hidden layers based on the drift in the activation distributions;
resetting connection weights between the plurality of input layer nodes, the plurality of hidden layer nodes, and the plurality of output layer nodes to values before the training of the artificial neural network on the data from the new task;
adding a first set of additional nodes of the number of additional nodes to the first hidden layer of the plurality of hidden layers, connecting the first set of additional nodes with new connections, and not connecting the first set of additional nodes added to the first hidden layer to the plurality of hidden layer nodes in the second hidden layer; and
training both the old connections and the new connections of the artificial neural network on data from the new task,
wherein the calculating the number of additional nodes is calculated according to Equation 1:
Nnodes=c*log(D)+b (Equation 1)
wherein Nnodes is the number of additional nodes, c and b are user-specified constants and D is the drift in the activation distributions.

### Claim 2 (depends on 1)

The method of claim 1, wherein data from the old task comprises training data retained from input and target output distributions of the old task.

### Claim 3 (depends on 1)

The method of claim 1, wherein the data from the old task comprises synthetic data generated from a model of input and target output distributions of the old task.

### Claim 4 (depends on 1)

The method of claim 1, wherein:
the number of additional nodes further comprises a second set of additional nodes, and
the method further comprises adding the second set of additional nodes to the second hidden layer of the plurality of hidden layers.

### Claim 5 (depends on 4)

The method of claim 4, further comprising connecting each additional node of the first set of additional nodes to each additional node of the second set of additional nodes.

### Claim 6 (depends on 5)

The method of claim 5, further comprising connecting the plurality of hidden layer nodes in the first hidden layer to the second set of additional nodes added to the second hidden layer.

### Claim 7 (depends on 1)

The method of claim 1, further comprising adding a plurality of new output layer nodes to the output layer.

### Claim 8 (depends on 7)

The method of claim 7, further comprising adding additional nodes of the number of additional nodes to a last hidden layer of the plurality of hidden layers adjacent to the output layer, and connecting the additional nodes only to the plurality of new output layer nodes.

### Claim 9 (depends on 8)

The method of claim 8, further comprising connecting each of the plurality of nodes of the last hidden layer adjacent to the output layer to each of the plurality of new output layer nodes.

### Claim 10 (depends on 1)

The method of claim 1, further comprising connecting each of the plurality of input layer nodes to each of the additional nodes in the first hidden layer.

### Claim 11 (depends on 1)

The method of claim 1, wherein the training the artificial neural network on the data from the new task includes minimizing a loss function with stochastic gradient descent.
