Simbey.com
Main Page
About Simbey.com
Guest Book
Business
Search
Archived News
(1) Microsoft device helps police pluck evidence from cyberscene of crime
(2) Microsoft to halt Hotmail access via Outlook Express
(3) Cops bust teens' root-beer kegger
(4) Arrest made in pizza shooting
(5) Judge sentences Hispanic men to learn English
Photo Archive
Browse by Folder
Browse by Calendar
Search Archive
Features
Simbey's Books
Simbey's Framework
SimbeyMail
Bunny Tetris
DirectConsole
Doom Stuff
3D Stuff
Neural Net
SIF Format
SimbeyChess
Screen Shots

Use VBScript to control the flow of neural pulses

Use VBScript to make colorful neural nets

Map out a large and complex neural net and kick start it with a single pulse

Simbey's Neural Net

Having always been interested in neural networks, I decided one day to build a neural net simulator.  This is a very simple simulator that runs on Windows 98 and newer.  It supports a couple of interesting features.  First, you can use VBScript to write complex behaviors for "scripted neurones."  The download contains a text file on using VBScript in the Neural Net Creator.  Second, you can import other neural net files that you previously created into new files.  The import brings in the existing neural net as a "neural chip," allowing you to import multiple copies of the same neural net.  I/O neurones are used inside the neural chip to communicate with the host net.

It's really easy to build neural nets once you get the hang of it, although writing scripts is a little more involved.  I'd be happy to answer any scripting questions.

The old paragraph that used to say "If anyone wants to build SkyNet using this program, let me know, and I'll add networking to the system.  Currently, neural nets cannot interface across a network, but I may add that someday when I'm bored," is now obsolete!  As of 2/8/2006, users may now connect neural nets using UDP on port 1220.  The VBScript host also allows scripts to send packets using UDP.  SkyNet, anyone?

If you are interested in using this program to build a neural net, please let me know what kind of network you are going to build.  If you have a completed network that is interesting, I would love to see it!

Download the Neural Net Creator
Click to read the development history

An interesting side note about this program is that the inspiration for it came from a program I found on the Internet about ten years ago.  It was simple, colorful, and intuitive.  I don't know whatever happened to that program, and I haven't been able to find it again, so my neural net simulation is a bit of a recreation of that program, based on what I think I remember from it.
A sample network with three Kohonen neurones (blue is the winner) Input pads make it easy to use graphical patterns as input
There are many excellent resources available on the Internet for learning about neural nets.  I used this page to learn about Hebbian learning.  My neural net simulator has a vague understanding of this table:

State of first neuron in connection State of second neuron in connection What happens to the link between them?
Inactive Inactive Nothing
Inactive Active It weakens
Active Inactive It weakens
Active Active It strengthens


One of the challenges I've faced with building this program is that it runs on a very high level.  It's very time consuming to lay out several dozen neurones and draw connections between them, although being able to work like this makes it easy to build arbitrary networks.  However, building ordered networks with hundreds of neurones per layer isn't reasonable.

For a while now I've been giving some thought (and my thoughts are already divided between enough things) to building another kind of node that can be inserted into the network that would have an internal structure similar to what you'd find in other kinds of neural network programs.  The idea is that you would place one of these nodes and tell it how many layers it has with how many neurones per layer, and then you could train the networks individually using special interfaces.  The program as it exists today would allow you to connect these networks up to each other as well as to the other high level neural components.

This is a ways off, but I think this is the right thing to do.


© 2001-2008 Simbey.com