home *** CD-ROM | disk | FTP | other *** search
- 1 Welcome to ET! April 30, 1989
-
- ET is an artificial intelligence neural network (NN) demonstration program.
- The program name ET is short for 'neuron' and derives from the Greek symbol
- sigma for the summation of input weights (the keyboard letter 'E' suffices for
- sigma) and capital 'T' for threshold activation. ET has a graphics and mouse
- intuitive interface. Neuron threshold and weight inputs are manually set in
- this demonstration to maintain simplicity and encourage a fundamental
- understanding of neuron activation. The simulations are intended to be
- theoretical.
-
- Hardware requirements: EGA and mouse.
- Software requirement : mouse driver must be called before executing ET!
-
- Note: Before reading the operations listing you may consider executing ET to
- get a 'feel' of the interface, and hopefully the explanations below will be
- less necessary.
-
- 2 Operation of ET.
-
- 2.1 Terms used in this document:
-
- * "Press a mouse button" refers to keeping your finger down on a key, while
- possibly moving the mouse.
-
- * "Click a mouse button" refers to an immediate push and release of a mouse
- button.
-
- * "Element" refers to an input node, neuron, or an output node.
-
- * "Snapping" refers to neuron activation.
-
- 2.2 Creating Elements:
-
- Press the left or right button of your mouse on menu options In, Neuron, and
- Out to drag an element into the drawing area. If that element is released
- on the border, on the menu, or on another element it is not created. Upon
- release into the drawing area a key from the keyboard is requested for human
- identification. The key must be alphanumeric else the element is not
- created. The key is not used internally and need not be unique.
-
- 2.3 Moving an Element:
-
- Press the left button of your mouse on an element to drag it. If that
- element is released on the border, on the menu, or on another element it is
- bounced back into it's former position.
-
- 2.4 Connecting onto an Element:
-
- Press the right button of your mouse on an element an connect onto another
- element with a release. Releasing the right button onto an empty region
- will have no effect. Releasing the right button over a previous connection
- will be ignored and result in a "Connect Repeat" error displayed, otherwise,
- any element may be connected to any other element. Future versions will
- allow a two way connection.
-
- 2.5 Neuron Weight Settings:
-
- Click the right button of your mouse on a neuron to modify the neuron weight
- inputs and threshold. A click of the right button of your mouse on an input
- or output node will have no effect. Move the hand icon into the slide
- settings and press your left or right mouse button to slide a weight or the
- threshold value. Press the left or right button of your mouse out of the
- neuron settings window to remove the neuron settings window. For a neuron to
- 'fire' or 'snap' the following inequality must be true:
-
- sum of active weights
- ---------------------------- >= Threshold
- sum of total input |weights|
-
- For example assume a neuron say, neuron 1 with threshold=0.45 and three
- input weights a=0.30, b=0.40, and c=0.25, then,
-
- 0.30*a_active+0.4*b_active+0.25*c_active
- ---------------------------------------- >= 0.45
- |0.30|+|0.40|+|0.25| ?
-
- where the x_active values are binary 0 or 1, and |x| = absolute value of
- x.
-
- The switching above is equivalent to the binary function,
-
- OUT = A*B + B*C + C*A
-
- For this neuron, if any two inputs are active the output will then become
- active on the next step. What surprises me most about neuron snapping is
- the seemingly binary behavior through an analog means. Neurons either snap
- or remain dormant. The weight and threshold values control the effective
- binary function. In the preceding example, if a=0.45, b=0.40, c=0.25 and
- threshold=0.38 then the binary function becomes,
-
- OUT = A + B*C
-
- Greater decision independence is evident with the removal of the '*' or
- 'and' operator. Negation may also be configured with the help of a three
- continuously active input nodes connected in a cycle as shown below. Due
- the the time dependent step-wise neuron snapping, the effect of negation can
- be seen only momentarily for this simple configuration.
-
-
- (-)
- in--------------------> (+)
- ET ----------->out
- (+)
- -->b---->c---->d----->
- | |
- | |
- ------------------
-
-
-
- 2.6 Deleting an Element:
-
- Press the left or right button of your mouse on menu option Delete and
- release the cross cursor on an element in the drawing area. If the cross
- cursor is released on the border, on the menu, or nowhere no element is
- deleted. Upon deletion, the element and all connections to and from it are
- removed.
-
- 2.7 Simulation:
-
- Click the left or right button of your mouse on menu option Simulation, then
- click on any elements you would like initially active. An active element is
- indicated by the yellow vertical and horizontal lines about the element. Be
- sure to set all weights for the neurons before selecting the Simulation
- menu. To begin neuron snapping (decision making) click the Step button. To
- cancel, click the Stop button or any region in the drawing area.
-
- If the neural network model has five or more neurons with at least two
- connected as a second layer, surprising neuron snapping may result.
- Recursion of the output layer into the input layer can provide an
- interesting sight of neuron snapping as well.
-
- 3 Possible Applications
-
- * approving loan applications
- * student admission into universities
- * trouble-shooting industrial circuits
- * robot learning
- * dynamic software interaction
- * pattern recognition (vision, sound)
-
- 4 Future Versions.
-
- This ET NN simulation will be incorporated with various input and output nodes
- such as keyboard strikes, database file access, and MIDI music keyboard
- activation. ET was created to help me form an AI NN basis for computer music
- composition on the IBM PC. Various learning models will also be included. If
- you have suggestions for future versions please contact me.
-
- 5 Distribution and Order.
-
- Feel free to distribute this public domain version of ET, it can be quite
- useful in academic settings. If you would like the commercial version please
- send a $40 check and any ET feature request(s) to:
-
- Software Bytes
- P.O. Box 9283
- El Paso, TX 79983
-
- (915) 779-2352
-
- 6 Closing.
-
- ET was written from the heart, I hope you learn about neural nets.
-
-
- Sincerely,
-
- Raul Aguilar
- Electronics Engineer
-
-