SYSTEM AND METHOD FOR DECODING SPIKING RESERVOIRS WITH CONTINUOUS SYNAPTIC PLASTICITY
20170316310 · 2017-11-02
Inventors
Cpc classification
G06V20/58
PHYSICS
G06N3/049
PHYSICS
International classification
Abstract
Described is a system for decoding spiking reservoirs even when the spiking reservoir has continuous synaptic plasticity. The system uses a set of training patterns to train a neural network having a spiking reservoir comprised of spiking neurons. A test pattern duration d is estimated for a set of test patterns P, and each test pattern is presented to the spiking reservoir for a duration of d/P seconds. Output spikes from the spiking reservoir are generated via readout neurons. The output spikes are measured and the measurements are used to compute firing rate codes, each firing rate code corresponding to a test pattern in the set of test patterns P. The firing rate codes are used to decode performance of the neural network by computing a discriminability index (DI) to discriminate between test patterns in the set of test patterns P.
Claims
1. A system for decoding output from spiking reservoirs, the system comprising: one or more processors and a non-transitory memory having instructions encoded thereon such that when the instructions are executed, the one or more processors perform operations of: training a neural network having a spiking reservoir comprised of spiking neurons by using a set of training patterns; presenting each test pattern in a set of test patterns to the spiking reservoir; generating output spikes from the spiking reservoir via a set of readout neurons; measuring the output spikes, resulting in a plurality of measurements, and using the plurality of measurements to compute firing rate codes, each firing rate code corresponding to a test pattern in the set of test patterns P; and decoding performance of the neural network, using the firing rate codes, by computing a discriminability index (DI) to discriminate between test patterns in the set of test patterns P.
2. The system as set forth in claim 1, wherein the neural network exhibits continuous plasticity.
3. The system as set forth in claim 1, wherein the one or more processors further perform operations of: computing, for each test pattern p, firing rates f.sub.i.sup.p of a sink neuron i in the neural network as the total number of output spikes during a duration d; estimating a maximum firing rate f.sub.max.sup.p from the firing rates f.sub.i.sup.p of all sink neurons in the neural network for the test pattern p; and computing a firing rate code for each test pattern p using f.sub.max.sup.p and f.sub.i.sup.p.
4. The system as set forth in claim 3, wherein the DI is a product of a separability measure, ε, and a uniqueness measure, γ, wherein the separability measure is defined as a measure of a degree of separation of firing rate codes for the set of test patterns P, and wherein the uniqueness measure is defined as a number of unique firing rate codes produced by the neural network relative to a maximum possible number of unique firing rate codes.
5. The system as set forth in claim 4, wherein the separability measure is computed according to the following:
6. The system as set forth in claim 5, wherein the uniqueness measure is computed according to the following:
7. A computer-implemented method for decoding output from spiking reservoirs, comprising: an act of causing one or more processors to execute instructions stored on a non-transitory memory such that upon execution, the one or more processors perform operations of: training a neural network having a spiking reservoir comprised of spiking neurons by using a set of training patterns; presenting each test pattern in a set of test patterns to the spiking reservoir; generating output spikes from the spiking reservoir via a set of readout neurons; measuring the output spikes, resulting in a plurality of measurements, and using the plurality of measurements to compute firing rate codes, each firing rate code corresponding to a test pattern in the set of test patterns P; and decoding performance of the neural network, using the firing rate codes, by computing a discriminability index (DI) to discriminate between test patterns in the set of test patterns P.
8. The method as set forth in claim 7, wherein the neural network exhibits continuous plasticity.
9. The method as set forth in claim 7, wherein the one or more processors further perform operations of: computing, for each test pattern p, firing rates f.sub.i.sup.p of a sink neuron i in the neural network as the total number of output spikes during a duration d; estimating a maximum firing rate f.sub.max.sup.p from the firing rates f.sub.i.sup.p of all sink neurons in the neural network for the test pattern p; and computing a firing rate code for each test pattern p using f.sub.max.sup.p and f.sub.i.sup.p.
10. The method as set forth in claim 9, wherein the DI is a product of a separability measure, ε, and a uniqueness measure, γ, wherein the separability measure is defined as a measure of a degree of separation of firing rate codes for the set of test patterns P, and wherein the uniqueness measure is defined as a number of unique firing rate codes produced by the neural network relative to a maximum possible number of unique firing rate codes.
11. The method as set forth in claim 10, wherein the separability measure is computed according to the following:
12. The method as set forth in claim 11, wherein the uniqueness measure is computed according to the following:
13. A computer program product for decoding output from spiking reservoirs, the computer program product comprising: computer-readable instructions stored on a non-transitory computer-readable medium that are executable by a computer having one or more processors for causing the processor to perform operations of: training a neural network having a spiking reservoir comprised of spiking neurons by using a set of training patterns; presenting each test pattern in a set of test patterns to the spiking reservoir; generating output spikes from the spiking reservoir via a set of readout neurons; measuring the output spikes, resulting in a plurality of measurements, and using the plurality of measurements to compute firing rate codes, each firing rate code corresponding to a test pattern in the set of test patterns P; and decoding performance of the neural network, using the firing rate codes, by computing a discriminability index (DI) to discriminate between test patterns in the set of test patterns P.
14. The computer program product as set forth in claim 13, wherein the neural network exhibits continuous plasticity.
15. The computer program product as set forth in claim 13, further comprising instructions for causing the one or more processors to perform operations of: computing, for each test pattern p, firing rates f.sub.i.sup.p of a sink neuron i in the neural network as the total number of output spikes during a duration d; estimating a maximum firing rate f.sub.max.sup.p from the firing rates f.sub.i.sup.p of all sink neurons in the neural network for the test pattern p; and computing a firing rate code for each test pattern p using f.sub.max.sup.p and f.sub.i.sup.p.
16. The computer program product as set forth in claim 15, wherein the DI is a product of a separability measure, ε, and a uniqueness measure, γ, wherein the separability measure is defined as a measure of a degree of separation of firing rate codes for the set of test patterns P, and wherein the uniqueness measure is defined as a number of unique firing rate codes produced by the neural network relative to a maximum possible number of unique firing rate codes.
17. The computer program product as set forth in claim 16, wherein the separability measure is computed according to the following:
18. The computer program product as set forth in claim 17, wherein the uniqueness measure is computed according to the following:
19. The system as set forth in claim 1, wherein the set of test patterns P are input patterns from images obtained around a vehicle, and wherein the set of test patterns P are used to assist the vehicle in autonomous driving.
20. A system for decoding output from spiking reservoirs, the system comprising: one or more processors and a non-transitory memory having instructions encoded thereon such that when the instructions are executed, the one or more processors perform operations of: providing an input signal to a neural network, the neural network having a spiking reservoir comprised of spiking neurons trained by: presenting each test pattern in a set of test patterns to the spiking reservoir; generating; output spikes from the spiking reservoir via a set of readout neurons; measuring the output spikes, resulting in a plurality of measurements, and using the plurality of measurements to compute firing rate codes, each firing rate code corresponding to a test pattern in a set of test patterns P; and determining performance of the neural network, using the firing rate codes, by computing a discriminability index (DI) to discriminate between test patterns in the set of test patterns P; obtaining a readout code from the neural network produced in response to the input signal; and identifying a component of the input signal based on the readout code.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0020] The objects, features and advantages of the present invention will be apparent from the following detailed descriptions of the various aspects of the invention in conjunction with reference to the following drawings, where:
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
DETAILED DESCRIPTION
[0032] The present invention relates to a system for decoding spiking reservoirs composed of spiking neurons and, more particularly, to a system for decoding spiking reservoirs even when the spiking reservoir has continuous synaptic plasticity. The following description is presented to enable one of ordinary skill in the art to make and use the invention and to incorporate it in the context of particular applications. Various modifications, as well as a variety of uses in different applications will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to a wide range of aspects. Thus, the present invention is not intended to be limited to the aspects presented, hut is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
[0033] In the following detailed description, numerous specific details are set forth in order to provide a more thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without necessarily being limited to these specific details. In other instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention.
[0034] The reader's attention is directed to all papers and documents which are filed concurrently with this specification and which are open to public inspection with this specification, and the contents of all such papers and documents are incorporated herein by reference. All the features disclosed in this specification, (including any accompanying claims, abstract, and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example only of a generic series of equivalent or similar features.
[0035] Furthermore, any element in a claim that does not explicitly state “means for” performing a specified function, or “step for” performing a specific function, is not to be interpreted as a “means” or “step” clause as specified in 35 U.S.C. Section 112, Paragraph 6. In particular, the use of “step of” or “act of” in the claims herein is not intended to invoke the provisions of 35 U.S.C. 112 Paragraph 6.
[0036] Before describing the invention in detail, first a list of cited references is provided. Next, a description of the various principal aspects of the present invention is provided. Finally, specific details of the present invention are provided to give an understanding of the specific aspects.
[0037] (1) List of Incorporated Literature References
[0038] The following references are incorporated and cited throughout this application. For clarity and convenience, the references are listed herein as a central resource for the reader. The following references are hereby incorporated by reference as though fully set forth herein. The references are cited in the application by referring to the corresponding literature reference number.
[0039] 1. Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). ImageNet classification with deep convolutional neural networks. In Advances in neural information processing systems, 1097-1105.
[0040] 2. Hinton, G. E., Salakhutdinov, R. R. (2006). Reducing the Dimensionality of Data with Neural Networks. Science, 313, 5786: 504-507.
[0041] 3. Maass, W., Natscchlager, T., & Markram, H. (2002). Real-time computing without stable states: A new framework for neural computation based on perturbation, Neural Computation, 14, 11: 2531-2560.
[0042] 4. Jaeger, H. and Haas, H. (2004), Harnessing nonlinearity: predicting chaotic systems and saving energy in wireless communications. Science, 304: 78-90.
[0043] 5. Langton, C. G. (1990). Computation at the edge of chaos, Physica D, 42:12-37.
[0044] 6. Srinivasa, N. and Cho, Y. K. (2014). Unsupervised Discrimination of Patterns in Spiking Neural Networks with Excitatory and Inhibitory Synaptic Plasticity. Frontiers in Computational Neuroscience, 8, 159: 1-23.
[0045] 7. Churchland, M. M., Yu B. M., Cunningham, J. P., Sugrue, L. P., Cohen M. R., et al. (2010). Stimulus onset quenches neural variability: a widespread cortical phenomenon. Nature Neuroscience, 13, 369-78.
[0046] 8. Eden, U. T. and Kramer, M. A. (2010). Drawing inferences from Fano factor calculations, Journal of Neuroscience Methods, 190, 149-152.
[0047] 9. Ratnam, R. and Nelson, M. E. (2000). Nonrenewal Statistics of Electrosensory Afferent Spike Trains: Implications for the Detection of Weak Sensory Signals. Journal of Neuroscience, 20, 6672-6683.
[0048] 10. Chacron, M. J., Longtin, A., and Maler L. (2001). Negative interspike interval correlations increase the neuronal capacity for encoding time-varying stimuli. Journal of Neuroscience, 21, 5328-5343.
[0049] 11. McLachlan, G. J. (2004). Discriminant Analysis and Statistical Pattern Recognition. Wiley Interscience.
[0050] 12. Kanerva, P. (1988). Sparse Distributed Memory. MIT Press Cambridge, Mass.
[0051] (2) Principal Aspects
[0052] The present invention has three “principal” aspects. The first is a system for decoding spiking reservoirs. The system is typically in the form of a computer system operating software or in the form of a “hard-coded” instruction set. This system may be incorporated into a wide variety of devices that provide different functionalities. The second principal aspect is a method, typically in the form of software, operated using a data processing system (computer). The third principal aspect is a computer program product. The computer program product generally represents computer-readable instructions stored on a non-transitory computer-readable medium such as an optical storage device, e.g., a compact disc (CD) or digital versatile disc (DVD), or a magnetic storage device such as a floppy disk or magnetic tape. Other, non-limiting examples of computer-readable media include hard disks, read-only memory (ROM), and flash-type memories. These aspects will be described in more detail below.
[0053] A block diagram depicting an example of a system (i.e., computer system 100) of the present invention is provided in
[0054] The computer system 100 may include an address/data bus 102 that is configured to communicate information. Additionally, one or more data processing units, such as a processor 104 (or processors), are coupled with the address/data bus 102. The processor 104 is configured to process information and instructions. In an aspect, the processor 104 is a microprocessor. Alternatively, the processor 104 may be a different type of processor such as a parallel processor, application-specific integrated circuit (ASIC), programmable logic array (PLA), complex programmable logic device (CPLD), or a field programmable gate array (FPGA).
[0055] The computer system 100 is configured to utilize one or more data storage units. The computer system 100 may include a volatile memory unit 106 (e.g., random access memory (“RAM”), static RAM, dynamic RAM, etc.) coupled with the address/data bus 102, wherein a volatile memory unit 106 is configured to store information and instructions for the processor 104. The computer system 100 further may include a non-volatile memory unit 108 (e.g., read-only memory (“ROM”), programmable ROM (“PROM”), erasable programmable ROM (“EPROM”), electrically erasable programmable ROM (“EEPROM”), flash memory, etc.) coupled with the address/data bus 102, wherein the non-volatile memory unit 108 is configured to store static information and instructions for the processor 104. Alternatively, the computer system 100 may execute instructions retrieved from an online data storage unit such as in “Cloud” computing. In an aspect, the computer system 100 also may include one or more interfaces, such as an interface 110, coupled with the address/data bus 102. The one or more interfaces are configured to enable the computer system 100 to interface with other electronic devices and computer systems. The communication interfaces implemented by the one or more interfaces may include wireline (e.g., serial cables, modems, network adapters, etc.) and/or wireless (e.g., wireless modems, wireless network adapters, etc) communication technology.
[0056] In one aspect, the computer system 100 may include an input device 112 coupled with the address/data bus 102, wherein the input device 112 is configured to communicate information and command selections to the processor 100. In accordance with one aspect, the input device 112 is an alphanumeric input device, such as a keyboard, that may include alphanumeric and/or function keys. Alternatively, the input device 112 may be an input device other than an alphanumeric input device. For example, the input device 112 may include one or more sensors, such as a camera for video or still images, a microphone, or a neural sensor. Other example input devices 112 may include an accelerometer, a GPS sensor, or a gyroscope.
[0057] In an aspect, the computer system 100 may include a cursor control device 114 coupled with the address/data bus 102, wherein the cursor control device 114 is configured to communicate user input information and/or command selections to the processor 100. In an aspect, the cursor control device 114 is implemented using a device such as a mouse, a track-ball, a track-pad, an optical tracking device, or a touch screen. The foregoing notwithstanding, in an aspect, the cursor control device 114 is directed and/or activated via input from the input device 112, such as in response to the use of special keys and key sequence commands associated with the input device 112. In an alternative aspect, the cursor control device 114 is configured to be directed or guided by voice commands.
[0058] In an aspect, the computer system 100 further may include one or more optional computer usable data storage devices, such as a storage device 116, coupled with the address/data bus 102. The storage device 116 is configured to store information and/or computer executable instructions. In one aspect, the storage device 116 is a storage device such as a magnetic or optical disk drive (e.g., hard disk drive (“HDD”), floppy diskette, compact disk read only memory (“CD-ROM”), digital versatile disk (“DVD”)). Pursuant to one aspect, a display device 118 is coupled with the address/data bus 102, wherein the display device 118 is configured to display video and/or graphics. In an aspect, the display device 118 may include a cathode ray tube (“CRT”), liquid crystal display (“LCD”), field emission display (“FED”), plasma display, or any other display device suitable for displaying video and/or graphic images and alphanumeric characters recognizable to a user.
[0059] The computer system 100 presented herein is an example computing environment in accordance with an aspect. However, the non-limiting example of the computer system 100 is not strictly limited to being a computer system. For example, an aspect provides that the computer system 100 represents a type of data processing analysis that may be used in accordance with various aspects described herein. Moreover, other computing systems may also be implemented. Indeed, the spirit and scope of the present technology is not limited to any single data processing environment. Thus, in an aspect, one or more operations of various aspects of the present technology are controlled or implemented using computer-executable instructions, such as program modules, being executed by a computer. In one implementation, such program modules include routines, programs, objects, components and/or data structures that are configured to perform particular tasks or implement particular abstract data types. In addition, an aspect provides that one or more aspects of the present technology are implemented by utilizing one or more distributed computing environments, such as where tasks are performed by remote processing devices that are linked through a communications network, or such as where various program modules are located in both local and remote computer-storage media including memory-storage devices.
[0060] An illustrative diagram of a computer program product (i.e., storage device) embodying the present invention is depicted in
[0061] (3) Specific Details of the Invention
[0062] Described is a system and method to decode reservoirs composed of spiking neutrons with spike timing dependent plasticity. The system, in implementing the method, enables unsupervised decoding from continuous outputs using a distributed code. Unlike the winner-take-all linear readout based decoders commonly used, the present invention includes an information theory inspired distributed readout code that enables unsupervised learning from a reservoir even when the reservoir has continuous synaptic plasticity. In the present invention, the reservoirs contain scrambled information (i.e., information that humans cannot understand). The decoder according to embodiments of the present disclosure converts the scrambled information to a human understandable form. The distributed code also makes the method according to some embodiments of the present disclosure more scalable compared to other decoders, while its unsupervised nature allows for autonomous discrimination without the need for humans in the loop.
[0063] Some embodiments of the present invention resolve one or more of two deficiencies from previous methods. The first is that the decoder according to some embodiments of the present disclosure can discriminate among spiking output neurons from spiking reservoir networks with continuous plasticity in it. Additionally, the decoder may allows unsupervised discrimination among test patterns, thus expanding the scope of possible real-world autonomous applications in situations where there is no access to humans for labeling the data.
[0064] The operation of basic network architecture of the present recurrent network is shown in
[0065] As shown in
[0066] (3.1) Input Image Coding and Noise Injection
[0067]
[0068] The spike encoding process is generated based on Poisson statistics. Assuming a sampling rate of dt and a mean firing rate of f Hz for a given input vector component, f spikes are generated every 1/dt samples. Thus, the probability of spiking at each time step for a given input vector component firing at f Hz is f*dt. Spike trains (i.e., a sequence of spikes) are generated for each input vector component based on its probability of spiking at each source layer neuron. In an embodiment of this disclosure, for all simulations, dt=1 ms.
[0069] (3.2) Input Pattern Presentation During Training and Testing
[0070] The training process consists of presenting each input pattern in the training set (element 302) in a random order for a duration drawn from an exponential distribution with a mean. In an embodiment of this disclosure, the mean is chosen to be 30 milliseconds (ms). The network 404 is tested for discriminability at regular intervals (e.g., every 10 seconds (s)) during which synaptic plasticity in the network 404 is turned off. Each input pattern 400 is presented during the testing process (element 308) in a fixed sequence for d seconds each and the discriminability index is then computed based on the generated firing rate codes (element 316), as described below. The process of estimating d is also described below.
[0071] (3.3) Firing Rate Code for Readout Neurons
[0072] In some embodiments, for some phases of operation, the firing rate code 406 for the readout neurons are evaluated only during the testing phase during which each input pattern 400 from the training set is presented to the network 404 for a duration of d seconds for a total duration of d*P seconds for P patterns (element 308). Each input vector component stimulates one neuron in the source layer. The source neurons are modeled as Poisson spike sources, as described above and shown in
The vector S.sup.p is referred to as the firing rate code 406 and, in this embodiment, the ternary firing rate code (i.e., C=3) 406 was experimented with because each sink neuron can have three possible states for a given input pattern p. It is possible to use other coding levels such as binary (C=2) or quaternary (C=4) codes 406.
[0073] (3.4) Estimating d for Testing
[0074] The firing rate code 406 S and the estimation of discriminability index (element 316) depends upon the duration d of each test pattern presentation. To estimate an appropriate duration d, the Fano factor (described in Literature Reference Nos. 7 and 8) was computed from the spikes generated by the readout neurons by assessing the relationship between variability of the spike counts 402 and duration d.
[0075] The Fano factor (FF) is defined as the ratio of sample variance to sample mean of spike counts 402 observed in a time window, and the quality of the estimator strongly depends on the length of the window. The FF measures the noise-to-signal ratio and, therefore, characterizes the neural variability over trials. For example, for a Poisson process, the variance equals the mean spike count for any length of the time window. If the FF has a minimum at some value of d, this can be an optimal value for d since the firing rate code 406 would be robust at that value (see, for example, Literature Reference Nos. 9 and 10).
[0076] In the system according to some embodiments of the present disclosure, FF is computed for various durations d as follows. The spikes for each test pattern presented for duration of a selected d are first collected for each of the M readout neurons separately (element 310). This is repeated for T trials (in one embodiment T=100) to collect a set of M*T spike count 402 values. The mean and variance in the spike count 402 is then computed from these values. The ratio of the computed variance to mean gives FF for the selected d and for the selected test pattern. This process is repeated for all remaining P−1 test patterns, and the resulting average FF is used as the FF for a given duration d.
[0077] (3.5) Discriminability Index Computation
[0078] During the learning process, as input patterns 400 are presented, a firing rate code S.sup.p can be computed at the sink layer for each pattern p presented to the source layer, as described above. The ternary firing rate code 406 changes as the network 404 is presented with more inputs. This implies that the ternary firing rate code 406 cannot be directly used for reliably separating one pattern from another. However, after a few pattern presentations, the ability of the network 404 to discriminate between the patterns becomes stable and reliable.
[0079] To verify this, a discriminability index (DI) is computed (element 316) as follows. At regular intervals (e.g., once every 10 s in one embodiment), the network 404 was stopped to probe the state of the network 404. During this process, the synaptic weights are frozen and each pattern is presented J times for a duration of d each. For a given pattern p, the firing rate code S.sup.p was computed for each of the J presentations of p. A prototype firing rate code was selected for a given pattern p as the code that is most repeating among the J codes generated. If there are no repeats, one of the J codes is selected as the prototype at random. This process is repeated for each pattern to identify a prototype firing rate code for each input pattern. Using the prototype firing rate codes, the inter-pattern distance (D.sub.inter) was computed. D.sub.inter is defined as the average pair-wise distance between prototype readout codes computed from all possible unique pairs of prototype readout codes generated by the network for a given test set. To calculate D.sub.inter, the distance d.sub.i.sup.pq between a pair of S firing rate codes for two input patterns p and q and for each sink neuron i was computed according to the following:
The distance D.sub.inter,.sub.i was then computed by using d.sub.i.sup.pq for every pair of input patterns p and q for each sink neuron i across all test patterns P as:
[0080] The maximum value of D.sub.inter,.sub.i for a readout code can be estimated as follows. Assuming a ternary readout code (or firing rate code) at the sink layer (i.e., C=3) and that P is odd, the maximum pairwise distance between the readout code at each sink layer neuron i is obtained when the readout is equiprobable with “0” for one third of P input patterns, “1” for another third of inputs, and “2” for the remaining third. The theoretical maximum value of the numerator (equation 3) can be computed as P*P/3 and thus D.sup.max.sub.inter can be computed as 2P/(3*(P−1)). If P is even, D.sup.max.sub.inter can be similarly computed as 2(P+1)/3*P. Similarly, for a binary code (e.g., C=2) D.sup.max.sub.inter can be computed to be (P+1)/(2*P) when P is odd and 2P/(3*(P−1)) when P is even. Thus, D.sup.max.sub.inter,.sub.i can be computed for the general case when C is even as follows:
[0081] Similarly D.sup.max.sub.inter,.sub.i for the general case when C is odd can be expressed as:
[0082] The expression for the inter-pattern distance D.sub.inter can be written in terms of D.sub.inter,.sub.i as:
D.sub.inter=Σ.sub.i=1.sup.MD.sub.inter,.sub.i (6)
[0083] By substituting D.sup.max.sub.inter,.sub.i from equation 4 or equation 5 (depending upon whether C is even or odd, respectively) into equation 6, the theoretical maximum value of D.sub.inter can be computed. For example, if C is even, D.sub.inter will be PM(C−1)/(C(P−1)) if P is odd and (P+1)M(C−1)/CP if P is even. Thus, if M=8, C=2 and P=15, the theoretical maximum for D.sub.inter will be 4.28. It should also be noted that the theoretical maximum for D.sub.inter grows linearly with M. The theoretical maximum for D.sub.inter will serve as the upper bound for a given set of parameters during learning. This is because there is noise in the network that prevents an equiprobable distribution of readout codes by the network.
[0084] An intra-pattern distance (D.sub.intra) was also computed by presenting the same pattern J times for d seconds each. D.sub.intra is defined as the average pair-wise distance between readout codes (same as equation 3) computed from all possible unique pairs of readout codes generated by the network for the same input pattern. This distance provides a measure of an average variation in the response of readout neurons for the same input pattern. This variation can be caused due to noise in the inputs.
[0085] The discriminability index (DI) is then defined as a product of two measures. The first is called separability, ε, which measures the degree of separation of readout codes for a given test set. This measure can be computed as follows:
This measure is akin to computing the Fischer metric (see Literature Reference No. 11). A small D.sub.intra relative to D.sub.inter implies that the network can separate the inputs well. Separability is independent of M.
[0086] The second measure is called the uniqueness, γ, which is defined as the number of unique readout codes produced by the network relative to maximum possible number of unique readout code. Some input patterns produce the same code. Then, the code is counted as one unique code. For instance, if there are ten patterns and seven patterns produce seven different codes, then three patterns produce one same code, there are eight unique codes. This can be expressed as:
where #S represents the total number of unique readout codes (or firing rate codes) for a given test set of size P. Uniqueness is dependent on M since high dimensional readout codes generate more unique codes, as described in Literature Reference No. 12 The discriminability index (DI) is then computed as follows:
DI=ε*γ (9)
[0087] High values of DI correspond to readout codes that are have a low D.sub.intra combined with high D.sub.inter or high separability as well as a high uniqueness. The maximum value of DI is 1.0 and its minimum value is typically zero unless D.sub.intra>D.sub.inter. DI is dependent on M since uniqueness is dependent on M.
[0088] (3.5.1) Examples for DI Computation
[0089] Assuming the coding level C=3 and assuming that there are two readout units in the sink layer of the network for both examples below allows for visualization of the readout codes in two dimensions (2-D) for simplicity. This analysis, however, readily extends to other coding levels. The details of DI computation for two different examples are shown in
[0090] Example 1: Assume that there are two test input patterns 502 and 504 (P=2) and each of them is presented 10 times, resulting in 10 readout codes for each test pattern as follows: S.sup.1={(0, 1); (0, 1); (0, 1); (0, 1); (1, 0); (1, 1); (1, 1); (0, 1); (0, 1); (0, 1); (0, 1)} and S.sup.2={(1, 0); (1, 0); (0, 0); (0, 0); (1, 0); (1, 0); (0, 0); (1, 0); (0, 0); (1, 0)}. Since there are two input patterns 502 and 504 and C==2, there are four possible readout codes, in general. However, based on S.sup.1 and S.sup.2, the two readout codes cluster around (0, 1) for p=1 (element 502) and (1, 0) for p=2 (element 504).
[0091] The various values for DI can be computed as follows. Using equation 3 and the readout code S.sup.1, D.sub.intra, 1=6*4/(10*9/2)=24M/45 (element 514) and D.sub.intra, 2=8*2/(10*9/2)=16M/45 (element 516); thus the average D.sub.intra=20M/45. Since the readout codes cluster around (0, 1) and (1, 0) for the two test patterns, D.sub.inter=2M (element 518). Using these D.sub.inter and D.sub.intra, separability can be computed as ε=1−10/45=35/45. Since there are two unique codes for the two test patterns, uniqueness γ=1. Thus, the discriminability index for this example will be DI=15/45=0.78.
[0092] Example 2: Assume that there are four test patterns 506, 508, 510, and 512 (P=4) and each of them is presented 10 times resulting in 10 readout codes for each test pattern as follows: S.sup.1={(2, 1); (2, 1); (2, 1); (2, 1); (2, 1); (1, 1); (1, 1); (2, 1); (2, 1); (2, 1); (2, 1)}, S.sup.2={(2, 1); (2, 1); (2, 0); (2, 0); (2, 1); (2, 0); (2, 1); (2, 1); (2, 1); (2, 1)}, S.sup.3={(1, 0); (1, 0); (0, 0); (0, 0); (1, 0); (1, 0); (0, 0); (1, 0); (0, 0); (1, 0)}, S.sup.4={(1, 0); (1, 0); (1, 1); (1, 0); (1, 0); (1, 1); (1, 0); (1, 0); (1, 1); (1, 0)}. This scenario can be visualized using four possible readout codes, in general. Based on four readout codes, they cluster around (2, 1) for p=1, 2 (element 506 and 508) and (1, 0) for p=3, 4 (elements 510 and 512).
[0093] The various values for DI can be computed as follows. Using equation 3 and the readout code S.sup.1, D.sub.intra, 1=16M/45 (element 520), D.sub.intra, 2=21M/45 (element 522). D.sub.intra, 3=24M/45 (element 524), and D.sub.intra, 4=21M/45 (element 526). Thus, the average D.sub.intra can be computed as 41M/90. Since the readout codes cluster around (0, 1) and (1, 0) for the four test patterns, the D.sub.inter=2*2*M/(4*3/2)=2M/3 (element 528). Using these D.sub.inter and D.sub.intra, separability can be calculated as ε=1−41/60=19/60. Since there are only two unique codes for the four test patterns, uniqueness γ=½. Thus, DI for this example will be DI=(19/60)*(½)=0.16. This is lower compared to Example 1, since the four patterns are less separable compared to the two test pattern cases and the readout codes are also not unique enough compared to Example 1. These examples illustrate the basics of how the DI is computed and can be readily extended to deal with networks that have larger M and are coded with different coding levels.
[0094] (3.6) Experimental Studies
[0095]
[0096] In order to assess the pattern discrimination capability, the training set was presented to the network for a total of 3600 s. The firing rate of the readout neurons was monitored after every 10 s of training to test the network's ability to discriminate the input patterns. At these time intervals, plasticity was turned off and each input pattern was presented in a random order for 5 s and the DI metric (equation 9) was computed based on the activity of the readout neurons. The ternary code from the readout codes was plotted for each input pattern at regular intervals during the course of training, as shown in
[0097]
[0098]
[0099] The invention described herein enables a more scalable method to decode spiking activity in neuromorphic chips and, thus, enables complex supervised and unsupervised learning applications with continuous inputs and outputs. This approach can be integrated into a neuromorphic chip such that it is possible to decode chip outputs robustly for numerous automotive and aerospace products, including cars, planes, and unmanned aerial vehicles (UAVs) that require size, weight, area and power (SWAP) constraints to be satisfied. For example, when integrated into a decode chip or used as part of a decode process, some embodiments of the system may acquire readout codes from a neural network that has been presented with an input signal (e.g., an input image, sound, or radar signal to be analyzed). The readout codes may then be matched with validated readout codes that correspond to known results to identify aspects of the input signal. In this way, for some embodiments, the neural networks trained using parts of the above methods and/or validated using the DI can be applied in various applications and systems (e.g., image recognition, sound recognition, radar object recognition).
[0100] The system according to embodiments of the present disclosure provides a decoder that is more applicable for spiking neural networks than those used in state-of-the-art machine learning algorithms, such as convolutional neural networks (see Literature Reference Nos. 1 and 2), liquid state machines (see Literature Reference No. 3), and echo state machines ('see Literature Reference No. 4), which are only applicable for firing rate models. Unlike these prior models, the decoder approach described herein enables unsupervised learning, thus increasing the scope of applications that spiking networks can be used for including neuromorphic chips for autonomous applications with SWAP constraints, as described above. Neuromorphic chips are fast pattern-matching engines that process the data in a memory.
[0101] The system and method described herein recognizes input patterns from input images with on-line learning. This technology has many applicable areas depending on the training input patterns. If the input patterns are vehicles, pedestrians, motorcyclists, or bicyclists, for example, this could be applicable to autonomous driving to recognize objects around the vehicle with image sensing devices, such as cameras, LADAR, and LIDAR. Additionally, if the input patterns are airplanes and/or objects in airports, the invention could be applicable to aircrafts. This technology is especially favorable to applications with limited power sources such as UAVs, because the neuromorphic chip uses very little power.