next up previous contents index
Next: Example Session Up: Inversion Previous: The Algorithm

Inversion Display

   

The inversion algorithm is called by selecting the menu item INVERSION in the pull--down menu hidden behind the GUI button of the SNNS Info panel.

Picture gif shows an example of the generated display.

 
Figure:  The Inversion Display

The display consists of two regions. The larger, lower part contains a sketch of the input and output units of the network, while the upper line holds a series of buttons. Their respective functions are:

  1. : Quits the inversion algorithm and closes the display.

  2. : Starts / Continues the algorithm. The program starts iterating by slowly changing the input pattern until either the STOP button is pressed, or the generated output pattern approximates the desired output pattern sufficiently well. Sufficiently well means that all output units have an activation which differs from the expected activation of that unit by at most a value of . This error limit can be set in the setup panel (see below). During the iteration run, the program prints status reports to stdout.  

        cycle 50 inversion error 0.499689 still 1 error unit(s)
        cycle 100 inversion error 0.499682 still 1 error unit(s)
        cycle 150 inversion error 0.499663 still 1 error unit(s)
        cycle 200 inversion error 0.499592 still 1 error unit(s)
        cycle 250 inversion error 0.499044 still 1 error unit(s)
        cycle 269 inversion error 0.000000 0 error units left
    

    where cycle is the number of the current iteration, inversion error is the sum of the squared error of the output units for the current input pattern, and error units are all units that have an activation that differs more than the value of from the target activation.

  3. : Interrupts the iteration. The status of the network remains unchanged. The interrupt causes the current activations of the units to be displayed on the screen. A click to the button continues the algorithm from its last state. Alternatively the algorithm can be reset before the restart by a click to the button, or continued with other parameters after a change in the setup. Since there is no automatic recognition of infinite loops in the implementation, the button is also necessary when the algorithm obviously does not converge.

  4. Resets the network to a defined initial status. All variables are assigned the values in the setup panel. The iteration counter is set to zero.

  5. : Opens a pop-up window to set all variables associated with the inversion. These variables are:  

    A short description of all these variables can be found in an associated help window, which pops up on pressing in the setup window.

    The variable second approximation can be understood as follows: Since the goal is to get a desired output, the first approximation is to get the network output as close as possible to the target output. There may be several input patterns generating the same output. To reduce the number of possible input patterns, the second approximation specifies a pattern the computed input pattern should approximate as well as possible. For a setting of 1.0 for the variable Input pattern the algorithm tries to keep as many input units as possible on a high activation, while a value of 0.0 increases the number of inactive input units. The variable 2nd approx ratio defines then the importance of this input approximation.

    It should be mentioned, however, that the algorithm is very unstable. One inversion run may converge, while another with only slightly changed variable settings may run indefinitely. The user therefore may have to try several combinations of variable values before a satisfying result is achieved. In general, the better the net was previously trained, the more likely is a positive inversion result.

  6. : Opens a window with a short help on handling the inversion display.

The network is displayed in the lower part of the window according to the settings of the last opened 2D--display window. Size, color, and orientation of the units are read from that display pointer.



next up previous contents index
Next: Example Session Up: Inversion Previous: The Algorithm



Niels Mache
Wed May 17 11:23:58 MET DST 1995