A neural system comprises multiple neurons interconnected via synapse devices. Each neuron integrates input signals arriving on its dendrite, generates a spike in response to the integrated input signals exceeding a threshold, and sends the spike to the interconnected neurons via its axon. The system further includes multiple noruens, each noruen is interconnected via the interconnect network with those neurons that the noruen's corresponding neuron sends its axon to. Each noruen integrates input spikes from connected spiking neurons and generates a spike in response to the integrated input spikes exceeding a threshold. There can be one noruen for every corresponding neuron. For a first neuron connected via its axon via a synapse to dendrite of a second neuron, a noruen corresponding to the second neuron is connected via its axon through the same synapse to dendrite of the noruen corresponding to the first neuron.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A neural network, comprising: multiple neurons for generating spike signals representing different event types, wherein each neuron is interconnected with at least one other neuron via an interconnect network comprising a plurality of synapse devices; and multiple noruen sets for updating synaptic weights of the synapse devices based on different learning rules, wherein each noruen set corresponds to a particular event type and applies a particular learning rule to update the synaptic weights in response to spike signals representing the particular event type; wherein each noruen set comprises multiple noruens, wherein each noruen corresponds one-to-one to a neuron, and wherein each noruen comprises a symmetric dual of a corresponding neuron. 2. The neural network of claim 1, wherein: each neuron implements spiking dynamics comprising generating an output spike signal in response to input spike signals; and each noruen implements the same spiking dynamics as a corresponding neuron. 3. The neural network of claim 2, wherein: each neuron integrates input spike signals, generates an output spike signal in response to the integrated input spike signals exceeding a threshold, and sends the output spike signal to one or more interconnected neurons; each noruen is interconnected, via the interconnect network, with one or more neurons that a corresponding neuron sends an output spike signal to; and each noruen integrates input spike signals from interconnected spiking neurons and generates an output spike signal in response to the integrated input spike signals exceeding a threshold. 4. The neural network of claim 3, wherein: the different event types include a first event type and a second event type; and the noruen sets comprise: a first noruen set for updating synaptic weights of the synapse devices based on a first learning rule, wherein the first learning rule is applied to update synaptic weights of the synapse devices in response to one or more spiking neurons generating output spike signals representing the first event type; and a second noruen set for updating synaptic weights of the synapse devices based on a second learning rule, wherein the second learning rule is applied to update synaptic weights of the synapse devices in response to one or more spiking neurons generating spike signals representing the second event type. 5. The neural network of claim 4, wherein: the multiple neurons include a set of neurons that contribute to a spiking neuron generating an output spike signal representing the first event type; each neuron of the set of neurons corresponds to a noruen of the first noruen set; and each noruen corresponding to a neuron of the set of neurons generates an output spike signal when the corresponding neuron spikes within a pre-determined time window, wherein the output spike signal propagates through the first noruen set. 6. The neural network of claim 4, wherein: the multiple neurons include a set of neurons that contribute to a spiking neuron generating an output spike signal representing the second event type; each neuron of the set of neurons corresponds to a noruen of the second noruen set; and each noruen corresponding to a neuron of the set of neurons generates an output spike signal when the corresponding neuron spikes within a pre-determined time window, wherein the output spike signal propagates through the second noruen set. 7. The neural network of claim 4, wherein: the first event type indicates a positive outcome; the second event type indicates a negative outcome; spike signals indicating positive outcomes propagate through the first noruen set; and spike signals indicating negative outcomes propagate through the second noruen set. 8. The neural network of claim 4, wherein: the first learning rule implements spike-timing dependent plasticity (STDP); and the second learning rule implements anti-STDP. 9. A method for implementing structural plasticity in a neural network comprising multiple neurons, the method comprising: interconnecting each neuron with at least one other neuron via an interconnect network comprising a plurality of synapse devices; generating spike signals representing different event types; and updating synaptic weights of the synapse devices based on different learning rules via multiple noruen sets, wherein each noruen set corresponds to a particular event type and applies a particular learning rule to update the synaptic weights in response to spike signals representing the particular event type; wherein each noruen set comprises multiple noruens, wherein each noruen corresponds one-to-one to a neuron, and wherein each noruen comprises a symmetric dual of a corresponding neuron. 10. The method of claim 9, wherein: each neuron implements spiking dynamics comprising generating an output spike signal in response to input spike signals; and each noruen implements the same spiking dynamics as a corresponding neuron. 11. The method of claim 10, further comprising: each neuron integrating input spike signals, generating an output spike signal in response to the integrated input spike signals exceeding a threshold, and sending the output spike signal to one or more interconnected neurons; wherein each noruen is interconnected, via the interconnect network, with one or more neurons that a corresponding neuron sends an output spike signal to; and wherein each noruen integrates input spike signals from interconnected spiking neurons and generates an output spike signal in response to the integrated input spike signals exceeding a threshold. 12. The method of claim 11, further comprising: updating synaptic weights of the synapse devices based on a first learning rule via a first noruen set, wherein the first learning rule is applied to update synaptic weights of the synapse devices in response to one or more spiking neurons generating output spike signals representing a first event type; and updating synaptic weights of the synapse devices based on a second learning rule via a second noruen set, wherein the second learning rule is applied to update synaptic weights of the synapse devices in response to one or more spiking neurons generating spike signals representing a second event type. 13. The method of claim 12, further comprising: identifying a set of neurons that contribute to a spiking neuron generating an output spike signal representing the first event type, wherein each neuron of the set of neurons corresponds to a noruen of the first noruen set; and for each noruen corresponding to a neuron of the set of neurons: generating an output spike signal when the corresponding neuron spikes within a pre-determined time window; and propagating the output spike signal through the first noruen set. 14. The method of claim 12, further comprising: identifying a set of neurons that contribute to a spiking neuron generating an output spike signal representing the second event type, wherein each neuron of the set of neurons corresponds to a noruen of the second noruen set; and for each noruen corresponding to a neuron of the set of neurons: generating an output spike signal when the corresponding neuron spikes within a pre-determined time window; and propagating the output spike signal through the second noruen set. 15. The method of claim 12, further comprising: propagating spike signals representing the first event type through the first noruen set, wherein the first event type indicates a positive outcome; and propagating spike signals representing the second event type through the second noruen set, wherein the second event type indicates a negative outcome. 16. The method of claim 12, wherein: the first learning rule implements spike-timing dependent plasticity (STDP); and the second learning rule implements anti-STDP. 17. A computer program product for implementing structural plasticity in a neural network comprising multiple neurons, the computer program product comprising a computer-readable storage medium having program code embodied therewith, the program code being executable by a computer to: interconnect each neuron with at least one other neuron via an interconnect network comprising a plurality of synapse devices; generate spike signals representing different event types; and update synaptic weights of the synapse devices based on different learning rules via multiple noruen sets, wherein each noruen set corresponds to a particular event type and applies a particular learning rule to update the synaptic weights in response to spike signals representing the particular event type; wherein each noruen set comprises multiple noruens, wherein each noruen corresponds one-to-one to a neuron, and wherein each noruen comprises a symmetric dual of a corresponding neuron. 18. The computer program product of claim 17, the program code further executable by a computer to: for each neuron, integrate input spike signals, generate an output spike signal in response to the integrated input spike signals exceeding a threshold, and send the output spike signal to one or more interconnected neurons; wherein each noruen is interconnected, via the interconnect network, with one or more neurons that a corresponding neuron sends an output spike signal to; and wherein each noruen integrates input spike signals from interconnected spiking neurons and generates an output spike signal in response to the integrated input spike signals exceeding a threshold. 19. The computer program product of claim 17, the program code further executable by a computer to: update synaptic weights of the synapse devices based on a first learning rule via a first noruen set, wherein the first learning rule is applied to update synaptic weights of the synapse devices in response to one or more spiking neurons generating output spike signals representing a first event type; update synaptic weights of the synapse devices based on a second learning rule via a second noruen set, wherein the second learning rule is applied to update synaptic weights of the synapse devices in response to one or more spiking neurons generating spike signals representing a second event type; identify a first set of neurons that contribute to a spiking neuron generating an output spike signal representing the first event type, wherein each neuron of the first set of neurons corresponds to a noruen of the first noruen set; for each noruen corresponding to a neuron of the first set of neurons: generate an output spike signal when the corresponding neuron spikes within a pre-determined time window; and propagate the output spike signal through the first noruen set; identify a second set of neurons that contribute to a spiking neuron generating an output spike signal representing the second event type, wherein each neuron of the second set of neurons corresponds to a noruen of the second noruen set; and for each noruen corresponding to a neuron of the second set of neurons: generate an output spike signal when the corresponding neuron spikes within a pre-determined time window; and propagate the output spike signal through the second noruen set. 20. The computer program product of claim 19, the program code further executable by a computer to: propagate spike signals representing the first event type through the first noruen set, wherein the first event type indicates a positive outcome; and propagate spike signals representing the second event type through the second noruen set, wherein the second event type indicates a negative outcome wherein the first learning rule implements spike-timing dependent plasticity (STDP); and wherein the second learning rule implements anti-STDP.