home *** CD-ROM | disk | FTP | other *** search
/ Current Shareware 1994 January / SHAR194.ISO / demos / gatordem.zip / MANUAL.TX_ / MANUAL.TX
Text File  |  1993-09-13  |  22KB  |  488 lines

  1.                Propagator for Windows Demo User's Manual
  2.                          September 2, 1993
  3.  
  4.  
  5.  
  6. **** Table of Contents
  7.  
  8.      Section 1 - Introduction
  9.      Section 2 - Using Propagator Demo
  10.           Installing Propagator Demo
  11.           Running an Example Problem
  12.      Section 3 - Preparing Your Own Data Files
  13.      Section 4 - The Control Window and the Dialog Boxes
  14.           Control Window
  15.           Architecture Dialog
  16.           Training Dialog
  17.           Testing Dialog
  18.      Section 5 - The Graphs
  19.      Section 6 - Other Features
  20.      Section 7 - Ordering Information
  21.  
  22.  
  23.  
  24. **** Section 1 - Introduction
  25.  
  26. Propagator is a commercial neural network development product produced by ARD
  27. Corporation.  Propagator runs several variations of the most common neural
  28. network paradigm, backpropagation.  There are versions of Propagator that run
  29. on the Windows-based IBM PC, Macintosh, and Sun Workstations.  This demo
  30. version is for the IBM PC running Windows 3.x.  The main feature missing from
  31. this demo is the ability to save your results.  Otherwise the program is fully
  32. functional.  Additionally, the Propagator network source code generator
  33. utility is not included with this package since it requires saved network
  34. problem files to work.
  35.  
  36. This document is intended to provide a brief introduction to how to operate
  37. Propagator.  It is not intended to replace the Propagator User's Manual.  In
  38. addition to the information provided here, there are a series of help screens
  39. inside Propagator that can help answer questions that you might have while
  40. running Propagator.
  41.  
  42.  
  43.  
  44. **** Section 2 - Using Propagator Demo
  45.  
  46. Installing Propagator Demo
  47.  
  48. The discussion below assumes that the floppy disk is drive "A:" and the hard
  49. disk is drive "C:".  If your drive designations are different, substitute the
  50. correct letter in the instructions below.
  51.  
  52. The demo version of Propagator is a self-extracting archive.  Use the
  53. following instructions to uncompress and install on your hard disk.
  54.  
  55. 1.  Insert the Propagator Demo Floppy Disk.
  56. 2.  At the DOS prompt, type the following to uncompress and place the
  57.     distribution files on your hard disk.  The following command will
  58.     create the GATORDEM directory in the root directory of the hard disk.
  59.      C:\> a:\gatordem  -d
  60. 3.  Type the following to start Windows.  The installation setup program
  61.     will not work from DOS prompt.
  62.      C:\> win /3
  63. 4.  From the  "File" menu of the Windows Program Manager, select "Run..."
  64.     menu.  The Run Dialog box will be displayed.
  65. 5.  Type in the following command to start the installation process.
  66.      c:\gatordem\setup
  67. 6.  Select "OK".  The Propagator Setup window will be displayed.
  68. 7.  Select "Continue" to install or "Exit" to stop the installation.
  69. 8.  Type in the directory you want to install Propagator.  The default
  70.     directory is:
  71.      C:\GATORDEM
  72. 9.  "Continue" to complete the installation or "Exit" to abort.
  73. 10.  You're set!  Enjoy Propagator.
  74.  
  75.  
  76.  
  77. Running an Example Problem
  78.  
  79. If you are somewhat familiar with backpropagation, you should be able to run a
  80. problem in a matter of minutes.  There are some example problems included with
  81. the demo for you to use while learning to use Propagator.  This demo version
  82. will allow you to use your own files, and the file format is discussed below. 
  83. One of the example problems is called the encoder problem.  This problem
  84. attempts to replicate the input values as the output values while passing the
  85. data through a smaller number of hidden nodes.  This requires the network to
  86. learn to encode or compress the data from input layer to hidden layer and to
  87. decode or uncompress again from hidden to output layer.  The following
  88. abbreviated instructions describe how to setup and run the encoder problem.
  89.  
  90. Start Propagator by double clicking the Gator icon.
  91.      - The control window will appear 
  92.  
  93. To define the network architecture, select the "Architecture" button on the
  94. Control Window.
  95.      - The Network Architecture dialog will appear
  96.      - Use this dialog to define the architecture
  97.  
  98. Enter the following settings in the dialog:
  99.      - Number of layers = 3
  100.      - Nodes per layer
  101.           - Input layer = 8
  102.           - Hidden layer = 3
  103.           - Output layer = 8
  104.      - Transfer functions
  105.           - Hidden layer = Sigmoid
  106.           - Output layer = Sigmoid
  107.      - Fully Connected
  108.      - Randomize weights
  109.           - Low value = -1.0
  110.           - High value = 1.0
  111.      - Generalized Delta Rule
  112.      - Time-based random seed
  113.      - Press "OK" to close the Network Architecture Dialog.
  114.  
  115. To define the training parameters, select the "Training Parameters" button on
  116. the Control Window.
  117.      - The Network Training Parameters dialog will appear
  118.      - Use this dialog to define the training parameters
  119.  
  120. Enter the following settings:
  121.      - Learning rate = 0.5
  122.      - Momentum factor = 0.9
  123.      - Total training cycles = 2000
  124.      - Min training error = 0.0
  125.      - Update interval = 10
  126.      - Random presentation
  127.      - No input noise
  128.      - Press the "Open Training File..." button
  129.           - This will display an Open dialog.  Select the file encoder.trn
  130.                in the encoder directory.
  131.      - Press the "Open Validation File..." button
  132.           - This will display an Open dialog, select the file encoder.val
  133.                in the encoder directory.
  134.      - Press "OK" to close the Training Parameters Dialog.
  135.  
  136. To run the encoder problem, press the "Train" button from the Control Window.
  137.      - The problem will start running.
  138.      - You can stop the problem manually by pressing "Stop" button.
  139.      - You can open any or all of the graphs from the Graphs menu.
  140.  
  141. That's all it takes to run a Propagator neural network.  There are many
  142. other features that Propagator provides.  They are explained in the sections
  143. below.  But, first the Propagator file format is explained so you can test
  144. Propagator with you own data.
  145.  
  146.  
  147.  
  148. **** Section 3 - Preparing Your Own Data Files
  149.  
  150. The Scale utility is included with the Propagator demo.  This program performs
  151. two main functions.  First, it changes any non-numeric delimiter characters to
  152. tabs '\t' and newlines '\n' used by Propagator.  Second, it will scale the
  153. input and target values to ranges specified by you.  This section will explain
  154. the format of Propagator input files training, validation, and testing.  All
  155. the files use the same format.  Data files contain two parts, input and
  156. targets; each input is paired with its target.  An input-target pair is called
  157. a pattern.  Each data file may contain many patterns.
  158.      1. Data files must be in ASCII format.
  159.      2. All inputs and targets must be numbers.
  160.           - floating point and integer are both allowed
  161.           - zero and negative numbers are also allowed
  162.      3. Data files take the following format.
  163.           Pattern 1 inputs         Pattern 1 targets
  164.           Pattern 2 inputs         Pattern 2 targets
  165.           Pattern 3 inputs         Pattern 3 targets
  166.                ...                 ...
  167.           Pattern n inputs         Pattern n targets
  168.      4. Inputs and targets must be separated by one or more white spaces.
  169.           - spaces ' ', tabs '\t', or newlines '\n'
  170.      5. Any number of items can be places on the same line.
  171.           - patterns can be split onto many lines
  172.           - several patterns can be put on one line
  173.      
  174. Acceptable example for three patterns, each with 2 inputs and 3 targets:
  175.      0.21 9.8  9.1  3    7
  176.      .1   .2   .3   .4   0.5
  177.      .001 .9   100  1    1.1
  178. For the first pattern .21 and 9.8 are the inputs, and 9.1, 3, and 7 are the
  179. targets.
  180.  
  181. Unacceptable example for three patterns, each with 2 inputs and 3 targets:
  182.      0.21,     9.8, 9.1, 3,   7
  183.      .1,  .2,  .3,  .4,  0.5
  184.      .001,     .9 Last pattern
  185.  
  186. The problems with this data are:
  187.      - Commas cannot be used as delimiters.  The scale program can
  188.           remove them.
  189.      - The number of items in the file does not match the network
  190.           architecture.  Since there are 5 items in a patterns (2 + 3)
  191.           there must be a multiple of 5 number of items in the file.
  192.      - The text "Last pattern" cannot appear in the file.  All entries must
  193.           be numbers.
  194.  
  195. The scale program makes it much easier to prepare input data for Propagator. 
  196. This program performs three basic functions.
  197. 1. Scales the input and target data and places it in a file.
  198. 2. Sets the delimiters to tabs '\t' between items and newlines '\n' at the end
  199.      of each pattern.
  200. 3. Creates a log file detailing the scaling process.
  201.  
  202. To run Scale utility, double click on the Scale icon.
  203.  
  204. Enter the following values in the Scale program window:
  205.      - The number of input nodes.
  206.      - Click the Scale Input Patterns check box if you want to scale the
  207.           inputs (otherwise the input values will remain the same, and
  208.           only the delimiters will be changed).
  209.      - The number of target nodes.
  210.      - Click the Scale Target Patterns check box if you want to scale the
  211.           inputs (otherwise the target values will remain the same,
  212.           and only the delimiters will be changed).
  213.      - Select the Select Input File... button.
  214.           - Use this to select your raw input data file.
  215.      - Select the Select Output File... button.
  216.           - Use this to name the output file for the scaling results.
  217.  
  218. To start scaling, press the Scale button.
  219.      - The process will create a file useable by Propagator.
  220.  
  221.  
  222.  
  223. **** Section 4 - The Control Window and the Dialog Boxes
  224.  
  225. Control Window
  226.  
  227. When you start Propagator, by double clicking the Propagator
  228. icon, the control window will be displayed.  The control window is command
  229. central for Propagator.  From this window, you can view all of your current
  230. setting, view the current status of the network, access the architecture
  231. dialog, access the training parameters dialog, access the testing parameters
  232. dialog, view the performance history dialog, start training, stop training and
  233. start testing.  Clicking on the three buttons on the left side of the control
  234. window (Architecture, Training, Testing) open the appropriate dialog box. 
  235. These dialog boxes can also be accessed from the network menu.  The three
  236. buttons on the bottom of the screen are used to start and stop training and
  237. testing.  You can start and stop training as often as you want.
  238.  
  239.  
  240.  
  241. Network Architecture Dialog
  242.  
  243. The architecture dialog is used to design your
  244. neural network.  There are a variety of setting that are available.  Once you
  245. make your setting and start training you cannot access the dialog box again. 
  246. In order to change the architecture, you must either start a new problem or
  247. select reinitialize from the network menu.  The following parameters are
  248. defined in the Network Architecture dialog box:
  249.  
  250. Number of Layers - Propagator can use from two to five layers.
  251.  
  252. Nodes per Layer - Specifies how many nodes make up each network layer.  You
  253. can have from 1 to 32768 nodes per layer.
  254.  
  255. Transfer Functions - Functions assigned to each layer except the input layer
  256. which is always linear.  Three functions are available: Linear, Sigmoid, and
  257. Tanh.  Generally, at least one of the layers uses a nonlinear transfer
  258. function (tanh or sigmoid).  When using tanh, data normalization is usually
  259. between -1 and 1.  When using sigmoid, data normalization is between 0 and 1.
  260.  
  261. Connectivity - Enables selection of fully connected or partially connected
  262. networks.  If a partially connected network is used, a Partial Connection File
  263. must be specified.  This file determines which nodes are connected.  Most
  264. applications use fully connected networks.
  265.  
  266. Weight Initialization - Used to assign Weight Initialization values.  For the
  267. network to learn, all of the initial weights cannot be the same.  Propagator
  268. enables you to specify low and high range limits for the initial weight
  269. values.  Propagator assigns the weights and bias units random numbers between
  270. these two values.  The valid range for each of the limits is -9999.99 to
  271. 9999.99, and the low value must be less than the high value.
  272.  
  273. Learning Rule - Propagator permits the use of either the Generalized Delta
  274. Rule or the Cumulative Delta Rule.  Both are variations of backpropagation. 
  275. The difference between the two rules is that the Generalized Delta Rule
  276. updates the weights after every training pattern and the Cumulative Delta Rule
  277. updates the weights at the end of each cycle.  When using the Generalized
  278. Delta Rule, the training patterns are typically presented to the network in
  279. random order.  To save time, they should be presented sequentially when using
  280. the Cumulative Delta Rule.
  281.  
  282. Random Seed - There are two options for Random Seed: Time-based or User
  283. Specified.  If Time-based is selected, Propagator uses a random seed based on
  284. the current time.  Time-based seeds differ each time a network is run.  To
  285. replicate past results, specify a random seed for Propagator to use.  The
  286. value of the seed must be between 0 and 2,147,483,647.
  287.  
  288.  
  289.  
  290. Network Training Parameters Dialog
  291.  
  292. This dialog box is used to set the values of the Network Training Parameters. 
  293. These parameters can be changed after training has started.
  294.  
  295. Learning Rate - Determines the magnitude of the weight change during training.
  296.  
  297. Generally, values between 0 and 1 are used.  If 0 is selected, the network
  298. will not learn.  If the Learning Rate is too large, the error will oscillate
  299. and the network will not learn.
  300.  
  301. Momentum Factor - This parameter helps networks learn faster by basing the
  302. current weight changes proportionally on the previous weight changes. 
  303. Generally, values between 0 and 1 are used.  If 0 is selected, the Momentum
  304. Factor term is not used.
  305.  
  306. Training Patterns Order - The training patterns can be presented either in
  307. random order or sequentially in the order of the patterns in the Training
  308. File.  If the Cumulative Delta Rule is used, the order does not matter,
  309. although sequential presentation is recommended to save time.
  310.  
  311. Total Training Cycles - Determines the maximum training cycles the network can
  312. run.  For example, if Total Training Cycles is set to 100, network training
  313. stops after 100 training cycles.  To train the network an additional 100
  314. cycles, this value must be increased to 200.
  315.  
  316. Minimum Training Error - Enables the network to stop training when the
  317. specified error value is reached.  The training error is the sum of the
  318. squared differences between the outputs and target values over the entire
  319. cycle divided by the number of training patterns.  This is often referred to
  320. as the Mean Squared Error.  Values in the range of 0.1 are often used.
  321.  
  322. Update Interval - Determines the behavior of many Propagator functions.  The
  323. valid range for the interval is 1 to 2,147,483,647, and it must be less than
  324. the Total Training Cycles value.  The following items are triggered when the
  325. number of training cycles reaches a multiple of the Update Interval:
  326. 1. The validation set is presented to the network,
  327. 2. A new line is added to the Performance History area of
  328.      the Control Window, and
  329. 3. Any graph currently shown is updated.
  330.  
  331. Training Patterns Input Noise - Gaussian noise can be added to the training
  332. patterns.  If added, the mean and standard deviation of the noise must be
  333. specified.  Generally, a mean of 0 and a small standard deviation such as 0.5
  334. are used.  Adding noise to the training patterns can enable the network to
  335. learn a more general solution to a problem.
  336.  
  337. Training File - Determines the data file used for training the network.  The
  338. Open Training File... button displays the Open File dialog that enables you to
  339. select a Training File.  When the Train button is pressed in the Control
  340. Window, Propagator verifies that the file contains the proper number of items.
  341.  
  342. The Training File can be changed after training has started.
  343.  
  344. Validation File - Determines the data file used for in the validation passes
  345. of the network.  The Open Validation File... button displays the Open File
  346. dialog that enables you to select a Validation File.  When the Train button is
  347. pressed in the Control Window, Propagator verifies that the file contains the
  348. proper number of items.  The Validation File can be changed after training has
  349. started.  However, once training with validation is started, the Validation
  350. File cannot be deleted.  Likewise, if training without validation is started,
  351. you cannot add a Validation File.  The Validation File is optional, and does
  352. not need to be used to train a network.
  353.  
  354.  
  355.  
  356. Network Testing Parameters Dialog
  357.  
  358. This dialog box enables you to select a file to use in testing a network and
  359. to add noise to the inputs of this Test File.  After all entries in this
  360. dialog are complete and it is closed, the test is run by selecting the Test
  361. button on the Control Window.  The results of the test are displayed in the
  362. Performance History area of the Control Window.  You can optionally request an
  363. Output vs. Target File from your test by selecting the Write Output vs. Target
  364. File When Testing option in the Preferences dialog.
  365.  
  366. Testing Patterns Input Noise - Gaussian noise can be added to the testing
  367. patterns.  If added, The mean and standard deviation of the noise must be
  368. specified.  Generally, a mean of 0 and a small standard deviation such as 0.5
  369. are used.  Adding noise to the testing patterns can enable you to determine
  370. more easily how well your network will generalize.
  371.  
  372. Testing File - Determines the data file used for testing the network.  The
  373. Open Testing File... button displays the Open File dialog that enables you to
  374. select a Testing File.  You can select any file, including a Training or
  375. Validation File, that has the proper number of elements.
  376.  
  377.  
  378.  
  379. **** Section 5 - The Graphs
  380.  
  381. Propagator displays three graphs that can help you determine the progress of
  382. network training.  Each of these graphs can be opened and closed while
  383. Propagator is running, and each is fully resizable.  A brief description of
  384. each graph follows.
  385.  
  386.  
  387.  
  388. Error vs. Cycle Graph
  389.  
  390. The Error vs. Cycle graph displays the mean squared error of the training and
  391. validation sets as training progresses.  If a validation set is not used,
  392. only the training set graph is displayed.  The mean squared error is plotted
  393. on the y-axis and the cycle number is plotted on the x-axis.  This graph is
  394. updated according to the Update Interval specified in the Network Training
  395. Parameters dialog.
  396.  
  397. Rescale - You can rescale the graph by clicking and dragging the mouse to
  398. create a rectangular region inside the active graph region.  When you release
  399. the mouse button, the graph rescales showing the selected area of the graph in
  400. greater detail.  You can zoom in as many times as you like.  To zoom out
  401. select the Zoom Out button or press the right mouse button while the cursor is
  402. over the graph.
  403.  
  404.  
  405.  
  406. Error vs. Output Unit Graph
  407.  
  408. The Error vs. Output Unit graph simultaneously displays the mean squared error
  409. for each output node in the network.  The sum of all of the error on this
  410. graph equals the training error value on the Error vs. Cycle graph.  The mean
  411. squared error is plotted on the y-axis and the output node number is plotted
  412. on the x-axis.  When all of the error values are within twenty percent of
  413. zero, the graph is automatically rescaled for better viewing.
  414.  
  415.  
  416.  
  417. Output Error vs. Target Graph
  418.  
  419. The Output Error vs. Target graph shows the relationship of an individual
  420. output node's errors to the target values for all patterns in a training
  421. cycle.  The errors, which are the output minus target values, are plotted on
  422. the y-axis while the target values are plotted on the x-axis.  As performance
  423. improves the values should tend to approach the zero error line drawn in the
  424. middle of the graph.  The slider at the bottom of the graph allows you to
  425. select the output node for which the error values are displayed.  When all of
  426. the error values are within twenty percent of zero, the graph is automatically
  427. rescaled for better viewing.
  428.  
  429.  
  430.  
  431. **** Section 6 - Other Features
  432.  
  433. Propagator provides several other function all of which are not useable in the
  434. demo.  In particular, the Output files listed in the Preference Dialog are not
  435. created in the demo.  These files are created when the problem file is saved,
  436. and since you cannot save with the demo version these files are not created. 
  437. The source code generator is also absent from the demo version.
  438.  
  439.  
  440.  
  441. Jog Weights
  442.  
  443. Jog Weights dialog is used to specify a range of values by which the weights
  444. and bias units in an existing network can be altered randomly.  This technique
  445. is most often employed when the network is stuck in a local minimum.
  446.  
  447. Propagator randomly selects a number between the high and low range limits and
  448. adds it to each weight and bias unit in the network.  Generally a small range
  449. of values such as -0.1 to 0.1 is used.  Each weight and bias unit has a
  450. different random number within the desired range added to it.  The random
  451. numbers are drawn from a uniform distribution.
  452.  
  453.  
  454.  
  455. Reinitialize
  456.  
  457. Reinitialize feature is used to start a problem over again without having to
  458. reenter the various parameters in the dialog boxes.
  459.  
  460. Reinitialize performs the following functions:
  461. 1.  Sets the current cycle to 0,
  462. 2.  Initializes the weights,
  463. 3.  Clears the Performance History area of the Control Window, and
  464. 4.  Allows access to the Network Architecture dialog.
  465.  
  466.  
  467.  
  468. **** Section 7 - Ordering Information
  469.  
  470. To order Propagator please contact:
  471.  
  472.      ARD Corporation
  473.      9151 Rumsey Road
  474.      Columbia, MD 21045
  475.      Phone     410/997-5600 or 1-800/969-2731
  476.      Fax       410/997-3902
  477.      Email          propagator@ard.com
  478.  
  479. The pricing for Propagator is:
  480.      PC Windows 3.x version                  $199
  481.       Macintosh System 7.x version           $199
  482.       Sun Solaris 1.x and Solaris 2.x version     $499
  483. We accept VISA and Master Card.  Educational discounts, site licenses, and
  484. free technical support available.  We also provide a money back guarantee.
  485.  
  486. Finally, ARD's Software Systems Group provides complete software consulting
  487. services.  We have written complex applications for many industries since
  488. 1980.