Feedforward neural network

Type of artificial neural network

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Feedforward neural network" – news · newspapers · books · scholar · JSTOR (September 2011) (Learn how and when to remove this message)

|

Part of a series on

Machine learning
and data mining

Paradigms

* Supervised learning
* Unsupervised learning
* Semi-supervised learning
* Self-supervised learning
* Reinforcement learning
* Meta-learning
* Online learning
* Batch learning
* Curriculum learning
* Rule-based learning
* Neuro-symbolic AI
* Neuromorphic engineering
* Quantum machine learning

Problems

* Classification
* Generative modeling
* Regression
* Clustering
* Dimensionality reduction
* Density estimation
* Anomaly detection
* Data cleaning
* AutoML
* Association rules
* Semantic analysis
* Structured prediction
* Feature engineering
* Feature learning
* Learning to rank
* Grammar induction
* Ontology learning
* Multimodal learning

Supervised learning
(classification • regression)

* Apprenticeship learning
* Decision trees
* Ensembles
* Bagging
* Boosting
* Random forest
* k-NN
* Linear regression
* Naive Bayes
* Artificial neural networks
* Logistic regression
* Perceptron
* Relevance vector machine (RVM)
* Support vector machine (SVM)

Clustering

* BIRCH
* CURE
* Hierarchical
* k-means
* Fuzzy
* Expectation–maximization (EM)

DBSCAN
* OPTICS
* Mean shift

Dimensionality reduction

* Factor analysis
* CCA
* ICA
* LDA
* NMF
* PCA
* PGD
* t-SNE
* SDL

Structured prediction

* Graphical models
* Bayes net
* Conditional random field
* Hidden Markov

Anomaly detection

* RANSAC
* k-NN
* Local outlier factor
* Isolation forest

Artificial neural network

* Autoencoder
* Deep learning
* Feedforward neural network
* Recurrent neural network
* LSTM
* GRU
* ESN
* reservoir computing
* Boltzmann machine
* Restricted
* GAN
* Diffusion model
* SOM
* Convolutional neural network
* U-Net
* LeNet
* AlexNet
* DeepDream
* Neural radiance field
* Transformer
* Vision
* Mamba
* Spiking neural network
* Memtransistor
* Electrochemical RAM (ECRAM)

Reinforcement learning

* Q-learning
* SARSA
* Temporal difference (TD)
* Multi-agent
* Self-play

Learning with humans

* Active learning
* Crowdsourcing
* Human-in-the-loop
* RLHF

Model diagnostics

* Coefficient of determination
* Confusion matrix
* Learning curve
* ROC curve

Mathematical foundations

* Kernel machines
* Bias–variance tradeoff
* Computational learning theory
* Empirical risk minimization
* Occam learning
* PAC learning
* Statistical learning
* VC theory

Journals and conferences

* ECML PKDD
* NeurIPS
* ICML
* ICLR
* IJCAI
* ML
* JMLR

Related articles

* Glossary of artificial intelligence
* List of datasets for machine-learning research
* List of datasets in computer vision and image processing
* Outline of machine learning

* v
* t
* e

In a feedforward network, information always moves in one direction; it never goes backwards.

Simplified example of training a neural network for object detection: The network is trained on multiple images depicting either starfish or sea urchins, which are correlated with "nodes" that represent visual features. The starfish match with a ringed texture and a star outline, whereas most sea urchins match with a striped texture and oval shape. However, the instance of a ring-textured sea urchin creates a weakly weighted association between them.

Subsequent run of the network on an input image (left):[1] The network correctly detects the starfish. However, the weakly weighted association between ringed texture and sea urchin also confers a weak signal to the latter from one of two intermediate nodes. In addition, a shell that was not included in the training gives a weak signal for the oval shape, also resulting in a weak signal for the sea urchin output. These weak signals may result in a false positive result for sea urchin.
In reality, textures and outlines would not be represented by single nodes, but rather by associated weight patterns of multiple nodes.

