NEURAL MODELING AND BRAIN-BASED DEVICES USING SPECIAL PURPOSE PROCESSOR
First Claim
1. A special purpose processor for implementing a synthetic neural model of the biological anatomy of selected areas of a human brain, in which the synthetic neural model models (i) groups of neural elements of selected neuronal areas of the brain and (ii) a synthetic connection scheme amongst the neural elements, each of the neural elements having a plurality of pre-synaptic input connections and a post-synaptic output connection, the special purpose processor comprising:
- (a) a plurality of neural processing units, each one being associated with a plurality of the neural elements, each of said neural processing units having(i) first local memory for storing information corresponding respectively to each of the plurality of neural elements associated with said one neural processing unit, said information including input value data for each synaptic input connection of said each of the plurality of neural elements and respective weight value data associated with each said synaptic input connection of said each of said plurality of elements; and
(ii) a programmed processor for (a) processing and performing pre-synaptic calculations on the input value data and the weight value data of each said neural element to produce respective output data for each said neural element, (b) for performing post-synaptic calculations on each said respective output data to produce a respective post-synaptic output data for each said neural element, and (c) for performing, in response to said respective post-synaptic output data, plasticity calculations for updating the weight value data;
(b) second memory external of said plurality of neural processing units for receiving and storing each said post-synaptic output data and said updated weight value data, said second memory having(i) an output storage table for storing each said post-synaptic output data for each said neural element of each said neural processing unit, and(ii) random access memory (RAM) for storing said updated weight value data; and
(c) a common distribution data bus for(i) receiving each said post-synaptic output data and said updated weight value data from each of said neural processing units and for storing each said post-synaptic output data and said updated weight value data in said second external memory, and(ii) receiving and distributing each said post-synaptic output data and said updated weight value data stored in said second external memory to said first local memory of said plurality of neural processing units in accordance with said connection scheme.
0 Assignments
0 Petitions
Accused Products
Abstract
A special purpose processor (SPP) can use a Field Programmable Gate Array (FPGA) or similar programmable device to model a large number of neural elements. The FPGAs can have multiple cores doing presynaptic, postsynaptic, and plasticity calculations in parallel. Each core can implement multiple neural elements of the neural model.
-
Citations
8 Claims
-
1. A special purpose processor for implementing a synthetic neural model of the biological anatomy of selected areas of a human brain, in which the synthetic neural model models (i) groups of neural elements of selected neuronal areas of the brain and (ii) a synthetic connection scheme amongst the neural elements, each of the neural elements having a plurality of pre-synaptic input connections and a post-synaptic output connection, the special purpose processor comprising:
-
(a) a plurality of neural processing units, each one being associated with a plurality of the neural elements, each of said neural processing units having (i) first local memory for storing information corresponding respectively to each of the plurality of neural elements associated with said one neural processing unit, said information including input value data for each synaptic input connection of said each of the plurality of neural elements and respective weight value data associated with each said synaptic input connection of said each of said plurality of elements; and (ii) a programmed processor for (a) processing and performing pre-synaptic calculations on the input value data and the weight value data of each said neural element to produce respective output data for each said neural element, (b) for performing post-synaptic calculations on each said respective output data to produce a respective post-synaptic output data for each said neural element, and (c) for performing, in response to said respective post-synaptic output data, plasticity calculations for updating the weight value data; (b) second memory external of said plurality of neural processing units for receiving and storing each said post-synaptic output data and said updated weight value data, said second memory having (i) an output storage table for storing each said post-synaptic output data for each said neural element of each said neural processing unit, and (ii) random access memory (RAM) for storing said updated weight value data; and (c) a common distribution data bus for (i) receiving each said post-synaptic output data and said updated weight value data from each of said neural processing units and for storing each said post-synaptic output data and said updated weight value data in said second external memory, and (ii) receiving and distributing each said post-synaptic output data and said updated weight value data stored in said second external memory to said first local memory of said plurality of neural processing units in accordance with said connection scheme. - View Dependent Claims (2)
-
-
3. A special purpose processor for implementing a synthetic neural model of the biological anatomy of selected areas of a human brain, in which the synthetic neural model models (i) groups of neural elements of selected neuronal areas of the brain and (ii) a synthetic connection scheme amongst the neural elements, each of the neural elements having a plurality of pre-synaptic input connections and a post-synaptic output connection, the special purpose processor comprising:
-
(a) a plurality of neural processing units, each one being associated with a plurality of the neural elements, each of said neural processing units having (i) first local memory for storing information corresponding respectively to each of the plurality of neural elements associated with said one neural processing unit, said information including input value data for each synaptic input connection of said each of the plurality of neural elements and respective weight value data associated with each said synaptic input connection of said each of said plurality of elements; and (ii) a programmed processor for (a) processing and performing pre-synaptic calculations on the input value data and the weight value data of each said neural element to produce respective output data for each said neural element, (b) for performing post-synaptic calculations on each said respective output data to produce a respective post-synaptic output data for each said neural element, and (c) for performing, in response to said respective post-synaptic output data, plasticity calculations for updating the weight value data; (b) second memory external of said plurality of neural processing units for receiving and storing each said post-synaptic output data and said updated weight value data; (c) a common distribution data bus for (i) receiving each said post-synaptic output data and said updated weight value data from each of said neural processing units and for storing each said post-synaptic output data and said updated weight value data in said second external memory, and (ii) receiving and distributing each said post-synaptic output data and said updated weight value data stored in said second external memory to said first local memory of said plurality of neural processing units in accordance with said connection scheme; and (d) means for preloading into said first local memory configuration data corresponding to the interconnection of said neural elements amongst said plurality of neural processing units.
-
-
4. A special purpose processor for implementing a synthetic neural model of the biological anatomy of selected areas of a human brain, in which the synthetic neural model models groups of neural elements of selected neuronal areas of the brain, each of the neural elements receiving a plurality of respective pre-synaptic inputs and providing a post-synaptic output, said special purpose processor comprising:
-
(a) a plurality of neural processing units, each one being associated with a plurality of the neural elements, each of said neural processing units having; (i) a first local memory for storing information corresponding respectively to each of the plurality of neural elements associated with said one neural processing unit, said information including data identifying different parameters of said one neural element, including (a) a static element description of a number of inputs to said neural element, (b) a static synaptic description of a plasticity mode of a synapse associated with said neural element, (c) dynamic synaptic weight variables of pre-synaptic input connections associated with said neural element, (d) dynamic input values for respective pre-synaptic inputs of said neural element, and (e) data identifying the synaptic interconnections of the plurality of neural elements of the plurality of neural processing units; and (ii) a programmed processor for processing and performing calculations on the dynamic synaptic weight variables and the dynamic input values, wherein said programmed processor, in response to receiving respective said dynamic synaptic weight variables and respective said dynamic input values for respective pre-synaptic inputs of one of said neural elements, calculates an updated post-synaptic output activity datum for said one neural element; and
wherein(iii) said neural processing unit is programmed to calculate updated dynamic synaptic weight variables and updated post-synaptic output activity data with respect to each one of said neural elements; (b) an output storage table for storing post-synaptic output activity data of each of said plurality of neural elements; (c) a data loader for loading the information into said first local memory for each said one neural element and for loading said post-synaptic output activity data of each said neural element into said output storage table, said data loader also functioning to load said updated variable weight data into said first local memory; (d) a second memory for storing said dynamic synaptic weight variables for each of said neural elements; (e) an address controller for providing addresses to each of said neural processing units to store the information and transfer said post-synaptic activity output data from said output storage table and said dynamic synaptic weight variables from said second memory into said first local memory; and (f) a system bus for transferring the dynamic synaptic weight variables and the dynamic input values between said first local memory and said output storage table and said second memory. - View Dependent Claims (5)
-
-
6. A special purpose processor for implementing a synthetic neural model of the biological anatomy of selected areas of a human brain, in which the synthetic neural model models groups of neural elements of selected neuronal areas of the brain, each of the neural elements receiving a plurality of respective pre-synaptic inputs and providing a post-synaptic output, said special purpose processor comprising:
-
(a) a plurality of neural processing units, each one being associated with a plurality of the neural elements, each of said neural processing units having; (i) a first local memory for storing information corresponding respectively to each of the plurality of neural elements associated with said one neural processing unit, said information including data identifying different parameters of said one neural element, including (a) a static element description of a number of inputs to said neural element, (b) a static synaptic description of a plasticity mode of a synapse associated with said neural element, (c) dynamic synaptic weight variables of pre-synaptic input connections associated with said neural element, (d) dynamic input values for respective pre-synaptic inputs of said neural element, and (e) data identifying the synaptic interconnections of the plurality of neural elements of the plurality of neural processing units; and (ii) a programmed processor for processing and performing calculations on the dynamic synaptic weight variables and the dynamic input values, wherein said programmed processor, in response to receiving respective said dynamic synaptic weight variables and respective said dynamic input values for respective pre-synaptic inputs of one of said neural elements, calculates an updated post-synaptic output activity datum for said one neural element; (b) an output storage table for storing post-synaptic output activity data of each of said plurality of neural elements; (c) a data loader for loading the information into said first local memory for each said one neural element and for loading said post-synaptic output activity data of each said neural element into said output storage table; (d) a second memory for storing said dynamic synaptic weight variables for each of said neural elements; (e) an address controller for providing addresses to each of said neural processing units to store the information and transfer said post-synaptic activity output data from said output storage table and said dynamic synaptic weight variables from said second memory into said first local memory; (f) a system bus for transferring the dynamic synaptic weight variables and the dynamic input values between said first local memory and said output storage table and said second memory; and (g) a system data bus for transferring data between said plurality of neural processing units and said second memory and said output storage table for each said neural element of each said neural processing unit.
-
-
7. A special purpose processor for implementing a synthetic neural model of the biological anatomy of selected areas of a human brain, in which the synthetic neural model models groups of neural elements of selected neuronal areas of the brain, each of the neural elements receiving a plurality of respective pre-synaptic inputs and providing a post-synaptic output, said special purpose processor comprising:
-
(a) a plurality of neural processing units, each one being associated with a plurality of the neural elements, each of said neural processing units having; (i) a first local memory for storing information corresponding respectively to each of the plurality of neural elements associated with said one neural processing unit, said information including data identifying different parameters of said one neural element, including (a) a static element description of a number of inputs to said neural element, (b) a static synaptic description of a plasticity mode of a synapse associated with said neural element, (c) dynamic synaptic weight variables of pre-synaptic input connections associated with said neural element, (d) dynamic input values for respective pre-synaptic inputs of said neural element, and (e) data identifying the synaptic interconnections of the plurality of neural elements of the plurality of neural processing units; and (ii) a programmed processor for processing and performing calculations on the dynamic synaptic weight variables and the dynamic input values, wherein said programmed processor, in response to receiving respective said dynamic synaptic weight variables and respective said dynamic input values for respective pre-synaptic inputs of one of said neural elements, calculates an updated post-synaptic output activity datum for said one neural element; (b) an output storage table for storing post-synaptic output activity data of each of said plurality of neural elements; (c) a data loader for loading the information into said first local memory for each said one neural element and for loading said post-synaptic output activity data of each said neural element into said output storage table; (d) a second memory for storing said dynamic synaptic weight variables for each of said neural elements; (e) an address controller for providing addresses to each of said neural processing units to store the information and transfer said post-synaptic activity output data from said output storage table and said dynamic synaptic weight variables from said second memory into said first local memory; (f) a system bus for transferring the dynamic synaptic weight variables and the dynamic input values between said first local memory and said output storage table and said second memory; and (g) wherein (i) said data loader accesses and sends the dynamic synaptic weight variables from said second memory to said system bus, (ii) said data loader accesses and sends pointers from said second memory to said output storage table which, in response, outputs said post-synaptic activity output data to said system bus, and (iii) wherein, in response, said system data bus sends said dynamic weight variables and said post-synaptic output activity data to a respective said neural processing unit. - View Dependent Claims (8)
-
Specification