Download presentation
Presentation is loading. Please wait.
Published byNatalie Whitehead Modified over 9 years ago
1
July 23, 2003Benjamin.Schrauwen@elis.UGent.be1 BSA, a Fast and Accurate Spike Train Encoding Scheme Benjamin Schrauwen
2
July 23, 2003Benjamin.Schrauwen@elis.UGent.be2 Overview Introduction Reading the spiking language Speaking the spiking language Results Conclusions and further work
3
July 23, 2003Benjamin.Schrauwen@elis.UGent.be3 Introduction NN as engineering tools Operate on analog quantities Analog input, analog output tt
4
July 23, 2003Benjamin.Schrauwen@elis.UGent.be4 Introduction When using NN as engineering tools Operate on analog quantities Analog input, analog output Spiking neural networks: More powerful than classic NN Interesting to implement in hardware Problem: internally work with spike trains ≠ analog t t t t ED
5
July 23, 2003Benjamin.Schrauwen@elis.UGent.be5 Introduction When using NN as engineering tools Operate on analog quantities Analog input, analog output Spiking neural networks: More powerful than classic NN Interesting to implement in hardware Problem: internally work with spike trains ≠ analog Use spiking NN as engineering tool: Communication problem must be solved Convert spike trains into analog function: decoding Convert analog function into spike trains: encoding E D
6
July 23, 2003Benjamin.Schrauwen@elis.UGent.be6 Overview Introduction Reading the spiking language Speaking the spiking language Results Conclusions and further work
7
July 23, 2003Benjamin.Schrauwen@elis.UGent.be7 Reading the spiking language Has been studied thoroughly by neuroscientists Classic methods: Average rate: Analog value = sum of spikes in fixed time window of spike train Exact spike time, ea. Phase coding: Analog value = time from periodic event to first spike Stimulus estimation or filter coding: Analog output = filtered version of spike train Filter = low-pass
8
July 23, 2003Benjamin.Schrauwen@elis.UGent.be8 Speaking the spiking language How does it work: Filter decoding Filter f input output t t
9
July 23, 2003Benjamin.Schrauwen@elis.UGent.be9 Overview Introduction Reading the spiking language Speaking the spiking language Results Conclusions and further work
10
July 23, 2003Benjamin.Schrauwen@elis.UGent.be10 Speaking the spiking language Classic decoding: almost trivial encoding Filter decoding: not so simple Hough et al. introduced spike train encoding algorithm HSA (Hough’s spike algorithm) Tries to reverse the filtering decoding Based on a heuristic Deterministic Filter used for decoding is also used for encoding We use slightly different algorithm than the one used in original paper (allows threshold optimization)
11
July 23, 2003Benjamin.Schrauwen@elis.UGent.be11 Speaking the spiking language How does it work: output input t t Filter encoding using HSA
12
July 23, 2003Benjamin.Schrauwen@elis.UGent.be12 Speaking the spiking language How does it work: output input t t Filter encoding using HSA Heuristic used by HSA: min(x,f)-f if heuristic > threshold then fire negative !
13
July 23, 2003Benjamin.Schrauwen@elis.UGent.be13 Speaking the spiking language How does it work: output input t t Filter encoding using HSA
14
July 23, 2003Benjamin.Schrauwen@elis.UGent.be14 Speaking the spiking language How does it work: output input t t Filter encoding using HSA Bigger than threshold ≈ -0.0685
15
July 23, 2003Benjamin.Schrauwen@elis.UGent.be15 Speaking the spiking language How does it work: output input t t Filter encoding using HSA FIRE ! Subtract f from Input signal
16
July 23, 2003Benjamin.Schrauwen@elis.UGent.be16 Speaking the spiking language How does it work: output input t t Filter encoding using HSA
17
July 23, 2003Benjamin.Schrauwen@elis.UGent.be17 Speaking the spiking language How does it work: output input t t Filter encoding using HSA
18
July 23, 2003Benjamin.Schrauwen@elis.UGent.be18 Speaking the spiking language How does it work: output input t t Filter encoding using HSA
19
July 23, 2003Benjamin.Schrauwen@elis.UGent.be19 Speaking the spiking language How does it work: output input t t Filter encoding using HSA
20
July 23, 2003Benjamin.Schrauwen@elis.UGent.be20 Speaking the spiking language How does it work: output input t t Filter encoding using HSA
21
July 23, 2003Benjamin.Schrauwen@elis.UGent.be21 Speaking the spiking language How does it work: output input t t Filter encoding using HSA
22
July 23, 2003Benjamin.Schrauwen@elis.UGent.be22 Speaking the spiking language How does it work: output input t t Filter encoding using HSA
23
July 23, 2003Benjamin.Schrauwen@elis.UGent.be23 Speaking the spiking language How does it work: output input t t Filter encoding using HSA
24
July 23, 2003Benjamin.Schrauwen@elis.UGent.be24 Speaking the spiking language How does it work: output input t t Filter encoding using HSA Bigger than threshold
25
July 23, 2003Benjamin.Schrauwen@elis.UGent.be25 Speaking the spiking language How does it work: output input t t Filter encoding using HSA FIRE ! Subtract f from Input signal
26
July 23, 2003Benjamin.Schrauwen@elis.UGent.be26 Speaking the spiking language How does it work: output input t t Filter encoding using HSA Remaining error signalSpike train
27
July 23, 2003Benjamin.Schrauwen@elis.UGent.be27 Speaking the spiking language HSA problems: Better performance ? What must the threshold be ? What's the meaning of the heuristic ? Filters with negative taps not supported BSA: Basic algorithm same as HSA, but other heuristic Calculate two error functions Error 1 = mean error if we don’t fire a spike now Error 2 = mean error if we fire a spike now Mean absolute error (MSE possible but performs worse) Subtract, compare to threshold and according to this fire Time (samples) Value
28
July 23, 2003Benjamin.Schrauwen@elis.UGent.be28 Speaking the spiking language How does it work: output input t t Filter encoding using BSA Heuristic used by BSA: |x|-|x-f| + -
29
July 23, 2003Benjamin.Schrauwen@elis.UGent.be29 Speaking the spiking language How does it work: output input t t Filter encoding using BSA Heuristic used by BSA: |x|-|x-f| + -
30
July 23, 2003Benjamin.Schrauwen@elis.UGent.be30 Speaking the spiking language How does it work: output input t t Filter encoding using HSA + Heuristic used by BSA: |x|-|x-f| FIRE ! Bigger than threshold ≈ 0.9550
31
July 23, 2003Benjamin.Schrauwen@elis.UGent.be31 Speaking the spiking language What about the threshold: Actual threshold largely determines performance Original HSA publication: threshold = 0 SNR in dB threshold BSA Average over different test functions
32
July 23, 2003Benjamin.Schrauwen@elis.UGent.be32 Overview Introduction Reading the spiking language Speaking the spiking language Results Conclusions and further work
33
July 23, 2003Benjamin.Schrauwen@elis.UGent.be33 Results The filter used in the results has 24 taps 10 bit quantized coefficients Was used in original HSA publications All results: Input encoded into spikes Spikes decoded into output Difference between input and output Paper Unipolar and bipolar case Here only bipolar samples Impulse response amplitude
34
July 23, 2003Benjamin.Schrauwen@elis.UGent.be34 Results BSAHSA Normalized input frequency SNR (dB) Optimal threshold Fixed threshold Optimal threshold Original publication Normalized input frequency 5dB 8dB Input amplitude = 0.25
35
July 23, 2003Benjamin.Schrauwen@elis.UGent.be35 Results HSA and BSA are non-linear systems Not only characterized by SNR for different frequencies Also give SNR for different amplitudes
36
July 23, 2003Benjamin.Schrauwen@elis.UGent.be36 Results BSAHSA Input amplitude (dB) SNR (dB) Optimal threshold Fixed threshold Optimal threshold Original publication 5dB 10dB Dynamic range Overloading Input frequency = 0.0033
37
July 23, 2003Benjamin.Schrauwen@elis.UGent.be37 Overview Introduction Reading the spiking language Speaking the spiking language Results Conclusions and further work
38
July 23, 2003Benjamin.Schrauwen@elis.UGent.be38 Conclusions and further work Threshold optimization: 5 dB increase for original HSA BSA: 15 dB increase over published HSA Frequency and amplitude characteristics are smoother Still very limited calculation overhead Delay introduced equal to filter length
39
July 23, 2003Benjamin.Schrauwen@elis.UGent.be39 Conclusions and further work Analyze why these algorithms work Even better algorithm possible ? Optimal ? How does the filter change the characteristics of the algorithms ? How does performance compare to other coding schemes ? Is there any biological relevance ?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.