|
In order to further the main aim of artificial intelligence (to create a computer system that mimics
the human brain as well as possible), the artificial neural network was created as an example of the closest
possible artificial intellect to a real brain.
The human brain consists of a huge collection
of neurons (brain cells), each of which has a large number of connections to other neurons
in the brain or the spinal cord. Electrical signals travel along these connections, and each
neuron processes its inputs and generates a set of output signals which are then sent to
neurons that it is connected to.
A neural network functions almost identically, except that there are far less neurons in the network:
the human brain can contain many billions, but a neural network could not possibly contain this many
with today's computer systems due to limitations in memory, disc space, and processor speed.
A large number of nodes (computer neurons) interact together in the same way as neurons in the
brain, with many inputs coming into each neuron, which then produces one or more output signals
to send to other nodes. Each node contains an activation function which determines
how to process the incoming signals and to produce an output.
|
Quite right! While the concept of the neural network is based on the human brain,
various other examples of this sort of idea have been found in nature. Of course
in brains of other "higher organisms" (that is, animals which have human-like
brains) but also in other behaviour.
Some animals have only primitive networks of nerves, which are very much like
artificial neural networks. While the amount of nervous tissue present in animals
like this (fish, insects etc.) is relatively small, they still manage to swim, fly or
run in formation, hunt, attack, defend themselves and many other important
actions that would take a huge amount of traditional programming to write (and
a very strange processor, if we're talking about programming a fish!)
An example of a neural network operating in the real world between organisms
(i.e. not inside the physiology of one particular organism) is
an ant colony. Each ant has its own particular job, and it is told what to do by
a complex interaction of other ants. Each single ant can only process several simple commands,
but when you combine that with the number of different sorts of ants and their
"programmability", it seems to be
enough to allow the colony to effectively defend itself, ensure that its members have enough
food to survive, and perform other important functions necessary to its survival.
|
The activation function is, in effect, an algorithm which decides what the particular
neuron to which it belongs should do in reaction to inputs coming in from adjacent neurons.
It places 'weightings' on all the inputs, mixes them together in some way known only
to the activation function (or a strange biological reaction in real life) and spits out an
answer, or many answers in the brain: each neuron is connected to many others.
In a "multiple" situation such as the brain, each neuron may have a number of
activation functions, each to decide the output sent to any of its neighbouring neurons.
Activation functions are not necessarily static:
neural networks have a particularly useful ability - they
can 'learn' the proper responses to particular situations. There are various
ways of 'training' a neural network, some involving directly programming the neurons,
but usually having something to do with pouring a huge amount of data through the system
and having a separate program alter the weightings in each of the activation functions in
order to produce the correct results as dictated by some outside idea.
For example, if you were predicting the stock market, you'd get the predictions
from a few decades back, run them through the network, and try and adjust the weightings
so that it would successfully predict which stocks to buy and which to sell at any given time.
Once the neural network could successfully predict trends in pre-recorded data, put it into
the real world, where, hopefully, it will implement the skills it has learned beforehand and
make you money!
|
Yes ... sometimes! They aren't always accurate, and of course you have to
find the proper program for the job. A team of researchers, amazingly enough,
managed to make an AI program that would do stock market predictions rather
well - check out the Genetic Algorithms page for more info on that.
|
Neural networks are particularly useful for situations where the relationship between inputs and
outputs is complex and would be difficult to program.
Neural networks can adapt to different situations without specific programming.
Neural networks are fast and can withstand noise in data
|
That's quite true! Think of how long it takes to "boot up" a human.
The human brain continues to grow with the rest of the body up until around the
age of 18-20 years, and during this time new neurons are continually being created and 'trained'
for their own particular purposes (for example, speech or movement). It takes a long time
for a human to learn to balance; around nine to twelve months to learn to walk, and much longer
than that to teach one to use all of its senses properly (to understand spoken and written
language, to talk etc.).
|
Luckily, neural networks don't need to learn to do as much as a human does, and the senses
available are far less confusing that sight, smell, taste, touch and hearing, but they are still slow to
train. Once trained, they can solve problems very quickly (think of how a human brain reacts
almost instinctively to billions of small changes in the environment) though, making them one of
the most powerful and promising methods of artificial intelligence around.
|