Artificial neural networks (ANNs, also shortened to neural networks (NNs) or neural nets) are a branch of machine learning models that are built using principles of neuronal organization discovered by connectionism in the biological neural networks constituting animal brains.^{[1]}^{[2]}
An ANN is made of connected units or nodes called artificial neurons, which loosely model the neurons in a biological brain. These are connected by edges, which model the synapses in a biological brain. An 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. Neurons and edges typically have a weight that adjusts as learning proceeds. The weight increases or decreases the strength of the signal at a connection.
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 2 hidden layers.^{[3]}
Artificial neural networks are used for predictive modeling, adaptive control, and other applications where they can be trained via a dataset. They are also used to solve problems in artificial intelligence. Networks can learn from experience, and can derive conclusions from a complex and seemingly unrelated set of information.
Training
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.^{[4]} Gradient based methods such as backpropagation are usually used to estimate the parameters of the network.^{[4]} During the training phase, ANNs learn from labeled training data by iteratively updating their parameters to minimize a defined loss function.^{[5]} This method allows the network to generalize to unseen data.
Simplified example of training a neural network in object detection: The network is trained by multiple images that are known to depict starfish and 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):^{[6]} 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.
Historically, digital computers evolved from the von Neumann model, and operate via the execution of explicit instructions via access to memory by a number of processors. On the other hand, the origins of neural networks are based on efforts to model information processing in biological systems. Unlike the von Neumann model, neural network computing does not separate memory and processing.
The simplest kind of feedforward neural network (FNN) is a linear network, which consists of a single layer of output nodes; 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.^{[7]}^{[8]}^{[9]}^{[10]}^{[11]}
Warren McCulloch and Walter Pitts^{[15]} (1943) also considered a non-learning computational model for neural networks.^{[16]}
In the late 1940s, D. O. Hebb^{[17]} created a learning hypothesis based on the mechanism of neural plasticity that became known as Hebbian learning. Hebbian learning is considered to be a 'typical' unsupervised learning rule and its later variants were early models for long term potentiation. These ideas started being applied to computational models in 1948 with Turing's "unorganized machines". Farley and Wesley A. Clark^{[18]} were the first to simulate a Hebbian network in 1954 at MIT. They used computational machines, then called "calculators". Other neural network computational machines were created by Rochester, Holland, Habit, and Duda^{[19]} in 1956. In 1958, psychologist Frank Rosenblatt invented the perceptron, the first implemented artificial neural network,^{[20]}^{[21]}^{[22]}^{[23]} funded by the United States Office of Naval Research.^{[24]}
The invention of the perceptron raised public excitement for research in Artificial Neural Networks, causing the US government to drastically increase funding into deep learning research. This led to "the golden age of AI" fueled by the optimistic claims made by computer scientists regarding the ability of perceptrons to emulate human intelligence.^{[25]} For example, in 1957 Herbert Simon famously said:^{[25]}
It is not my aim to surprise or shock you—but the simplest way I can summarize is to say that there are now in the world machines that think, that learn and that create. Moreover, their ability to do these things is going to increase rapidly until—in a visible future—the range of problems they can handle will be coextensive with the range to which the human mind has been applied.
However, this wasn't the case as research stagnated in the United States following the work of Minsky and Papert (1969),^{[26]} who discovered that basic perceptrons were incapable of processing the exclusive-or circuit and that computers lacked sufficient power to train useful neural networks. This, along with other factors such as the 1973 Lighthill report by James Lighthill stating that research in Artificial Intelligence has not "produced the major impact that was then promised," shutting funding in research into the field of AI in all but two universities in the UK and in many major institutions across the world.^{[27]} This ushered an era called the AI Winter with reduced research into connectionism due to a decrease in government funding and an increased stress on symbolic artificial intelligence in the United States and other Western countries.^{[28]}^{[27]}
A key in later advances in artificial neural network research was the backpropagation algorithm, an efficient application of the Leibnizchain rule (1673)^{[41]} to networks of differentiable nodes.^{[10]} It is also known as
the reverse mode of automatic differentiation or reverse accumulation, due to Seppo Linnainmaa (1970).^{[42]}^{[43]}^{[44]}^{[45]}^{[10]} The term "back-propagating errors" was introduced in 1962 by Frank Rosenblatt,^{[46]}^{[10]} but he did not have an implementation of this procedure, although Henry J. Kelley^{[47]} and Bryson^{[48]} had dynamic programming based continuous precursors of backpropagation^{[29]}^{[49]}^{[50]}^{[51]} already in 1960–61 in the context of control theory.^{[10]}
In 1973, Dreyfus used backpropagation to adapt parameters of controllers in proportion to error gradients.^{[52]}
In 1982, Paul Werbos applied backpropagation to MLPs in the way that has become standard.^{[53]}^{[49]} In 1986 Rumelhart, Hinton and Williams showed that backpropagation learned interesting internal representations of words as feature vectors when trained to predict the next word in a sequence.^{[54]}
In the late 1970s to early 1980s, interest briefly emerged in theoretically investigating the Ising model by Wilhelm Lenz (1920) and Ernst Ising (1925)^{[12]}
in relation to Cayley tree topologies and large neural networks. In 1981, the Ising model was solved exactly by Peter Barth for the general case of closed Cayley trees (with loops) with an arbitrary branching ratio^{[55]} and found to exhibit unusual phase transition behavior in its local-apex and long-range site-site correlations.^{[56]}^{[57]}
The time delay neural network (TDNN) of Alex Waibel (1987) combined convolutions and weight sharing and backpropagation.^{[58]}^{[59]} In 1988, Wei Zhang et al. applied backpropagation to a CNN (a simplified Neocognitron with convolutional interconnections between the image feature layers and the last fully connected layer) for alphabet recognition.^{[60]}^{[61]} In 1989, Yann LeCun et al. trained a CNN to recognize handwritten ZIP codes on mail.^{[62]}
In 1992, max-pooling for CNNs was introduced by Juan Weng et al. to help with least-shift invariance and tolerance to deformation to aid 3D object recognition.^{[63]}^{[64]}^{[65]}
LeNet-5 (1998), a 7-level CNN by Yann LeCun et al.,^{[66]} that classifies digits, was applied by several banks to recognize hand-written numbers on checks digitized in 32x32 pixel images.
From 1988 onward,^{[67]}^{[68]} 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.^{[69]}
In the 1980s, backpropagation did not work well for deep FNNs and RNNs. To overcome this problem, Juergen Schmidhuber (1992) proposed a hierarchy of RNNs pre-trained one level at a time by self-supervised learning.^{[70]} It uses predictive coding to learn internal representations at multiple self-organizing time scales. This can substantially facilitate downstream deep learning. The RNN hierarchy can be collapsed into a single RNN, by distilling a higher level chunker network into a lower level automatizer network.^{[70]}^{[10]} In 1993, a chunker solved a deep learning task whose depth exceeded 1000.^{[71]}
In 1992, Juergen Schmidhuber also published an alternative to RNNs^{[72]} which is now called a linear Transformer or a Transformer with linearized self-attention^{[73]}^{[74]}^{[10]} (save for a normalization operator). It learns internal spotlights of attention:^{[75]} a slow feedforward neural network learns by gradient descent to control the fast weights of another neural network through outer products of self-generated activation patterns FROM and TO (which are now called key and value for self-attention).^{[73]} This fast weight attention mapping is applied to a query pattern.
The modern Transformer was introduced by Ashish Vaswani et al. in their 2017 paper "Attention Is All You Need."^{[76]}
It combines this with a softmax operator and a projection matrix.^{[10]}
Transformers have increasingly become the model of choice for natural language processing.^{[77]} Many modern large language models such as ChatGPT, GPT-4, and BERT use it. Transformers are also increasingly being used in computer vision.^{[78]}
In 1991, Juergen Schmidhuber also published adversarial neural networks that contest with each other in the form of a zero-sum game, where one network's gain is the other network's loss.^{[79]}^{[80]}^{[81]} 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. This was called "artificial curiosity."
In 2014, this principle was used in a generative adversarial network (GAN) by Ian Goodfellow et al.^{[82]} Here the environmental reaction is 1 or 0 depending on whether the first network's output is in a given set. This can be used to create realistic deepfakes.^{[83]}
Excellent image quality is achieved by Nvidia's StyleGAN (2018)^{[84]} based on the Progressive GAN by Tero Karras, Timo Aila, Samuli Laine, and Jaakko Lehtinen.^{[85]} Here the GAN generator is grown from small to large scale in a pyramidal fashion.
Sepp Hochreiter's diploma thesis (1991)^{[86]} was called "one of the most important documents in the history of machine learning" by his supervisor Juergen Schmidhuber.^{[10]} Hochreiter identified and analyzed the vanishing gradient problem^{[86]}^{[87]} and proposed recurrent residual connections to solve it. This led to the deep learning method called long short-term memory (LSTM), published in Neural Computation (1997).^{[88]} LSTM recurrent neural networks can learn "very deep learning" tasks^{[89]} with long credit assignment paths that require memories of events that happened thousands of discrete time steps before. The "vanilla LSTM" with forget gate was introduced in 1999 by Felix Gers, Schmidhuber and Fred Cummins.^{[90]}LSTM has become the most cited neural network of the 20th century.^{[10]}
In 2015, Rupesh Kumar Srivastava, Klaus Greff, and Schmidhuber used the LSTM principle to create the Highway network, a feedforward neural network with hundreds of layers, much deeper than previous networks.^{[91]}^{[92]} 7 months later, Kaiming He, Xiangyu Zhang; Shaoqing Ren, and Jian Sun won the ImageNet 2015 competition with an open-gated or gateless Highway network variant called Residual neural network.^{[93]} This has become the most cited neural network of the 21st century.^{[10]}
Neural networks' early successes included predicting the stock market and in 1995 a (mostly) self-driving car.^{[a]}^{[95]}
Geoffrey Hinton et al. (2006) proposed learning a high-level representation using successive layers of binary or real-valued latent variables with a restricted Boltzmann machine^{[96]} to model each layer. In 2012, Ng and Dean created a network that learned to recognize higher-level concepts, such as cats, only from watching unlabeled images.^{[97]} 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".^{[5]}
Computational devices have been created in CMOS for both biophysical simulation and neuromorphic computing. More recent efforts show promise for creating nanodevices for very large scale principal components analyses and convolution.^{[101]} If successful, these efforts could usher in a new era of neural computing that is a step beyond digital computing,^{[102]} because it depends on learning rather than programming and because it is fundamentally analog rather than digital even though the first instantiations may in fact be with CMOS digital devices.
Ciresan and colleagues (2010)^{[103]} showed that despite the vanishing gradient problem, GPUs make backpropagation feasible for many-layered feedforward neural networks.^{[104]} 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.^{[105]}^{[106]} For example, the bi-directional and multi-dimensional long short-term memory (LSTM)^{[107]}^{[108]} of Graves et al. won three competitions in connected handwriting recognition in 2009 without any prior knowledge about the three languages to be learned.^{[107]}^{[108]}
Ciresan and colleagues built the first pattern recognizers to achieve human-competitive/superhuman performance^{[109]} on benchmarks such as traffic sign recognition (IJCNN 2012).
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.^{[110]}
Ramenzanpour et al. showed in 2020 that analytical and computational techniques derived from statistical physics of disordered systems can be extended to large-scale problems, including machine learning, e.g., to analyze the weight space of deep neural networks.^{[111]}
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.^{[112]}
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,^{[113]} allowing weights to choose the signal between neurons.
Artificial neurons
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.^{[114]} 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.
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.^{[115]} 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.^{[116]}
Organization
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.^{[117]} Neurons with only such connections form a directed acyclic graph and are known as feedforward networks.^{[118]} Alternatively, networks that allow connections between neurons in the same or previous layers are known as recurrent networks.^{[119]}
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.^{[120]} 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.
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.^{[112]}^{[121]}
The learning rate defines the size of the corrective steps that the model takes to adjust for errors in each observation.^{[122]} 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.^{[123]} 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.
Cost function
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) or because it arises from the model (e.g. in a probabilistic model the model's posterior probability can be used as an inverse cost).
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, backprop 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,^{[124]} "no-prop" networks,^{[125]} training without backtracking,^{[126]} "weightless" networks,^{[127]}^{[128]} and non-connectionist neural networks.^{[citation needed]}
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.^{[132]} 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 learning
In unsupervised learning, input data is given along with the cost function, some function of the data $\textstyle x$ 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 $\textstyle f(x)=a$ where $\textstyle a$ is a constant and the cost $\textstyle C=E[(x-f(x))^{2}]$. Minimizing this cost produces a value of $\textstyle a$ 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 $\textstyle x$ and $\textstyle f(x)$, 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.
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 $\textstyle {s_{1},...,s_{n))\in S$ and actions $\textstyle {a_{1},...,a_{m))\in A$. Because the state transitions are not known, probability distributions are used instead: the instantaneous cost distribution $\textstyle P(c_{t}|s_{t})$, the observation distribution $\textstyle P(x_{t}|s_{t})$ and the transition distribution $\textstyle P(s_{t+1}|s_{t},a_{t})$, 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.^{[133]}^{[134]}Dynamic programming coupled with ANNs (giving neurodynamic programming)^{[135]} has been applied to problems such as those involved in vehicle routing,^{[136]} video games, natural resource management^{[137]}^{[138]} and medicine^{[139]} 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-learning
Self-learning in neural networks was introduced in 1982 along with a neural network capable of self-learning named crossbar adaptive array (CAA).^{[140]} 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.^{[141]} 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 initially and only once receives initial emotions 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.^{[142]}
Neuroevolution can create neural network topologies and weights using evolutionary computation. It is competitive with sophisticated gradient descent approaches^{[citation needed]}. One advantage of neuroevolution is that it may be less prone to get caught in "dead ends".^{[143]}
Stochastic neural network
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 neuronsstochastic transfer functions, 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.^{[144]} Stochastic neural networks trained using a Bayesian approach are known as Bayesian neural networks.^{[145]}
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.
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;^{[152]}^{[153]} where long short-term memory avoids the vanishing gradient problem^{[154]} and can handle signals that have a mix of low and high frequency components aiding large-vocabulary speech recognition,^{[155]}^{[156]} text-to-speech synthesis,^{[157]}^{[49]}^{[158]} and photo-real talking heads;^{[159]}
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^{[160]} or on deceiving the opponent about the authenticity of an input.^{[82]}
Network design
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^{[161]} 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.^{[162]} Available systems include AutoML and AutoKeras.^{[163]}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.^{[164]}
The Python code snippet provides an overview of the training function, which uses the training dataset, number of hidden layer units, learning rate, and number of iterations as parameters:
deftrain(X,y,n_hidden,learning_rate,n_iter):m,n_input=X.shape# 1. random initialize weights and biasesw1=np.random.randn(n_input,n_hidden)b1=np.zeros((1,n_hidden))w2=np.random.randn(n_hidden,1)b2=np.zeros((1,1))# 2. in each iteration, feed all layers with the latest weights and biasesforiinrange(n_iter+1):z2=np.dot(X,w1)+b1a2=sigmoid(z2)z3=np.dot(a2,w2)+b2a3=z3dz3=a3-ydw2=np.dot(a2.T,dz3)db2=np.sum(dz3,axis=0,keepdims=True)dz2=np.dot(dz3,w2.T)*sigmoid_derivative(z2)dw1=np.dot(X.T,dz2)db1=np.sum(dz2,axis=0)# 3. update weights and biases with gradientsw1-=learning_rate*dw1/mw2-=learning_rate*dw2/mb1-=learning_rate*db1/mb2-=learning_rate*db2/mifi%1000==0:print("Epoch",i,"loss: ",np.mean(np.square(dz3)))model={"w1":w1,"b1":b1,"w2":w2,"b2":b2}returnmodel
^{[citation needed]}
Applications
Because of their ability to reproduce and model nonlinear processes, artificial neural networks have found applications in many disciplines. These include:
ANNs have been used to diagnose several types of cancers^{[181]}^{[182]} and to distinguish highly invasive cancer cell lines from less invasive lines using only cell shape information.^{[183]}^{[184]}
ANNs have been used to accelerate reliability analysis of infrastructures subject to natural disasters^{[185]}^{[186]} and to predict foundation settlements.^{[187]} It can also be useful to mitigate flood by the use of ANNs for modelling rainfall-runoff.^{[188]} ANNs have also been used for building black-box models in geoscience: hydrology,^{[189]}^{[190]} ocean modelling and coastal engineering,^{[191]}^{[192]} and geomorphology.^{[193]} 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,^{[194]} for identifying domains belonging to threat actors and for detecting URLs posing a security risk.^{[195]} Research is underway on ANN systems designed for penetration testing, for detecting botnets,^{[196]} credit cards frauds^{[197]} and network intrusions.
ANNs have been proposed as a tool to solve partial differential equations in physics^{[198]}^{[199]}^{[200]} and simulate the properties of many-body open quantum systems.^{[201]}^{[202]}^{[203]}^{[204]} In brain research ANNs have studied short-term behavior of individual neurons,^{[205]} 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.^{[206]}
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,^{[207]} 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.^{[208]}^{[209]}^{[failed verification]}
Capacity
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^{[210]} which summarizes work by Thomas Cover.^{[211]} The capacity of a network of standard neurons (not convolutional) can be derived by four rules^{[212]} 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,^{[210]} 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.^{[213]}
Convergence
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.^{[214]}^{[215]} Another example is when parameters are small, it is observed that ANNs often fits target functions from low to high frequencies. This behavior is referred to as the spectral bias, or frequency principle, of neural networks.^{[216]}^{[217]}^{[218]}^{[219]} 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.^{[220]}
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.
A common criticism of neural networks, particularly in robotics, is that they require too many training samples for real-world operation.^{[221]}
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.^{[150]}
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).^{[222]}
Theory
A central claim^{[citation needed]} of ANNs is that they embody new and powerful general principles for processing information. These principles are ill-defined. It is often claimed^{[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".^{[223]} One response to Dewdney is that neural networks have been successfully used to handle many complex and diverse tasks, ranging from autonomously flying aircraft^{[224]} to detecting credit card fraud to mastering the game of Go.
Technology writer Roger Bridgman commented:
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.^{[225]}
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.^{[226]}
Biological brains use both shallow and deep circuits as reported by brain anatomy,^{[227]} displaying a wide variety of invariance. Weng^{[228]} argued that the brain self-wires largely according to signal statistics and therefore, a serial cascade cannot catch all major statistical dependencies.
Hardware
Large and effective neural networks require considerable computing resources.^{[229]} 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 neurons – which require enormous CPU power and time.
Schmidhuber noted 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.^{[29]} The use of accelerators such as FPGAs and GPUs can reduce training times from months to days.^{[229]}
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.^{[230]}
Practical counterexamples
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.^{[231]}
Hybrid approaches
Advocates of hybrid models (combining neural networks and symbolic approaches) say that such a mixture can better capture the mechanisms of the human mind.^{[232]}^{[233]}
Dataset bias
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.^{[234]}^{[235]} 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.^{[234]} This imbalance can result in the model having inadequate representation and understanding of underrepresented groups, leading to discriminatory outcomes that exasperate societal inequalities, especially in applications like facial recognition, hiring processes, and law enforcement.^{[235]}^{[236]} 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.^{[236]} 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.^{[237]}
Gallery
A single-layer feedforward artificial neural network. Arrows originating from $\scriptstyle x_{2))$ are omitted for clarity. There are p inputs to this network and q outputs. In this system, the value of the qth output, $y_{q))$, is calculated as $\scriptstyle y_{q}=K*(\sum _{i}(x_{i}*w_{iq})-b_{q}).$
A two-layer feedforward artificial neural network
An artificial neural network
An ANN dependency graph
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.
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.
Parallel pipeline structure of CMAC neural network. This learning algorithm can converge in one step.
Recent Advancements and Future Directions
Artificial Neural Networks (ANNs) are a pivotal element in the realm of machine learning, resembling the structure and function of the human brain. 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 notable methodological developments and a broad range of applications in fields such as image processing, speech recognition, natural language processing, finance, and medicine.
Image Processing
In the realm of image processing, ANNs have made significant strides. They are employed in tasks such as image classification, object recognition, and image segmentation. For instance, deep convolutional neural networks (CNNs) have been instrumental in handwritten digit recognition, achieving state-of-the-art performance.^{[238]} 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.^{[238]}
Speech Recognition
ANNs have revolutionized speech recognition technology. By modeling speech signals, they 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.^{[238]}^{[239]} These advancements have facilitated the development of more accurate and efficient voice-activated systems, enhancing user interfaces in technology products.
Natural Language Processing
In natural language processing, ANNs are vital 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.^{[238]}^{[239]} This has profound implications for automated customer service, content moderation, and language understanding technologies.
Control Systems
In the domain of control systems, ANNs are applied to model dynamic systems for tasks such as system identification, control design, and optimization. The backpropagation algorithm, for instance, has been employed for training multi-layer feedforward neural networks, which are instrumental in system identification and control applications. This highlights the versatility of ANNs in adapting to complex dynamic environments, which is crucial in automation and robotics.
Artificial Neural Networks (ANNs) have made a significant impact on the financial sector, particularly in stock market prediction and credit scoring:
In investing, these powerful AI systems can process vast amounts of financial data, recognize complex patterns, and forecast stock market trends, aiding investors and risk managers in making informed decisions.^{[238]}
In credit scoring, ANNs offer data-driven, personalized assessments of creditworthiness, improving the accuracy of default predictions and automating the lending process.^{[239]}
While ANNs offer numerous benefits, they also 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 pivotal role in shaping the future of finance, offering valuable insights and enhancing risk management strategies.
Medicine
Artificial Neural Networks (ANNs) are revolutionizing the field of medicine with their ability to process and analyze vast medical datasets. They have become instrumental in enhancing diagnostic accuracy, especially in interpreting complex medical imaging for early disease detection, and in predicting patient outcomes for personalized treatment planning.^{[239]} In drug discovery, ANNs expedite the identification of potential drug candidates and predict their efficacy and safety, significantly reducing development time and costs.^{[238]} Additionally, their application in personalized medicine and healthcare data analysis is leading to more tailored therapies and efficient patient care management.^{[239]} Despite these advancements, challenges such as data privacy and model interpretability remain, with ongoing research aimed at addressing these issues and expanding the scope of ANN applications in medicine.
Content Creation
ANNs such as Generative Adversarial Networks (GAN) and transformers are also being used for content creation across numerous industries.^{[240]} 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.^{[241]} In the field of music, transformers are being used to create original music for commercials and documentaries through companies such as AIVA and Jukedeck.^{[242]} In the marketing industry generative models are being used to create personalized advertisements for consumers.^{[240]} 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.^{[243]} 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.^{[244]}
^Bishop, Christopher M. (17 August 2006). Pattern Recognition and Machine Learning. New York: Springer. ISBN978-0-387-31073-2.
^ ^{a}^{b}Vapnik, Vladimir N.; Vapnik, Vladimir Naumovich (1998). The nature of statistical learning theory (Corrected 2nd print. ed.). New York Berlin Heidelberg: Springer. ISBN978-0-387-94559-0.
^ ^{a}^{b}Ian Goodfellow and Yoshua Bengio and Aaron Courville (2016). Deep Learning. MIT Press. Archived from the original on 16 April 2016. Retrieved 1 June 2016.
^Ferrie, C.; Kaiser, S. (2019). Neural Networks for Babies. Sourcebooks. ISBN978-1-4926-7120-6.
^Mansfield Merriman, "A List of Writings Relating to the Method of Least Squares"
^Amari, Shun-Ichi (1972). "Learning patterns and pattern sequences by self-organizing nets of threshold elements". IEEE Transactions. C (21): 1197–1206.
^McCulloch, Warren; Walter Pitts (1943). "A Logical Calculus of Ideas Immanent in Nervous Activity". Bulletin of Mathematical Biophysics. 5 (4): 115–133. doi:10.1007/BF02478259.
^Farley, B.G.; W.A. Clark (1954). "Simulation of Self-Organizing Systems by Digital Computer". IRE Transactions on Information Theory. 4 (4): 76–84. doi:10.1109/TIT.1954.1057468.
^Rochester, N.; J.H. Holland, L.H. Habit and W.L. Duda (1956). "Tests on a cell assembly theory of the action of the brain, using a large digital computer". IRE Transactions on Information Theory. 2 (3): 80–93. doi:10.1109/TIT.1956.1056810.
^Haykin (2008) Neural Networks and Learning Machines, 3rd edition
^ ^{a}^{b}Russell, Stuart J.; Norvig, Peter (2021). Artificial intelligence: a modern approach. Pearson Series in Artificial Intelligence. Ming-wei Chang, Jacob Devlin, Anca Dragan, David Forsyth, Ian Goodfellow, Jitendra Malik, Vikash Mansinghka, Judea Pearl, Michael J. Wooldridge (4th ed.). Hoboken, NJ: Pearson. ISBN978-0-13-461099-3.
^Von der Malsburg, C (1973). "Self-organization of orientation sensitive cells in the striate cortex". Kybernetik. 14 (2): 85–100. doi:10.1007/bf00288907. PMID4786750. S2CID3351573.
^Fukushima, K. (1969). "Visual feature extraction by a multilayered network of analog threshold elements". IEEE Transactions on Systems Science and Cybernetics. 5 (4): 322–333. doi:10.1109/TSSC.1969.300225.
^Ramachandran, Prajit; Barret, Zoph; Quoc, V. Le (16 October 2017). "Searching for Activation Functions". arXiv:1710.05941 [cs.NE].
^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. pp. 6–7.
^Griewank, Andreas (2012). "Who Invented the Reverse Mode of Differentiation?". Optimization Stories. Documenta Matematica, Extra Volume ISMP. pp. 389–400. S2CID15568746.
^"A gradient method for optimizing multi-stage allocation processes". Proceedings of the Harvard Univ. Symposium on digital computers and their applications. April 1961.
^Dreyfus, Stuart E. (1 September 1990). "Artificial neural networks, back propagation, and the Kelley-Bryson gradient procedure". Journal of Guidance, Control, and Dynamics. 13 (5): 926–928. Bibcode:1990JGCD...13..926D. doi:10.2514/3.25422. ISSN0731-5090.
^Mizutani, E.; Dreyfus, S.E.; Nishio, K. (2000). "On derivation of MLP backpropagation from the Kelley-Bryson optimal-control gradient formula and its application". Proceedings of the IEEE-INNS-ENNS International Joint Conference on Neural Networks. IJCNN 2000. Neural Computing: New Challenges and Perspectives for the New Millennium. IEEE. pp. 167–172 vol.2. doi:10.1109/ijcnn.2000.857892. ISBN0-7695-0619-4. S2CID351146.
^Dreyfus, Stuart (1973). "The computational solution of optimal control problems with time lag". IEEE Transactions on Automatic Control. 18 (4): 383–385. doi:10.1109/tac.1973.1100330.
^Waibel, Alex (December 1987). Phoneme Recognition Using Time-Delay Neural Networks. Meeting of the Institute of Electrical, Information and Communication Engineers (IEICE). Tokyo, Japan.
^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.
^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
^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.
^ ^{a}^{b}Schlag, Imanol; Irie, Kazuki; Schmidhuber, Jürgen (2021). "Linear Transformers Are Secretly Fast Weight Programmers". ICML 2021. Springer. pp. 9355–9366.
^Schmidhuber, Jürgen (1993). "Reducing the ratio between learning complexity and number of time-varying variables in fully recurrent nets". ICANN 1993. Springer. pp. 460–463.
^Vaswani, Ashish; Shazeer, Noam; Parmar, Niki; Uszkoreit, Jakob; Jones, Llion; Gomez, Aidan N.; Kaiser, Lukasz; Polosukhin, Illia (12 June 2017). "Attention Is All You Need". arXiv:1706.03762 [cs.CL].
^Wolf, Thomas; Debut, Lysandre; Sanh, Victor; Chaumond, Julien; Delangue, Clement; Moi, Anthony; Cistac, Pierric; Rault, Tim; Louf, Remi; Funtowicz, Morgan; Davison, Joe; Shleifer, Sam; von Platen, Patrick; Ma, Clara; Jernite, Yacine; Plu, Julien; Xu, Canwen; Le Scao, Teven; Gugger, Sylvain; Drame, Mariama; Lhoest, Quentin; Rush, Alexander (2020). "Transformers: State-of-the-Art Natural Language Processing". Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: System Demonstrations. pp. 38–45. doi:10.18653/v1/2020.emnlp-demos.6. S2CID208117506.
^He, Cheng (31 December 2021). "Transformer in CV". Transformer in CV. Towards Data Science.
^Schmidhuber, Jürgen (1991). "A possibility for implementing curiosity and boredom in model-building neural controllers". Proc. SAB'1991. MIT Press/Bradford Books. pp. 222–227.
^ ^{a}^{b}Goodfellow, Ian; Pouget-Abadie, Jean; Mirza, Mehdi; Xu, Bing; Warde-Farley, David; Ozair, Sherjil; Courville, Aaron; Bengio, Yoshua (2014). Generative Adversarial Networks(PDF). Proceedings of the International Conference on Neural Information Processing Systems (NIPS 2014). pp. 2672–2680. Archived(PDF) from the original on 22 November 2019. Retrieved 20 August 2019.
^Karras, Tero; Aila, Timo; Laine, Samuli; Lehtinen, Jaakko (1 October 2017). "Progressive Growing of GANs for Improved Quality, Stability, and Variation". arXiv:1710.10196 [cs.NE].
^Gers, Felix; Schmidhuber, Jürgen; Cummins, Fred (1999). "Learning to forget: Continual prediction with LSTM". 9th International Conference on Artificial Neural Networks: ICANN '99. Vol. 1999. pp. 850–855. doi:10.1049/cp:19991218. ISBN0-85296-721-7.
^Srivastava, Rupesh Kumar; Greff, Klaus; Schmidhuber, Jürgen (2 May 2015). "Highway Networks". arXiv:1505.00387 [cs.LG].
^Srivastava, Rupesh K; Greff, Klaus; Schmidhuber, Juergen (2015). "Training Very Deep Networks". Advances in Neural Information Processing Systems. Curran Associates, Inc. 28: 2377–2385.
^Fukushima, K. (1980). "Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position". Biological Cybernetics. 36 (4): 93–202. doi:10.1007/BF00344251. PMID7370364. S2CID206775608.
^ ^{a}^{b}Billings, S. A. (2013). Nonlinear System Identification: NARMAX Methods in the Time, Frequency, and Spatio-Temporal Domains. Wiley. ISBN978-1-119-94359-4.
^[Ramezanpour, A.; Beam, A.L.; Chen, J.H.; Mashaghi, A. Statistical Physics for Medical Diagnostics: Learning, Inference, and Optimization Algorithms. Diagnostics 2020, 10, 972. ]
^ ^{a}^{b}Zell, Andreas (2003). "chapter 5.2". Simulation neuronaler Netze [Simulation of Neural Networks] (in German) (1st ed.). Addison-Wesley. ISBN978-3-89319-554-1. OCLC249017987.
^Abbod, Maysam F. (2007). "Application of Artificial Intelligence to the Management of Urological Cancer". The Journal of Urology. 178 (4): 1150–1156. doi:10.1016/j.juro.2007.05.122. PMID17698099.
^Ciresan, Dan; Ueli Meier; Jonathan Masci; Luca M. Gambardella; Jurgen Schmidhuber (2011). "Flexible, High Performance Convolutional Neural Networks for Image Classification"(PDF). Proceedings of the Twenty-Second International Joint Conference on Artificial Intelligence-Volume Volume Two. 2: 1237–1242. Archived(PDF) from the original on 5 April 2022. Retrieved 7 July 2022.
^Zell, Andreas (1994). Simulation Neuronaler Netze [Simulation of Neural Networks] (in German) (1st ed.). Addison-Wesley. p. 73. ISBN3-89319-554-8.
^Kelleher, John D.; Mac Namee, Brian; D'Arcy, Aoife (2020). "7-8". Fundamentals of machine learning for predictive data analytics: algorithms, worked examples, and case studies (2nd ed.). Cambridge, MA: The MIT Press. ISBN978-0-262-36110-1. OCLC1162184998.
^Wei, Jiakai (26 April 2019). "Forget the Learning Rate, Decay Loss". arXiv:1905.00094 [cs.LG].
^Li, Y.; Fu, Y.; Li, H.; Zhang, S. W. (1 June 2009). "The Improved Training Algorithm of Back Propagation Neural Network with Self-adaptive Learning Rate". 2009 International Conference on Computational Intelligence and Natural Computing. Vol. 1. pp. 73–76. doi:10.1109/CINC.2009.111. ISBN978-0-7695-3645-3. S2CID10557754.
^Widrow, Bernard; et al. (2013). "The no-prop algorithm: A new learning algorithm for multilayer neural networks". Neural Networks. 37: 182–188. doi:10.1016/j.neunet.2012.09.020. PMID23140797.
^Damas, M.; Salmeron, M.; Diaz, A.; Ortega, J.; Prieto, A.; Olivares, G. (2000). "Genetic algorithms and neuro-dynamic programming: application to water supply networks". Proceedings of 2000 Congress on Evolutionary Computation. 2000 Congress on Evolutionary Computation. Vol. 1. La Jolla, California, US: IEEE. pp. 7–14. doi:10.1109/CEC.2000.870269. ISBN0-7803-6375-2.
^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. ISBN978-0-444-86488-8.
^Bozinovski, Stevo; Bozinovska, Liljana (2001). "Self-learning agents: A connectionist theory of emotion based on crossbar value judgment". Cybernetics and Systems. 32 (6): 637–667. doi:10.1080/01969720118145. S2CID8944741.
^Ferreira, C. (2006). "Designing Neural Networks Using Gene Expression Programming". In A. Abraham; B. de Baets; M. Köppen; B. Nickolay (eds.). Applied Soft Computing Technologies: The Challenge of Complexity(PDF). Springer-Verlag. pp. 517–536. Archived(PDF) from the original on 19 December 2013. Retrieved 8 October 2012.
^Li, Xiangang; Wu, Xihong (15 October 2014). "Constructing Long Short-Term Memory based Deep Recurrent Neural Networks for Large Vocabulary Speech Recognition". arXiv:1410.4281 [cs.CL].
^Ermini, Leonardo; Catani, Filippo; Casagli, Nicola (1 March 2005). "Artificial Neural Networks applied to landslide susceptibility assessment". Geomorphology. Geomorphological hazard and human impact in mountain environments. 66 (1): 327–343. Bibcode:2005Geomo..66..327E. doi:10.1016/j.geomorph.2004.09.025.
^Nix, R.; Zhang, J. (May 2017). "Classification of Android apps and malware using deep neural networks". 2017 International Joint Conference on Neural Networks (IJCNN). pp. 1871–1878. doi:10.1109/IJCNN.2017.7966078. ISBN978-1-5090-6182-2. S2CID8838479.
^Homayoun, Sajad; Ahmadzadeh, Marzieh; Hashemi, Sattar; Dehghantanha, Ali; Khayami, Raouf (2018), Dehghantanha, Ali; Conti, Mauro; Dargahi, Tooska (eds.), "BoTShark: A Deep Learning Approach for Botnet Traffic Detection", Cyber Threat Intelligence, Advances in Information Security, Springer International Publishing, vol. 70, pp. 137–153, doi:10.1007/978-3-319-73951-9_7, ISBN978-3-319-73951-9
^Ghosh and Reilly (January 1994). "Credit card fraud detection with a neural-network". Proceedings of the Twenty-Seventh Hawaii International Conference on System Sciences HICSS-94. Vol. 3. pp. 621–630. doi:10.1109/HICSS.1994.323314. ISBN978-0-8186-5090-1. S2CID13260377.
^Balcázar, José (July 1997). "Computational Power of Neural Networks: A Kolmogorov Complexity Characterization". IEEE Transactions on Information Theory. 43 (4): 1175–1183. CiteSeerX10.1.1.411.7782. doi:10.1109/18.605580.
^Lee, Jaehoon; Xiao, Lechao; Schoenholz, Samuel S.; Bahri, Yasaman; Novak, Roman; Sohl-Dickstein, Jascha; Pennington, Jeffrey (2020). "Wide neural networks of any depth evolve as linear models under gradient descent". Journal of Statistical Mechanics: Theory and Experiment. 2020 (12): 124002. arXiv:1902.06720. Bibcode:2020JSMTE2020l4002L. doi:10.1088/1742-5468/abc62b. S2CID62841516.
^Xu ZJ, Zhang Y, Xiao Y (2019). "Training Behavior of Deep Neural Network in Frequency Domain". In Gedeon T, Wong K, Lee M (eds.). Neural Information Processing. Lecture Notes in Computer Science. Vol. 11953. Springer, Cham. pp. 264–274. arXiv:1807.01251. doi:10.1007/978-3-030-36708-4_22. ISBN978-3-030-36707-7. S2CID49562099.
^Nasim Rahaman; Aristide Baratin; Devansh Arpit; Felix Draxler; Min Lin; Fred Hamprecht; Yoshua Bengio; Aaron Courville (2019). "On the Spectral Bias of Neural Networks"(PDF). Proceedings of the 36th International Conference on Machine Learning. 97: 5301–5310. arXiv:1806.08734. Archived(PDF) from the original on 22 October 2022. Retrieved 4 June 2022.
^Tao Luo; Zheng Ma; Zhi-Qin John Xu; Yaoyu Zhang (2019). "Theory of the Frequency Principle for General Deep Neural Networks". arXiv:1906.09235 [cs.LG].
^Chow, Pei-Sze (6 July 2020). "Ghost in the (Hollywood) machine: Emergent applications of artificial intelligence in the film industry". NECSUS_European Journal of Media Studies. doi:10.25969/MEDIAREP/14307. ISSN2213-0217.
^Yu, Xinrui; He, Suoju; Gao, Yuan; Yang, Jiajian; Sha, Lingdao; Zhang, Yidan; Ai, Zhaobo (June 2010). "Dynamic difficulty adjustment of game AI for video game Dead-End". The 3rd International Conference on Information Sciences and Interaction Sciences. IEEE. pp. 583–587. doi:10.1109/icicis.2010.5534761. ISBN978-1-4244-7384-7. S2CID17555595.
Borgelt, Christian (2003). Neuro-Fuzzy-Systeme: von den Grundlagen künstlicher Neuronaler Netze zur Kopplung mit Fuzzy-Systemen. Vieweg. ISBN978-3-528-25265-6. OCLC76538146.
Dewdney, A. K. (1997). Yes, we have no neutrons: an eye-opening tour through the twists and turns of bad science. New York: Wiley. ISBN978-0-471-10806-1. OCLC35558945.
Duda, Richard O.; Hart, Peter Elliot; Stork, David G. (2001). Pattern classification (2 ed.). Wiley. ISBN978-0-471-05669-0. OCLC41347061.
Hertz, J.; Palmer, Richard G.; Krogh, Anders S. (1991). Introduction to the theory of neural computation. Addison-Wesley. ISBN978-0-201-51560-2. OCLC21522159.
Lawrence, Jeanette (1994). Introduction to neural networks: design, theory and applications. California Scientific Software. ISBN978-1-883157-00-5. OCLC32179420.
Masters, Timothy (1994). Signal and image processing with neural networks: a C++ sourcebook. J. Wiley. ISBN978-0-471-04963-0. OCLC29877717.