![]() ![]() |
The term 'neural network' is in fact a biological term, and what we refer to as neural networks should really be called Artificial Neural Networks (ANNs). I will use the two terms interchangeable throughout the essay, though. A real neural network is a collection of neurons, the tiny cells our brains are comprised of. A network can consist of a few to a few billion neurons connected in an array of different methods. ANNs attempt to model these biological structures both in architecture and operation. There is a small problem: we don't quite know how biological NNs work! Therefore, the architecture of neural networks changes greatly from type to type. What we do know is the structure of the basic neuron.
Just as there is a basic biological neuron, there is basic artificial neuron. Each neuron has a certain number of inputs, each of which have a weight assigned to them. The weights simply are an indication of how 'important' the incoming signal for that input is. The net value of the neuron is then calculated - the net is simply the weighted sum, the sum of all the inputs multiplied by their specific weight. Each neuron has its own unique threshold value, and it the net is greater than the threshold, the neuron fires (or outputs a 1), otherwise it stays quiet (outputs a 0). The output is then fed into all the neurons it is connected to.
As architectures vary, so do the learning rules, but most rules can be categorized into two areas - supervised and unsupervised. Supervised learning rules require a 'teacher' to tell them what the desired output is given an input. The learning rules then adjusts all the necessary weights (this can be very complicated in networks), and the whole process starts again until the data can be correctly analyzed by the network. Supervised learning rules include back-propagation and the delta rule. Unsupervised rules do not require teachers because they produce their own output which is then further evaluated.
The network consists of several "layers" of neurons, an input layer, hidden layers, and output layers. Input layers take the input and distribute it to the hidden layers (so-called hidden because the user cannot see the inputs or outputs for those layers). These hidden layers do all the necessary computation and output the results to the output layer, which (surprisingly) outputs the data to the user. Now, to avoid confusion, I will not explore the architecture topic further. To read more about different neural nets, see the Generation5 essays.
Even after discussing neurons, learning and architecture we are still unsure about what exactly neural networks do!
Pattern associators takes one vector and output another. For example, my HIR program takes a 'dirty' image and outputs the image that represents the one closest to the one it has learnt. Again, at a more practical level, associative networks can be used in more complex applications such as signature/face/fingerprint recognition.
Yes, there are quite a few down points to neural networks. Most of them, though, lie with our lack of hardware. The power of neural-networks lie in their ability to process information in a parallel fashion (that is, process multiple chunks of data simultaneously). Unfortunately, machines today are serial - they only execute one instruction at a time. Therefore, modelling parallel processing on serial machines can be a very time-consuming process. As with everything in this day and age, time is of the essence, which often leaves neural networks out of the list of viable solutions to a problem.
Other problems with neural networks are the lack of defining rules to help construct a network given a problem - there are many factors to take into consideration: the learning algorithm, architecture, number of neurons per layer, number of layers, data representation and much more. Again, with time being so important, companies cannot afford to invest to time to develop a network to solve the problem efficiently. This will all change as neural networking advances.
Submitted: 31/03/2000