The present invention relates to unsupervised, supervised and reinforced learning via spiking computation. The neural network comprises a plurality of neural modules. Each neural module comprises multiple digital neurons such that each neuron in a neural module has a corresponding neuron in another neural module. An interconnection network comprising a plurality of edges interconnects the plurality of neural modules. Each edge interconnects a first neural module to a second neural module, and each edge comprises a weighted synaptic connection between every neuron in the first neural module and a corresponding neuron in the second neural module.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method for feature extraction, comprising: providing input to a first neural module in a neural network comprising a plurality of neural modules interconnected via a plurality of weighted synaptic connections; extracting one or more input features from said input as said input propagates from said first neural module through said neural network via at least one of said weighted synaptic connections; providing output to a second neural module in said neural network; extracting one or more output features from said output as said output propagates from said second neural module through said neural network via at least one of said weighted synaptic connections; and associating said one or more input features with said one or more output features. 2. The method of claim 1, wherein: each neural module comprises multiple digital neurons; and each neuron in each neural module is connected to a corresponding neuron in another neural module via a weighted synaptic connection 3. The method of claim 1, further comprising: propagating said input from said first neural module through said neural network in a first direction via at least one of said weighted synaptic connections; and propagating said output from said second neural module through said neural network in a second direction via at least one of said weighted synaptic connections; wherein said first direction is different from said second direction. 4. The method of claim 3, wherein said first direction is opposite of said second direction. 5. The method of claim 3, further comprising: applying a learning rule to at least one of said weighted synaptic connections, such that said input is amplified as said input propagates from said first neural module through said neural network via said at least one weighted synaptic connection. 6. The method of claim 3, further comprising: applying a learning rule to at least one of said weighted synaptic connections, such that said output is amplified as said output propagates from said second neural module through said neural network via said at least one weighted synaptic connection. 7. The method of claim 2, further comprising: adaptively updating weights of said weighted synaptic connections as a function of firing events of the interconnected neurons. 8. A neural network, comprising: a plurality of neural modules including a first neural module for receiving input and a second neural module for receiving output; and a plurality of weighted synaptic connections interconnecting said neural modules; wherein said neural modules are configured to: extract one or more input features from said input as said input propagates from said first neural module through said neural network via at least one of said weighted synaptic connections; extract one or more output features from said output as said output propagates from said second neural module through said neural network via at least one of said weighted synaptic connections; and associate said one or more input features with said one or more output features. 9. The neural network of claim 8, wherein: each neural module comprises multiple digital neurons; and each neuron in each neural module is connected to a corresponding neuron in another neural module via a weighted synaptic connection. 10. The neural network of claim 8, wherein: said input propagates from said first neural module through said neural network in a first direction via at least one of said weighted synaptic connections; and said output propagates from said second neural module through said neural network in a second direction via at least one of said weighted synaptic connections; wherein said first direction is different from said second direction. 11. The neural network of claim 10, wherein said first direction is opposite of said second direction. 12. The neural network of claim 10, wherein: a learning rule is applied to at least one of said weighted synaptic connections, such that said input is amplified as said input propagates from said first neural module through said neural network via said at least one weighted synaptic connection. 13. The neural network of claim 10, wherein: a learning rule is applied to at least one of said weighted synaptic connections, such that said output is amplified as said output propagates from said second neural module through said neural network via said at least one weighted synaptic connection. 14. The neural network of claim 9, wherein: weights of said weighted synaptic connections are adaptively updated as a function of firing events of the interconnected neurons. 15. A non-transitory computer program product on a computer-readable medium for feature extraction, the computer program product comprising instructions which when executed on a computer cause the computer to perform operations including: providing input to a first neural module in a neural network comprising a plurality of neural modules interconnected via a plurality of weighted synaptic connections; extracting one or more input features from said input as said input propagates from said first neural module through said neural network via at least one of said weighted synaptic connections; providing output to a second neural module in said neural network; extracting one or more output features from said output as said output propagates from said second neural module through said neural network via at least one of said weighted synaptic connections; and associating said one or more input features with said one or more output features. 16. The computer program product of claim 15, wherein: each neural module comprises multiple digital neurons; and each neuron in each neural module is connected to a corresponding neuron in another neural module via a weighted synaptic connection 17. The computer program product of claim 15, wherein the computer program product further comprises instructions which when executed on a computer cause the computer to perform operations including: propagating said input from said first neural module through said neural network in a first direction via at least one of said weighted synaptic connections; and propagating said output from said second neural module through said neural network in a second direction via at least one of said weighted synaptic connections; wherein said first direction is different from said second direction. 18. The computer program product of claim 15, wherein said first direction is opposite of said second direction. 19. The computer program product of claim 17, wherein the computer program product further comprises instructions which when executed on a computer cause the computer to perform operations including: applying a learning rule to at least one of said weighted synaptic connections, such that said input is amplified as said input propagates from said first neural module through said neural network via said at least one weighted synaptic connection. 20. The computer program product of claim 17, wherein the computer program product further comprises instructions which when executed on a computer cause the computer to perform operations including: applying a learning rule to at least one of said weighted synaptic connections, such that said output is amplified as said output propagates from said second neural module through said neural network via said at least one weighted synaptic connection.