Presentation is loading. Please wait.

Presentation is loading. Please wait.

July 23, BSA, a Fast and Accurate Spike Train Encoding Scheme Benjamin Schrauwen.

Similar presentations


Presentation on theme: "July 23, BSA, a Fast and Accurate Spike Train Encoding Scheme Benjamin Schrauwen."— Presentation transcript:

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 ?


Download ppt "July 23, BSA, a Fast and Accurate Spike Train Encoding Scheme Benjamin Schrauwen."

Similar presentations


Ads by Google