This article presents an improvement of learning algorithm for an artificial neural network that makes the learning process more similar to a biological neuron, but still simple enough to be easily programmed. This idea is based on autonomous artificial neurons that are working together and at same time competing for resources; every neuron is trying to be better than the others, but also needs the feed back from other neurons. The proposed artificial neuron has similar forward signal processing as the standard perceptron; the main difference is the learning phase. The learning process is based on observing the weights of other neurons, but only in biologically plausible way, no back propagation of error or 'teacher' is allowed. The neuron is sending the signal in a forward direction into the higher layer, while the information about its function is being propagated in the opposite direction. This information does not have the form of energy, it is the observation of how the neuron's output is accepted by the others. The neurons are trying to 2nd such setting of their internal parameters that are optimal for the whole network. For this algorithm, it is necessary that the neurons are organized in layers. The tests proved the viability of this concept { the learning process is slower; but has other advantages, such as resistance against catastrophic interference or higher generalization