Adding Learning to a ModLIN SystemTo 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
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 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. |