Page 156 - Computational Colour Science Using MATLAB
P. 156

NEURAL NETWORKS                            143
               The Kubelka–Munk theory characterizes each colorant using the absorption K
             and scattering S coefficients at each wavelength. The theory can be difficult to
             apply since specific calibration samples are required to allow estimation of the K
             and S values (Nobbs, 1985).



             9.3   Neural networks


             The field of artificial neural networks (ANNs) defines a set of computational
             methods that were inspired from studies of how humans process information to
             solve problems. There are many different types of ANNs and the reader is
             recommended to study the extensive literature that is now available to explain
             the principles and algorithms of neural computing (e.g. Rumelhart and
             McClelland, 1986; Kohonen, 1988; Aleksander and Morton, 1991; Haykin,
             1994). This chapter includes only a cursory analysis of just one class of neural
             network known as a multilayer perceptron (MLP). Despite the large variety of
             network structures that have been developed, the majority of practical
             applications of neural computing are in fact based upon MLPs.
               An MLP consists of layers of processing units known as neurones, or simply
             units. Each unit receives input and performs some function upon this input to
             produce an output. The function between input and output for any unit is known
             as the activation function, or the transfer function, and normally is non-linear. A
             typical non-linear transfer function is the sigmoid (S-shaped) function, but linear
             transfer functions sometimes are used for the units in the output layer. The input
             for each unit is the weighted sum of the outputs from all the units in the previous
             layer. The units in the first layer (known as the input layer) receive their input
             from an input vector and those in the last layer (known as the output layer)
             generate an output vector. Each unit in the hidden and output units also receives
             weighted input from a bias unit whose output is fixed at unity. The network as a
             whole can be thought of as a universal function approximater that attempts to
             find a mapping between input vectors and output vectors (Figure 9.1). Such
             networks are interesting because, in principle, they can perform any valid
             mapping to any arbitrary degree of accuracy. A valid mapping is one that is
             computable.
               The number of units in the input and output layers is determined from the
             nature of the problem being solved. If, for example, the network is being used to
             perform a mapping between a four-dimensional vector and a one-dimensional
                        4
                              1
             vector (f : < !< ), then the number of units in the input and output layers
             would be four and one, respectively. However, the number of hidden layers and
             the number of units in each hidden layer must be determined empirically. For
             ANNs it is important to distinguish between the training mode and the testing
             mode. During the training mode, examples of an input–output pair are presented
             to the network, the error between the desired output and the actual output (using
   151   152   153   154   155   156   157   158   159   160   161