Feedforward refers to recognition-inference architecture of neural networks. Artificial neural network architectures are based on inputs multiplied by weights to obtain outputs (inputs-to-output): feedforward.[2] Recurrent neural networks, or neural networks with loops allow information from later processing stages to feed back to earlier stages for sequence processing.[3] However, at every stage of inference a feedforward multiplication remains the core, essential for backpropagation[4][5][6][7][8] or backpropagation through time. Thus neural networks cannot contain feedback like negative feedback or positive feedback where the outputs feed back to the very same inputs and modify them, because this forms an infinite loop which is not possible to rewind in time to generate an error signal through backpropagation. This issue and nomenclature appear to be a point of confusion between some computer scientists and scientists in other fields studying brain networks.[9]

## Mathematical foundations

[edit]

### Activation function

[edit]

The two historically common activation functions are both sigmoids, and are described by

y ( v i ) = tanh ⁡ ( v i ) and y ( v i ) = ( 1 + e − v i ) − 1 {\displaystyle y(v_{i})=\tanh(v_{i})~~{\textrm {and}}~~y(v_{i})=(1+e^{-v_{i}})^{-1}} .

The first is a hyperbolic tangent that ranges from -1 to 1, while the other is the logistic function, which is similar in shape but ranges from 0 to 1. Here  y i {\displaystyle y_{i}} is the output of the  i {\displaystyle i} th node (neuron) and  v i {\displaystyle v_{i}} is the weighted sum of the input connections. Alternative activation functions have been proposed, including the rectifier and softplus functions. More specialized activation functions include radial basis functions (used in radial basis networks, another class of supervised neural network models).

In recent developments of deep learning the rectified linear unit (ReLU) is more frequently used as one of the possible ways to overcome the numerical problems related to the sigmoids.

### Learning

[edit]

Learning occurs by changing connection weights after each piece of data is processed, based on the amount of error in the output compared to the expected result. This is an example of supervised learning, and is carried out through backpropagation.

We can represent the degree of error in an output node  j {\displaystyle j} in the  n {\displaystyle n} th data point (training example) by  e j ( n ) = d j ( n ) − y j ( n ) {\displaystyle e_{j}(n)=d_{j}(n)-y_{j}(n)} , where  d j ( n ) {\displaystyle d_{j}(n)} is the desired target value for  n {\displaystyle n} th data point at node  j {\displaystyle j} , and  y j ( n ) {\displaystyle y_{j}(n)} is the value produced at node  j {\displaystyle j} when the  n {\displaystyle n} th data point is given as an input.

The node weights can then be adjusted based on corrections that minimize the error in the entire output for the  n {\displaystyle n} th data point, given by

E ( n ) = 1 2 ∑ output node j e j 2 ( n ) {\displaystyle {\mathcal {E}}(n)={\frac {1}{2}}\sum _{{\text{output node }}j}e_{j}^{2}(n)} .

Using gradient descent, the change in each weight  w i j {\displaystyle w_{ij}} is

Δ w j i ( n ) = − η ∂ E ( n ) ∂ v j ( n ) y i ( n ) {\displaystyle \Delta w_{ji}(n)=-\eta {\frac {\partial {\mathcal {E}}(n)}{\partial v_{j}(n)}}y_{i}(n)}

where  y i ( n ) {\displaystyle y_{i}(n)} is the output of the previous neuron  i {\displaystyle i} , and  η {\displaystyle \eta } is the learning rate, which is selected to ensure that the weights quickly converge to a response, without oscillations. In the previous expression,  ∂ E ( n ) ∂ v j ( n ) {\displaystyle {\frac {\partial {\mathcal {E}}(n)}{\partial v_{j}(n)}}} denotes the partial derivate of the error  E ( n ) {\displaystyle {\mathcal {E}}(n)} according to the weighted sum  v j ( n ) {\displaystyle v_{j}(n)} of the input connections of neuron  i {\displaystyle i} .

The derivative to be calculated depends on the induced local field  v j {\displaystyle v_{j}} , which itself varies. It is easy to prove that for an output node this derivative can be simplified to

− ∂ E ( n ) ∂ v j ( n ) = e j ( n ) ϕ ′ ( v j ( n ) ) {\displaystyle -{\frac {\partial {\mathcal {E}}(n)}{\partial v_{j}(n)}}=e_{j}(n)\phi ^{\prime }(v_{j}(n))}

