What are Neural Networks?
Neural Networks are simplified computer
simulation of neurons and synapses. There are several models
of Neural Networks. The most popular is the BackPropagation
model.
Trained vs Programmed
Although Neural Networks engines are either
programmed or implemented in hardware with traditional
programming techniques, the main advantage of Neural Networks
is that they are trained to do their jobs rather than
programmed to do their job. In traditional software projects,
an analyst will devise a set of algorithms, data structures,
object classes and their methods so that the application
follows the programmed algorithms to perform the job.
With Backpropagation Neural Networks,
an architecture of neurons with their interconnections is
designed in such a way that it can accept a set of input data
and produce a set of output data from it. Then the Neural
Network is trained from a large set of representative input
data with their corresponding output data. The Neural Network
gradually adjusts its interconnection strenghts until the
proper outputs, with small enough errors, are produced when
presented coresponding inputs.
Once training is completed, the Neural
Network can be applied to the job.
Cope well with unknown
One benefit of using Neural Networks for some
types of jobs is that they can easily and reliably cope with
new or unexpected situations. With traditionally programmed
applications, if unexpected data or situations arrise, then
the application will either behave erraticaly, produce wrong
results or even crash.
This is not the case with Neural Networks
which will produce an output data compatible with the internal
model ot the problem space even if the given data was never
seen while training.
Neural Networks produce results within a
prespecified error range so they are not designed to produce
precise results but rather good results. For this reason,
there are applications where Neural Networks are not
appropriate. For instance, I would not like to have a Neural
Network compute my paycheck.
Distributed knowledge
Neural Networks don't manipulate symbols or
numbers the way programmed applications do. Neural Networks
produce a model of the problem space within their set of
weighted neural interconnections. The model is distributed
inside those interconnections and it is difficult to assign
any human figurable meaning to any of the individual
interconnections.
Because of this knowledge
distribution, a Neural Network is very robust if damaged.
Several interconnections may be broken before a Neural Network
starts producing unusable data.
|
Applications of Neural Networks
I did my master's thesis on the use of Neural
Networks for the detection and replacement of missing values
in databases. For the thesis, I developped a Neural Networks
evaluation shell in C++. Before working for Micro-Intel in the
Multimedia business, I did work for a robotic company named
Geyser Robotique Inc. and I developped, among other things, a
mobile robot navigation system based on Neural Networks. The
Network received its data from ultrasonic sensors and wiskers
and controlled the steering and speed of the robot. With this
navigation system, the robot could move in any static or
dynamic environment and bypass the obstacles. It could even
get out of dead-ends.
3D character animation
During those days, I also worked on Neural
Networks control systems for articulated robots. I think that
the techniques developped then would be applicable to the
control of articulated 3D characters.
Another area of animation that would benefit
fron Neural Networks is Lip-Sync. Currently, doing lip-sync on
characters requires a lot of work from the animator because of
the way lips position are merged when we speak. It should be
possible to train a Neural Network that would automatically
compute those merges given a series of syllables.
BRDF modeling
Another area where Neural Networks can be
used in 3D computer graphics is to model BRDFs (Bidirectional
Reflectance Distribution Function). BRDFs are
multi-dimentional functions which represent the reflectance of
an object surface. This is related to light and view
directions and specific for each surface type. Several
approaches have been tried to model BRDF and none of then
perform better than a Backpropagation Neural Network would do.
They could be used with equal success for isotropic or
anisptropic BRDFs.
e-Learner profiling
Today, I believe that the Neural Networks
could be efficiently used within Multimedia eLearning
Environment User Interfaces to model learner profile and
knowledge level, adapt to their learning strategies and even
proactively suggest learning paths.
|