IP Library Granted Patent US 11,604,973
Granted Patent B1
US 11,604,973 · App. 16/698,942 · Granted Mar 14, 2023

Replication of neural network layers

Inventors: Eric A. Sather (Palo Alto, CA); Steven L. Teig (Menlo Park, CA)
Assignee: PERCEIVE CORPORATION
G06N3/063G06F17/16G06N3/084
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,604,973
App. No.
16/698,942
Granted
Mar 14, 2023
Kind
B1
Abstract

Some embodiments provide a method for training parameters of a machine-trained (MT) network. The method receives an MT network with multiple layers of nodes, each of which computes an output value based on a set of input values and a set of trained weight values. Each layer has a set of allowed weight values. For a first layer with a first set of allowed weight values, the method defines a second layer with nodes corresponding to each of the nodes of the first layer, each second-layer node receiving the same input values as the corresponding first-layer node. The second layer has a second, different set of allowed weight values, with the output values of the nodes of the first layer added with the output values of the corresponding nodes of the second layer to compute output values that are passed to a subsequent layer. The method trains the weight values.

Claims (39)

1. A method for training a plurality of parameters of a machine-trained (MT) network, the method comprising:

receiving an MT network comprising a plurality of layers of computation nodes, wherein each computation node computes an output value based on a set of input values and a set of trained weight values, wherein each layer has a set of allowed weight values;

for a first layer of the MT network with a first set of allowed weight values comprising a positive value, zero, and a negation of the positive value, defining a second layer with computation nodes corresponding to each of the computation nodes of the first layer, each second-layer computation node receiving the same input values as the corresponding first-layer computation node, wherein the second layer has a second set of allowed weight values comprising one-third the positive value, zero, and a negation of one-third the positive value, wherein the output values of the computation nodes of the first layer are added with the output values of the corresponding computation nodes of the second layer to compute output values that are passed to a subsequent layer of the MT network; and

training the weight values of the MT network.

2. A method for training a plurality of parameters of a machine-trained (MT) network, the method comprising:

receiving an MT network comprising a plurality of layers of computation nodes, wherein each computation node computes an output value based on a set of input values and a set of trained weight values, wherein each layer has a set of allowed weight values;

for a first layer of the MT network with a first set of allowed weight values, defining a second layer with computation nodes corresponding to each of the computation nodes of the first layer, each second-layer computation node receiving the same input values as the corresponding first-layer computation node, wherein the second layer has a second, different set of allowed weight values, wherein the output values of the computation nodes of the first layer are added with the output values of the corresponding computation nodes of the second layer to compute output values that are passed to a subsequent layer of the MT network; and

training the weight values of the MT network by using a loss function with (i) a term that biases the weight values of the first layer towards the values of the first set of allowed values and (ii) a term that ensures that a particular percentage of the weight values of the MT network have a value of zero.

3. A method for training a plurality of parameters of a machine-trained (MT) network, the method comprising:

receiving an MT network comprising a plurality of layers of computation nodes, wherein each computation node computes an output value based on a set of input values and a set of trained weight values, wherein each layer has a set of allowed weight values;

for a first layer of the MT network with a first set of allowed weight values, defining a second layer with computation nodes corresponding to each of the computation nodes of the first layer, each second-layer computation node receiving the same input values as the corresponding first-layer computation node, wherein the second layer has a second, different set of allowed weight values, wherein the output values of the computation nodes of the first layer are added with the output values of the corresponding computation nodes of the second layer to compute output values that are passed to a subsequent layer of the MT network; and

training the weight values of the MT network using alternating direction method of multipliers (i) to constrain the weight values of the first layer to the first set of allowed weight values, (ii) to constrain the weight values of the second layer to the second set of allowed weight values, and (iii) to impose a maximum on a number of nonzero weight values.

4. A method for training a plurality of parameters of a machine-trained (MT) network, the method comprising:

receiving an MT network comprising a plurality of layers of computation nodes, wherein each computation node computes an output value based on a set of input values and a set of trained weight values, wherein each layer has a set of allowed weight values;

for a first layer of the MT network with a first set of allowed weight values:

defining a second layer with computation nodes corresponding to each of the computation nodes of the first layer, each second-layer computation node receiving the same input values as the corresponding first-layer computation node, wherein the second layer has a second, different set of allowed weight values; and

defining a third layer with computation nodes corresponding to each of the computation nodes of the first layer, each third-layer computation node receiving the same input values as the corresponding first-layer computation node, wherein the third layer has a third, different set of allowed weight values, wherein the output values of the computation nodes of the first layer are added with the output values of the corresponding computation nodes of the second layer and the third layer to compute output values that are passed to the subsequent layer of the MT network; and training the weight values of the MT network.

