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: receiving an input at a neural network comprising a plurality of neural modules interconnected via a plurality of weighted synaptic connections; extracting one or more input features from the input as the input propagates through the neural network via at least one of the weighted synaptic connections; associating the one or more input features with the input; and in response to receiving a version of the input at the neural network, producing an approximation of the version of the input by reproducing the input. 2. The method of claim 1, wherein: each neural module comprises multiple neurons; and each neuron in each neural module is connected to a corresponding neuron in another neural module via a weighted synaptic connection of the weighted synaptic connections. 3. The method of claim 1, wherein the version of the input is a noisy version. 4. The method of claim 2, further comprising: adaptively updating weights of the weighted synaptic connections as a function of firing events of interconnected neurons. 5. The method of claim 1, further comprising: applying at least one learning rule to the at least one weighted synaptic connection, such that the input is amplified as the input propagates through the neural network via the at least one weighted synaptic connection. 6. A system comprising a computer processor, a computer-readable hardware storage medium, and program code embodied with the computer-readable hardware storage medium for execution by the computer processor to implement a method comprising: receiving an input at a neural network comprising a plurality of neural modules interconnected via a plurality of weighted synaptic connections; extracting one or more input features from the input as the input propagates through the neural network via at least one of the weighted synaptic connections; applying at least one learning rule to the at least one weighted synaptic connection, such that the input is amplified as the input propagates through the neural network via the at least one weighted synaptic connection; associating the one or more input features with the input; and in response to receiving a version of the input at the neural network, producing an approximation of the version of the input by reproducing the input. 7. The system of claim 6, wherein: each neural module comprises multiple neurons; and each neuron in each neural module is connected to a corresponding neuron in another neural module via a weighted synaptic connection. 8. The system of claim 6, wherein the version of the input is a noisy version. 9. The system of claim 7, the method further comprising: adaptively updating weights of the weighted synaptic connections as a function of firing events of interconnected neurons. 10. The system of claim 6, the method further comprising: applying at least one learning rule to the at least one weighted synaptic connection, such that the input is amplified as the input propagates through the neural network via the at least one weighted synaptic connection. 11. A computer program product comprising a computer-readable hardware storage device having program code embodied therewith, the program code being executable by a computer to implement a method comprising: receiving an input at a neural network comprising a plurality of neural modules interconnected via a plurality of weighted synaptic connections; extracting one or more input features from the input as the input propagates through the neural network via at least one of the weighted synaptic connections; applying at least one learning rule to the at least one weighted synaptic connection, such that the input is amplified as the input propagates through the neural network via the at least one weighted synaptic connection; associating the one or more input features with the input; and in response to receiving a version of the input at the neural network, producing an approximation of the version of the input by reproducing the input. 12. The computer program product of claim 11, wherein: each neural module comprises multiple neurons; and each neuron in each neural module is connected to a corresponding neuron in another neural module via a weighted synaptic connection of the weighted synaptic connections. 13. The computer program product of claim 11, wherein the version of the input is a noisy version. 14. The computer program product of claim 12, the method further comprising: adaptively updating weights of the weighted synaptic connections as a function of firing events of interconnected neurons. 15. The computer program product of claim 11, the method further comprising: applying at least one learning rule to the at least one weighted synaptic connection, such that the input is amplified as the input propagates through the neural network via the at least one weighted synaptic connection.