Jump to content

Feedforward neural network: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Rescuing 1 sources and tagging 0 as dead. #IABot (v1.5.4)
Intro structuring/fix typo
Tags: Mobile edit Mobile web edit
 
(145 intermediate revisions by 76 users not shown)
Line 1: Line 1:
{{short description|Type of artificial neural network}}
{{refimprove|date=September 2011}}
{{more citations needed|date=September 2011}}
[[Image:Feed forward neural net.gif|right|thumb|400px|In a feed forward network information always moves one direction; it never goes backwards.]]
{{Machine learning|Artificial neural network}}
[[Image:Feed forward neural net.gif|right|thumb|300px|In a feedforward network, information always moves in one direction; it never goes backwards.]]
{{multiple image
| direction = horizontal
| total_width = 400
| footer =
| image1 = Simplified neural network training example.svg
| alt1 =
| caption1 = Simplified example of training a neural network for object detection: The network is trained on multiple images depicting either [[starfish]] or [[sea urchin]]s, which are correlated with "nodes" that represent visual [[Feature (computer vision)|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.
| image2 = Simplified neural network example.svg
| alt2 =
| caption2 = Subsequent run of the network on an input image (left):<ref>{{cite book|author=Ferrie, C., & Kaiser, S.|year=2019|title=Neural Networks for Babies|publisher=Sourcebooks|isbn=978-1492671206}}</ref> 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.<br>In reality, textures and outlines would not be represented by single nodes, but rather by associated weight patterns of multiple nodes.}}
A '''feedforward neural network''' ('''FNN''') is one of the two broad types of [[artificial neural network]], characterized by direction of the flow of information between its layers.<ref name="Zell1994p73">{{cite book |last=Zell |first=Andreas |year=1994 |title=Simulation Neuronaler Netze |trans-title=Simulation of Neural Networks |language=German |edition=1st |publisher=Addison-Wesley |page=73 |isbn=3-89319-554-8}}</ref> Its flow is uni-directional, meaning that the information in the model flows in only one direction&mdash;forward&mdash;from the input nodes, through the [[Hidden layer|hidden nodes]] (if any) and to the output nodes, without any cycles or loops<ref name="Zell1994p73" /> (in contrast to [[recurrent neural network]]s,<ref>{{cite journal|date=2015-01-01|title=Deep learning in neural networks: An overview|journal=Neural Networks|language=en|volume=61|pages=85–117|doi=10.1016/j.neunet.2014.09.003|issn=0893-6080|arxiv=1404.7828|last1=Schmidhuber|first1=Jürgen|pmid=25462637|s2cid=11715509}}</ref> which have a bi-directional flow). Modern feedforward networks are trained using [[backpropagation]],<ref name="lin1970">{{cite thesis |first=Seppo |last=Linnainmaa |author-link=Seppo Linnainmaa |year=1970 |type=Masters |title=The representation of the cumulative rounding error of an algorithm as a Taylor expansion of the local rounding errors |language=fi |publisher=University of Helsinki |page=6–7}}</ref><ref name="kelley1960">{{cite journal |last1=Kelley |first1=Henry J. |author-link=Henry J. Kelley |year=1960 |title=Gradient theory of optimal flight paths |journal=ARS Journal |volume=30 |issue=10 |pages=947–954 |doi=10.2514/8.5282}}</ref><ref>Rosenblatt, Frank. x. Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms. Spartan Books, Washington DC, 1961</ref><ref name="werbos1982">{{cite book |last=Werbos |first=Paul |author-link=Paul Werbos |title=System modeling and optimization |publisher=Springer |year=1982 |pages=762–770 |chapter=Applications of advances in nonlinear sensitivity analysis |access-date=2 July 2017 |chapter-url=http://werbos.com/Neural/SensitivityIFIPSeptember1981.pdf |archive-url=https://web.archive.org/web/20160414055503/http://werbos.com/Neural/SensitivityIFIPSeptember1981.pdf |archive-date=14 April 2016 |url-status=live}}</ref><ref name="rumelhart1986">Rumelhart, David E., Geoffrey E. Hinton, and R. J. Williams. "[https://apps.dtic.mil/dtic/tr/fulltext/u2/a164453.pdf 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.</ref> and are colloquially referred to as "vanilla" neural networks.<ref>Hastie, Trevor. Tibshirani, Robert. Friedman, Jerome. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer, New York, NY, 2009.</ref>


== Mathematical foundations ==
A '''feedforward neural network''' is an [[artificial neural network]] wherein connections between the units do ''not'' form a cycle.<ref name=Zell1994p73>{{cite book |last=Zell |first=Andreas |year=1994 |title=Simulation Neuronaler Netze |trans-title=Simulation of Neural Networks |language=German |edition=1st |publisher=Addison-Wesley |page=73 |isbn=3-89319-554-8}}</ref> As such, it is different from [[recurrent neural networks]].
=== Activation function ===
The two historically common [[Activation function|activation functions]] are both [[sigmoids]], and are described by


:<math>y(v_i) = \tanh(v_i) ~~ \textrm{and} ~~ y(v_i) = (1+e^{-v_i})^{-1}</math>.
The feedforward neural network was the first and simplest type of artificial neural network devised.{{Citation needed|date=July 2017}} In this network, the information moves in only one direction, forward, from the input nodes, through the hidden nodes (if any) and to the output nodes. There are no cycles or loops in the network.<ref name=Zell1994p73 />


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 <math>y_i</math> is the output of the <math>i</math>th node (neuron) and <math>v_i</math> is the weighted sum of the input connections. Alternative activation functions have been proposed, including the [[Rectifier (neural networks)|rectifier and softplus]] functions. More specialized activation functions include [[radial basis functions]] (used in [[radial basis network]]s, another class of supervised neural network models).
==Single-layer perceptron==
{{main|Perceptron}}


In recent developments of [[deep learning]] the [[Rectifier (neural networks)|rectified linear unit (ReLU)]] is more frequently used as one of the possible ways to overcome the numerical [[Vanishing gradient problem|problems]] related to the sigmoids.
The simplest kind of neural network is a ''single-layer perceptron'' network, which consists of a single layer of output nodes; the inputs are fed directly to the outputs via a series of weights. In this way it can be considered the simplest kind of feed-forward network. The sum of the products of the weights and the inputs is calculated in each node, and if the value is above some threshold (typically 0) the neuron fires and takes the activated value (typically 1); otherwise it takes the deactivated value (typically -1). Neurons with this kind of [[activation function]] are also called ''[[artificial neurons]]'' or ''linear threshold units''. In the literature the term ''[[perceptron]]'' often refers to networks consisting of just one of these units. A similar neuron was described by [[Warren McCulloch]] and [[Walter Pitts]] in the 1940s.


=== Learning ===
A perceptron can be created using any values for the activated and deactivated states as long as the threshold value lies between the two.
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 <math>j</math> in the <math>n</math>th data point (training example) by <math>e_j(n)=d_j(n)-y_j(n)</math>, where <math>d_j(n)</math> is the desired target value for <math>n</math>th data point at node <math>j</math>, and <math>y_j(n)</math> is the value produced at node <math>j</math> when the <math>n</math>th data point is given as an input.
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]].


The node weights can then be adjusted based on corrections that minimize the error in the entire output for the <math>n</math>th data point, given by
Single-unit perceptrons are only capable of learning [[linearly separable]] patterns; in 1969 in a famous [[monograph]] entitled ''[[Perceptrons (book)|Perceptrons]]'', [[Marvin Minsky]] and [[Seymour Papert]] showed that it was impossible for a single-layer perceptron network to learn an [[Exclusive or|XOR function]] (nonetheless, it was known that multi-layer perceptrons are capable of producing any possible boolean function).


:<math>\mathcal{E}(n)=\frac{1}{2}\sum_{\text{output node }j} e_j^2(n)</math>.
Although a single threshold unit is quite limited in its computational power, it has been shown that networks of parallel threshold units can approximate any continuous function from a compact interval of the real numbers into the interval [-1,1]. This result can be found in Peter Auer, [[Harald Burgsteiner]] and [[Wolfgang Maass]] "A learning rule for very simple universal approximators consisting of a single layer of perceptrons".<ref name=Auer2008>{{cite journal
| first = Peter | last = Auer |author2=Harald Burgsteiner |author3=Wolfgang Maass
| url = http://www.igi.tugraz.at/harry/psfiles/biopdelta-07.pdf
| title = A learning rule for very simple universal approximators consisting of a single layer of perceptrons
| journal = Neural Networks
| volume = 21 | issue = 5 | pages = 786–795 | year = 2008
| doi = 10.1016/j.neunet.2007.12.036
| pmid = 18249524}}</ref>


Using [[gradient descent]], the change in each weight <math>w_{ij}</math> is
A multi-layer neural network can compute a continuous output instead of a [[step function]]. A common choice is the so-called [[logistic function]]:


: <math>f(x) = \frac{1}{1+e^{-x}}</math>
:<math>\Delta w_{ji} (n) = -\eta\frac{\partial\mathcal{E}(n)}{\partial v_j(n)} y_i(n)</math>


where <math>y_i(n)</math> is the output of the previous neuron <math>i</math>, and <math>\eta</math> is the ''[[learning rate]]'', which is selected to ensure that the weights quickly converge to a response, without oscillations. In the previous expression, <math>\frac{\partial\mathcal{E}(n)}{\partial v_j(n)}</math> denotes the partial derivate of the error <math>\mathcal{E}(n)</math> according to the weighted sum <math>v_j(n)</math> of the input connections of neuron <math>i</math>.
With this choice, the single-layer network is identical to the [[logistic regression]] model, widely used in [[statistical model]]ing. The [[logistic function]] is also known as the [[sigmoid function]]. It has a continuous derivative, which allows it to be used in [[backpropagation]]. This function is also preferred because its derivative is easily calculated:


The derivative to be calculated depends on the induced local field <math>v_j</math>, which itself varies. It is easy to prove that for an output node this derivative can be simplified to
: <math>f'(x) = f(x)(1-f(x))</math>.


:<math>-\frac{\partial\mathcal{E}(n)}{\partial v_j(n)} = e_j(n)\phi^\prime (v_j(n))</math>
(The fact that f satisfies the differential equation above can easily be shown by applying the [[Chain Rule]].)


where <math>\phi^\prime</math> 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
==Multi-layer perceptron==
{{main|Multilayer perceptron}}
[[Image:XOR perceptron net.png|thumb|right|250px|A two-layer neural network capable of calculating XOR. The numbers within the neurons represent each neuron's explicit threshold (which can be factored out so that all neurons have the same threshold, usually 1). The numbers that annotate arrows represent the weight of the inputs. This net assumes that if the threshold is not reached, zero (not -1) is output. Note that the bottom layer of inputs is not always considered a real neural network layer]]


:<math>-\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)</math>.
This class of networks consists of multiple layers of computational units, usually interconnected in a feed-forward way. Each neuron in one layer has directed connections to the neurons of the subsequent layer. In many applications the units of these networks apply a ''[[sigmoid function]]'' as an activation function.


This depends on the change in weights of the <math>k</math>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.<ref>{{cite book |last=Haykin |first=Simon |author-link=Simon Haykin |title=Neural Networks: A Comprehensive Foundation |edition=2 |year=1998 |publisher=Prentice Hall |isbn=0-13-273350-1}}</ref>
The ''[[universal approximation theorem]]'' for neural networks states that every continuous function that maps intervals of real numbers to some output interval of real numbers can be approximated arbitrarily closely by a multi-layer perceptron with just one hidden layer. This result holds for a wide range of activation functions, e.g. for the sigmoidal functions.


== History ==
Multi-layer networks use a variety of learning techniques, the most popular being ''[[back-propagation]]''. Here, the output values are compared with the correct answer to compute the value of some predefined error-function. By various techniques, the error is then fed back through the network. Using this information, the algorithm adjusts the weights of each connection in order to reduce the value of the error function by some small amount. After repeating this process for a sufficiently large number of training cycles, the network will usually converge to some state where the error of the calculations is small. In this case, one would say that the network has ''learned'' a certain target function. To adjust weights properly, one applies a general method for non-linear [[Optimization (mathematics)|optimization]] that is called [[gradient descent]]. For this, the network calculates the derivative of the error function with respect to the network weights, and changes the weights such that the error decreases (thus going downhill on the surface of the error function). For this reason, back-propagation can only be applied on networks with differentiable activation functions.


=== Timeline ===
In general, the problem of teaching a network to perform well, even on samples that were not used as training samples, is a quite subtle issue that requires additional techniques. This is especially important for cases where only very limited numbers of training samples are available.<ref name=Balabin_2007>{{cite journal |journal=[[Chemometrics and intelligent laboratory systems|Chemometr Intell Lab]] |volume = 88 |issue = 2 |pages = 183–188 |doi=10.1016/j.chemolab.2007.04.006 |title=Comparison of linear and nonlinear calibration models based on near infrared (NIR) spectroscopy data for gasoline properties prediction |year=2007 |author1=Roman M. Balabin |author2=Ravilya Z. Safieva |author3=Ekaterina I. Lomakina }}</ref> The danger is that the network [[overfitting|overfits]] the training data and fails to capture the true statistical process generating the data. [[Computational learning theory]] is concerned with training classifiers on a limited amount of data. In the context of neural networks a simple [[heuristic]], called [[early stopping]], often ensures that the network will generalize well to examples not in the training set.
* Circa 1800, [[Adrien-Marie Legendre|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|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.<ref name="legendre1805">Merriman, Mansfield. ''A List of Writings Relating to the Method of Least Squares: With Historical and Critical Notes''. Vol. 4. Academy, 1877.</ref><ref name="gauss1795">{{cite journal |first=Stephen M. |last=Stigler |year=1981 |title=Gauss and the Invention of Least Squares |journal=Ann. Stat. |volume=9 |issue=3 |pages=465–474 |doi=10.1214/aos/1176345451 |doi-access=free }}</ref><ref name="DLhistory" /><ref name="brertscher">{{cite book |last=Bretscher |first=Otto |title=Linear Algebra With Applications |edition=3rd |publisher=Prentice Hall |year=1995 |location=Upper Saddle River, NJ}}</ref><ref name="stigler">
{{cite book |last = Stigler
|first = Stephen M.
|author-link = Stephen Stigler
|year = 1986
|title = The History of Statistics: The Measurement of Uncertainty before 1900
|location = Cambridge
|publisher = Harvard
|isbn = 0-674-40340-1
|url-access = registration
|url = https://archive.org/details/historyofstatist00stig
}}</ref>


* In 1943, [[Warren Sturgis McCulloch|Warren McCulloch]] and [[Walter Pitts]] proposed the binary [[artificial neuron]] as a logical model of biological neural networks.<ref>{{Cite journal |last1=McCulloch |first1=Warren S. |last2=Pitts |first2=Walter |date=1943-12-01 |title=A logical calculus of the ideas immanent in nervous activity |url=https://doi.org/10.1007/BF02478259 |journal=The Bulletin of Mathematical Biophysics |language=en |volume=5 |issue=4 |pages=115–133 |doi=10.1007/BF02478259 |issn=1522-9602}}</ref>
Other typical problems of the back-propagation algorithm are the speed of convergence and the possibility of ending up in a [[local minimum]] of the error function. Today there are practical methods<!-- examples? --> that make back-propagation in multi-layer perceptrons the tool of choice for many [[machine learning]] tasks.
* 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.<ref>{{cite journal |last=Rosenblatt |first=Frank |author-link=Frank Rosenblatt |year=1958 |title=The Perceptron: A Probabilistic Model For Information Storage And Organization in the Brain |journal=Psychological Review |volume=65 |issue=6 |pages=386–408 |citeseerx=10.1.1.588.3775 |doi=10.1037/h0042519 |pmid=13602029 |s2cid=12781225}}</ref> R. D. Joseph (1960)<ref name="joseph1960">{{cite book |last=Joseph |first=R. D. |title=Contributions to Perceptron Theory, Cornell Aeronautical Laboratory Report No. VG-11 96--G-7, Buffalo |year=1960}}</ref> mentions an even earlier perceptron-like device:<ref name="DLhistory"/> "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<ref name="joseph1960"/> also discussed [[multilayer perceptrons]] with an adaptive hidden layer. Rosenblatt (1962)<ref name="rosenblatt1962">{{cite book |last=Rosenblatt |first=Frank |author-link=Frank Rosenblatt |title=Principles of Neurodynamics |publisher=Spartan, New York |year=1962}}</ref>{{rp|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]].
One also can use a series of independent neural networks moderated by some intermediary, a similar behavior that happens in brain. These neurons can perform separably and handle a large task, and the results can be finally combined. <ref>{{cite journal|last1=Tahmasebi|first1=Pejman|last2=Hezarkhani|first2=Ardeshir|title=Application of a Modular Feedforward Neural Network for Grade Estimation|journal=Natural Resources Research|date=21 January 2011|volume=20|issue=1|pages=25–32|doi=10.1007/s11053-011-9135-3|url=https://www.researchgate.net/publication/225535280_Application_of_a_Modular_Feedforward_Neural_Network_for_Grade_Estimation}}</ref>


* In 1965, [[Alexey Grigorevich Ivakhnenko]] and Valentin Lapa published [[Group method of data handling|Group Method of Data Handling]], the first working [[deep learning]] algorithm, a method to train arbitrarily deep neural networks.<ref name="ivak1965">{{cite book |last=Ivakhnenko |first=A. G. |author-link=Alexey Grigorevich Ivakhnenko |url={{google books |plainurl=y |id=FhwVNQAACAAJ}} |title=Cybernetic Predicting Devices |publisher=CCM Information Corporation |year=1973}}</ref><ref name="ivak1967">{{cite book |last1=Ivakhnenko |first1=A. G. |author-link=Alexey Grigorevich Ivakhnenko |url={{google books |plainurl=y |id=rGFgAAAAMAAJ}} |title=Cybernetics and forecasting techniques |last2=Grigorʹevich Lapa |first2=Valentin |publisher=American Elsevier Pub. Co. |year=1967}}</ref> 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."<ref name="DLhistory">{{cite arXiv |eprint=2212.11279 |class=cs.NE |first=Jürgen |last=Schmidhuber |author-link=Jürgen Schmidhuber |title=Annotated History of Modern AI and Deep Learning |date=2022}}</ref> It was used to train an eight-layer neural net in 1971.
== See also ==

* [[Convolutional neural network]]
* In 1967, [[Shun'ichi Amari]] reported <ref name="Amari1967">{{cite journal |last1=Amari |first1=Shun'ichi |author-link=Shun'ichi Amari |date=1967 |title=A theory of adaptive pattern classifier |journal=IEEE Transactions |volume=EC |issue=16 |page=279-307}}</ref> 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.<ref name="DLhistory" />

*In 1970, [[Seppo Linnainmaa]] published the modern form of [[backpropagation]] in his master thesis (1970).<ref name="lin19703">{{cite thesis |first=Seppo |last=Linnainmaa |author-link=Seppo Linnainmaa |year=1970 |type=Masters |title=The representation of the cumulative rounding error of an algorithm as a Taylor expansion of the local rounding errors |language=fi |publisher=University of Helsinki |page=6–7}}</ref><ref name="lin19763">{{cite journal |last1=Linnainmaa |first1=Seppo |author-link=Seppo Linnainmaa |year=1976 |title=Taylor expansion of the accumulated rounding error |journal=BIT Numerical Mathematics |volume=16 |issue=2 |pages=146–160 |doi=10.1007/bf01931367 |s2cid=122357351}}</ref><ref name="DLhistory" /> G.M. Ostrovski et al. republished it in 1971.<ref name="ostrowski1971">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.</ref><ref name="backprop"/> [[Paul Werbos]] applied backpropagation to neural networks in 1982<ref name="werbos1982">{{cite book |last=Werbos |first=Paul |author-link=Paul Werbos |title=System modeling and optimization |publisher=Springer |year=1982 |pages=762–770 |chapter=Applications of advances in nonlinear sensitivity analysis |access-date=2 July 2017 |chapter-url=http://werbos.com/Neural/SensitivityIFIPSeptember1981.pdf |archive-url=https://web.archive.org/web/20160414055503/http://werbos.com/Neural/SensitivityIFIPSeptember1981.pdf |archive-date=14 April 2016 |url-status=live}}</ref><ref name=":1">{{Cite book |url=https://direct.mit.edu/books/book/4886/Talking-NetsAn-Oral-History-of-Neural-Networks |title=Talking Nets: An Oral History of Neural Networks |date=2000 |publisher=The MIT Press |isbn=978-0-262-26715-1 |editor-last=Anderson |editor-first=James A. |language=en |doi=10.7551/mitpress/6626.003.0016 |editor-last2=Rosenfeld |editor-first2=Edward}}</ref> (his 1974 PhD thesis, reprinted in a 1994 book,<ref name="werbos1974">{{cite book |last=Werbos |first=Paul J. |title=The Roots of Backpropagation : From Ordered Derivatives to Neural Networks and Political Forecasting |location=New York |publisher=John Wiley & Sons |year=1994 |isbn=0-471-59897-6 }}</ref> did not yet describe the algorithm<ref name="backprop">{{cite web | last = Schmidhuber | first = Juergen | title = Who Invented Backpropagation? | author-link=Juergen Schmidhuber| publisher = IDSIA, Switzerland | url = https://people.idsia.ch/~juergen/who-invented-backpropagation.html | date = 25 Oct 2014 | access-date = 14 Sep 2024 | archive-url = http://web.archive.org/web/20240730110408/https://people.idsia.ch/~juergen/who-invented-backpropagation.html | archive-date = 30 July 2024 | quote = }}</ref>). In 1986, [[David E. Rumelhart]] et al. popularised backpropagation but did not cite the original work.<ref>{{Cite journal |last1=Rumelhart |first1=David E. |last2=Hinton |first2=Geoffrey E. |last3=Williams |first3=Ronald J. |date=October 1986 |title=Learning representations by back-propagating errors |url=https://www.nature.com/articles/323533a0 |journal=Nature |language=en |volume=323 |issue=6088 |pages=533–536 |doi=10.1038/323533a0 |bibcode=1986Natur.323..533R |issn=1476-4687}}</ref><ref name="rumelhart1986"/>

* In 2003, interest in backpropagation networks returned due to the successes of [[deep learning]] being applied to [[language model]]ling by [[Yoshua Bengio]] with co-authors.<ref>{{cite journal |last1=Bengio |first1=Yoshua |last2=Ducharme |first2=Réjean |last3=Vincent |first3=Pascal |last4=Janvin |first4=Christian |date=March 2003 |title=A neural probabilistic language model |url=https://dl.acm.org/doi/10.5555/944919.944966 |journal=The Journal of Machine Learning Research |volume=3 |pages=1137–1155}}</ref>

=== Linear regression ===

=== Perceptron ===
{{main|Perceptron}}
If using a threshold, i.e. a linear [[activation function|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 [[Universal approximation theorem|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.<ref name="Auer2008">{{cite journal |first=Peter |last=Auer |author2=Harald Burgsteiner |author3=Wolfgang Maass |url=http://www.igi.tugraz.at/harry/psfiles/biopdelta-07.pdf |title=A learning rule for very simple universal approximators consisting of a single layer of perceptrons |journal=Neural Networks |volume=21 |issue=5 |pages=786–795 |year=2008 |doi=10.1016/j.neunet.2007.12.036 |pmid=18249524 |access-date=2009-09-08 |archive-url=https://web.archive.org/web/20110706095227/http://www.igi.tugraz.at/harry/psfiles/biopdelta-07.pdf |archive-date=2011-07-06 |url-status=dead}}</ref>

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 ===
[[Image:XOR perceptron net.png|thumb|right|250px|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 [[Linear separability|linearly separable]].<ref name="Cybenko1989">Cybenko, G. 1989. Approximation by superpositions of a sigmoidal function ''[[Mathematics of Control, Signals, and Systems]]'', 2(4), 303–314.</ref>

==Other feedforward networks==
[[File:1D Convolutional Neural Network feed forward example.png|thumb|1D convolutional neural network feed forward example|left]]
Examples of other feedforward networks include [[convolutional neural network]]s and [[radial basis function network]]s, which use a different activation function.

==See also==
* [[Hopfield network]]
* [[Feed forward (control)|Feed-forward]]
* [[Feed forward (control)|Feed-forward]]
* [[Artificial neural network]]
* [[Backpropagation]]
* [[Backpropagation]]
* [[Rprop]]
* [[Rprop]]


==References==
==References==
{{reflist}}
{{Reflist}}


==External links==
==External links==
* [http://www.emilstefanov.net/Projects/NeuralNetworks.aspx Feedforward neural networks tutorial]
* [https://web.archive.org/web/20090507210502/http://www.emilstefanov.net/Projects/NeuralNetworks.aspx Feedforward neural networks tutorial]
* [https://web.archive.org/web/20090923121811/http://wiki.syncleus.com/index.php/DANN%3ABackprop_Feedforward_Neural_Network Feedforward Neural Network: Example]
* [https://web.archive.org/web/20090923121811/http://wiki.syncleus.com/index.php/DANN%3ABackprop_Feedforward_Neural_Network Feedforward Neural Network: Example]
* [http://media.wiley.com/product_data/excerpt/19/04713491/0471349119.pdf Feedforward Neural Networks: An Introduction]
* [http://media.wiley.com/product_data/excerpt/19/04713491/0471349119.pdf Feedforward Neural Networks: An Introduction]


{{Differentiable computing}}
[[Category:Artificial neural networks]]

[[Category:Neural network architectures]]

Latest revision as of 03:00, 17 October 2024

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.

A feedforward neural network (FNN) is one of the two broad types of artificial neural network, characterized by direction of the flow of information between its layers.[2] Its flow is uni-directional, meaning that the information in the model flows in only one direction—forward—from the input nodes, through the hidden nodes (if any) and to the output nodes, without any cycles or loops[2] (in contrast to recurrent neural networks,[3] which have a bi-directional flow). Modern feedforward networks are trained using backpropagation,[4][5][6][7][8] and are colloquially referred to as "vanilla" neural networks.[9]

Mathematical foundations

[edit]

Activation function

[edit]

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

.

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 is the output of the th node (neuron) and 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 in the th data point (training example) by , where is the desired target value for th data point at node , and is the value produced at node when the 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 th data point, given by

.

Using gradient descent, the change in each weight is

where is the output of the previous neuron , and is the learning rate, which is selected to ensure that the weights quickly converge to a response, without oscillations. In the previous expression, denotes the partial derivate of the error according to the weighted sum of the input connections of neuron .

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

where 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

.

This depends on the change in weights of the 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]
  • 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]

Linear regression

[edit]

Perceptron

[edit]

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]

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. ^ a b 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.
  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.
  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.
  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. ^ Hastie, Trevor. Tibshirani, Robert. Friedman, Jerome. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer, New York, NY, 2009.
  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.
  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.
  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.
  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.
  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.
  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.
  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.
  32. ^ Cybenko, G. 1989. Approximation by superpositions of a sigmoidal function Mathematics of Control, Signals, and Systems, 2(4), 303–314.
[edit]