Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] acgv_v2_0.gz(58 Kbytes)
Manuscript Title: JETNET 3.0: A versatile artificial neural network package.
Authors: C. Peterson, T. Rognvaldsson, L. Lonnblad
Program title: JETNET VERSION 3.0
Catalogue identifier: ACGV_v2_0
Distribution format: gz
Journal reference: Comput. Phys. Commun. 81(1994)185
Programming language: Fortran.
Computer: DEC Alpha 3000.
Operating system: DEC OSF 1.3.
RAM: 90K words
Word size: 32
Keywords: Pattern recognition, Jet identification, Data analysis, Artificial neural network.
Classification: 6.4, 11.9.

Nature of problem:
Challenging pattern recognition and non-linear modelling problems within high energy physics, ranging from off-line and on-line parton (or other constituent) identification tasks to accelerator beam control. Standard methods for such problems are typically confined to linear dependencies like Fischer discriminants, principal components analysis and ARMA models.

Solution method:
Artificial Neural Networks (ANN) constitute powerful nonlinear extensions of the conventional methods. In particular feed-forward multilayer perceptron (MLP) networks are widely used due to their simplicity and excellent performance. The F77 package JETNET 2.0 [1] implemented "vanilla" versions of such networks using the back- propagation updating rule, and included a self-organizing map algorithm as well. The present version, JETNET 3.0, is backwards compatible with older versions and contains a number of powerful elaborate options for updating and analyzing MLP networks. A set of rules-of-thumb on when, why and how to use the various options is presented in this manual and the relation between the underlying algorithms and standard statistical methods is pointed out. The self-organizing part is unchanged and is hence not described here. The JETNET 3.0 package consists of a number of subroutines, most of which handle training and test data, that must be loaded with a main application specific program supplied by the user. Even though the package was originally mainly intended for jet triggering applications [2,3,4], where it has been used with success for heavy quark tagging and quark-gluon separation, it is of general nature and can be used for any pattern recognition problem area.

The only restriction of the complexity for an application is set by available memory and CPU time. For a problem that is encoded with ni input nodes, no output (feature) nodes, H layers of hidden nodes with nh(j)(j=1,...,H) nodes in each layer, the program requires the storage of 2Mc real numbers given by
 M = n * n    = Sigma (n   * n      ) + n   * n                  (1)     
  c   i   h(1)   j=1    h(j)  h(j+1)     h(H)  o                         
 Also, the neurons requires the storage of 4Mn real numbers according to 
 M = n + Sigma (n    ) + n                                       (2)     
  n   i   j=1    h(j)     o
In addition one of course needs to at least temporarily store the patterns; Mp = ni+no real numbers. If second order methods are employed, which keep track of past gradients, the storage requirement increases with 2(Mc + Mn). If individual learning rates are used, it increases with an additional Mc + Mn.

Running time:
Running the test-deck problem, which has Mc=60 and Mn=16, for 100 epochs with 5000 training pattern presentations per epoch takes between 30 and 60 CPU-seconds on a DEC Alpha workstation 3000/400, depending on which method that is used. A real-world problem with Mc=240 and Mn=34, using 3770 patterns and training for 1000 epochs, takes 565 CPU-seconds on the same machine.