In researching neural networks, I repeatedly found myself frustrated because existing neural
networks have documentation that assumes quite a bit of knowledge about them. In working with
them, I also found that the pure Perl networks were so slow while training as to be almost useless
to me. To this end, I started doing a bit of research about these things and have come up with a
module, AI::NeuralNet::Simple. The core network is written in C with the interface in Perl. You
can download it from
The intent is to have a *simple* neural network that someone new to neural nets can just pick up,
read the docs, and play with. Later they can move to a more robust solution, if desired. If
people would provide me with feedback on the docs, I would appreciate it.
1. Somehow, I managed to not include the error measuring function. Whoops! This function allows
the user to measure the error rate to determine how training is going. Not sure how I missed
that, but I'm just dashing off a quick email while at work, so I'll write this later and issue a
2. There is currently no way to load or save a network. I'm not sure if this is an issue as this
is only designed to be something to play with.
3. You can not have more than one network at a time because of my rotten C code -- I am *not* a C
programmer, but I'll probably fix this later if it's a problem.
4. The docs do not make it clear that this module works best for "winner take all" results.
I have two examples in the "examples" directory. The "game_ai.pl" example is borrowed from the
book "AI Application Programming" (with the permission of the author).
I am not putting this module on the CPAN unless I feel it's ready for prime time.
Silence is Evil http://users.easystreet.com/ovid/philosophy/indexdecency.htm
Web Programming with Perl http://users.easystreet.com/ovid/cgi_course/
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search