The present invention provides an event-driven universal neural network circuit. The circuit 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 digital synapses interconnects the neural modules. Each synapse interconnects a first neural module to a second neural module by interconnecting a neuron in the first neural module to a corresponding neuron in the second neural module. Corresponding neurons in the first neural module and the second neural module communicate via the synapses. Each synapse comprises a learning rule associating a neuron in the first neural module with a corresponding neuron in the second neural module. A control module generates signals which define a set of time steps for event-driven operation of the neurons and event communication via the interconnection network.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method comprising: at a neural network circuit comprising a plurality of neurons interconnected via a plurality of synapses: applying a first set of learning rules to a first set of synapses of the plurality of synapses, wherein the first set of synapses has a first synapse type; applying a second set of learning rules to a second set of synapses of the plurality of synapses, wherein the second set of synapses has a second synapse type, and the second set of learning rules is a reverse of the first set of learning rules; receiving at least one input event at a first set of neurons of the plurality of neurons; and generating at least one output event at a second set of neurons of the plurality of neurons. 2. The method of claim 1, wherein each input event received is a sensory input. 3. The method of claim 1, wherein each output event generated is a motor output. 4. The method of claim 1, wherein the first set of synapses and the second set of synapses are symmetric duals of each other. 5. The method of claim 1, wherein applying the first set of learning rules to the first set of synapses comprises adapting at least one synaptic weight of at least one synapse of the first set of synapses based on the first set of learning rules and at least one firing event of at least one neuron connected to the at least one synapse. 6. The method of claim 1, wherein applying the second set of learning rules to the second set of synapses comprises adapting at least one synaptic weight of at least one synapse of the second set of synapses based on the second set of learning rules and at least one firing event of at least one neuron connected to the at least one synapse. 7. The method of claim 1, wherein each set of learning rules comprises one of the following: Hebbian, anti-Hebbian, spike-timing-dependent-plasticity (STDP), and anti-STDP. 8. A neural network circuit, comprising: a plurality of neurons; and a plurality of synapses interconnecting the plurality of neurons; wherein the plurality of neurons comprise a first set of neurons for receiving at least one input event; wherein the plurality of neurons further comprises a second set of neurons for generating at least one output event; wherein a first set of learning rules is applied to a first set of synapses of the plurality of synapses, the first set of synapses having a first synapse type; and wherein a second set of learning rules is applied to a second set of synapses of the plurality of synapses, the second set of synapses having a second synapse type, and the second set of learning rules is a reverse of the first set of learning rules. 9. The neural network circuit of claim 8, wherein each input event received is a sensory input. 10. The neural network circuit of claim 8, wherein each output event generated is a motor output. 11. The neural network circuit of claim 8, wherein the first set of synapses and the second set of synapses are symmetric duals of each other. 12. The neural network circuit of claim 8, wherein at least one synaptic weight of at least one synapse of the first set of synapses is adapted based on the first set of learning rules and at least one firing event of at least one neuron connected to the at least one synapse. 13. The neural network circuit of claim 8, wherein at least one synaptic weight of at least one synapse of the second set of synapses is adapted based on the second set of learning rules and at least one firing event of at least one neuron connected to the at least one synapse. 14. A computer program product comprising a computer-readable hardware storage medium having program code embodied therewith, the program code being executable by a computer to implement a method comprising: at a neural network circuit comprising a plurality of neurons interconnected via a plurality of synapses: applying a first set of learning rules to a first set of synapses of the plurality of synapses, wherein the first set of synapses has a first synapse type; applying a second set of learning rules to a second set of synapses of the plurality of synapses, wherein the second set of synapses has a second synapse type, and the second set of learning rules is a reverse of the first set of learning rules; receiving at least one input event at a first set of neurons of the plurality of neurons; and generating at least one output event at a second set of neurons of the plurality of neurons. 15. The computer program product of claim 14, wherein each input event received is a sensory input. 16. The computer program product of claim 14, wherein each output event generated is a motor output. 17. The computer program product of claim 14, wherein the first set of synapses and the second set of synapses are symmetric duals of each other. 18. The computer program product of claim 14, wherein applying the first set of learning rules to the first set of synapses comprises adapting at least one synaptic weight of at least one synapse of the first set of synapses based on the first set of learning rules and at least one firing event of at least one neuron connected to the at least one synapse. 19. The computer program product of claim 14, wherein applying the second set of learning rules to the second set of synapses comprises adapting at least one synaptic weight of at least one synapse of the second set of synapses based on the second set of learning rules and at least one firing event of at least one neuron connected to the at least one synapse.