Neural Networks

From ANN - Artificial Neural Network for PHP 5
Jump to: navigation, search

Questions and Answers

  • What is a neural network?

An artificial neural network is a mathematical model of an associative biological neural network.

  • What are the differences between a biological and an artificial neural network?

Between both networks are huge differences. The neurons of a biological neural networks works parallel massively and such a network has billions or trillions of neurons connected massively. In comparison the artificial neural networks has just a few count of neurons depending on the among of data to associate by the network, e.g. 20 neurons. Such an artificial network is not connected by accident, but as a controlled and planned layer structure, where is an input layer, one or a few hidden layers and an output layer (if a multilayer perceptron topology is used). As an artificial neural network is a computer software it works sequentially and therefore there is a big difference to a biological neural network, of course.

  • What is the benefit of an artificial neural network?

The big advantage of human brain is the adaption of seen unknown things to a learned model stored in the brain's neurons. This is called association. Technically it is called an unsharpened information processing, so an artificial neural network can be used in an environment, where input information is not complete (like face recognition).

  • What are examples for technical use of artificial neural networks?
    • Prediction of power consumption: The local electricity factory in Duesseldorf, Germany is using a multilayer perceptron for daily prediction of power consumption in the city referring to temperature, humidity, weekday, and others.
    • Prediction of selling products: Prediction on how many articles of a product in a supermarket will be sold in one week. With this information it is possible to optimize ordering and storage.
    • Prediction of incoming calls to a call centre: Prediction on the among of daily calls in a call centre to plan how many co-workers have to work that day.
    • Post code recognition: The German Post is using neural networks in recognition of post codes (PLZ) written on letters by computer or manually. After recognition a computer readable code is printed on the letter so further recognition is not necessary again.
    • Solving mathematical functions: Artificial neural networks are also used to find a numeric solution of difficult mathematical functions. The network can associate the output of a function getting one or more unknown inputs. This is just possible by learning known inputs and outputs. The artificial network has an "idea" of the mathematical rule.
    • Classification: A general classification can be done also with a neural network. For example such a network can detect by an image if the person displayed is looking left or right, is laughing or not, male or female, and so on.
    • Intelligent network routing: A network router which learns the fastest routing of internet packets could be solved by using neural networks. Therefore this router can optimize routing decisions.
    • Detecting spam mails: Neural networks are also used to detect spam mails in mail clients or on mail servers.
    • Stock market: Prediction of stock values by market rules and psychological reactions.
    • Credit assignments: Determine bad credit risk of bank customers by including different aspects.
    • Network traffic estimation: Prediction how much traffic is to be expected for a sever cluster to a specific time of a day.
    • CRAP (Change Risk Analysis and Prediction: Analysing of error patterns in programming structures to predict possible errors in selected modules or methods could happen while refactoring software based on experiences the neural network did while testing the software.
    • Cancer detection: Cancer detection on several medical test results.
    • Air traffic control
    • Robot control
    • Game strategy control
    • Noise tolerance of analogue modems
    • Scheduling buses, trams, air planes and elevators
    • Optimization of traffic flows
    • Weather forecast
    • Music composition: A neural network can learn rules of composition and create own music based on them. (But until today I have never heard neural composed music.)
    • Compiler optimization: It's planned to extend the compiler gcc by neural networks to learn how to compile code with higher performance without manually optimizing the source code.
  • How to train an artificial neural network?

Like a human brain has to do, too. Learning by doing or learning, learning and learning. The artificial neural network gets inputs and produces an output. This output will be compared with aimed output. If there is a difference between them, the network must be changed. This procedure is done as often as the output fits to the aimed output. After this the artificial networks "knows" the rules to get the right output. This will be done for all known inputs and outputs. After training you can use the "knowledge" of the network to predict recognize output patterns to their related known or unknown inputs.

  • Can an artificial neural network forget?

Yes. Like a human brain is an associative working processor also an artificial network can do mistakes and can forget knowledge if inputs are trained rarely. If you as a human being trains playing piano rarely, so you cannot play it perfectly. This is similar to the artificial network.

  • Has an artificial neural network consciousness?

The one and only answer can be: No. How consciousness comes to reality in a biological neural network isn't figured out until today, but for an artificial neural network it can be said surely that there is no consciousness. It would also not get consciousness if the complexity of the artificial network is quite huge. Therefore an artificial neural network cannot die, feel pain or feel depressions.

  • Does have artificial neural networks has disadvantages?

Yes, there are a few problems. Today are existing a number of neural network topologies. Each topology is perfect to solve a special kind of problems. Neural networks are slow in training, because training can be several ten thousands of loops. And a neural network can be overfit if it is overtrained. A problem is also the extrapolation of data if data is not presented properly to the neural network.

  • Which kinds of artificial neural networks are existing?

There are several. For example: multilayer perceptron, self-organizing maps (Kohonen net), Hoppfield net, generic maps, and further more.

Information about Neural Networks