Graciously hosted by
|
libnn - About
neuronal nets - short overview:
Neuronal Networks can be seen as a gracious analogy to real neural
networks existing in animals. First of all there are three approaches:
- modelling of real neural networks in silicio,
- designing neuronal network based software solutions for technical applications.
- design of neural network inspired hardware
Up to now the libnn-approach could be described as "neuronal networks
pour neuronal networks".
The main performance of neuronal nets is pattern recognition and
generalization:
They can be trained to recognize certain patterns:
for example letters coded by a matrix of 0's and 1's.
Such an exercise could be probably also performed by classical
programming with loops and if conditions. But what if the pattern is
disturbed, if the letter is e.g. not complete? The classical approach
would surely get into trouble or even fail, neuronal networks (if
designed and trained corretly) will solve this problem.
What neuronal nets are and can:
- Neuronal nets are a kind of parallel information processing. This means, theres isn't a central unit that processes sequentially discrete units of information changing or not changing them in dependance to the information to process and the internal state of the central processing unit. In contrast to this concept, neuronal nets consist of many simple processing units connected with each other. The information passed to one net is processed simultanously by this units.
- Neuronal nets can learn to associate certain inputs with certain outputs: They are capable of pattern recognition.
- And moreover what makes them flexible and really able of learning: they can generalize: they can recognize similar patterns.
- Neuronal nets learn by iterative induction: A certain set of inputs is given repeatedly to a net until it has learned to produce the right output.
- They are quite robust against variation or disturbance of a certain pattern.
- The knowledge stored in a neuronal net can't be found at certain addresses as usual for sequential information processing, but it is representated over the whole net.
- Therefore a certain information can't be get by reading a memory at a certain address but by association: by giving a certain input to the net that produces the corresponding output.
libnn and neuronal nets:
The aim of the libnn project is to create a small and fast but extensible C-library for building, training and storing neuronal nets on a computer. Therefore programming this library we stick to certain principles:
- The code must be as fast as possible
- It must use as less memory as possible
- The core (see the CVS repository: libnn/core) for generating and initialising neuronal nets is the base of all additional training methods and mustn't be changed by them
For visualising the outcomings we have decided to programm a CGI/HTML based GUI avoiding any annoyance caused by compiling and installing GUI's and supporting the platform independancy of the libnn, because this GUI will be run by a server that can be accessed by everyone via internet.
neuronal nets and artifical intelligence:
In the last years there has been a lot of enthusiasm about neuronal nets regarding their potential of explaining intelligence. But despite their often asthonishing performances, they are not the solution to all problems of Aritifcial Intelligence. Indeed, they are "just" one very efficient method within one field of A.I.: representation of knowledge.
A.I. researchers try to build atonomous agents. An atonomous agent lives within a certain (known or unkown) environment, has perceptors helping him to explore its surroundings, effectors to act in order to change its environment and its position to it, implemented rules and acquired knowledge that makes him act in dependance to the received percepts in a certain manner. And neuronal nets can "only" be applicated to the last point: knowledge, an very important element within an atomomous agent because it lets him react appropriately to new elements and happenings within its environment, it makes him flexibel. In fact, in every real environment an agent receives continuously different percepts. But every different percept doesn't require a different action. Similar different percepts often require the same action. This meams: they have to be generalized... one of the main performances of neuronal nets.
|