5. A non-transitory machine-readable medium storing a program which when executed by at least one processing unit trains a plurality of parameters of a machine-trained (MT) network, the program comprising sets of instructions for:

receiving an MT network comprising a plurality of layers of computation nodes, wherein each computation node computes an output value based on a set of input values and a set of trained weight values, wherein each layer has a set of allowed weight values;

for a first layer of the MT network with a first set of allowed weight values comprising a positive value, zero, and a negation of the positive value, defining a second layer with computation nodes corresponding to each of the computation nodes of the first layer, each second-layer computation node receiving the same input values as the corresponding first-layer computation node, wherein the second layer has a second set of allowed weight values comprising one-third the positive value, zero, and a negation of one-third the positive value, wherein the output values of the computation nodes of the first layer are added with the output values of the corresponding computation nodes of the second layer to compute output values that are passed to a subsequent layer of the MT network; and

training the weight values of the MT network.

6. The method of claim 3 , wherein the first set of allowed weight values comprises a positive value, zero, and a negation of the positive value.

7. The method of claim 6 , wherein the second set of allowed weight values comprises one third the positive value, zero, and a negation of one third the positive value.

8. The method of claim 1 , wherein training the weight values of the MT network comprises using a loss function with a term that biases the weight values of the first layer towards the values of the first set of allowed weight values.

9. The method of claim 4 , wherein:

the first set of allowed weight values comprises a positive value, zero, and a negation of the positive value;

the second set of allowed weight values comprises one third the positive value, zero, and a negation of one third the positive value; and

the third set of allowed weight values comprises one ninth the positive value, zero, and a negation of one ninth the positive value.

10. The method of claim 1 , wherein training the network with the first and second layers replicates a single layer with a greater total number of allowed weight values.

11. The non-transitory machine-readable medium of claim 5 , wherein the set of instructions for training the weight values of the MT network comprises a set of instructions for using a loss function with a term that biases the weight values of the first layer towards the values of the first set of allowed weight values.

12. The non-transitory machine-readable medium of claim 11 , wherein the set of instructions for training the weight values of the MT network comprises a set of instructions for using a loss function with a term that ensures that a particular percentage of the weight values of the MT network have a value of zero.

13. The non-transitory machine-readable medium of claim 5 , wherein the set of instructions for training the weight values of the MT network comprises a set of instructions for using alternating direction method of multipliers (i) to constrain the weight values of the first layer to the first set of allowed weight values, (ii) to constrain the weight values of the second layer to the second set of allowed weight values, and (iii) to impose a maximum on a number of nonzero weight values.

14. The non-transitory machine-readable medium of claim 5 , wherein the program further comprises a set of instructions for defining a third layer with computation nodes corresponding to each of the computation nodes of the first layer, each third-layer computation node receiving the same input values as the corresponding first-layer computation node, wherein the third layer has a third, different set of allowed weight values, wherein the output values of the computation nodes of the first layer are added with the output values of the corresponding computation nodes of the second layer and the third layer to compute output values that are passed to the subsequent layer of the MT network.

15. The non-transitory machine-readable medium of claim 14 , wherein the third set of allowed weight values comprises one ninth the positive value, zero, and a negation of one ninth the positive value.

16. The non-transitory machine-readable medium of claim 5 , wherein training the network with the first and second layers replicates a single layer with a greater total number of allowed weight values.

17. The method of claim 1 , wherein training the weight values of the MT network comprises using alternating direction method of multipliers.

18. The method of claim 2 , wherein training the network with the first and second layers replicates a single layer with a greater total number of allowed weight values.

19. The method of claim 3 , wherein the first set of allowed weight values comprises a positive value, zero, and a negation of the positive value.

20. The method of claim 4 , wherein training the network with the first, second, and third layers replicates a single layer with a greater total number of allowed weight values.

Assignments (3)
BILL OF SALE Recorded Oct 31, 2024
From: AMAZON.COM SERVICES LLC
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 069288/0490 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2024
From: PERCEIVE CORPORATION
To: AMAZON.COM SERVICES LLC
Reel/Frame 069288/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2020
From: SATHER, ERIC A.; TEIG, STEVEN L.
To: PERCEIVE CORPORATION
Reel/Frame 051629/0476 →
Continuity (4)
Continuation 16684128 · Nov 14, 2019
Provisional Application 62926382 · Oct 25, 2019
Provisional Application 62926382 · Oct 25, 2019
Provisional Application 62775886 · Dec 5, 2018
Cited By (4)
US 12,393,679 US 12,499,353 US 12,530,169 US 12,705,467