NN.MDB
The Database that thinks
© 2007 Ben Margolis
NYI: Not Yet Implemented
Want a copy of NN.MDB? All it'll cost you is a little code. Just promise to add anything
from this list. (I've ranked each feature with "VB+", "NN+"
and/or "Access+" to indicate what skill sets, and skill level, I think
are required. )
Neural Functions:
I/O Data Scaling: (Access+)
Currently all I/O is expected to be within {-1…+1} and would probably
work all the way to plus or minus 5, but the system really needs an
automated method of finding min, max, and mean of the training set, and
generating (and storing) a scaling function to bring any range of data
into the -1,+1 range.
Robust Testing / Testing While Training: (NN+, VB+)
Currently the Test Button simply runs the Verification Set through the
NN and Opens the table or query for you to read with your eyes (that’s
always been enough for me). There’s no logic for finding the error rate
during testing or for testing while training.
Backup and Restore NN: (Access+)
Just what it says, the Neurons and Synapes are stored as rows in two
tables (which I usually copy and paste by hand). We need to be able to
back up and restore these rows, and thus restore an NN to a previous
state, or move it to another machine.
Alternative Activation Functions: (NN++, VB++)
Currently there is a single Activation function (sigmoid, with
one-quarter gain). I would like to be able to use other activation
functions, preferably all the ones available in BrainMaker. I already
have a field to store this in the Neural table.
BrainMaker Import (Access++)
I haven’t really looked in to the BrainMaker file format, but it seems
they just have to be storing neurons, connections and weights, too,
right? I love to be able to import finished, trained NNs from Brainmaker
into NN.MDB.
Minimum Form or Formless NN Activation (VB++)
Over the years the NN activation routine has become a little too
attached to the "Neural Workbench" form. It updates status on the form,
and reads data from the form too much, and the form must be open for
running, testing or training. We need to be able to run the NN entirely
in the background.
QuickProp (NN+++, VB+)
As an alternative to Standard Backprop. Anybody want to suggest any
other backprop methods?
More Layers (NN++, VB++, Access+)
Currently the system is hardcoded as a three-layer perceptron. It would
take a major re-write to turn that three into a variable. But given that
I have just proven that a four
layer MLP is smarter that a three layer MLP, this need to be done.
Interface:
Error Rate Chart (NN+, VB++)
Watching the MSE drop off in realtime during training would be nice.
Something tells me that the picturebox control we use for the diagram
would be faster than an MS Chart control, but whatever works.
User Colors (VB+)
I like blue. And blue and orange are hardcoded into many of system
events. But a system of identifying input controls, output controls and
"button" and changing colors "en masse" to a user preference would be
nice.
More TTS Control (VB+)
It talks, but not enough, and at the same time, too much. It should have about three levels of "verbosity," a TTS msgbox, and the ability
to route all VB and Access error messages through TTS would be cool too.
|