Methods and apparatus are provided for identifying environmental stimuli in an artificial nervous system using both spiking onset and spike counting. One example method of operating an artificial nervous system generally includes receiving a stimulus; generating, at an artificial neuron, a spike train of two or more spikes based at least in part on the stimulus; identifying the stimulus based at least in part on an onset of the spike train; and checking the identified stimulus based at least in part on a rate of the spikes in the spike train. In this manner, certain aspects of the present disclosure may respond with short response latencies and may also maintain accuracy by allowing for error correction.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method for operating an artificial nervous system, comprising: receiving a stimulus; generating, at a first device, a spike train of two or more spikes based at least in part on the stimulus; identifying the stimulus based at least in part on an onset of the spike train; and checking the identified stimulus based at least in part on a rate of the spikes in the spike train. 2. The method of claim 1, further comprising inhibiting a behavior associated with the identified stimulus if the checking fails. 3. The method of claim 1, wherein identifying the stimulus comprises generating, at a second device, a first spike based at least in part on the onset of the spike train. 4. The method of claim 3, further comprising: generating, at the second device, a second spike based at least in part on the rate of spikes in the spike train, wherein the second spike occurs subsequent to the first spike. 5. The method of claim 4, wherein checking the identified stimulus comprises determining whether an interval between the first spike and the second spike corresponds to the identified stimulus. 6. The method of claim 3, wherein the first device neuron is a receptor artificial neuron and wherein the second device is a detector artificial neuron connected with the receptor artificial neuron via an artificial synapse. 7. The method of claim 1, wherein an input strength of the stimulus is proportional to the rate of spikes and inversely proportional to the onset of the spike train. 8. The method of claim 1, further comprising determining the onset of the spike train based on at least one of the foremost spike in the spike train or a set of initial spikes in the spike train. 9. The method of claim 1, further comprising determining the onset of the spike train based on a time difference between a reference signal and the foremost spike in the spike train. 10. The method of claim 1, further comprising determining the onset of the spike train based on a transient increase in spike probability. 11. The method of claim 1, wherein the rate of spikes is averaged over a longer period of time than the onset is determined. 12. The method of claim 1, further comprising updating a representation of the identified stimulus with a corrected stimulus if the checking fails. 13. The method of claim 11, further comprising outputting an additive signal to generate a behavior associated with the corrected stimulus. 14. The method of claim 1, further comprising outputting a notification if the checking fails. 15. The method of claim 1, wherein the generating comprises generating the spike train based at least in part on the stimulus and an encoding scheme. 16. An apparatus for operating an artificial nervous system, comprising: a processing system configured to: receive a stimulus; generate a spike train of two or more spikes based at least in part on the stimulus; identify the stimulus based at least in part on an onset of the spike train; and check the identified stimulus based at least in part on a rate of the spikes in the spike train; and a memory coupled to the processing system. 17. An apparatus for operating an artificial nervous system, comprising: means for receiving a stimulus; means for generating a spike train of two or more spikes based at least in part on the stimulus; means for identifying the stimulus based at least in part on an onset of the spike train; and means for checking the identified stimulus based at least in part on a rate of the spikes in the spike train. 18. A computer program product for operating an artificial nervous system, comprising a non-transitory computer-readable medium having instructions executable to: receive a stimulus; generate a spike train of two or more spikes based at least in part on the stimulus; identify the stimulus based at least in part on an onset of the spike train; and check the identified stimulus based at least in part on a rate of the spikes in the spike train. 19. A method for identifying a stimulus in an artificial nervous system, comprising: receiving a spike train of two or more spikes at an artificial neuron; outputting a first spike from the artificial neuron based at least in part on the onset of the spike train; and outputting a second spike from the artificial neuron based at least in part on a rate of the spikes in the spike train. 20. The method of claim 19, wherein an interval between the first spike and the second spike is used to check whether the stimulus, as identified based at least in part on the onset of the spike train, is correct. 21. The method of claim 19, wherein the first spike corresponds to an estimate of the stimulus. 22. The method of claim 19, wherein the second spike is used to improve the estimate of the stimulus. 23. The method of claim 19, wherein a timing of the second spike is based on an integration of multiple spikes in the spike train. 24. The method of claim 19, wherein an input strength of the stimulus is proportional to the rate of spikes and inversely proportional to the onset of the spike train. 25. An apparatus for identifying a stimulus in an artificial nervous system, comprising: a processing system configured to: receive a spike train of two or more spikes at an artificial neuron; output a first spike from the artificial neuron based at least in part on the onset of the spike train; and output a second spike from the artificial neuron based at least in part on a rate of the spikes in the spike train; and a memory coupled to the processing system. 26. An apparatus for identifying a stimulus in an artificial nervous system, comprising: means for receiving a spike train of two or more spikes at an artificial neuron; means for outputting a first spike from the artificial neuron based at least in part on the onset of the spike train; and means for outputting a second spike from the artificial neuron based at least in part on a rate of the spikes in the spike train. 27. A computer program product for identifying a stimulus in an artificial nervous system, comprising a non-transitory computer-readable medium having instructions executable to: receive a spike train of two or more spikes at an artificial neuron; output a first spike from the artificial neuron based at least in part on the onset of the spike train; and output a second spike from the artificial neuron based at least in part on a rate of the spikes in the spike train.