Neuromorphic Spike History Array for Efficient Timing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current spiking neuron network (SNN) systems require a large number of operations to maintain timing information for neuron spikes, which can be inefficient and cumbersome for updating synaptic weights based on timing differences.
Innovation Solution
A spike history array is implemented, where rows represent neurons and columns represent time slots, with only the current time slot updated for firing neurons, optimizing operations by clearing and resetting other columns, and using a now pointer to efficiently track timing information and adjust synaptic weights.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a comprehensive spike history is maintained for all neurons across all time slots, then timing information accuracy is improved, but the number of operations required to update and maintain this history increases
Solution Approach 1:
The patent extracts only the essential timing information needed for STDP calculations by maintaining a compact spike history that records only the last spike time for each neuron, rather than storing complete spike histories for all neurons across all time slots. This extraction approach preserves the necessary timing precision while dramatically reducing the computational burden of maintaining and updating the spike history.
Solution Approach 2:
The patent implements partial action by updating only the necessary portions of the spike history array - specifically, only the entries corresponding to neurons that have fired spikes need to be updated, rather than refreshing the entire array. This selective update mechanism maintains timing accuracy for active neurons while avoiding unnecessary operations on inactive neurons, thereby improving operational efficiency.
2Manufacturing precision
If complete timing information is stored for all neurons, then synaptic weight adjustment accuracy is improved, but the computational complexity and storage requirements increase
Solution Approach 1:
The patent segments the spike history storage into manageable units organized by neuron identifiers, where each neuron's spike history is stored in a separate, compact format. This segmentation allows the system to maintain precise timing information for synaptic weight adjustments while reducing overall computational complexity by enabling targeted access and updates to specific neuron entries without processing the entire history array.
Solution Approach 2:
The patent performs preliminary organization of spike timing data by pre-structuring the history array with neuron-specific entries and maintaining sorted or indexed access structures. This preliminary organization enables efficient retrieval of timing information when synaptic weight adjustments are needed, reducing the computational complexity of weight adjustment operations while preserving the accuracy required for proper STDP implementation.
Data Source
Figure 1
Figure 2~3
Figure 4~5
AI summary
Provided are a neuromorphic computing device, memory device, system, and method to maintain a spike history for neurons in a spiking neural network. A neural network spike history is generated in a memory device having an array of rows and columns of memory cells. There is one row of the rows for each of a plurality of neurons and columns for each of a plurality of time slots. Indication is made in a current column in the row of the memory cells for a firing neuron that a spike was fired. Indication is made in the current column in rows of memory cells of idle neurons that did not fire that a spike was not fired. Information in the array is used to determine a timing difference between a connected neuron and the firing neuron and to adjust a weight of the connecting synapse.