Neural Networks B, SS06
UA Dr. Robert Legenstein, WiMAus Prashant Joshi, M.S.
Institute for Theoretical Computer Science
Technische Universität Graz
A-8010 Graz, Austria
NOTE: You can download this exercise in pdf or postscript(ps) format here.
In this exercise you have to perform some experiments which will
help you in understanding the concept of liquid state machine (LSM).
For this exercise you have to use the ex5.tar.gz (availaible for download at
contains all the source code that you will need to perform your
experiments. Please also download the documents csim-1.0-usermanual.pdf,
circuit-tool-1.0-manual.pdf, and learning-tool-1.0-manual.pdf,from
provide a tutorial on using this code.
In this exercise you have the following setup:
You have a recurrent spiking neural network, also called as the liquid,
that is composed of 135 leaky-integrate-and-fire neurons. This liquid is
receiving 2 time-varying poisson spike trains as the input. Two linear readouts
are connected to all the neurons in this liquid. These linear readouts are
supposed to calculate two different target functions. The first readout has to
find the sum of rates of the two input spike trains in the last 30 msec. The second
readout has to find the product of rates of the same two input spike trains in the
last 30 msec. Please also see figure 1.
Conceptual Figure to explain the experimental setup
- All of you must already have CSIM installed on your computers. But for this
exercise you will also need to install ``learning tool'' and
``circuit tool'' which are availaible for download at lsm website. The installation
procedure is same as for CSIM (just extract them into your home directory).
- After this run the script install.m in the $HOME/lsm directory.
- Now unzip the ex5.tar.gz tarball. This will create a directory
called as ex5. Move this directory to $HOME/lsm/learning/demos.
- You will see 4 different directories called ``ex5'', ``multi'',
``segment classification'' and ``spike train classification'' here. The
last 3 are fully working demos which have been supplied to you so that
you can become comfortable with playing around with the system. The ex5
directory is where you shall be working for this exercise.
- Just change your working directory to one of the other 3, e.g. ``segment
classification''. Run matlab and on the command prompt type
The simulation should run smoothly. If not then you made some mistake somewhere.
- Hey you have had enough of fun ;-). Now go back to the ex5 directory.
First go through all the source code in this directory and all the sub-directories.
What you don't see here more or less doesn't concerns you.
Check the function
directory to get an intuitive
feeling of how to design a target function. This particular target function gives an
output of 1, if the total number of spikes in the last 50 msec in the two input channels
is greater than 8, otherwise it gives an output of 0.
- Now design the target function for readout 1. The readout 1 has to calculate the sum
of rate of the two input channels in the last 30 msec. Since this value will not be
a smooth one, you can set the target function to be a low-pass filtered and normalized
version of this value (please see and
). A suitable value
for kernel size of the low-pass filter is 10.
- Also design the target function for readout 2. This readout has to calculate the
product of rates of the two input channels in the last 30 msec. Again you can use
a low pass filter and normalization to get the values in a smooth and reasonable range.
- Now start playing with the connectivity parameters. For example, increase(decrease)
the connectivity from the input neurons to the liquid. What is the impact of this on
the performance of the readouts. (Hint: You can increase the connectivity by increasing
the values of lambda and Cscale for the corresponding connections).
- Increase(decrease) the recurency inside the liquid. Describe your observations
about the effects of recurrency on the performance. Is recurrency helpful here?
- Increase(decrease) the size of training samples? Describe the difference in performance.
- Finally find the ideal setting of parameters( parameters with which you were able to
obtain best performance). Describe what is happening here and what makes this system work.
- Submit a printout of all the MATLAB code that you have written.
Neural Networks B, SS06
This document was generated using the
LaTeX2HTML translator Version 2002-2-1 (1.70)
Copyright © 1993, 1994, 1995, 1996,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -split=0 -no_navigation ex5.tex
The translation was initiated by Joshi Prashant on 2006-05-09
- ... SS061
- Class Website: http://www.igi.tugraz.at/lehre/NNB/SS06/