Neural Network Workshop
Neil D. Fraser
Introduction:
Neural Networks is a term that is used a lot in the field of
computers. Like most trendy terms (such as fuzzy logic and
object-oriented), few people actually know what it means. This
workshop is designed to dispel the mystery that surrounds this programming
technique.
In this workshop students will teach a neural network to recognize their
own handwriting, understand the principles that make computer and
biological neurons work, and construct their own network within the computer.
Resources:
The Neural Network workshop requires:
- One computer for each student, equipped with Windows and clean mice.
- The Recog character recognition program (freeware).
- The BrainBox neural network construction program (freeware).
The latest versions of both programs are available at: http://vv.carleton.ca/~neil/neural/
Format:
The 60-90 minute workshop was broken into 4 parts:
Theory:
First I'd get the students infront of a blackboard (away from the
computers) and show them the fundamental properties of a neuron. One by
one I'd have each student solve a single-neuron logic function (see the
appendices).
Recog:
Once they knew how a simple neuron worked, they would experiment with the
character recognition program. First the students would load the number
recognition network and try it. When they had tried a couple of
recognitions, they would start their own network and teach it to recognize
the capital vowels (A, E, I, O & U). Faster students would also do 'Y'.
BrainBox:
Having seen and used a functioning and useful application, they would
switch to the BrainBox neural network construction program. First the
students would load the random.bbx file in order to see what a running
neural network looked like in th is program. Then they would begin
construction of their own network. The challenge I gave was to construct
a decimal to binary encoder. I showed them the pattern of 6 neurons and 8
links they needed, and told them to configure the weightings of the links
so that no two input neurons produced the same pattern of outputs. After
they had completed this, they were encouraged to try the other nets that
were on disk and to experiment on their own.
Discussion:
About 10 minutes before the end of the workshop, we would gather in a
circle and discuss the advantages and disadvantages of neural networks
over conventional programming methods. I would always tell them the story
of the tank recognition program.
Follow-up:
Anyone who wanted the software would be given a copy to take home with them.
Results:
I found this workshop to be immensely durable. It was easily adapted to
fit the two junior weeks (children under 10) by removing BrainBox and
concentrating on Recog. Over the course of the summer the
student-instructor ratio oscillated between 1:1 to 6:1 without any
problems. Over 90% of the students were able to successfully complete the
decimal to binary converter challenge using BrainBox. Part of this
workshop's success was due to the tendency for the more cerebral students
to choose it (as opposed to, say, the viruses workshop [grin]).
The only problems we ran into were the occasional software bug. (How was
I supposed know that a quadruple click of the right mousebutton on the
boundary of an inactive neuron that was linked to itself would generate a
terminal range error?) Each time a new bug was discovered I'd patch it
for the next week. By the end of the summer the software was stable as a
rock.
Recommendations:
All the recommendations I have are essentially upgrades that I should make
to the software. These include:
- Create hyperlink-based help database for both programs. [Help done for Recog - Dec '97]
- Ability to load Recog networks into BrainBox and have them execute. [Done - Sep '98]
- Make changes to the threshold easier in BrainBox. [Improved - Dec '97]
- Construct a demo network that can play unbeatable tic-tac-toe. [Done - Sep '98]
- Add some form of learning capability to BrainBox.
Appendices:
Neil's Neural Networks page (http://vv.carleton.ca/~neil/neural/)
contains links to the latest versions of everything required for
this workshop.