CSE 87: Neural Networks as Models of the Mind

Professor Gary Cottrell

Phone: 858-534-6640

Office: CSE Building 4130

Email: gary@ucsd.edu

NOTE: Class meets for almost two hours: 9AM-10:50AM


This quarter, class will meet on Wednesdays in the CSE building, room B260.

After October 4th, it will move to B220

Class begins on Wednesday, October 4th.

Class meets October 4th, 11th, 18th, 25th,
NOT ON NOVEMBER 1st, I will be in Korea.
FINAL CLASS: November 8th

Course Description

This is a one-credit course that will meet for 5 weeks, two hours per session. This course will explore connectionist (or Parallel Distributed Processing, or artificial Neural network) models and their relation to cognitive processes. We will cover what neural networks are, their use and current learning methods for them. We will also look at the application of these models to several problems in cognitive modeling. The use of demonstration programs will be an integral part of the course. Each week I will try to limit myself to talking for one hour, and then we will "play" on the computer for an hour.

Week 1 will motivate why we are interested in neural networks as models of cognition. We will also try out a simple model or two on the computer, using the cs program. Week 2 will cover more models, especially so-called "attractor networks" as models of memory, using the Jets & the Sharks example (iac program). Week 3 will introduce learning using perceptrons and back propagation, using the bp program. In week 4, we will use a more modern implementation of neural networks and see how we can train networks to recognize facial expressions. Week 5 I will give a talk on my own research, and briefly go over why neural nets are so "hot" right now - because they are the basis for Deep Learning. We will see some demos of what can be done with Deep Learning on the web.

Required Work

The only required work consists of attending class each week. I will actually take attendance. If you miss one class with a good excuse, that’s ok. If you miss two classes, you will receive an NP, unless you write a five-page paper covering some aspect of neural networks of interest to you. This may be a "thought piece", suggesting how neural nets may explain some aspect of human cognition, or a simple regurgitation of some of the things you learned in the course, or a write-up of a (very small!) project using the PDP simulation software (see the "Explorations" book below).


Some of the slides I present are available here:
Recommended Text

Explorations in Parallel Distributed Processing, McClelland & Rumelhart, MIT Press, 1988. This book is a self-paced exploration using running programs of cognitive models. All of the simulators are on your machines right now. Also recommended is Parallel Distributed Processing, Vols 1 and 2, edited by Rumelhart and McClelland. MIT Press, 1986. These books are ones you will want to have if you plan on eventually doing research in Cognitive Science.

All three of these books are available free online as downloadable pdf’s on Jay McClelland’s website. In particular, much of the class is inspired by this chapter. Here is the chapter on backpropagation learning.

First day computer instructions:
  1. Log in to windows (not Unix!) using your UCSD email as your login and your email password.
  2. Install PDPTool using the following steps:
  3. Click on pdptool.zip to  download it to your desktop.
  4. Extract the archived files into a new folder called "pdptool". Usually this can be done by right-clicking on the file..
  5. Start Matlab.
  6. Within Matlab, set your path variable to point to PDPTool using the following steps:
    1. On some matlabs, from the File menu, select Set path. A dialog box opens. OR, in some matlabs, look for the "set path" button about 4/5 of the way across the page at the top. Click on it.
    2. Click the "Add with subfolders" button. A directory browser window opens.
    3. Locate the folder called "pdptool". Select it and click OK.
    4. Click the "Save" button on the dialog box to save the path for future sessions.
    5. Click the "Close" button.
  7.  Set your command history preferences using the following steps:
    1. From the File menu, select "Preferences". A dialog box opens. OR, look for the "Preferences" button above the "Set Path" button.
    2. Select "Command History" from the list of options on the left. This displays the current command history settings.
    3. In the "Saving" section of the history settings, select "Save after [n] commands", where [n] is a numerical field.
    4. Change [n] to 1.
    5. Click "OK".
  8. At the Matlab command prompt, type "pdp" to start the program.
  9. In order to run the Necker Cube example, type "cube"