IP Library Granted Patent US 9,189,729
Granted Patent B2
US 9,189,729 · App. 13/562,187 · Granted Nov 17, 2015

Scalable neural hardware for the noisy-OR model of Bayesian networks

Inventors: John V. Arthur (Mountain View, CA); Steven K. Esser (San Jose, CA); Paul A. Merolla (Palo Alto, CA); Dharmendra S. Modha (San Jose, CA)
Assignee: International Business Machines Corporation
G06N3/08G06F7/582G06N3/04G06N7/005
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 9,189,729
App. No.
13/562,187
Granted
Nov 17, 2015
Kind
B2
Abstract

Embodiments of the invention relate to a scalable neural hardware for the noisy-OR model of Bayesian networks. One embodiment comprises a neural core circuit including a pseudo-random number generator for generating random numbers. The neural core circuit further comprises a plurality of incoming electronic axons, a plurality of neural modules, and a plurality of electronic synapses interconnecting the axons to the neural modules. Each synapse interconnects an axon with a neural module. Each neural module receives incoming spikes from interconnected axons. Each neural module represents a noisy-OR gate. Each neural module spikes probabilistically based on at least one random number generated by the pseudo-random number generator unit.

Claims (72)

1. A neural core circuit comprising:

a pseudo-random number generator (PRNG) for generating random numbers;

a plurality of incoming electronic axons;

a plurality of neural modules, wherein each neural module maintains one or more configurable probability values, wherein each neural module integrates incoming spikes probabilistically based in part on at least one random number generated by the PRNG and at least one of said probability values, wherein each neural module generates outgoing spikes probabilistically based in part on a comparison between at least one random number generated by the PRNG and at least one of said probability values, and wherein each neural module represents a noisy-OR gate; and

a plurality of electronic synapses interconnecting the axons with the neural modules, wherein each synapse interconnects an axon with a neural module, and wherein each neural module receives incoming spikes from interconnected axons.

2. The neural core circuit of claim 1 , wherein:

each neural module integrates incoming spikes received from interconnected axons;

each probability value maintained in each neural module represents a probability that said neural module integrates an incoming spike; and

each neural module computes a spiking probability of said neural module, wherein the computed spiking probability represents a probability that said neural module generates an outgoing spike.

3. The neural core circuit of claim 2 , wherein:

for each neural module:

the computed spiking probability is based on the number of integrated spikes and at least one of said probability values maintained in said neural module.

4. The neural core circuit of claim 3 , wherein each neural module:

retrieves a random number from the (PRNG); and

generates an outgoing spike only if the retrieved random number is less than the computed spiking probability.

5. The neural core circuit of claim 1 , wherein:

each probability value maintained in said neural module represents a probability that said neural module integrates an incoming spike; and

each neural module receives incoming spikes from interconnected axons.

6. The neural core circuit of claim 5 , wherein:

for each incoming spike received, each neural module:

retrieves a random number from the (PRNG); and

integrates said incoming spike only if the retrieved random number is less than a probability value maintained in said neural module.

7. The neural core circuit of claim 6 , wherein each neural module:

generates an outgoing spike only if the number of integrated spikes exceeds a configurable spiking threshold of said neural module.

8. The neural core circuit of claim 1 , wherein:

the neural core circuit is organized into a scalable noisy-OR neural network including multiple layers of neural core circuits, wherein outgoing spikes from neural modules of a layer are routed to incoming axons of a subsequent layer.

9. A method of generating spikes in a neural network, comprising:

receiving one or more incoming spikes from one or more incoming axons in a neural network;

maintaining one or more configurable probability values; and

in response to said one or more incoming spikes, for each neuron module:

probabilistically integrating the incoming spikes based in part on a comparison between at least one random number generated by a pseudo-random number generator (PRNG) and at least one of said probability values using a noisy-OR gate model; and

probabilistically generating an outgoing spike based in part on at least one random number generated by the PRNG and at least one of said probability values using the noisy-OR gate model.

10. The method of claim 9 , further comprising:

integrating incoming spikes received from interconnected axons; and

computing a spiking probability, wherein the computed spiking probability represents a probability of generating an outgoing spike;

wherein each probability value maintained represents a probability of integrating an incoming spike.

11. The method of claim 10 , wherein:

the computed spiking probability is based on the number of integrated spikes and at least one of said probability values.

12. The method of claim 11 , further comprising:

retrieving a random number from the PRNG; and

generating an outgoing spike only if the retrieved random number is less than the computed spiking probability.

13. The method of claim 9 , further comprising:

receiving incoming spikes from interconnected axons;

wherein each probability value maintained represents a probability of integrating an incoming spike.

14. The method of claim 13 , further comprising:

for each incoming spike received:

retrieving a random number from the PRNG; and

integrating said incoming spike only if the retrieved random number is less than a probability value maintained.

15. The method of claim 14 , further comprising:

for each neural module, generating an outgoing spike only if the number of integrated spikes exceeds a configurable spiking threshold.

16. The method of claim 9 , wherein:

the neural network is a multi-layered scalable noisy-OR neural network, wherein each outgoing spike generated in a layer is routed to incoming axons of a subsequent layer.

17. A non-transitory computer-useable storage medium for a neural core circuit comprising multiple incoming electronic axons and multiple neural modules, the computer-useable storage medium having a computer-readable program, wherein the program upon being processed on a computer causes the computer to implement:

interconnecting the axons with the neural modules via a synaptic interconnect network comprising plural electronic synapses, wherein each synapse interconnects an axon with a neural module, and wherein each neural module receives incoming spikes from interconnected axons; and

generating random numbers;

wherein each neural module maintains one or more configurable probability values, wherein each neural module integrates incoming spikes probabilistically based in part on a comparison between at least one random number generated by a pseudo-random number generator (PRNG) and at least one of said probability values, wherein each neural module generates outgoing spikes probabilistically based in part on at least one random number generated by the PRNG and at least one of said probability values, and wherein each neural module represents a noisy-OR gate.

18. The program of claim 17 , further causing the computer to implement:

for each neural module:

integrating incoming spikes received from interconnected axons;

computing a spiking probability, wherein the computed spiking probability represents a probability that said neural module generates an outgoing spike;

retrieving a random number; and

generating an outgoing spike only if the retrieved random number is less than the computed spiking probability;

wherein each probability value maintained in said neural module represents a probability that said neural module integrates an incoming spike; and

wherein the computed spiking probability is based on the number of integrated spikes and a probability value maintained in said neural module.

19. The program of claim 17 , further causing the computer to implement:

for each neural module:

receiving incoming spikes from interconnected axons;

for each incoming spike received, retrieving a random number and integrating said incoming spike only if the retrieved random number is less than a probability value maintained in said neural module; and

generating an outgoing spike only if the number of integrated spikes exceeds a configurable spiking threshold of said neural module;

wherein each probability value maintained in said neural module represents a probability that said neural module integrates an incoming spike.

20. The program of claim 17 , further causing the computer to implement:

organizing the neural core circuit into a scalable noisy-OR neural network including multiple layers of neural core circuits, wherein outgoing spikes from neural modules of a layer are routed to incoming axons of a subsequent layer.

Assignments (2)
CONFIRMATORY LICENSE Recorded Jul 27, 2015
From: INTERNATIONAL BUSINESS MACHINES
To: DARPA
Reel/Frame 036190/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2012
From: ARTHUR, JOHN V.; ESSER, STEVEN K.; MEROLLA, PAUL A.; MODHA, DHARMENDRA S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 028680/0762 →
Continuity (1)
Related Publication 20150286924A1 · Oct 8, 2015