IP Library Granted Patent US 8,468,109
Granted Patent B2
US 8,468,109 · App. 13/338,869 · Granted Jun 18, 2013

Architecture, system and method for artificial neural network implementation

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 8,468,109
App. No.
13/338,869
Granted
Jun 18, 2013
Kind
B2
Abstract

Systems and methods for a scalable artificial neural network, wherein the architecture includes: an input layer; at least one hidden layer; an output layer; and a parallelization subsystem configured to provide a variable degree of parallelization to the artificial neural network by providing scalability to neurons and layers. In a particular case, the systems and methods may include a back-propagation subsystem that is configured to scalably adjust weights in the artificial neural network in accordance with the variable degree of parallelization. Systems and methods are also provided for selecting an appropriate degree of parallelization based on factors such as hardware resources and performance requirements.

Claims (45)

1. A method for designing a hardware configuration of an artificial neural network, the method comprising:

receiving information relating to hardware resources available for at least one hardware device;

receiving a desired network topology;

determining a plurality of degrees of parallelism for the desired network topology;

for each degree of parallelism of the plurality of degrees of parallelism estimating at least one of:

a hardware resource estimate to implement the network topology with the degree of parallelism; and

a performance estimate for the network topology with the degree of parallelism;

selecting a degree of parallelism based on the hardware resources available and at least one of the hardware resource estimates and the performance estimates; and

generating a hardware configuration based on the degree of parallelism simultaneously across a plurality of levels of hardware parallelism.

2. A method according to claim 1 , wherein estimating the hardware resource estimate comprises:

determining a number of weights based on the network topology;

determining a measure of the hardware resources required to provide the determined number of weights based on the degree of parallelism; and

assigning the determined measure of the hardware resources required as the hardware resource estimate.

3. A method according to claim 1 , wherein the estimating a performance estimate comprises:

determining a number of weights based on the network topology;

determining a measure of the hardware processing speed available;

determining a number of updates that can be performed on the number of weights in a predetermined time based on the processing speed and the degree of parallelism; and

assigning the determined number of updates as the performance estimate.

4. A method according to claim 1 , wherein the selecting a degree of parallelism based on the hardware resources available and at least one of the hardware resource estimates and the performance estimates comprises:

determining the maximum hardware resources available from among the hardware resources available;

determining a hardware resource estimate from among the hardware resource estimates that is closest to but less than or equal to the maximum hardware resources available; and

determining the degree of parallelism associated with the determined hardware estimate.

5. A method according to claim 4 , wherein determining a hardware resource estimate from among the hardware resource estimates that is closest to but less than or equal to the maximum hardware resources available further comprises determining the hardware resource estimate from among the hardware resource estimates that maximizes performance.

6. A method according to claim 1 , wherein the method further comprises receiving information related to an application performance requirement and wherein the selecting a degree of parallelism based on the hardware resources available and at least one of the hardware resource estimates and the performance estimates comprises:

determining a performance estimate from among the performance estimates that is equal to or greater than the application performance requirement; and

determining the degree of parallelism associated with the determined performance estimate.

7. A computer readable non-transitory storage medium, the storage medium comprising instructions to execute the method of claim 1 .

8. A method for designing a hardware configuration of an artificial neural network, the method comprising:

receiving information relating to hardware resources available for at least one hardware device;

receiving a desired network topology;

determining a plurality of degrees of parallelism for the desired network topology;

for each degree of parallelism of the plurality of degrees of parallelism estimating at least one of:

a hardware resource estimate to implement the network topology with the degree of parallelism; and

a performance estimate for the network topology with the degree of parallelism;

selecting a degree of parallelism based on the hardware resources available and at least one of the hardware resource estimates and the performance estimates; and

generating a hardware configuration based on the degree of parallelism; and

receiving an arithmetic representation and wherein the estimating at least one of a hardware resource estimate and a performance estimate is based on the received arithmetic representation.

9. A method according to claim 1 , wherein the generating a hardware configuration based on the degree of parallelism comprises generating a hardware configuration comprising:

an input layer;

at least one hidden layer;

an output layer;

a back-propagation subsystem configured to send error data back through the network to adjust weights associated with the output layer and the at least one hidden layer;

and

a parallelization system configured to provide the determined degree of parallelization to each of the input layer, at least one hidden layer, output layer and back- propagation system.

10. A method according to claim 9 , further comprising configuring a hardware device based on the hardware configuration.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2021
From: IP3 2019, SERIES 400 OF ALLIED SECURITY TRUST I
To: ZAMA INNOVATIONS LLC
Reel/Frame 057407/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2020
From: 2201393 ONTARIO LIMITED
To: IP3 2019, SERIES 400 OF ALLIED SECURITY TRUST I
Reel/Frame 051569/0862 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 18, 2019
From: MOUSSA, MEDHAT; SAVICH, ANTONY
To: 2201393 ONTARIO LIMITED
Reel/Frame 051316/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2011
From: AREIBI, SHAWKI, MR.
To: MOUSSA, MEDHAT, MR.; SAVICH, ANTONY, MR.
Reel/Frame 027462/0194 →