A artificial neuron is a mathematical function in software programming for computer systems which attempts to some degree to emulate the complex interaction of biological neurons, or impulse-conducting cells in the human brain and nervous system. The first version of artificial neuron was created in 1943 by Warren McCulloch and Walter Pitts as a form of binary neuron, where input could be either a value of 1 or -1. Together a combination of these inputs are weighted. If a certain threshold is overcome, the output of the artificial neuron is 1, and, if the inputs are insufficient when combined, the output is a -1 value.
Together, a collection of interconnected artificial neurons is meant to function in some basic manner as does the human brain. Such artificial neural network design is seen as a key stepping stone along the path to developing artificial life, synthetic computer systems that can reason in some capacity as human beings do. Intelligent computer systems today already employ neural networks which allow for parallel processing of data input in a more rapid fashion than traditional linear computer programming.
An example of a system at work that depends on the artificial neuron is a crop protection system developed in 2006, which utilized a flying vehicle to scan crop conditions for the presence of seasonal diseases and pests. Neural network software was chosen to control the scanning of the crops, as neural networks are essentially learning computers. As more data is fed into them on local conditions, they become more efficient at detecting problems so that they can be rapidly controlled before they spread. A standard computer-controlled system, on the other hand, would have treated the entire field of crops equally, regardless of varying conditions in certain sections. Without continual reprogramming by the designers, it would have proved much more inefficient than a system based on artificial neuron adaptations.
Neural network software also offers the advantage that it is adaptable by engineers who are not intimately acquainted with the basic design of the software at a coding level. The software is capable of being adapted to a wide range of conditions, and gains proficiency as it is exposed to those conditions and gathers data about them. Initially a neural network will produce incorrect output as solutions to problems, but, as this output is produced, it is fed back into the system as input and a continual process of refining and weighing the data leads it to more and more accurate understanding of real world conditions, given enough time and feedback.
Adaptation in how a neural network is designed has led to other types of artificial neuron besides the basic binary neuron structure created in 1943. Semi-linear neural networks incorporate both linear and non-linear functions that are activated by conditions. If the problem being analyzed displays conditions that are not linear, or not clearly predictable, and not minor, then the nonlinear functions of the system are utilized by being given more weight than the linear calculations. As training of the neural system continues, the system becomes better at controlling the real world conditions it is monitoring versus what the ideal conditions of the system should be. This often involves incorporating neuro-fuzzy models into the neural network, which are able to account for degrees of imprecision in producing meaningful output and control states.