where  ϕ ′ {\displaystyle \phi ^{\prime }} is the derivative of the activation function described above, which itself does not vary. The analysis is more difficult for the change in weights to a hidden node, but it can be shown that the relevant derivative is

− ∂ E ( n ) ∂ v j ( n ) = ϕ ′ ( v j ( n ) ) ∑ k − ∂ E ( n ) ∂ v k ( n ) w k j ( n ) {\displaystyle -{\frac {\partial {\mathcal {E}}(n)}{\partial v_{j}(n)}}=\phi ^{\prime }(v_{j}(n))\sum _{k}-{\frac {\partial {\mathcal {E}}(n)}{\partial v_{k}(n)}}w_{kj}(n)} .

This depends on the change in weights of the  k {\displaystyle k} th nodes, which represent the output layer. So to change the hidden layer weights, the output layer weights change according to the derivative of the activation function, and so this algorithm represents a backpropagation of the activation function.[10]

## History

[edit]

### Timeline

[edit]

* Circa 1800, Legendre (1805) and Gauss (1795) created the simplest feedforward network which consists of a single weight layer with linear activation functions. It was trained by the least squares method for minimising mean squared error, also known as linear regression. Legendre and Gauss used it for the prediction of planetary movement from training data.[11][12][13][14][15]

* In 1943, Warren McCulloch and Walter Pitts proposed the binary artificial neuron as a logical model of biological neural networks.[16]
* In 1958, Frank Rosenblatt proposed the multilayered perceptron model, consisting of an input layer, a hidden layer with randomized weights that did not learn, and an output layer with learnable connections.[17] R. D. Joseph (1960)[18] mentions an even earlier perceptron-like device:[13] "Farley and Clark of MIT Lincoln Laboratory actually preceded Rosenblatt in the development of a perceptron-like device." However, "they dropped the subject."

* In 1960, Joseph[18] also discussed multilayer perceptrons with an adaptive hidden layer. Rosenblatt (1962)[19]: section 16 cited and adopted these ideas, also crediting work by H. D. Block and B. W. Knight. Unfortunately, these early efforts did not lead to a working learning algorithm for hidden units, i.e., deep learning.

* In 1965, Alexey Grigorevich Ivakhnenko and Valentin Lapa published Group Method of Data Handling, the first working deep learning algorithm, a method to train arbitrarily deep neural networks.[20][21] It is based on layer by layer training through regression analysis. Superfluous hidden units are pruned using a separate validation set. Since the activation functions of the nodes are Kolmogorov-Gabor polynomials, these were also the first deep networks with multiplicative units or "gates."[13] It was used to train an eight-layer neural net in 1971.

* In 1967, Shun'ichi Amari reported [22] the first multilayered neural network trained by stochastic gradient descent, which was able to classify non-linearily separable pattern classes. Amari's student Saito conducted the computer experiments, using a five-layered feedforward network with two learning layers.[13]

* In 1970, Seppo Linnainmaa published the modern form of backpropagation in his master thesis (1970).[23][24][13] G.M. Ostrovski et al. republished it in 1971.[25][26] Paul Werbos applied backpropagation to neural networks in 1982[7][27] (his 1974 PhD thesis, reprinted in a 1994 book,[28] did not yet describe the algorithm[26]). In 1986, David E. Rumelhart et al. popularised backpropagation but did not cite the original work.[29][8]

* In 2003, interest in backpropagation networks returned due to the successes of deep learning being applied to language modelling by Yoshua Bengio with co-authors.[30]

### Linear regression

[edit]

### Perceptron

[edit]

Main article: Perceptron

If using a threshold, i.e. a linear activation function, the resulting linear threshold unit is called a perceptron. (Often the term is used to denote just one of these units.) Multiple parallel non-linear units are able to approximate any continuous function from a compact interval of the real numbers into the interval [−1,1] despite the limited computational power of single unit with a linear threshold function.[31]

Perceptrons can be trained by a simple learning algorithm that is usually called the delta rule. It calculates the errors between calculated output and sample output data, and uses this to create an adjustment to the weights, thus implementing a form of gradient descent.

