oops! Your browser isn't displaying this right

Adding Learning to a ModLIN System


To add learning to a compatible projection, you must specify a learningRule in the state data of the projection:

projState.learningRule = 'dev/abrg/2008/modlin/learning/hebbian';

This projection will now learn, however there are a few things that still need to be done to make it work.

Learning state data is passed through the .learning node of the projection state data, for example:

projState.learning.alpha = 0.1;

Will pass the state data 'alpha' to the learning utility. The state data required will depend on the learning rule, and can be found in the learning section of the Component Reference.

We also need to link up any other required inputs. For example, Hebbian learning needs presynaptic activity, which the learning utility process gets automatically, and postsynaptic activity, which we must connect. Learning conections are made to the 'learning' set of the projection that learning is working on. The name of the projection should be SRC__2__DST, where SRC and DST are the LIN sheets joined by it. If more than one connection exists between the same sheets then an incrementing number will be added for later connections. Type the name of the system (e.g. sys) at the Matlab command line to see what the names in the system are. Then create a link from the required source in this form:

sys = sys.link('V2/act>out', 'V2/V1__2__V2<<learning<postsynaptic');

Where V1 is the source of the projection, and V2 is the destination. Learning should now work. If any state data is not given then a relevant error will be produced.

backup content