Template:Short descriptionTemplate:Cs1 config Template:About Template:Use dmy dates
In machine learning, a neural network (also artificial neural network or neural net, abbreviated ANN or NN) is a computational model inspired by the structure and functions of biological neural networks.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref><ref>Template:Cite book</ref>
A neural network consists of connected units or nodes called artificial neurons, which loosely model the neurons in the brain. Artificial neuron models that mimic biological neurons more closely have also been recently investigated and shown to significantly improve performance. These are connected by edges, which model the synapses in the brain. Each artificial neuron receives signals from connected neurons, then processes them and sends a signal to other connected neurons. The "signal" is a real number, and the output of each neuron is computed by some non-linear function of the sum of its inputs, called the activation function. The strength of the signal at each connection is determined by a weight, which adjusts during the learning process.
Typically, neurons are aggregated into layers. Different layers may perform different transformations on their inputs. Signals travel from the first layer (the input layer) to the last layer (the output layer), possibly passing through multiple intermediate layers (hidden layers). A network is typically called a deep neural network if it has at least two hidden layers.<ref>Template:Cite book</ref>
Artificial neural networks are used for various tasks, including predictive modeling, adaptive control, and solving problems in artificial intelligence. They can learn from experience, and can derive conclusions from a complex and seemingly unrelated set of information.
TrainingEdit
Neural networks are typically trained through empirical risk minimization. This method is based on the idea of optimizing the network's parameters to minimize the difference, or empirical risk, between the predicted output and the actual target values in a given dataset.<ref name=":2">Template:Cite book</ref> Gradient-based methods such as backpropagation are usually used to estimate the parameters of the network.<ref name=":2" /> During the training phase, ANNs learn from labeled training data by iteratively updating their parameters to minimize a defined loss function.<ref name=":4">Template:Cite book</ref> This method allows the network to generalize to unseen data.Template:Multiple image
HistoryEdit
{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}}
Early workEdit
Today's deep neural networks are based on early work in statistics over 200 years ago. The simplest kind of feedforward neural network (FNN) is a linear network, which consists of a single layer of output nodes with linear activation functions; the inputs are fed directly to the outputs via a series of weights. The sum of the products of the weights and the inputs is calculated at each node. The mean squared errors between these calculated outputs and the given target values are minimized by creating an adjustment to the weights. This technique has been known for over two centuries as the method of least squares or linear regression. It was used as a means of finding a good rough linear fit to a set of points by Legendre (1805) and Gauss (1795) for the prediction of planetary movement.<ref name="legendre1805">Mansfield Merriman, "A List of Writings Relating to the Method of Least Squares"</ref><ref name="gauss1795">Template:Cite journal</ref><ref name=brertscher>Template:Cite book</ref><ref name=DLhistory/><ref name=stigler> Template:Cite book</ref>
Historically, digital computers such as the von Neumann model operate via the execution of explicit instructions with access to memory by a number of processors. Some neural networks, on the other hand, originated from efforts to model information processing in biological systems through the framework of connectionism. Unlike the von Neumann model, connectionist computing does not separate memory and processing.
Warren McCulloch and Walter Pitts<ref name=WM /> (1943) considered a non-learning computational model for neural networks.<ref>Template:Cite news</ref> This model paved the way for research to split into two approaches. One approach focused on biological processes while the other focused on the application of neural networks to artificial intelligence.
In the late 1940s, D. O. Hebb<ref>Template:Cite book</ref> proposed a learning hypothesis based on the mechanism of neural plasticity that became known as Hebbian learning. It was used in many early neural networks, such as Rosenblatt's perceptron and the Hopfield network. Farley and Clark<ref>Template:Cite journal</ref> (1954) used computational machines to simulate a Hebbian network. Other neural network computational machines were created by Rochester, Holland, Habit and Duda (1956).<ref>Template:Cite journal</ref>
In 1958, psychologist Frank Rosenblatt described the perceptron, one of the first implemented artificial neural networks,<ref>Haykin (2008) Neural Networks and Learning Machines, 3rd edition</ref><ref>Template:Cite journal</ref><ref name="Werbos 1975">Template:Cite book</ref><ref>Template:Cite journal</ref> funded by the United States Office of Naval Research.<ref name="Olazaran">Template:Cite journal</ref> R. D. Joseph (1960)<ref name="joseph1960">Template:Cite book</ref> mentions an even earlier perceptron-like device by Farley and Clark:<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." The perceptron raised public excitement for research in Artificial Neural Networks, causing the US government to drastically increase funding. This contributed to "the Golden Age of AI" fueled by the optimistic claims made by computer scientists regarding the ability of perceptrons to emulate human intelligence.<ref name=":08">Template:Cite book</ref>
The first perceptrons did not have adaptive hidden units. However, Joseph (1960)<ref name="joseph1960"/> also discussed multilayer perceptrons with an adaptive hidden layer. Rosenblatt (1962)<ref name="rosenblatt1962">Template:Cite book</ref>Template:Rp 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.
Deep learning breakthroughs in the 1960s and 1970sEdit
Fundamental research was conducted on ANNs in the 1960s and 1970s. The first working deep learning algorithm was the Group method of data handling, a method to train arbitrarily deep neural networks, published by Alexey Ivakhnenko and Lapa in the Soviet Union (1965). They regarded it as a form of polynomial regression,<ref name="ivak1965">Template:Cite book</ref> or a generalization of Rosenblatt's perceptron.<ref>Template:Cite journal</ref> A 1971 paper described a deep network with eight layers trained by this method,<ref name="ivak1971">Template:Cite journal</ref> which 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">Template:Cite arXiv</ref>
The first deep learning multilayer perceptron trained by stochastic gradient descent<ref name="robbins1951">Template:Cite journal</ref> was published in 1967 by Shun'ichi Amari.<ref name="Amari1967">Template:Cite journal</ref> In computer experiments conducted by Amari's student Saito, a five layer MLP with two modifiable layers learned internal representations to classify non-linearily separable pattern classes.<ref name="DLhistory"/> Subsequent developments in hardware and hyperparameter tunings have made end-to-end stochastic gradient descent the currently dominant training technique.
In 1969, Kunihiko Fukushima introduced the ReLU (rectified linear unit) activation function.<ref name="DLhistory" /><ref name="Fukushima1969">Template:Cite journal</ref><ref name=sonoda17>Template:Cite journal</ref> The rectifier has become the most popular activation function for deep learning.<ref>Template:Cite arXiv</ref>
Nevertheless, research stagnated in the United States following the work of Minsky and Papert (1969),<ref name=":132">Template:Cite book</ref> who emphasized that basic perceptrons were incapable of processing the exclusive-or circuit. This insight was irrelevant for the deep networks of Ivakhnenko (1965) and Amari (1967).
In 1976 transfer learning was introduced in neural networks learning.<ref>Bozinovski S. and Fulgosi A. (1976). "The influence of pattern similarity and transfer learning on the base perceptron training" (original in Croatian) Proceedings of Symposium Informatica 3-121-5, Bled.</ref><ref>Bozinovski S.(2020) "Reminder of the first paper on transfer learning in neural networks, 1976". Informatica 44: 291–302.</ref>
Deep learning architectures for convolutional neural networks (CNNs) with convolutional layers and downsampling layers and weight replication began with the Neocognitron introduced by Kunihiko Fukushima in 1979, though not trained by backpropagation.<ref name="FUKU1979">Template:Cite journal</ref><ref name="FUKU1980">Template:Cite journal</ref><ref name="SCHIDHUB4"/>
BackpropagationEdit
Backpropagation is an efficient application of the chain rule derived by Gottfried Wilhelm Leibniz in 1673<ref name="leibniz16762">Template:Cite book</ref> to networks of differentiable nodes. The terminology "back-propagating errors" was actually introduced in 1962 by Rosenblatt,<ref name="rosenblatt1962"/> but he did not know how to implement this, although Henry J. Kelley had a continuous precursor of backpropagation in 1960 in the context of control theory.<ref name="kelley19602">Template:Cite journal</ref> In 1970, Seppo Linnainmaa published the modern form of backpropagation in his Master's thesis (1970).<ref name="lin19703">Template:Cite thesis</ref><ref name="lin19763">Template:Cite journal</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">Template:Cite book</ref><ref name=":1">Template:Cite book</ref> (his 1974 PhD thesis, reprinted in a 1994 book,<ref name="werbos1974">Template:Cite book</ref> did not yet describe the algorithm<ref name="backprop">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>). In 1986, David E. Rumelhart et al. popularised backpropagation but did not cite the original work.<ref>Template:Cite journal</ref>
Convolutional neural networksEdit
Kunihiko Fukushima's convolutional neural network (CNN) architecture of 1979<ref name="FUKU1979"/> also introduced max pooling,<ref>Template:Cite journal</ref> a popular downsampling procedure for CNNs. CNNs have become an essential tool for computer vision.
The time delay neural network (TDNN) was introduced in 1987 by Alex Waibel to apply CNN to phoneme recognition. It used convolutions, weight sharing, and backpropagation.<ref name=Waibel1987>Template:Cite conference</ref><ref name="speechsignal">Alexander Waibel et al., Phoneme Recognition Using Time-Delay Neural Networks Template:Webarchive IEEE Transactions on Acoustics, Speech, and Signal Processing, Volume 37, No. 3, pp. 328. – 339 March 1989.</ref> In 1988, Wei Zhang applied a backpropagation-trained CNN to alphabet recognition.<ref name="wz1988">Template:Cite journal</ref> In 1989, Yann LeCun et al. created a CNN called LeNet for recognizing handwritten ZIP codes on mail. Training required 3 days.<ref name="LECUN1989">LeCun et al., "Backpropagation Applied to Handwritten Zip Code Recognition", Neural Computation, 1, pp. 541–551, 1989.</ref> In 1990, Wei Zhang implemented a CNN on optical computing hardware.<ref name="wz1990">Template:Cite journal</ref> In 1991, a CNN was applied to medical image object segmentation<ref>Template:Cite journal</ref> and breast cancer detection in mammograms.<ref>Template:Cite journal</ref> LeNet-5 (1998), a 7-level CNN by Yann LeCun et al., that classifies digits, was applied by several banks to recognize hand-written numbers on checks digitized in 32×32 pixel images.<ref name="lecun98">Template:Cite journal</ref>
From 1988 onward,<ref name="Qian1988">Qian, Ning, and Terrence J. Sejnowski. "Predicting the secondary structure of globular proteins using neural network models." Journal of molecular biology 202, no. 4 (1988): 865–884.</ref><ref name="Bohr1988">Bohr, Henrik, Jakob Bohr, Søren Brunak, Rodney MJ Cotterill, Benny Lautrup, Leif Nørskov, Ole H. Olsen, and Steffen B. Petersen. "Protein secondary structure and homology by neural networks The α-helices in rhodopsin." FEBS letters 241, (1988): 223–228</ref> the use of neural networks transformed the field of protein structure prediction, in particular when the first cascading networks were trained on profiles (matrices) produced by multiple sequence alignments.<ref name="Rost1993">Rost, Burkhard, and Chris Sander. "Prediction of protein secondary structure at better than 70% accuracy." Journal of molecular biology 232, no. 2 (1993): 584–599.</ref>
Recurrent neural networksEdit
One origin of RNN was statistical mechanics. In 1972, Shun'ichi Amari proposed to modify the weights of an Ising model by Hebbian learning rule as a model of associative memory, adding in the component of learning.<ref>Template:Cite journal</ref> This was popularized as the Hopfield network by John Hopfield (1982).<ref name="Hopfield19822">Template:Cite journal</ref> Another origin of RNN was neuroscience. The word "recurrent" is used to describe loop-like structures in anatomy. In 1901, Cajal observed "recurrent semicircles" in the cerebellar cortex.<ref>Template:Cite journal</ref> Hebb considered "reverberating circuit" as an explanation for short-term memory.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> The McCulloch and Pitts paper (1943) considered neural networks that contain cycles, and noted that the current activity of such networks can be affected by activity indefinitely far in the past.<ref name=WM>Template:Cite journal</ref>
In 1982 a recurrent neural network with an array architecture (rather than a multilayer perceptron architecture), namely a Crossbar Adaptive Array,<ref name="CAA1982"> Bozinovski, S. (1982). "A self-learning system using secondary reinforcement". In Trappl, Robert (ed.). Cybernetics and Systems Research: Proceedings of the Sixth European Meeting on Cybernetics and Systems Research. North-Holland. pp. 397–402. ISBN 978-0-444-86488-8</ref><ref name="" "caa1995"="">Bozinovski S. (1995) "Neuro genetic agents and structural theory of self-reinforcement learning systems". CMPSCI Technical Report 95-107, University of Massachusetts at Amherst [1] Template:Webarchive</ref> used direct recurrent connections from the output to the supervisor (teaching) inputs. In addition of computing actions (decisions), it computed internal state evaluations (emotions) of the consequence situations. Eliminating the external supervisor, it introduced the self-learning method in neural networks.
In cognitive psychology, the journal American Psychologist in early 1980's carried out a debate on the relation between cognition and emotion. Zajonc in 1980 stated that emotion is computed first and is independent from cognition, while Lazarus in 1982 stated that cognition is computed first and is inseparable from emotion.<ref>R. Zajonc (1980) "Feeling and thinking: Preferences need no inferences". American Psychologist 35 (2): 151-175</ref><ref>Lazarus R. (1982) "Thoughts on the relations between emotion and cognition" American Psychologist 37 (9): 1019-1024</ref> In 1982 the Crossbar Adaptive Array gave a neural network model of cognition-emotion relation.<ref name = "CAA1982" /><ref>Bozinovski, S. (2014) "Modeling mechanisms of cognition-emotion interaction in artificial neural networks, since 1981" Procedia Computer Science p. 255-263 (https://core.ac.uk/download/pdf/81973924.pdf Template:Webarchive)</ref> It was an example of a debate where an AI system, a recurrent neural network, contributed to an issue in the same time addressed by cognitive psychology.
Two early influential works were the Jordan network (1986) and the Elman network (1990), which applied RNN to study cognitive psychology.
In the 1980s, backpropagation did not work well for deep RNNs. To overcome this problem, in 1991, Jürgen Schmidhuber proposed the "neural sequence chunker" or "neural history compressor"<ref name="chunker1991">Template:Cite journal</ref><ref name="schmidhuber1992">Template:Cite journal</ref> which introduced the important concepts of self-supervised pre-training (the "P" in ChatGPT) and neural knowledge distillation.<ref name=DLhistory/> In 1993, a neural history compressor system solved a "Very Deep Learning" task that required more than 1000 subsequent layers in an RNN unfolded in time.<ref name="schmidhuber19932">Template:Cite book Page 150 ff demonstrates credit assignment across the equivalent of 1,200 layers in an unfolded RNN.</ref>
In 1991, Sepp Hochreiter's diploma thesis<ref name="HOCH1991">S. Hochreiter., "Untersuchungen zu dynamischen neuronalen Netzen", Template:Webarchive, Diploma thesis. Institut f. Informatik, Technische Univ. Munich. Advisor: J. Schmidhuber, 1991.</ref> identified and analyzed the vanishing gradient problem<ref name="HOCH1991" /><ref name="HOCH2001">Template:Cite book</ref> and proposed recurrent residual connections to solve it. He and Schmidhuber introduced long short-term memory (LSTM), which set accuracy records in multiple applications domains.<ref>Template:Cite Q</ref><ref name="lstm2">Template:Cite journal</ref> This was not yet the modern version of LSTM, which required the forget gate, which was introduced in 1999.<ref name="lstm1999">Template:Cite book</ref> It became the default choice for RNN architecture.
During 1985–1995, inspired by statistical mechanics, several architectures and methods were developed by Terry Sejnowski, Peter Dayan, Geoffrey Hinton, etc., including the Boltzmann machine,<ref>Template:Cite journal</ref> restricted Boltzmann machine,<ref>Template:Cite book</ref> Helmholtz machine,<ref name="“nc95“">Template:Cite journal Template:Closed access</ref> and the wake-sleep algorithm.<ref name=":13">Template:Cite journal</ref> These were designed for unsupervised learning of deep generative models.
Deep learningEdit
Between 2009 and 2012, ANNs began winning prizes in image recognition contests, approaching human level performance on various tasks, initially in pattern recognition and handwriting recognition.<ref>2012 Kurzweil AI Interview Template:Webarchive with Juergen Schmidhuber on the eight competitions won by his Deep Learning team 2009–2012</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> In 2011, a CNN named DanNet<ref name=":32">Template:Cite journal</ref><ref name=":62">Template:Cite journal</ref> by Dan Ciresan, Ueli Meier, Jonathan Masci, Luca Maria Gambardella, and Jürgen Schmidhuber achieved for the first time superhuman performance in a visual pattern recognition contest, outperforming traditional methods by a factor of 3.<ref name="SCHIDHUB4">Template:Cite journal</ref> It then won more contests.<ref name=":82">Template:Cite book</ref><ref name="ciresan2013miccai">Template:Cite book</ref> They also showed how max-pooling CNNs on GPU improved performance significantly.<ref name=":9">Template:Cite book</ref>
In October 2012, AlexNet by Alex Krizhevsky, Ilya Sutskever, and Geoffrey Hinton<ref name="krizhevsky20122">Template:Cite journal</ref> won the large-scale ImageNet competition by a significant margin over shallow machine learning methods. Further incremental improvements included the VGG-16 network by Karen Simonyan and Andrew Zisserman<ref name="VGG">Template:Cite arXiv</ref> and Google's Inceptionv3.<ref name="szegedy">Template:Cite journal</ref>
In 2012, Ng and Dean created a network that learned to recognize higher-level concepts, such as cats, only from watching unlabeled images.<ref name="ng2012">Template:Cite arXiv</ref> Unsupervised pre-training and increased computing power from GPUs and distributed computing allowed the use of larger networks, particularly in image and visual recognition problems, which became known as "deep learning".<ref name=":4" />
Radial basis function and wavelet networks were introduced in 2013. These can be shown to offer best approximation properties and have been applied in nonlinear system identification and classification applications.<ref name="SAB1" />
Generative adversarial network (GAN) (Ian Goodfellow et al., 2014)<ref name="GANnips">Template:Cite conference</ref> became state of the art in generative modeling during 2014–2018 period. The GAN principle was originally published in 1991 by Jürgen Schmidhuber who called it "artificial curiosity": two neural networks contest with each other in the form of a zero-sum game, where one network's gain is the other network's loss.<ref name="curiosity1991">Template:Cite conference</ref><ref name="gancurpm2020">Template:Cite journal</ref> The first network is a generative model that models a probability distribution over output patterns. The second network learns by gradient descent to predict the reactions of the environment to these patterns. Excellent image quality is achieved by Nvidia's StyleGAN (2018)<ref name="SyncedReview201822">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> based on the Progressive GAN by Tero Karras et al.<ref name="progressiveGAN201722">Template:Cite arXiv</ref> Here, the GAN generator is grown from small to large scale in a pyramidal fashion. Image generation by GAN reached popular success, and provoked discussions concerning deepfakes.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> Diffusion models (2015)<ref>Template:Cite journal</ref> eclipsed GANs in generative modeling since then, with systems such as DALL·E 2 (2022) and Stable Diffusion (2022).
In 2014, the state of the art was training "very deep neural network" with 20 to 30 layers.<ref>Template:Citation</ref> Stacking too many layers led to a steep reduction in training accuracy,<ref name="prelu2">Template:Cite arXiv</ref> known as the "degradation" problem.<ref name="resnet2">Template:Cite conference</ref> In 2015, two techniques were developed to train very deep networks: the highway network was published in May 2015,<ref name="highway20153">Template:Cite arXiv</ref> and the residual neural network (ResNet) in December 2015.<ref name="resnet20153">Template:Cite conference</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> ResNet behaves like an open-gated Highway Net.
{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}}
During the 2010s, the seq2seq model was developed, and attention mechanisms were added. It led to the modern Transformer architecture in 2017 in Attention Is All You Need.<ref name="vaswani2017">Template:Cite arXiv</ref> It requires computation time that is quadratic in the size of the context window. Jürgen Schmidhuber's fast weight controller (1992)<ref name="transform19922">Template:Cite journal</ref> scales linearly and was later shown to be equivalent to the unnormalized linear Transformer.<ref name="fastlinear20202">Template:Cite conference</ref><ref name="schlag20212">Template:Cite conference</ref><ref name="DLhistory" /> Transformers have increasingly become the model of choice for natural language processing.<ref name="wolf2020">Template:Cite book</ref> Many modern large language models such as ChatGPT, GPT-4, and BERT use this architecture.
ModelsEdit
{{ safesubst:#invoke:Unsubst||date=__DATE__|$B= Template:Ambox
ANNs began as an attempt to exploit the architecture of the human brain to perform tasks that conventional algorithms had little success with. They soon reoriented towards improving empirical results, abandoning attempts to remain true to their biological precursors. ANNs have the ability to learn and model non-linearities and complex relationships. This is achieved by neurons being connected in various patterns, allowing the output of some neurons to become the input of others. The network forms a directed, weighted graph.<ref name="Zell1994ch5.2">Template:Cite book</ref>
An artificial neural network consists of simulated neurons. Each neuron is connected to other nodes via links like a biological axon-synapse-dendrite connection. All the nodes connected by links take in some data and use it to perform specific operations and tasks on the data. Each link has a weight, determining the strength of one node's influence on another,<ref name='Winston'>Template:Cite book</ref> allowing weights to choose the signal between neurons.
Artificial neuronsEdit
{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}} ANNs are composed of artificial neurons which are conceptually derived from biological neurons. Each artificial neuron has inputs and produces a single output which can be sent to multiple other neurons.<ref name="Abbod2007">Template:Cite journal</ref> The inputs can be the feature values of a sample of external data, such as images or documents, or they can be the outputs of other neurons. The outputs of the final output neurons of the neural net accomplish the task, such as recognizing an object in an image.Template:Citation needed
To find the output of the neuron we take the weighted sum of all the inputs, weighted by the weights of the connections from the inputs to the neuron. We add a bias term to this sum.<ref name="DAWSON1998">Template:Cite journal</ref> This weighted sum is sometimes called the activation. This weighted sum is then passed through a (usually nonlinear) activation function to produce the output. The initial inputs are external data, such as images and documents. The ultimate outputs accomplish the task, such as recognizing an object in an image.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
OrganizationEdit
The neurons are typically organized into multiple layers, especially in deep learning. Neurons of one layer connect only to neurons of the immediately preceding and immediately following layers. The layer that receives external data is the input layer. The layer that produces the ultimate result is the output layer. In between them are zero or more hidden layers. Single layer and unlayered networks are also used. Between two layers, multiple connection patterns are possible. They can be 'fully connected', with every neuron in one layer connecting to every neuron in the next layer. They can be pooling, where a group of neurons in one layer connects to a single neuron in the next layer, thereby reducing the number of neurons in that layer.<ref name="flexible">Template:Cite journal</ref> Neurons with only such connections form a directed acyclic graph and are known as feedforward networks.<ref name="Zell1994p73">Template:Cite book</ref> Alternatively, networks that allow connections between neurons in the same or previous layers are known as recurrent networks.<ref>Template:Cite journal</ref>
HyperparameterEdit
{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}} A hyperparameter is a constant parameter whose value is set before the learning process begins. The values of parameters are derived via learning. Examples of hyperparameters include learning rate, the number of hidden layers and batch size.Template:Cn The values of some hyperparameters can be dependent on those of other hyperparameters. For example, the size of some layers can depend on the overall number of layers.Template:Citation needed
LearningEdit
Template:No footnotesTemplate:See also
Learning is the adaptation of the network to better handle a task by considering sample observations. Learning involves adjusting the weights (and optional thresholds) of the network to improve the accuracy of the result. This is done by minimizing the observed errors. Learning is complete when examining additional observations does not usefully reduce the error rate. Even after learning, the error rate typically does not reach 0. If after learning, the error rate is too high, the network typically must be redesigned. Practically this is done by defining a cost function that is evaluated periodically during learning. As long as its output continues to decline, learning continues. The cost is frequently defined as a statistic whose value can only be approximated. The outputs are actually numbers, so when the error is low, the difference between the output (almost certainly a cat) and the correct answer (cat) is small. Learning attempts to reduce the total of the differences across the observations. Most learning models can be viewed as a straightforward application of optimization theory and statistical estimation.<ref name="Zell1994ch5.2"/><ref>Template:Cite book</ref>
Learning rateEdit
{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}} The learning rate defines the size of the corrective steps that the model takes to adjust for errors in each observation.<ref>Template:Cite arXiv</ref> A high learning rate shortens the training time, but with lower ultimate accuracy, while a lower learning rate takes longer, but with the potential for greater accuracy. Optimizations such as Quickprop are primarily aimed at speeding up error minimization, while other improvements mainly try to increase reliability. In order to avoid oscillation inside the network such as alternating connection weights, and to improve the rate of convergence, refinements use an adaptive learning rate that increases or decreases as appropriate.<ref>Template:Cite book</ref> The concept of momentum allows the balance between the gradient and the previous change to be weighted such that the weight adjustment depends to some degree on the previous change. A momentum close to 0 emphasizes the gradient, while a value close to 1 emphasizes the last change.Template:Citation needed
Cost functionEdit
While it is possible to define a cost function ad hoc, frequently the choice is determined by the function's desirable properties (such as convexity) because it arises from the model (e.g. in a probabilistic model, the model's posterior probability can be used as an inverse cost).Template:Citation needed
BackpropagationEdit
{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}} Backpropagation is a method used to adjust the connection weights to compensate for each error found during learning. The error amount is effectively divided among the connections. Technically, backpropagation calculates the gradient (the derivative) of the cost function associated with a given state with respect to the weights. The weight updates can be done via stochastic gradient descent or other methods, such as extreme learning machines,<ref>Template:Cite journal</ref> "no-prop" networks,<ref>Template:Cite journal</ref> training without backtracking,<ref>Template:Cite arXiv</ref> "weightless" networks,<ref name="RBMTRAIN">Template:Cite journal</ref><ref>ESANN. 2009.Template:Full citation needed</ref> and non-connectionist neural networks.Template:Citation needed
Learning paradigmsEdit
Template:No footnotes Machine learning is commonly separated into three main learning paradigms, supervised learning,<ref>Template:Cite book</ref> unsupervised learning<ref>Template:Cite book</ref> and reinforcement learning.<ref>Template:Cite book</ref> Each corresponds to a particular learning task.
Supervised learningEdit
Supervised learning uses a set of paired inputs and desired outputs. The learning task is to produce the desired output for each input. In this case, the cost function is related to eliminating incorrect deductions.<ref>Template:Cite journal</ref> A commonly used cost is the mean-squared error, which tries to minimize the average squared error between the network's output and the desired output. Tasks suited for supervised learning are pattern recognition (also known as classification) and regression (also known as function approximation). Supervised learning is also applicable to sequential data (e.g., for handwriting, speech and gesture recognition). This can be thought of as learning with a "teacher", in the form of a function that provides continuous feedback on the quality of solutions obtained thus far.
Unsupervised learningEdit
In unsupervised learning, input data is given along with the cost function, some function of the data <math>\textstyle x</math> and the network's output. The cost function is dependent on the task (the model domain) and any a priori assumptions (the implicit properties of the model, its parameters and the observed variables). As a trivial example, consider the model <math>\textstyle f(x) = a</math> where <math>\textstyle a</math> is a constant and the cost <math>\textstyle C=E[(x - f(x))^2]</math>. Minimizing this cost produces a value of <math>\textstyle a</math> that is equal to the mean of the data. The cost function can be much more complicated. Its form depends on the application: for example, in compression it could be related to the mutual information between <math>\textstyle x</math> and <math>\textstyle f(x)</math>, whereas in statistical modeling, it could be related to the posterior probability of the model given the data (note that in both of those examples, those quantities would be maximized rather than minimized). Tasks that fall within the paradigm of unsupervised learning are in general estimation problems; the applications include clustering, the estimation of statistical distributions, compression and filtering.
Reinforcement learningEdit
{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}} Template:See also
In applications such as playing video games, an actor takes a string of actions, receiving a generally unpredictable response from the environment after each one. The goal is to win the game, i.e., generate the most positive (lowest cost) responses. In reinforcement learning, the aim is to weight the network (devise a policy) to perform actions that minimize long-term (expected cumulative) cost. At each point in time the agent performs an action and the environment generates an observation and an instantaneous cost, according to some (usually unknown) rules. The rules and the long-term cost usually only can be estimated. At any juncture, the agent decides whether to explore new actions to uncover their costs or to exploit prior learning to proceed more quickly.
Formally, the environment is modeled as a Markov decision process (MDP) with states <math>\textstyle {s_1,...,s_n}\in S </math> and actions <math>\textstyle {a_1,...,a_m} \in A</math>. Because the state transitions are not known, probability distributions are used instead: the instantaneous cost distribution <math>\textstyle P(c_t|s_t)</math>, the observation distribution <math>\textstyle P(x_t|s_t)</math> and the transition distribution <math>\textstyle P(s_{t+1}|s_t, a_t)</math>, while a policy is defined as the conditional distribution over actions given the observations. Taken together, the two define a Markov chain (MC). The aim is to discover the lowest-cost MC.
ANNs serve as the learning component in such applications.<ref>Template:Cite conference</ref><ref>Template:Cite journal</ref> Dynamic programming coupled with ANNs (giving neurodynamic programming)<ref>Template:Cite book</ref> has been applied to problems such as those involved in vehicle routing,<ref>Template:Cite journal</ref> video games, natural resource management<ref>Template:Cite conference</ref><ref>Template:Cite conference</ref> and medicine<ref>Template:Cite book</ref> because of ANNs ability to mitigate losses of accuracy even when reducing the discretization grid density for numerically approximating the solution of control problems. Tasks that fall within the paradigm of reinforcement learning are control problems, games and other sequential decision making tasks.
Self-learningEdit
Self-learning in neural networks was introduced in 1982 along with a neural network capable of self-learning named crossbar adaptive array (CAA).<ref>Bozinovski, S. (1982). "A self-learning system using secondary reinforcement". In R. Trappl (ed.) Cybernetics and Systems Research: Proceedings of the Sixth European Meeting on Cybernetics and Systems Research. North Holland. pp. 397–402. Template:ISBN.</ref> It is a system with only one input, situation s, and only one output, action (or behavior) a. It has neither external advice input nor external reinforcement input from the environment. The CAA computes, in a crossbar fashion, both decisions about actions and emotions (feelings) about encountered situations. The system is driven by the interaction between cognition and emotion.<ref>Bozinovski, S. (2014) "Modeling mechanisms of cognition-emotion interaction in artificial neural networks, since 1981 Template:Webarchive." Procedia Computer Science p. 255-263</ref> Given the memory matrix, W =||w(a,s)||, the crossbar self-learning algorithm in each iteration performs the following computation:
In situation s perform action a; Receive consequence situation s'; Compute emotion of being in consequence situation v(s'); Update crossbar memory w'(a,s) = w(a,s) + v(s').
The backpropagated value (secondary reinforcement) is the emotion toward the consequence situation. The CAA exists in two environments, one is behavioral environment where it behaves, and the other is genetic environment, where from it receives initial emotions (only once) about to be encountered situations in the behavioral environment. Having received the genome vector (species vector) from the genetic environment, the CAA will learn a goal-seeking behavior, in the behavioral environment that contains both desirable and undesirable situations.<ref>Template:Cite journal</ref>
NeuroevolutionEdit
{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}}
Neuroevolution can create neural network topologies and weights using evolutionary computation. It is competitive with sophisticated gradient descent approaches.<ref>Template:Cite arXiv</ref><ref>Template:Cite arXiv</ref> One advantage of neuroevolution is that it may be less prone to get caught in "dead ends".<ref>Template:Cite news</ref>
Stochastic neural networkEdit
Stochastic neural networks originating from Sherrington–Kirkpatrick models are a type of artificial neural network built by introducing random variations into the network, either by giving the network's artificial neurons stochastic transfer functions Template:Citation needed, or by giving them stochastic weights. This makes them useful tools for optimization problems, since the random fluctuations help the network escape from local minima.<ref>Template:Citation</ref> Stochastic neural networks trained using a Bayesian approach are known as Bayesian neural networks.<ref>Template:Cite magazine</ref>
Topological deep learningEdit
Topological deep learning, first introduced in 2017,<ref>Template:Cite journal</ref> is an emerging approach in machine learning that integrates topology with deep neural networks to address highly intricate and high-order data. Initially rooted in algebraic topology, TDL has since evolved into a versatile framework incorporating tools from other mathematical disciplines, such as differential topology and geometric topology. As a successful example of mathematical deep learning, TDL continues to inspire advancements in mathematical artificial intelligence, fostering a mutually beneficial relationship between AI and mathematics.
OtherEdit
In a Bayesian framework, a distribution over the set of allowed models is chosen to minimize the cost. Evolutionary methods,<ref>Template:Cite conference</ref> gene expression programming,<ref>Template:Cite book</ref> simulated annealing,<ref>Template:Cite conference</ref> expectation–maximization, non-parametric methods and particle swarm optimization<ref>Template:Cite conference</ref> are other learning algorithms. Convergent recursion is a learning algorithm for cerebellar model articulation controller (CMAC) neural networks.<ref name="Qin1">Template:Cite journal</ref><ref name="Qin2">Template:Cite journal</ref>
ModesEdit
Template:No footnotes Two modes of learning are available: stochastic and batch. In stochastic learning, each input creates a weight adjustment. In batch learning, weights are adjusted based on a batch of inputs, accumulating errors over the batch. Stochastic learning introduces "noise" into the process, using the local gradient calculated from one data point; this reduces the chance of the network getting stuck in local minima. However, batch learning typically yields a faster, more stable descent to a local minimum, since each update is performed in the direction of the batch's average error. A common compromise is to use "mini-batches", small batches with samples in each batch selected stochastically from the entire data set.
TypesEdit
{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}}
ANNs have evolved into a broad family of techniques that have advanced the state of the art across multiple domains. The simplest types have one or more static components, including number of units, number of layers, unit weights and topology. Dynamic types allow one or more of these to evolve via learning. The latter is much more complicated but can shorten learning periods and produce better results. Some types allow/require learning to be "supervised" by the operator, while others operate independently. Some types operate purely in hardware, while others are purely software and run on general purpose computers.
Some of the main breakthroughs include:
- Convolutional neural networks that have proven particularly successful in processing visual and other two-dimensional data;<ref>Template:Cite journal</ref><ref name="lecun2016slides">Yann LeCun (2016). Slides on Deep Learning Online Template:Webarchive</ref> where long short-term memory avoids the vanishing gradient problem<ref name=":03">Template:Cite journal</ref> and can handle signals that have a mix of low and high frequency components aiding large-vocabulary speech recognition,<ref name="sak2014">{{#invoke:citation/CS1|citation
|CitationClass=web }}</ref><ref name="liwu2015">Template:Cite arXiv</ref> text-to-speech synthesis,<ref>Template:Cite journal</ref><ref name="scholarpedia2">Template:Cite journal</ref><ref name="zen2015">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> and photo-real talking heads;<ref name="fan2015">Template:Cite journal</ref>
- Competitive networks such as generative adversarial networks in which multiple networks (of varying structure) compete with each other, on tasks such as winning a game<ref name="preprint">Template:Cite arXiv</ref> or on deceiving the opponent about the authenticity of an input.<ref name="GANnips"/>
Network designEdit
Using artificial neural networks requires an understanding of their characteristics.
- Choice of model: This depends on the data representation and the application. Model parameters include the number, type, and connectedness of network layers, as well as the size of each and the connection type (full, pooling, etc.). Overly complex models learn slowly.
- Learning algorithm: Numerous trade-offs exist between learning algorithms. Almost any algorithm will work well with the correct hyperparameters<ref>Template:Cite journal</ref> for training on a particular data set. However, selecting and tuning an algorithm for training on unseen data requires significant experimentation.
- Robustness: If the model, cost function and learning algorithm are selected appropriately, the resulting ANN can become robust.
Neural architecture search (NAS) uses machine learning to automate ANN design. Various approaches to NAS have designed networks that compare well with hand-designed systems. The basic search algorithm is to propose a candidate model, evaluate it against a dataset, and use the results as feedback to teach the NAS network.<ref>Template:Cite arXiv</ref> Available systems include AutoML and AutoKeras.<ref>Template:Cite journal</ref> scikit-learn library provides functions to help with building a deep network from scratch. We can then implement a deep network with TensorFlow or Keras.
Hyperparameters must also be defined as part of the design (they are not learned), governing matters such as how many neurons are in each layer, learning rate, step, stride, depth, receptive field and padding (for CNNs), etc.<ref name="abs1502.02127">Template:Cite arXiv Template:Bibcode</ref> Template:Citation needed span
ApplicationsEdit
Because of their ability to reproduce and model nonlinear processes, artificial neural networks have found applications in many disciplines. These include:
- Function approximation,<ref>Template:Cite book</ref> or regression analysis,<ref>Template:Cite book</ref> (including time series prediction, fitness approximation,<ref>Template:Cite book</ref> and modeling)
- Data processing<ref>Template:Cite book</ref> (including filtering, clustering, blind source separation,<ref>Template:Cite book</ref> and compression)
- Nonlinear system identification<ref name="SAB1">Template:Cite book</ref> and control (including vehicle control, trajectory prediction,<ref>Template:Cite journal</ref> adaptive control, process control, and natural resource management)
- Pattern recognition (including radar systems, face identification, signal classification,<ref>Template:Cite journal</ref> novelty detection, 3D reconstruction,<ref>Choy, Christopher B., et al. "3d-r2n2: A unified approach for single and multi-view 3d object reconstruction Template:Webarchive." European conference on computer vision. Springer, Cham, 2016.</ref> object recognition, and sequential decision making<ref name ="TurekNeuralNet">Template:Cite journal</ref>)
- Sequence recognition (including gesture, speech, and handwritten and printed text recognition<ref>Template:Cite book</ref>)
- Sensor data analysis<ref>Template:Cite journal</ref> (including image analysis)
- Robotics (including directing manipulators and prostheses)
- Data mining (including knowledge discovery in databases)
- Finance<ref>Template:Cite journal</ref> (such as ex-ante models for specific financial long-run forecasts and artificial financial markets)
- Quantum chemistry<ref name="Balabin_2009">Template:Cite journal</ref>
- General game playing<ref>Template:Cite journal</ref>
- Generative AI<ref>Template:Cite news</ref>
- Data visualization
- Machine translation
- Social network filtering<ref>Template:Cite news</ref>
- E-mail spam filtering
- Medical diagnosis<ref name=Ciaramella>Template:Cite book</ref>
ANNs have been used to diagnose several types of cancers<ref>Template:Cite journal</ref><ref>Template:Cite journal</ref> and to distinguish highly invasive cancer cell lines from less invasive lines using only cell shape information.<ref>Template:Cite journal</ref><ref>Template:Cite journal</ref>
ANNs have been used to accelerate reliability analysis of infrastructures subject to natural disasters<ref>Template:Cite journal</ref><ref>Template:Cite journal</ref> and to predict foundation settlements.<ref>Template:Cite journal</ref> It can also be useful to mitigate flood by the use of ANNs for modelling rainfall-runoff.<ref>Template:Cite journal</ref> ANNs have also been used for building black-box models in geoscience: hydrology,<ref>Template:Cite journal</ref><ref>Template:Cite journal</ref> ocean modelling and coastal engineering,<ref>Template:Cite journal</ref><ref>Template:Cite journal</ref> and geomorphology.<ref>Template:Cite journal</ref> ANNs have been employed in cybersecurity, with the objective to discriminate between legitimate activities and malicious ones. For example, machine learning has been used for classifying Android malware,<ref>Template:Cite book</ref> for identifying domains belonging to threat actors and for detecting URLs posing a security risk.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> Research is underway on ANN systems designed for penetration testing, for detecting botnets,<ref>Template:Citation</ref> credit cards frauds<ref>Template:Cite book</ref> and network intrusions.
ANNs have been proposed as a tool to solve partial differential equations in physics<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> and simulate the properties of many-body open quantum systems.<ref>Template:Cite journal</ref><ref>Template:Cite journal</ref><ref>Template:Cite journal</ref><ref>Template:Cite journal</ref> In brain research ANNs have studied short-term behavior of individual neurons,<ref>Template:Cite journal</ref> the dynamics of neural circuitry arise from interactions between individual neurons and how behavior can arise from abstract neural modules that represent complete subsystems. Studies considered long-and short-term plasticity of neural systems and their relation to learning and memory from the individual neuron to the system level.
It is possible to create a profile of a user's interests from pictures, using artificial neural networks trained for object recognition.<ref>Template:Cite journal</ref>
Beyond their traditional applications, artificial neural networks are increasingly being utilized in interdisciplinary research, such as materials science. For instance, graph neural networks (GNNs) have demonstrated their capability in scaling deep learning for the discovery of new stable materials by efficiently predicting the total energy of crystals. This application underscores the adaptability and potential of ANNs in tackling complex problems beyond the realms of predictive modeling and artificial intelligence, opening new pathways for scientific discovery and innovation.<ref>Template:Cite journal</ref>
Theoretical propertiesEdit
Computational powerEdit
The multilayer perceptron is a universal function approximator, as proven by the universal approximation theorem. However, the proof is not constructive regarding the number of neurons required, the network topology, the weights and the learning parameters.
A specific recurrent architecture with rational-valued weights (as opposed to full precision real number-valued weights) has the power of a universal Turing machine,<ref>Template:Cite journal</ref> using a finite number of neurons and standard linear connections. Further, the use of irrational values for weights results in a machine with super-Turing power.<ref>Template:Cite news</ref><ref>Template:Cite journal</ref>Template:Failed verification
CapacityEdit
A model's "capacity" property corresponds to its ability to model any given function. It is related to the amount of information that can be stored in the network and to the notion of complexity. Two notions of capacity are known by the community. The information capacity and the VC Dimension. The information capacity of a perceptron is intensively discussed in Sir David MacKay's book<ref name="auto">Template:Cite book</ref> which summarizes work by Thomas Cover.<ref>Template:Cite journal</ref> The capacity of a network of standard neurons (not convolutional) can be derived by four rules<ref>Template:Cite book</ref> that derive from understanding a neuron as an electrical element. The information capacity captures the functions modelable by the network given any data as input. The second notion, is the VC dimension. VC Dimension uses the principles of measure theory and finds the maximum capacity under the best possible circumstances. This is, given input data in a specific form. As noted in,<ref name="auto"/> the VC Dimension for arbitrary inputs is half the information capacity of a perceptron. The VC Dimension for arbitrary points is sometimes referred to as Memory Capacity.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
ConvergenceEdit
Models may not consistently converge on a single solution, firstly because local minima may exist, depending on the cost function and the model. Secondly, the optimization method used might not guarantee to converge when it begins far from any local minimum. Thirdly, for sufficiently large data or parameters, some methods become impractical.
Another issue worthy to mention is that training may cross some saddle point which may lead the convergence to the wrong direction.
The convergence behavior of certain types of ANN architectures are more understood than others. When the width of network approaches to infinity, the ANN is well described by its first order Taylor expansion throughout training, and so inherits the convergence behavior of affine models.<ref>Template:Cite journal</ref><ref>Template:Cite conference</ref> Another example is when parameters are small, it is observed that ANNs often fit target functions from low to high frequencies. This behavior is referred to as the spectral bias, or frequency principle, of neural networks.<ref>Template:Cite book</ref><ref>Template:Cite journal</ref><ref>Template:Cite journal</ref><ref>Template:Cite arXiv</ref> This phenomenon is the opposite to the behavior of some well studied iterative numerical schemes such as Jacobi method. Deeper neural networks have been observed to be more biased towards low frequency functions.<ref>Template:Cite journal</ref>
Generalization and statisticsEdit
Template:No footnotes Applications whose goal is to create a system that generalizes well to unseen examples, face the possibility of over-training. This arises in convoluted or over-specified systems when the network capacity significantly exceeds the needed free parameters.
Two approaches address over-training. The first is to use cross-validation and similar techniques to check for the presence of over-training and to select hyperparameters to minimize the generalization error. The second is to use some form of regularization. This concept emerges in a probabilistic (Bayesian) framework, where regularization can be performed by selecting a larger prior probability over simpler models; but also in statistical learning theory, where the goal is to minimize over two quantities: the 'empirical risk' and the 'structural risk', which roughly corresponds to the error over the training set and the predicted error in unseen data due to overfitting.
Supervised neural networks that use a mean squared error (MSE) cost function can use formal statistical methods to determine the confidence of the trained model. The MSE on a validation set can be used as an estimate for variance. This value can then be used to calculate the confidence interval of network output, assuming a normal distribution. A confidence analysis made this way is statistically valid as long as the output probability distribution stays the same and the network is not modified.
By assigning a softmax activation function, a generalization of the logistic function, on the output layer of the neural network (or a softmax component in a component-based network) for categorical target variables, the outputs can be interpreted as posterior probabilities. This is useful in classification as it gives a certainty measure on classifications.
The softmax activation function is:
- <math>y_i=\frac{e^{x_i}}{\sum_{j=1}^c e^{x_j}}</math>
<section end="theory" />
CriticismEdit
TrainingEdit
A common criticism of neural networks, particularly in robotics, is that they require too many training samples for real-world operation.<ref>Template:Cite journal</ref> Any learning machine needs sufficient representative examples in order to capture the underlying structure that allows it to generalize to new cases. Potential solutions include randomly shuffling training examples, by using a numerical optimization algorithm that does not take too large steps when changing the network connections following an example, grouping examples in so-called mini-batches and/or introducing a recursive least squares algorithm for CMAC.<ref name="Qin1"/> Dean Pomerleau uses a neural network to train a robotic vehicle to drive on multiple types of roads (single lane, multi-lane, dirt, etc.), and a large amount of his research is devoted to extrapolating multiple training scenarios from a single training experience, and preserving past training diversity so that the system does not become overtrained (if, for example, it is presented with a series of right turns—it should not learn to always turn right).<ref>Dean Pomerleau, "Knowledge-based Training of Artificial Neural Networks for Autonomous Robot Driving"</ref>
TheoryEdit
A central claimTemplate:Citation needed of ANNs is that they embody new and powerful general principles for processing information. These principles are ill-defined. It is often claimedTemplate:By whom that they are emergent from the network itself. This allows simple statistical association (the basic function of artificial neural networks) to be described as learning or recognition. In 1997, Alexander Dewdney, a former Scientific American columnist, commented that as a result, artificial neural networks have a "something-for-nothing quality, one that imparts a peculiar aura of laziness and a distinct lack of curiosity about just how good these computing systems are. No human hand (or mind) intervenes; solutions are found as if by magic; and no one, it seems, has learned anything".<ref>Template:Cite book</ref> One response to Dewdney is that neural networks have been successfully used to handle many complex and diverse tasks, ranging from autonomously flying aircraft<ref>NASA – Dryden Flight Research Center – News Room: News Releases: NASA NEURAL NETWORK PROJECT PASSES MILESTONE Template:Webarchive. Nasa.gov. Retrieved on 20 November 2013.</ref> to detecting credit card fraud to mastering the game of Go.
Technology writer Roger Bridgman commented:
<templatestyles src="Template:Blockquote/styles.css" />
Neural networks, for instance, are in the dock not only because they have been hyped to high heaven, (what hasn't?) but also because you could create a successful net without understanding how it worked: the bunch of numbers that captures its behaviour would in all probability be "an opaque, unreadable table...valueless as a scientific resource".
In spite of his emphatic declaration that science is not technology, Dewdney seems here to pillory neural nets as bad science when most of those devising them are just trying to be good engineers. An unreadable table that a useful machine could read would still be well worth having.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> {{#if:|{{#if:|}}
— {{#if:|, in }}Template:Comma separated entries}}
{{#invoke:Check for unknown parameters|check|unknown=Template:Main other|preview=Page using Template:Blockquote with unknown parameter "_VALUE_"|ignoreblank=y| 1 | 2 | 3 | 4 | 5 | author | by | char | character | cite | class | content | multiline | personquoted | publication | quote | quotesource | quotetext | sign | source | style | text | title | ts }}
Although it is true that analyzing what has been learned by an artificial neural network is difficult, it is much easier to do so than to analyze what has been learned by a biological neural network. Moreover, recent emphasis on the explainability of AI has contributed towards the development of methods, notably those based on attention mechanisms, for visualizing and explaining learned neural networks. Furthermore, researchers involved in exploring learning algorithms for neural networks are gradually uncovering generic principles that allow a learning machine to be successful. For example, Bengio and LeCun (2007) wrote an article regarding local vs non-local learning, as well as shallow vs deep architecture.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
Biological brains use both shallow and deep circuits as reported by brain anatomy,<ref name="VanEssen1991">D. J. Felleman and D. C. Van Essen, "Distributed hierarchical processing in the primate cerebral cortex," Cerebral Cortex, 1, pp. 1–47, 1991.</ref> displaying a wide variety of invariance. Weng<ref name="Weng2012">J. Weng, "Natural and Artificial Intelligence: Introduction to Computational Brain-Mind Template:Webarchive," BMI Press, Template:ISBN, 2012.</ref> argued that the brain self-wires largely according to signal statistics and therefore, a serial cascade cannot catch all major statistical dependencies.
HardwareEdit
Large and effective neural networks require considerable computing resources.<ref name=":0">Template:Cite journal</ref> While the brain has hardware tailored to the task of processing signals through a graph of neurons, simulating even a simplified neuron on von Neumann architecture may consume vast amounts of memory and storage. Furthermore, the designer often needs to transmit signals through many of these connections and their associated neuronsTemplate:Snd which require enormous CPU power and time.Template:Citation needed
Some argue that the resurgence of neural networks in the twenty-first century is largely attributable to advances in hardware: from 1991 to 2015, computing power, especially as delivered by GPGPUs (on GPUs), has increased around a million-fold, making the standard backpropagation algorithm feasible for training networks that are several layers deeper than before.<ref name="SCHIDHUB4"/> The use of accelerators such as FPGAs and GPUs can reduce training times from months to days.Template:R<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
Neuromorphic engineering or a physical neural network addresses the hardware difficulty directly, by constructing non-von-Neumann chips to directly implement neural networks in circuitry. Another type of chip optimized for neural network processing is called a Tensor Processing Unit, or TPU.<ref>Template:Cite news</ref>
Practical counterexamplesEdit
Analyzing what has been learned by an ANN is much easier than analyzing what has been learned by a biological neural network. Furthermore, researchers involved in exploring learning algorithms for neural networks are gradually uncovering general principles that allow a learning machine to be successful. For example, local vs. non-local learning and shallow vs. deep architecture.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
Hybrid approachesEdit
Advocates of hybrid models (combining neural networks and symbolic approaches) say that such a mixture can better capture the mechanisms of the human mind.<ref>Template:Cite journal</ref><ref>Sun and Bookman, 1990</ref>
Dataset biasEdit
Neural networks are dependent on the quality of the data they are trained on, thus low quality data with imbalanced representativeness can lead to the model learning and perpetuating societal biases.<ref name=":010">Template:Cite journal</ref><ref name=":17">Template:Cite journal</ref> These inherited biases become especially critical when the ANNs are integrated into real-world scenarios where the training data may be imbalanced due to the scarcity of data for a specific race, gender or other attribute.<ref name=":010" /> This imbalance can result in the model having inadequate representation and understanding of underrepresented groups, leading to discriminatory outcomes that exacerbate societal inequalities, especially in applications like facial recognition, hiring processes, and law enforcement.<ref name=":17" /><ref name=":22">Template:Cite journal</ref> For example, in 2018, Amazon had to scrap a recruiting tool because the model favored men over women for jobs in software engineering due to the higher number of male workers in the field.<ref name=":22" /> The program would penalize any resume with the word "woman" or the name of any women's college. However, the use of synthetic data can help reduce dataset bias and increase representation in datasets.<ref>Template:Cite book</ref>
GalleryEdit
- Single layer ann.svg
A single-layer feedforward artificial neural network. Arrows originating from <math>\scriptstyle x_2</math> are omitted for clarity. There are p inputs to this network and q outputs. In this system, the value of the qth output, <math>y_q</math>, is calculated as <math>\scriptstyle y_q = K*(\sum_i(x_i*w_{iq})-b_q).</math>
- Two layer ann.svg
A two-layer feedforward artificial neural network
- Artificial neural network.svg
An artificial neural network
- Ann dependency (graph).svg
An ANN dependency graph
- Single-layer feedforward artificial neural network.png
A single-layer feedforward artificial neural network with 4 inputs, 6 hidden nodes and 2 outputs. Given position state and direction, it outputs wheel based control values.
- Two-layer feedforward artificial neural network.png
A two-layer feedforward artificial neural network with 8 inputs, 2x8 hidden nodes and 2 outputs. Given position state, direction and other environment values, it outputs thruster based control values.
- Cmac.jpg
Parallel pipeline structure of CMAC neural network. This learning algorithm can converge in one step.
Recent advancements and future directionsEdit
Artificial neural networks (ANNs) have undergone significant advancements, particularly in their ability to model complex systems, handle large data sets, and adapt to various types of applications. Their evolution over the past few decades has been marked by a broad range of applications in fields such as image processing, speech recognition, natural language processing, finance, and medicine.Template:Citation needed
Image processingEdit
In the realm of image processing, ANNs are employed in tasks such as image classification, object recognition, and image segmentation. For instance, deep convolutional neural networks (CNNs) have been important in handwritten digit recognition, achieving state-of-the-art performance.<ref name=":07">Template:Cite journal</ref> This demonstrates the ability of ANNs to effectively process and interpret complex visual information, leading to advancements in fields ranging from automated surveillance to medical imaging.<ref name=":07"/>
Speech recognitionEdit
By modeling speech signals, ANNs are used for tasks like speaker identification and speech-to-text conversion. Deep neural network architectures have introduced significant improvements in large vocabulary continuous speech recognition, outperforming traditional techniques.<ref name=":07"/><ref name=":15">Template:Cite journal</ref> These advancements have enabled the development of more accurate and efficient voice-activated systems, enhancing user interfaces in technology products.Template:Citation needed
Natural language processingEdit
In natural language processing, ANNs are used for tasks such as text classification, sentiment analysis, and machine translation. They have enabled the development of models that can accurately translate between languages, understand the context and sentiment in textual data, and categorize text based on content.<ref name=":07"/><ref name=":15"/> This has implications for automated customer service, content moderation, and language understanding technologies.Template:Citation needed
Control systemsEdit
In the domain of control systems, ANNs are used to model dynamic systems for tasks such as system identification, control design, and optimization. For instance, deep feedforward neural networks are important in system identification and control applications.Template:Citation needed
FinanceEdit
Template:More ANNs are used for stock market prediction and credit scoring:
- In investing, ANNs can process vast amounts of financial data, recognize complex patterns, and forecast stock market trends, aiding investors and risk managers in making informed decisions.<ref name=":07"/>
- In credit scoring, ANNs offer data-driven, personalized assessments of creditworthiness, improving the accuracy of default predictions and automating the lending process.<ref name=":15"/>
ANNs require high-quality data and careful tuning, and their "black-box" nature can pose challenges in interpretation. Nevertheless, ongoing advancements suggest that ANNs continue to play a role in finance, offering valuable insights and enhancing risk management strategies.Template:Citation needed
MedicineEdit
ANNs are able to process and analyze vast medical datasets. They enhance diagnostic accuracy, especially by interpreting complex medical imaging for early disease detection, and by predicting patient outcomes for personalized treatment planning.<ref name=":15"/> In drug discovery, ANNs speed up the identification of potential drug candidates and predict their efficacy and safety, significantly reducing development time and costs.<ref name=":07"/> Additionally, their application in personalized medicine and healthcare data analysis allows tailored therapies and efficient patient care management.<ref name=":15" /> Ongoing research is aimed at addressing remaining challenges such as data privacy and model interpretability, as well as expanding the scope of ANN applications in medicine.Template:Citation needed
Content creationEdit
ANNs such as generative adversarial networks (GAN) and transformers are used for content creation across numerous industries.<ref name=":09">Template:Cite journal</ref> This is because deep learning models are able to learn the style of an artist or musician from huge datasets and generate completely new artworks and music compositions. For instance, DALL-E is a deep neural network trained on 650 million pairs of images and texts across the internet that can create artworks based on text entered by the user.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> In the field of music, transformers are used to create original music for commercials and documentaries through companies such as AIVA and Jukedeck.<ref>Template:Cite journal</ref> In the marketing industry generative models are used to create personalized advertisements for consumers.<ref name=":09" /> Additionally, major film companies are partnering with technology companies to analyze the financial success of a film, such as the partnership between Warner Bros and technology company Cinelytic established in 2020.<ref>Template:Cite journal</ref> Furthermore, neural networks have found uses in video game creation, where Non Player Characters (NPCs) can make decisions based on all the characters currently in the game.<ref>Template:Cite book</ref>
See alsoEdit
- ADALINE
- Autoencoder
- Bio-inspired computing
- Blue Brain Project
- Catastrophic interference
- Cognitive architecture
- Connectionist expert system
- Connectomics
- Deep image prior
- Digital morphogenesis
- Efficiently updatable neural network
- Evolutionary algorithm
- Family of curves
- Genetic algorithm
- Hyperdimensional computing
- In situ adaptive tabulation
- Large width limits of neural networks
- List of machine learning concepts
- Memristor
- Neural gas
- Neural network software
- Optical neural network
- Parallel distributed processing
- Philosophy of artificial intelligence
- Predictive analytics
- Quantum neural network
- Support vector machine
- Spiking neural network
- Stochastic parrot
- Tensor product network
- Topological deep learning
ReferencesEdit
BibliographyEdit
- Template:Cite journal
- Template:Cite book
- Template:Cite book
- Template:Cite book PDF
- Template:Cite book
- Template:Cite book
- Template:Cite journal
- {{#invoke:citation/CS1|citation
|CitationClass=web }}
- created for National Science Foundation, Contract Number EET-8716324, and Defense Advanced Research Projects Agency (DOD), ARPA Order No. 4976 under Contract F33615-87-C-1499.
- Template:Cite book
- Template:Cite book
- Template:Cite book
- Template:Cite book
- Template:Cite book
- Template:Cite book
- Template:Cite book
- Template:Cite book
- Template:Cite book
- Template:Cite journal
- Template:Cite book
- Template:Cite book
- Template:Cite book
External linksEdit
- A Brief Introduction to Neural Networks (D. Kriesel) – Illustrated, bilingual manuscript about artificial neural networks; Topics so far: Perceptrons, Backpropagation, Radial Basis Functions, Recurrent Neural Networks, Self Organizing Maps, Hopfield Networks.
- Review of Neural Networks in Materials Science Template:Webarchive
- Artificial Neural Networks Tutorial in three languages (Univ. Politécnica de Madrid)
- Another introduction to ANN
- Next Generation of Neural Networks Template:Webarchive – Google Tech Talks
- Performance of Neural Networks
- Neural Networks and Information Template:Webarchive
- {{#invoke:citation/CS1|citation
|CitationClass=web }}Template:Cbignore