Neural network using stochastic processing
First Claim
1. An apparatus for implementing a neural network having N nodes coupled to one another by interconnections having interconnect weights Tij that quantify the influence of node j on node i, the apparatus comprising:
- a plurality of node circuits, one associated with each node;
data processing means including means for receiving library data representing one or more library members, means for determining interconnect weights Tij from the library data and for transmitting interconnect weight data representing the interconnect weights to each node circuit, means for storing current state vector data representing a current state vector comprising N state vector elements, means for receiving input data representing a library member to be retrieved, means for performing one or more iterations until the current state vector reaches an equilibrium state, each iteration comprising transmitting the current state vector data to the node circuits, receiving updated state vector data representing an updated state vector from the node circuits, and setting the current state vector data equal to the updated state vector data, and means for initializing the iteration by setting the current state vector data equal to the input data; and
each node circuit comprising means for receiving the interconnect weight and current state vector data, and one or more stochastic processors operating in parallel, each stochastic processor including means for multiplying data representing one interconnect weight by data representing a corresponding state vector element to produce a product signal, means for summing the product signals to thereby determine the updated state vector data, and means for transmitting the updated state vector data to the data processing means.
2 Assignments
0 Petitions
Accused Products
Abstract
An apparatus and method for implementing a neural network having N nodes coupled to one another by interconnections having interconnect weights Tij that quantify the influence of node j on node i. The apparatus comprises a node circuit for each node and a data processor. The data processor receives one or more library members, and transmits the interconnect weights to the node circuits. The data processor also stores a current state vector, and receives input data representing a library member to be retrieved. The data processor then performs an iteration in which the current state vector is sent to the node circuits, and an updated state vector is received from the node circuits, the iteration being commenced by setting the current state vector equal to the input data. Each node circuit comprises one or more stochastic processors for multiplying the state vector elements by the corresponding interconnect weights, to determine the updated state vector. Each stochastic processor preferably includes means for generating a pseudorandom sequence of numbers, and using such sequence to encode the interconnect weights and state vector elements into stochastic input signals that are then multiplied by a stochastic multiplier comprising delay means and an AND gate.
-
Citations
13 Claims
-
1. An apparatus for implementing a neural network having N nodes coupled to one another by interconnections having interconnect weights Tij that quantify the influence of node j on node i, the apparatus comprising:
-
a plurality of node circuits, one associated with each node; data processing means including means for receiving library data representing one or more library members, means for determining interconnect weights Tij from the library data and for transmitting interconnect weight data representing the interconnect weights to each node circuit, means for storing current state vector data representing a current state vector comprising N state vector elements, means for receiving input data representing a library member to be retrieved, means for performing one or more iterations until the current state vector reaches an equilibrium state, each iteration comprising transmitting the current state vector data to the node circuits, receiving updated state vector data representing an updated state vector from the node circuits, and setting the current state vector data equal to the updated state vector data, and means for initializing the iteration by setting the current state vector data equal to the input data; and each node circuit comprising means for receiving the interconnect weight and current state vector data, and one or more stochastic processors operating in parallel, each stochastic processor including means for multiplying data representing one interconnect weight by data representing a corresponding state vector element to produce a product signal, means for summing the product signals to thereby determine the updated state vector data, and means for transmitting the updated state vector data to the data processing means. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for implementing a neutral network having N nodes coupled to one another by interconnections having interconnect weights Tij that quantify the influence of node j on node i, the method comprising:
-
providing data processing means and a plurality of node circuits, one node circuit for each node; at the data processing means, receiving library data representing one or more library members, determining interconnect weights Tij from the library data and transmitting interconnect weight data representing the interconnect weights to each node circuit;
storing current state vector data representing a current state vector comprising N state vector elements, receiving input data representing a library member to be retrieved, performing one or more iterations until the current state vector reaches an equilibrium state, each iteration comprising transmitting the current state vector data to node circuits, receiving updated state vector data representing an updated state vector from the node circuits, setting the current state vector data equal to the updated state vector data, and initializing the iteration by setting the current state vector data equal to the input data; andat each node circuit, receiving the interconnect weight and current state vector data, stochastically multiplying in parallel the interconnect weight data and the state vector data to produce product signals, summing the product signals to thereby determine the updated state vector data, and transmitting the updated state vector data to the data processing means.
-
Specification