[squeak-dev] neural net in Squeak?

Cameron Sanders csanders.personal at functional-analyst.com
Thu Jul 9 21:38:04 UTC 2009


John,

A basic synchronous feed-forward model (with back propagation  
training) isn't that hard to write and/or translatefrom another  
language. I found an example written in Python a number of years ago  
that is only about 50 lines of code (for 3-tier net) -- you could  
rewrite that in Squeak, add a sane class hierarchy (that would be  
mostly empty at first), generalize the topology, add the higher level  
driving methods, and do the basic debugging in pretty short-order.

But is that enough? You are interested in human learning, so perhaps  
you actually want asynchronous updates, or something in between.  
(don't ask... i am not certain I can put it to words without spending  
too much time.)

It is worth considering. I probably will build a limited toolkit in  
smalltalk within a year... but not today.

How large of a net are you wanting to work with? What kind of human  
processing are you wanting to observe? I am thinking about performance  
with these questions. If you want a large network, then one probably  
needs to use an external library.

The over-training warnings are worth paying attention to: do not force  
the system to fit a small data set exactly, and do use too many nodes  
for the problem.

--
Python is dead-simple to work with. It is very flexible. It is  
typeless and has garbage collection, but uses c-like expressions in  
many cases. so... using FANN with the Python may not be as difficult  
as you think. I installed XCode here on this Mac (my first mac) and  
python and numerous other languages are ready-to-use as a result -- or  
maybe they were here before, but now I have the folding code browser  
for it. XCode is free from Apple.

Good Luck and please let us know if you find a great turn-key solution!

Cheers,
Cam




More information about the Squeak-dev mailing list