The proposed network system consists of a layer of input modules and an additional decision module. All sub-networks are MLPs. Only the number of inputs and the number of outputs of the module is determined by the system. The internal structure, such as the number of hidden layers and the number of neurons in each hidden layer can be chosen independent of the overall architecture.
Each input variable is connected to only one of the input modules. These connections are chosen at random. The outputs of all input modules are connected to the decision network. In the discussion that follows the dimension of the input vector is denoted by and the number of classes by .
Figure 5.2: The Proposed Modular Neural Network Architecture.
To determine a modular network it is necessary to specify either the number of inputs per input module or the number of input modules. These parameters are dependent on each other. It is assumed here that the number of inputs per module in the first layer is chosen as ; the number of input modules in the input layer can therefore be calculated as .
It is further assumed that . If this is not the case the spare inputs can be connected to constant inputs; in the implementation of the model all `free' inputs were connected to the constant value `0'. Alternatively, it would be possible to alter the size of one module or of a group of modules.
Each module in the input layer can have either or outputs. The network with intermediate outputs is refered to as large intermediate representation. It only is useful if the number of classes is very small. For problems with a larger number of classes the small intermediate representation () is more appropriate.
From an information theory point of view the small intermediate representation should be sufficient because only this number of output neurons is required to represent all the classes in a binary code.
The decision network has () or () inputs, dependent on the intermediate representation used. The number of outputs is , one output neuron for each class. The structure of the modular network is depicted in Figure 5.2 using a small intermediate representation. The function gives a permutation on . This permutation is randomly chosen and constant for a network.
Definition: A Module
A module is a multilayer feedforward neural network defined by a 3-tuple:
A multilayer Perceptron module with eight inputs, twelve neurons in the first hidden layers, ten neurons in the second hidden layer, and four outputs is described as: .
Definition: A Modular Neural Network
A modular neural network is a set of interconnected modules defined by a 7-tuple.
A modular network with 210 inputs, four classes, 15 input modules (each having 14 inputs, one hidden layer with six neurons and two outputs), a small intermediate representation, a permutation function , and a decision network (with 30 inputs, one hidden layer with ten neurons and 4 output neurons) is described as: .