IP Library Granted Patent US 10,423,879
Granted Patent B2
US 10,423,879 · App. 14/994,940 · Granted Sep 24, 2019

Efficient generation of stochastic spike patterns in core-based neuromorphic systems

Inventors: Arnon Amir (Santa Clara, CA); Antonio J. Jimeno Yepes (Victoria, AU); Jianbin Tang (Victoria, AU)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06N3/08G06N3/049G06N3/0454G06N3/0472G06N3/063G06N3/0635
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 10,423,879
App. No.
14/994,940
Granted
Sep 24, 2019
Kind
B2
Abstract

Weighted population code in neuromorphic systems is provided. According to an embodiment, a plurality of input values is received. For each of the plurality of values, a plurality of spikes is generated. Each of the plurality of spikes has an associated weight. A consumption time is determined for each of the plurality of spikes. Each of the plurality of spikes is sent for consumption at its consumption time.

Claims (52)

1. A method comprising:

receiving a plurality of input values;

for each of the plurality of values, generating a plurality of spikes, each of the plurality of spikes having an associated weight, wherein each of the associated weights is selected from a predetermined set of weights, wherein the set of weights is determined based on a range of the plurality of input values, and wherein the set of weights is determined to minimize a cardinality of the plurality of spikes;

determining a consumption time for each of the plurality of spikes;

sending each of the plurality of spikes for consumption at its consumption time.

2. The method of claim 1 , wherein the consumption time for each of the plurality of spikes is selected from a predetermined set of consumption times.

3. The method of claim 1 , wherein sending each of the plurality of spikes comprises sending a delay instruction corresponding to its consumption time.

4. The method of claim 1 , wherein the set of weights is determined to minimize a cardinality of the plurality of spikes for those of the plurality of values within a predetermined range.

5. The method of claim 1 , wherein the consumption time of the plurality of spikes is within a predetermined setup period.

6. A method comprising:

receiving at a first neuromorphic system a first plurality of spikes, the first plurality of spikes encoding a first value according to a first encoding, wherein the first encoding associates a weight with each of the first plurality of spikes, wherein the weights of the first plurality of spikes are determined to minimize a cardinality of the first plurality of spikes;

generating from the first plurality of spikes a second plurality of spikes, the second plurality of spikes encoding the first value according to a second encoding;

providing the second plurality of spikes to a second neuromorphic system.

7. The method of claim 6 , further comprising:

receiving at the first neuromorphic system a plurality of delays, each of the plurality of delays associated with one of the first plurality of spikes;

delaying each of the first plurality of spikes by its associated delay.

8. The method of claim 6 , wherein receiving the first plurality of spikes comprises:

receiving a first subset of the first plurality of spikes during a first time window;

receiving a second subset of the first plurality of spikes during a second time window.

9. The method of claim 6 , wherein generating the second plurality of spikes comprises:

applying the weights of the first encoding to the first plurality of spikes.

10. The method of claim 6 , wherein each of the first plurality of spikes is received in one of a predetermined number of time windows.

11. The method of claim 6 , wherein each of the plurality of spikes represents a discrete value.

12. The method of claim 6 , wherein each of the plurality of spikes represents a continuous value.

13. The method of claim 6 , wherein generating the second plurality of spikes comprises:

determining a probability from the weights of the first encoding and the first plurality of spikes.

14. The method of claim 6 , further comprising:

providing output to the second neuromorphic system, and concurrently therewith,

receiving at the first neuromorphic system a third plurality of spikes, the third plurality of spikes encoding a second value according to the first encoding.

15. The method of claim 6 , further comprising:

receiving at the first neuromorphic system a third plurality of spikes, the third plurality of spikes encoding the difference between a second value and the first value according to the first encoding;

generating from the third plurality of spikes a fourth plurality of spikes, the fourth plurality of spikes encoding the second value according to the second encoding;

providing the fourth plurality of spikes to the second neuromorphic system.

16. The method of claim 6 , wherein the second neuromorphic system comprises a classifier.

17. A method comprising:

receiving at a neuromorphic system a first plurality of spikes, the first plurality of spikes encoding a first value according to a first encoding, wherein the first encoding associates a weight with each of the first plurality of spikes, wherein the set of weights of the first plurality of spikes is determined to minimize a cardinality of the plurality of the first plurality of spikes;

generating from the first plurality of spikes a plurality of sets of spikes, each of the plurality of sets of spikes encoding the first value according to a second encoding;

providing each of the plurality of sets of spikes to one of a plurality of classifiers in the neuromorphic system.

18. A system comprising:

a neuromorphic network comprising a plurality of input axons, and a plurality of stochastic neurons connected thereto;

an encoder operatively coupled to the plurality of input axons, the encoder configured to send to the input axons a first plurality of spikes, the first plurality of spikes encoding a first value according to a first encoding, wherein the first encoding associates a weight with each of the first plurality of spikes, wherein the weights of the first plurality of spikes are determined to minimize a cardinality of the first plurality of spikes,

the neuromorphic network configured to generate from the first plurality of spikes a second plurality of spikes, the second plurality of spikes encoding the first value according to a second encoding.

19. The method of claim 17 , further comprising:

receiving at the first neuromorphic system a plurality of delays, each of the plurality of delays associated with one of the first plurality of spikes;

delaying each of the first plurality of spikes by its associated delay.

20. The method of claim 17 , wherein receiving the first plurality of spikes comprises:

receiving a first subset of the first plurality of spikes during a first time window;

receiving a second subset of the first plurality of spikes during a second time window.

21. The method of claim 17 , wherein generating the plurality of sets of spikes comprises:

applying the weights of the first encoding to the first plurality of spikes.

22. The method of claim 17 , wherein generating the plurality of sets of spikes comprises:

determining a probability from the weights of the first encoding and the first plurality of spikes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2016
From: AMIR, ARNON; JIMENO YEPES, ANTONIO J.; TANG, JIANBIN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 037494/0094 →
Continuity (1)
Related Publication 20170200079A1 · Jul 13, 2017