Course Description
This is a one-credit course that meets 5 times, one hour and 50
minutes per session. This course will explore connectionist
(a.k.a. Parallel Distributed Processing, or 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
A
Neural Network Playground. In week 4, we will use an
implementation in Matlab of neural networks by my former
student, Honghao Shan. Here, we will train a network in
real time to recognize facial expressions, identity, and gender
(trigger warning: it only uses two genders). 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).
Slides
Some of the slides I present are available here:
- First day lecture is here: [pptx]
[pdf]
- Second day lecture is here: [pptx]
[pdf]
- Jets & Sharks pdf is here.
- Third day lecture is here: [pptx]
[pdf]
- Fourth day lecture is here: [NONE: We just run
simulations...]
- Last day lectures...I give various lectures on my
research, and a bird's eye view lecture about Deep Learning.
Here are some examples.
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:
- Log in to windows (not Unix!) using your UCSD email as
your login and your email password.
- PDPTool should already be installed and on your desktop.
If not, follow theses directions:
- Install PDPTool using the following steps:
- Click on pdptool.zip
to download it to your desktop.
- Extract the archived files into a new folder called
"pdptool". Usually this can be done by right-clicking on
the file..
- Start Matlab: go to programs, and then whatever version of
MatLab you have.
- Within Matlab, set your path variable to point to PDPTool
using the following steps:
- 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.
- Click the "Add with subfolders" button. A directory
browser window opens.
- Locate the folder called "pdptool" (should be on your
desktop). Select it and click OK.
- Click the "Save" button on the dialog box to save the
path for future sessions. If it doesn't allow you to do
that, don't worry, just go to the next step. In that case,
you will have to do this every time we use this program.
- Click the "Close" button.
- At the Matlab command prompt, type "pdp" to start the
program.
- In order to run the Necker Cube example, type "cube" and
hit <enter> or <return>.