home *** CD-ROM | disk | FTP | other *** search
/ Mega CD-ROM 1 / megacd_rom_1.zip / megacd_rom_1 / NEURAL_N / ET.ZIP / ET.DOC next >
Text File  |  1989-08-31  |  7KB  |  173 lines

  1. 1 Welcome to ET!                            April 30, 1989
  2.  
  3. ET is an artificial intelligence neural network (NN) demonstration program.
  4. The program name ET is short for 'neuron' and derives from the Greek symbol
  5. sigma for the summation of input weights (the keyboard letter 'E' suffices for
  6. sigma) and capital 'T' for threshold activation.  ET has a graphics and mouse
  7. intuitive interface.  Neuron threshold and weight inputs are manually set in
  8. this demonstration to maintain simplicity and encourage a fundamental
  9. understanding of neuron activation.  The simulations are intended to be
  10. theoretical.
  11.  
  12. Hardware requirements:  EGA and mouse.
  13. Software requirement :  mouse driver must be called before executing ET!
  14.  
  15. Note:  Before reading the operations listing you may consider executing ET to
  16. get a 'feel' of the interface, and hopefully the explanations below will be
  17. less necessary.
  18.  
  19. 2 Operation of ET.
  20.  
  21.    2.1 Terms used in this document:
  22.  
  23.    * "Press a mouse button" refers to keeping your finger down on a key, while
  24.    possibly moving the mouse.
  25.  
  26.    * "Click a mouse button" refers to an immediate push and release of a mouse
  27.    button.
  28.  
  29.    * "Element" refers to an input node, neuron, or an output node.
  30.  
  31.    * "Snapping" refers to neuron activation.
  32.  
  33.    2.2 Creating Elements:
  34.  
  35.    Press the left or right button of your mouse on menu options In, Neuron, and
  36.    Out to drag an element into the drawing area.  If that element is released
  37.    on the border, on the menu, or on another element it is not created.  Upon
  38.    release into the drawing area a key from the keyboard is requested for human
  39.    identification.  The key must be alphanumeric else the element is not
  40.    created.  The key is not used internally and need not be unique.
  41.  
  42.    2.3 Moving an Element:
  43.  
  44.    Press the left button of your mouse on an element to drag it.  If that
  45.    element is released on the border, on the menu, or on another element it is
  46.    bounced back into it's former position.
  47.  
  48.    2.4 Connecting onto an Element:
  49.  
  50.    Press the right button of your mouse on an element an connect onto another
  51.    element with a release.  Releasing the right button onto an empty region
  52.    will have no effect.  Releasing the right button over a previous connection
  53.    will be ignored and result in a "Connect Repeat" error displayed, otherwise,
  54.    any element may be connected to any other element.  Future versions will
  55.    allow a two way connection.
  56.  
  57.    2.5 Neuron Weight Settings:
  58.  
  59.    Click the right button of your mouse on a neuron to modify the neuron weight
  60.    inputs and threshold.  A click of the right button of your mouse on an input
  61.    or output node will have no effect.  Move the hand icon into the slide
  62.    settings and press your left or right mouse button to slide a weight or the
  63.    threshold value.  Press the left or right button of your mouse out of the
  64.    neuron settings window to remove the neuron settings window. For a neuron to
  65.    'fire' or 'snap' the following inequality must be true:
  66.  
  67.         sum of active weights
  68.         ----------------------------   >= Threshold
  69.         sum of total input |weights|
  70.  
  71.    For example assume a neuron say, neuron 1 with threshold=0.45 and three
  72.    input weights a=0.30, b=0.40, and c=0.25, then,
  73.  
  74.         0.30*a_active+0.4*b_active+0.25*c_active
  75.         ---------------------------------------- >= 0.45
  76.                   |0.30|+|0.40|+|0.25|            ?
  77.  
  78.      where the x_active values are binary 0 or 1, and |x| = absolute value of
  79.    x.
  80.  
  81.    The switching above is equivalent to the binary function,
  82.  
  83.         OUT = A*B + B*C + C*A
  84.  
  85.    For this neuron, if any two inputs are active the output will then become
  86.    active on the next step.  What surprises me most about neuron snapping is
  87.    the seemingly binary behavior through an analog means.  Neurons either snap
  88.    or remain dormant.  The weight and threshold values control the effective
  89.    binary function.  In the preceding example, if a=0.45, b=0.40, c=0.25 and
  90.    threshold=0.38 then the binary function becomes,
  91.  
  92.         OUT = A + B*C
  93.  
  94.    Greater decision independence is evident with the removal of the '*' or
  95.    'and' operator.  Negation may also be configured with the help of a three
  96.    continuously active input nodes connected in a cycle as shown below.  Due
  97.    the the time dependent step-wise neuron snapping, the effect of negation can
  98.    be seen only momentarily for this simple configuration.
  99.  
  100.  
  101.                             (-)
  102.         in-------------------->        (+)
  103.                                   ET   ----------->out
  104.                             (+)
  105.          -->b---->c---->d----->
  106.         |                  |
  107.         |                  |
  108.          ------------------
  109.  
  110.  
  111.  
  112.    2.6 Deleting an Element:
  113.  
  114.    Press the left or right button of your mouse on menu option Delete and
  115.    release the cross cursor on an element in the drawing area.  If the cross
  116.    cursor is released on the border, on the menu, or nowhere no element is
  117.    deleted.  Upon deletion, the element and all connections to and from it are
  118.    removed.
  119.  
  120.    2.7 Simulation:
  121.  
  122.    Click the left or right button of your mouse on menu option Simulation, then
  123.    click on any elements you would like initially active.  An active element is
  124.    indicated by the yellow vertical and horizontal lines about the element.  Be
  125.    sure to set all weights for the neurons before selecting the Simulation
  126.    menu.  To begin neuron snapping (decision making) click the Step button.  To
  127.    cancel, click the Stop button or any region in the drawing area.
  128.  
  129.    If the neural network model has five or more neurons with at least two
  130.    connected as a second layer, surprising neuron snapping may result.
  131.    Recursion of the output layer into the input layer can provide an
  132.    interesting sight of neuron snapping as well.
  133.  
  134. 3 Possible Applications
  135.  
  136. * approving loan applications
  137. * student admission into universities
  138. * trouble-shooting industrial circuits
  139. * robot learning
  140. * dynamic software interaction
  141. * pattern recognition (vision, sound)
  142.  
  143. 4 Future Versions.
  144.  
  145. This ET NN simulation will be incorporated with various input and output nodes
  146. such as keyboard strikes, database file access, and MIDI music keyboard
  147. activation.  ET was created to help me form an AI NN basis for computer music
  148. composition on the IBM PC.  Various learning models will also be included.  If
  149. you have suggestions for future versions please contact me.
  150.  
  151. 5 Distribution and Order.
  152.  
  153. Feel free to distribute this public domain version of ET, it can be quite
  154. useful in academic settings.  If you would like the commercial version please
  155. send a $40 check and any ET feature request(s) to:
  156.  
  157.      Software Bytes
  158.      P.O. Box 9283
  159.      El Paso, TX 79983
  160.  
  161.      (915) 779-2352
  162.  
  163. 6 Closing.
  164.  
  165. ET was written from the heart, I hope you learn about neural nets.
  166.  
  167.  
  168.                                             Sincerely,
  169.  
  170.                                             Raul Aguilar
  171.                                             Electronics Engineer
  172.  
  173.