Recurrent Cascade-Correlation Code

Scott_Fahlman@SEF-PMAX.SLISP.CS.CMU.EDU Scott_Fahlman at SEF-PMAX.SLISP.CS.CMU.EDU
Wed Oct 9 14:05:33 EDT 1991


Simulation code for the Recurrent Cascade-Correlation (RCC) algorithm,
previously available only in Common Lisp, has now been translated into C by
Conor Doherty of the University College of Dublin (Ireland).  This code is a
modification of the C program for original Cascade-Correlation, written by
Scott Crowder of Carnegie Mellon.  My thanks to Conor and Scott for their
help in making these programs available to the barbarian hordes who speak
only C.

For a description of this algorithm, see Scott E. Fahlman, "The Recurrent
Cascade-Correlation Architecture" in Advances in Neural Information
Processing Systems 3, edited by R. P. Lippmann, J. E. Moody, and D. S.
Touretzky, Morgan Kaufmann Publishers, 1991.  Alternatively, see the tech
report mentioned below.

The instructions for accessing any of this code via FTP are included at the
end of this message.

Scott E. Fahlman
School of Computer Science
Carnegie Mellon University

===========================================================================

Public-domain simulation programs for the Quickprop, Cascade-Correlation,
and Recurrent Cascade-Correlation learning algorithms are available via
anonymous FTP on the Internet.  This code is distributed without charge on
an "as is" basis.  There is no warranty of any kind by the authors or by
Carnegie-Mellon University.

Instructions for obtaining the code via FTP are included below.  If you
can't get it by FTP, contact me by E-mail (sef+ at cs.cmu.edu) and I'll try
*once* to mail it to you.  Specify whether you want the C or Lisp version.
If it bounces or your mailer rejects such a large message, I don't have
time to try a lot of other delivery methods.

I am maintaining an E-mail list of people using this code so that I can
notify them of any changes or problems that occur.  I would appreciate
hearing about any interesting applications of this code, and will try to
help with any problems people run into.  Of course, if the code is
incorporated into any products or larger systems, I would appreciate an
acknowledgement of where it came from.

If for some reason these programs do not work for you, please contact me
and I'll try to help.  Common errors: (1) Some people don't notice that the
symmetric sigmoid output units in cascor have a range of -0.5 to +0.5 (for
reasons that are mostly historical).  If you try to force this algorithm to
produce an output of +1.0 or +37.3, it isn't going to work.  (2) Note that
quickprop (which is used inside of Cascade-Correlation) is designed to
update the weights after every epoch, and it assumes that all the epochs
are identical.  If you try to run this code updating after every training
case, you will lose badly.  If you want to change the training set, it is
important to zero out the PREV-SLOPES and DELTAS vectors, and also to
re=build the caches in Cascade-Correlation.

HOW TO GET IT:

For people (at CMU, MIT, and soon some other places) with access to the
Andrew File System (AFS), you can access the files directly from directory
"/afs/cs.cmu.edu/project/connect/code".  This file system uses the same
syntactic conventions as BSD Unix: case sensitive names, slashes for
subdirectories, no version numbers, etc.  The protection scheme is a bit
different, but that shouldn't matter to people just trying to read these
files.

For people accessing these files via FTP:

1. Create an FTP connection from wherever you are to machine
"pt.cs.cmu.edu".  The internet address of this machine is 128.2.254.155,
for those who need it.

2. Log in as user "anonymous" with your own ID as password.  You may see an
error message that says "filenames may not have /.. in them" or something
like that.  Just ignore it.

3. Change remote directory to "/afs/cs/project/connect/code".  NOTE: you
must do this in a single operation.

4. At this point FTP should be able to get a listing of files in this
directory with DIR and fetch the ones you want with GET.  (The exact FTP
commands you use depend on your local FTP server.)

Current contents:

quickprop1.lisp		Original Common Lisp version of Quickprop.
quickprop1.c		C version by Terry Regier, U. Cal. Berkeley.
cascor1.lisp		Original Common Lisp version of Cascade-Correlation.
cascor1.c		C version by Scott Crowder, Carnegie Mellon
rcc1.lisp		Common Lisp version of Recurrent Cascade-Correlation.
rcc1.c			C version, trans. by Conor Doherty, Univ. Coll. Dublin
vowel.c			Code for Tony Robinson's vowel benchmark.
am4.tar.Z		Aspirin/Migraine code from MITRE.
backprop.lisp		Overlay for quickprop1.lisp.  Turns it into backprop.
---------------------------------------------------------------------------
Tech reports describing these algorithms can also be obtained via FTP.
These are Postscript files, processed with the Unix compress/uncompress
program.

Follow the steps for FTP access as above, but cd to directory

unix> ftp pt.cs.cmu.edu (or 128.2.254.155)
Name: anonymous
Password: <your user id>
ftp> cd /afs/cs/project/connect/tr
ftp> binary
ftp> get filename.ps.Z
ftp> quit
unix> uncompress filename.ps.Z
unix> lpr filename.ps   (or however you print postscript files)

For "filename", sustitute the following:

cascor-tr		Cascade-Correlation paper.
qp-tr			Paper on Quickprop and other backprop speedups.
rcc-tr			Recurrent Cascade-Correlation paper.
precision		Hoehfeld-Fahlman paper on Cascade-Correlation with
			limited numerical precision.



More information about the Connectionists mailing list