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