home *** CD-ROM | disk | FTP | other *** search
/ Collection of Education / collectionofeducationcarat1997.iso / COMPUSCI / HOPF300.ZIP / HOPFIELD.DOC < prev    next >
Text File  |  1994-12-20  |  7KB  |  185 lines

  1. *** HOPFIELD v.3.00 ***
  2. --------------------------
  3. Binary neural network simulation
  4. with simple character recognition system.
  5.  
  6. USER'S MANUAL - QUICK'N'DIRTY DOC
  7.  
  8. Copyright (c) 1994 Piotr Rotkiewicz
  9. piro@chem.uw.edu.pl
  10.  
  11.  
  12. 1.Introduction.
  13. --------------
  14.    Hopfield is a simple binary neural network
  15. simulation designed for basic experiments like
  16. storing patterns, comparing different training rules
  17. and recognition methods, visualization of network
  18. states.
  19.    Actually program contains 225-neurons network (over
  20. 50000 synapses), 2 training rules, 3 recognition
  21. methods, preprocessing algorithm, network state
  22. visualization and a lot of other features.
  23.    Please forgive me but I didn't explain basic ideas
  24. of neural networks like local field, spin flips, etc.
  25.  
  26. 2.Hardware requirements.
  27. --------------------------
  28.   Hopfield v.3.00 requires:
  29.     - PC/AT compatibile machine,
  30.     - 500KB conventional and 200KB extended memory
  31.       free,
  32.     - VGA colour display,
  33.     - mouse (Microsoft Mouse compatibile).
  34.  
  35.  
  36. 3.How to use Hopfield?
  37. ----------------------
  38.   Hopfield v.3.00 is supplied with friendly and nice
  39. interface using Pirosoft GUI graphical library.
  40.   Mouse is REQUIRED to use this program. Please notice
  41. that not all options are available from keyboard!
  42.   After entering Hopfield you can see pull-down menu
  43. at the top of screen and the icon bar below. Please press
  44. query mark at the right side. Next you can select any
  45. item and short description ("baloon help") will be
  46. displayed.
  47.  
  48.  
  49. 4.Patterns, characters and networks.
  50. ------------------------------------
  51.   There are two places on the board: character window
  52. and pattern (neurons) window. Using mouse you can draw
  53. characters and set states of neurons. Please try it!
  54.   Character may be automatically converted into pattern
  55. using "Preprocess" option.
  56.   Built-in disk manager allows you to load and save
  57. networks and patterns. Default extension of the network
  58. files is 'NET' and the pattern files is 'PAT'.
  59.  
  60.  
  61. 5.Storing methods.
  62. ------------------
  63.   For setup storing methods please go to
  64. the "Configuration" menu and select "Storing
  65. methods" option. Next you can select Hebbian rule
  66. or perceptron rule and set Hebbian rule weights
  67. multiplier. You can also set random network
  68. initialization option which is very useful for
  69. perceptron method.
  70.   For begin storing patterns process select the
  71. "Storing patterns" option from the "Pattern" menu
  72. or press "TRAIN" icon. Next you have to select
  73. patterns for training by pressing RIGHT mouse
  74. button or Insert key. Next you can press Enter
  75. (or OK button). Storing process will begin.
  76.  
  77.   There are two rules of storing patterns available
  78. in current version:
  79.  
  80.    - Hebbian rule - uses very simple algorithm:
  81.  
  82.    WEIGHT(i,j)=SUM(m=1..M) {
  83.                  SUM(i=1..N,j=1..N,i<>j) {
  84.                    Pm(i)*Pm(j)
  85.                    }
  86.                  }
  87.      where WEIGHT(i,j) is connection weight between
  88.    i and j neurons, M is patterns number, N is neurons
  89.    number, Pm(1..N) is actually storing pattern.
  90.      Hebbian rule is not useful for practical
  91.    applications, it is good rather for theoretical
  92.    experiments. Maximal number of not-correlative
  93.    patterns which may be stored using Hebbian rule
  94.    don't exceed 14 precent of neurons number. Usually
  95.    storage capacity is a far lower.
  96.  
  97.    - Perceptron rule - is iterative process which
  98.    allows to store about 2*N patterns in N-neurons
  99.    neural network! Unfortunatelly, this process is
  100.    very slow. You can set minimal local field parameter
  101.    which define network accuracy level. Process will
  102.    automatically finish after all patterns will
  103.    correctly (i.e. with correct local field level) be
  104.    stored.
  105.  
  106.  
  107. 6.Recognition methods.
  108. ----------------------
  109.   You can select recognition method by choose it from
  110. the "Configuration" menu. You can also set initial
  111. temperature (a MC parameter) and number of simulation
  112. repeats by step.
  113.  
  114.   There are three methods of recognition built in
  115. Hopfield:
  116.  
  117.   - Sequencing method - all neurons states flips at
  118. the same time. This method is the fastest one, but
  119. very often cause creating of "weak memories".
  120.  
  121.   - Monte Carlo method - neurons flips random (Hopfield
  122. uses quite good pseudo-random generator - Wichmann/Hill
  123. algorithm). This method is much better than previous,
  124. but quite slow. Quality of recognition depends on
  125. initial temperatuer parameter - please try it.
  126.  
  127.   - MC with exerting local field level. Exerted local
  128. field level should be lower than "minimal local field"
  129. introduced in the perceptron method.
  130.  
  131.   MC with self-control of noise level is a very
  132. interesting kind of method, but not fully implemented
  133. in present version yet. Sorry.
  134.  
  135.  
  136. 7.Recognition process.
  137. ----------------------
  138.   Choose the "Recognize pattern" option or press the
  139. "BRAIN" icon. Recognition will begin. You can call next
  140. step of recognition process by pressing "Step" button
  141. or break it by pressing "Break" button (placed in right
  142. bottom corner of the screen). The network energy
  143. (Lyapunov function) can be displayed (set correct
  144. option in "Recognition methods" configuration).
  145.   Please notice the influence of pattern's warping
  146. (select "Warp pattern" from the "Pattern" menu) on
  147. recognition results. Apply differnet recognition
  148. methods. Try recognize totally random patterns
  149. ("Random pattern" from the "Pattern" menu). Notice
  150. that inverted pattern ("inverse pattern") is
  151. recognized as good as the normal one.
  152.  
  153.  
  154. 8.Network visualization.
  155. ------------------------
  156.   You can see the connections matrix by selecting the
  157. "Network structure" option from the "Network" menu
  158. (or by pressing then "LENS" icon).
  159.   You can also visualize neuron states (select the
  160. "Neuron parameters" option) and show energy of
  161. network.
  162.  
  163.  
  164. **********************************************
  165. There's end of this "quick and dirty" documentation. I
  166. hope that next versions of the Hopfield network
  167. simulation will be much better (and my English too).
  168.  
  169. **********************************************
  170. Author thanks Dr.Andrzej Nowak (Institute for Social
  171. Studies, Warsaw University) for valuable disscusions
  172. and suggestions and Andrzej Kamionek (Warsaw
  173. University) for his opinion and hard beta testing.
  174. **********************************************
  175. HOPFIELD v.3.00 is FREEWARE program (no contributions
  176. are expected).
  177. If you have any questions, suggestions or problems
  178. with Hopfield or you want to get new versions of
  179. Hopfield (for example 400 neurons version) or more
  180. informations (I know, this documentation is *VERY*
  181. short) please send letter directly to me:
  182. piro@chem.uw.edu.pl
  183. with "HOPFIELD" subject.
  184. **********************************************
  185.