Leabra 4.0.15 Notes
From Emergent
This page describes significant changes for the Leabra algorithm introduced in version 4.0.15 of Emergent (see Changes 4.0.15 for full change notes).
Many aspects of Leabra were cleaned up and re-written, although the user-visible changes should be relatively minor, especially for projects not using Leabra PBWM.
- The first_plus_dwt member was removed so you will get a warning about that, which can be safely ignored.
- For users of the MINUS_PLUS_NOTHING or PLUS_NOTHING phase_order types, you might want (a) load from prog lib over your existing LeabraSettle if you haven't modified it; or (b) edit the LeabraSettle program and change the
ifline that comes after the while loop and just after Settle_Final method call:- old version of the cond expression:
network.phase == LeabraNetwork::MINUS_PHASE - replace with this new version:
network.Compute_TrialStats_Test()
- old version of the cond expression:
this will prevent double-counting of errors from the initial minus phase and the 2nd nothing/minus phase.
For PBWM projects
Most of the changes are visible here.
- The DaModUnit/Spec variables were integrated into the base LeabraUnit/Spec classes, so the DaMod guys are now marked as obsolete. There is a script in the bin directory of the source code that will replace all DaModUnit* -> LeabraUnit* in your project, or you can simply do this search-and-replace in your favorite text editor on your project file. This has no immediate functional implications, except in so far as you might want to use a different subclass of LeabraUnitSpec within a PBWM network -- this is now possible.
- script is bin/damod_to_leabra_cvt
- The learning rule choices on the MatrixConSpec object were simplified to either OUTPUT or MAINT -- OUTPUT = OUTPUT_DELTA which is what worked best and was on by default. You will get a pleasant informative message about this being set for you when you do Init.
- The new act_dif2 unit variable will show you the learning differential for the MatrixUnitSpecs.