### Multilayer perceptron

[edit]

A two-layer neural network capable of calculating XOR. The numbers within the neurons represent each neuron's explicit threshold. The numbers that annotate arrows represent the weight of the inputs. Note that If the threshold of 2 is met then a value of 1 is used for the weight multiplication to the next layer. Not meeting the threshold results in 0 being used. The bottom layer of inputs is not always considered a real neural network layer.

A multilayer perceptron (MLP) is a misnomer for a modern feedforward artificial neural network, consisting of fully connected neurons (hence the synonym sometimes used of fully connected network (FCN)), often with a nonlinear kind of activation function, organized in at least three layers, notable for being able to distinguish data that is not linearly separable.[32]

## Other feedforward networks

[edit]

1D convolutional neural network feed forward example

Examples of other feedforward networks include convolutional neural networks and radial basis function networks, which use a different activation function.

## See also

[edit]

* Hopfield network
* Feed-forward
* Backpropagation
* Rprop

## References

[edit]

1. ^ Ferrie, C., & Kaiser, S. (2019). Neural Networks for Babies. Sourcebooks. ISBN 978-1492671206.`{{cite book}}`: CS1 maint: multiple names: authors list (link)
2. ^ Zell, Andreas (1994). Simulation Neuronaler Netze [Simulation of Neural Networks] (in German) (1st ed.). Addison-Wesley. p. 73\. ISBN 3-89319-554-8.
3. ^ Schmidhuber, Jürgen (2015-01-01). "Deep learning in neural networks: An overview". Neural Networks. 61: 85–117\. arXiv:1404.7828. doi:10.1016/j.neunet.2014.09.003. ISSN 0893-6080. PMID 25462637. S2CID 11715509.85-117&rft.date=2015-01-01&rft_id=https://api.semanticscholar.org/CorpusID:11715509#id-name=S2CID&rft_id=info:doi/10.1016/j.neunet.2014.09.003&rft_id=info:arxiv/1404.7828&rft.issn=0893-6080&rft_id=info:pmid/25462637&rft.aulast=Schmidhuber&rft.aufirst=Jürgen&rfr_id=info:sid/en.wikipedia.org:Feedforward+neural+network" class="Z3988">
4. ^ Linnainmaa, Seppo (1970). The representation of the cumulative rounding error of an algorithm as a Taylor expansion of the local rounding errors (Masters) (in Finnish). University of Helsinki. p. 6–7.
5. ^ Kelley, Henry J. (1960). "Gradient theory of optimal flight paths". ARS Journal. 30 (10): 947–954\. doi:10.2514/8.5282.947-954&rft.date=1960&rft_id=info:doi/10.2514/8.5282&rft.aulast=Kelley&rft.aufirst=Henry+J.&rfr_id=info:sid/en.wikipedia.org:Feedforward+neural+network" class="Z3988">
6. ^ Rosenblatt, Frank. x. Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms. Spartan Books, Washington DC, 1961
7. ^ a b Werbos, Paul (1982). "Applications of advances in nonlinear sensitivity analysis" (PDF). System modeling and optimization. Springer. pp. 762–770\. Archived (PDF) from the original on 14 April 2016. Retrieved 2 July 2017.762-770&rft.pub=Springer&rft.date=1982&rft.aulast=Werbos&rft.aufirst=Paul&rft_id=http://werbos.com/Neural/SensitivityIFIPSeptember1981.pdf&rfr_id=info:sid/en.wikipedia.org:Feedforward+neural+network" class="Z3988">
8. ^ a b Rumelhart, David E., Geoffrey E. Hinton, and R. J. Williams. "Learning Internal Representations by Error Propagation". David E. Rumelhart, James L. McClelland, and the PDP research group. (editors), Parallel distributed processing: Explorations in the microstructure of cognition, Volume 1: Foundation. MIT Press, 1986.
9. ^ Achler, T. (2023). "What AI, Neuroscience, and Cognitive Science Can Learn from Each Other: An Embedded Perspective". Cognitive Computation.
10. ^ Haykin, Simon (1998). Neural Networks: A Comprehensive Foundation (2 ed.). Prentice Hall. ISBN 0-13-273350-1.
11. ^ Merriman, Mansfield. A List of Writings Relating to the Method of Least Squares: With Historical and Critical Notes. Vol. 4. Academy, 1877.
12. ^ Stigler, Stephen M. (1981). "Gauss and the Invention of Least Squares". Ann. Stat. 9 (3): 465–474\. doi:10.1214/aos/1176345451.465-474&rft.date=1981&rft_id=info:doi/10.1214/aos/1176345451&rft.aulast=Stigler&rft.aufirst=Stephen+M.&rft_id=https://doi.org/10.1214%2Faos%2F1176345451&rfr_id=info:sid/en.wikipedia.org:Feedforward+neural+network" class="Z3988">
13. ^ a b c d e Schmidhuber, Jürgen (2022). "Annotated History of Modern AI and Deep Learning". arXiv:2212.11279 [cs.NE].
14. ^ Bretscher, Otto (1995). Linear Algebra With Applications (3rd ed.). Upper Saddle River, NJ: Prentice Hall.
15. ^ Stigler, Stephen M. (1986). The History of Statistics: The Measurement of Uncertainty before 1900. Cambridge: Harvard. ISBN 0-674-40340-1.
16. ^ McCulloch, Warren S.; Pitts, Walter (1943-12-01). "A logical calculus of the ideas immanent in nervous activity". The Bulletin of Mathematical Biophysics. 5 (4): 115–133\. doi:10.1007/BF02478259. ISSN 1522-9602.115-133&rft.date=1943-12-01&rft_id=info:doi/10.1007/BF02478259&rft.issn=1522-9602&rft.aulast=McCulloch&rft.aufirst=Warren+S.&rft.au=Pitts,+Walter&rft_id=https://doi.org/10.1007/BF02478259&rfr_id=info:sid/en.wikipedia.org:Feedforward+neural+network" class="Z3988">
17. ^ Rosenblatt, Frank (1958). "The Perceptron: A Probabilistic Model For Information Storage And Organization in the Brain". Psychological Review. 65 (6): 386–408\. CiteSeerX 10.1.1.588.3775. doi:10.1037/h0042519. PMID 13602029. S2CID 12781225.386-408&rft.date=1958&rft_id=https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.588.3775#id-name=CiteSeerX&rft_id=https://api.semanticscholar.org/CorpusID:12781225#id-name=S2CID&rft_id=info:pmid/13602029&rft_id=info:doi/10.1037/h0042519&rft.aulast=Rosenblatt&rft.aufirst=Frank&rfr_id=info:sid/en.wikipedia.org:Feedforward+neural+network" class="Z3988">
18. ^ a b Joseph, R. D. (1960). Contributions to Perceptron Theory, Cornell Aeronautical Laboratory Report No. VG-11 96--G-7, Buffalo.
19. ^ Rosenblatt, Frank (1962). Principles of Neurodynamics. Spartan, New York.
20. ^ Ivakhnenko, A. G. (1973). Cybernetic Predicting Devices. CCM Information Corporation.
21. ^ Ivakhnenko, A. G.; Grigorʹevich Lapa, Valentin (1967). Cybernetics and forecasting techniques. American Elsevier Pub. Co.
22. ^ Amari, Shun'ichi (1967). "A theory of adaptive pattern classifier". IEEE Transactions. EC (16): 279-307.
23. ^ Linnainmaa, Seppo (1970). The representation of the cumulative rounding error of an algorithm as a Taylor expansion of the local rounding errors (Masters) (in Finnish). University of Helsinki. p. 6–7.
24. ^ Linnainmaa, Seppo (1976). "Taylor expansion of the accumulated rounding error". BIT Numerical Mathematics. 16 (2): 146–160\. doi:10.1007/bf01931367. S2CID 122357351.146-160&rft.date=1976&rft_id=info:doi/10.1007/bf01931367&rft_id=https://api.semanticscholar.org/CorpusID:122357351#id-name=S2CID&rft.aulast=Linnainmaa&rft.aufirst=Seppo&rfr_id=info:sid/en.wikipedia.org:Feedforward+neural+network" class="Z3988">
25. ^ Ostrovski, G.M., Volin,Y.M., and Boris, W.W. (1971). On the computation of derivatives. Wiss. Z. Tech. Hochschule for Chemistry, 13:382–384.
26. ^ a b Schmidhuber, Juergen (25 Oct 2014). "Who Invented Backpropagation?". IDSIA, Switzerland. Archived from the original on 30 July 2024. Retrieved 14 Sep 2024.
27. ^ Anderson, James A.; Rosenfeld, Edward, eds. (2000). Talking Nets: An Oral History of Neural Networks. The MIT Press. doi:10.7551/mitpress/6626.003.0016. ISBN 978-0-262-26715-1.
28. ^ Werbos, Paul J. (1994). The Roots of Backpropagation : From Ordered Derivatives to Neural Networks and Political Forecasting. New York: John Wiley & Sons. ISBN 0-471-59897-6.
29. ^ Rumelhart, David E.; Hinton, Geoffrey E.; Williams, Ronald J. (October 1986). "Learning representations by back-propagating errors". Nature. 323 (6088): 533–536\. Bibcode:1986Natur.323..533R. doi:10.1038/323533a0. ISSN 1476-4687.533-536&rft.date=1986-10&rft.issn=1476-4687&rft_id=info:doi/10.1038/323533a0&rft_id=info:bibcode/1986Natur.323..533R&rft.aulast=Rumelhart&rft.aufirst=David+E.&rft.au=Hinton,+Geoffrey+E.&rft.au=Williams,+Ronald+J.&rft_id=https://www.nature.com/articles/323533a0&rfr_id=info:sid/en.wikipedia.org:Feedforward+neural+network" class="Z3988">
30. ^ Bengio, Yoshua; Ducharme, Réjean; Vincent, Pascal; Janvin, Christian (March 2003). "A neural probabilistic language model". The Journal of Machine Learning Research. 3: 1137–1155.1137-1155&rft.date=2003-03&rft.aulast=Bengio&rft.aufirst=Yoshua&rft.au=Ducharme,+Réjean&rft.au=Vincent,+Pascal&rft.au=Janvin,+Christian&rft_id=https://dl.acm.org/doi/10.5555/944919.944966&rfr_id=info:sid/en.wikipedia.org:Feedforward+neural+network" class="Z3988">
31. ^ Auer, Peter; Harald Burgsteiner; Wolfgang Maass (2008). "A learning rule for very simple universal approximators consisting of a single layer of perceptrons" (PDF). Neural Networks. 21 (5): 786–795\. doi:10.1016/j.neunet.2007.12.036. PMID 18249524. Archived from the original (PDF) on 2011-07-06. Retrieved 2009-09-08.786-795&rft.date=2008&rft_id=info:doi/10.1016/j.neunet.2007.12.036&rft_id=info:pmid/18249524&rft.aulast=Auer&rft.aufirst=Peter&rft.au=Harald+Burgsteiner&rft.au=Wolfgang+Maass&rft_id=http://www.igi.tugraz.at/harry/psfiles/biopdelta-07.pdf&rfr_id=info:sid/en.wikipedia.org:Feedforward+neural+network" class="Z3988">
32. ^ Cybenko, G. 1989. Approximation by superpositions of a sigmoidal function Mathematics of Control, Signals, and Systems, 2(4), 303–314.

## External links

[edit]

* Feedforward neural networks tutorial
* Feedforward Neural Network: Example
* Feedforward Neural Networks: An Introduction

* v
* t
* e

Differentiable computing

General|

* Differentiable programming
* Information geometry
* Statistical manifold
* Automatic differentiation
* Neuromorphic computing
* Pattern recognition
* Ricci calculus
* Computational learning theory
* Inductive bias

Hardware|

* IPU
* TPU
* VPU
* Memristor
* SpiNNaker

Software libraries|

* TensorFlow
* PyTorch
* Keras
* scikit-learn
* Theano
* JAX
* Flux.jl
* MindSpore

* Portals
* Computer programming
* Technology

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template