Artificial neural network

(Redirected from Neural network)
An artificial neural network is an interconnected group of nodes, akin to the vast network of neurons in a brain. Here, each circular node represents an artificial neuron and an arrow represents a connection from the output of one neuron to the input of another.

Artificial neural networks (ANNs) or connectionist systems are computing systems inspired by the biological neural networks that constitute animal brains. Such systems learn (progressively improve performance) to do tasks by considering examples, generally without task-specific programming. For example, in image recognition, they might learn to identify images that contain cats by analyzing example images that have been manually labeled as "cat" or "no cat" and using the analytic results to identify cats in other images. They have found most use in applications difficult to express in a traditional computer algorithm using rule-based programming.

An ANN is based on a collection of connected units called artificial neurons, (analogous to axons in a biological brain). Each connection (synapse) between neurons can transmit a unidirectional signal with an activating strength that varies with the strength of the connection. If the combined incoming signals (from potentially many transmitting neurons) are strong enough, the receiving (postsynaptic) neuron activates and propagates a signal to downstream neurons connected to it.

Typically, neurons are organized in layers. Different layers may perform different kinds of transformations on their inputs. Signals travel from the first (input), to the last (output) layer, possibly after traversing the layers multiple times. In addition to receiving and sending signals, units may have state, generally represented by real numbers, typically between 0 and 1. A threshold or limiting function may govern each connection and neuron, such that the signal must exceed the limit before propagating.

The original goal of the neural network approach was to solve problems in the same way that a human brain would. Over time, the goal shifted to matching specific mental abilities, leading to deviations from biology such as backpropagation, or passing information in the reverse direction and adjusting the network to reflect that information.

Neural networks have been used on a variety of tasks, including computer vision, speech recognition, machine translation, social network filtering, playing board and video games, medical diagnosis and in many other domains.

As of 2017, neural networks typically have a few thousand to a few million units and millions of connections. Their computing power is similar to a worm brain[citation needed], several orders of magnitude simpler than a human brain. Despite this, they can perform functions (e.g., playing chess) that are far beyond a worm's capacity.

HistoryEdit

Warren McCulloch and Walter Pitts[1] (1943) created a computational model for neural networks based on mathematics and algorithms called threshold logic. This model paved the way for neural network research to split into two approaches. One approach focused on biological processes in the brain while the other focused on the application of neural networks to artificial intelligence. This work led to work on nerve networks and their link to finite automata.[2]

Hebbian learningEdit

In the late 1940s, Hebb[3] created a learning hypothesis based on the mechanism of neural plasticity that is now known as Hebbian learning. Hebbian learning is an unsupervised learning rule. This evolved into models for long term potentiation. Researchers started applying these ideas to computational models in 1948 with Turing's B-type machines.

Farley and Clark[4] (1954) first used computational machines, then called "calculators", to simulate a Hebbian network. Other neural network computational machines were created by Rochester, Holland, Habit and Duda[5] (1956).

Rosenblatt[6] (1958) created the perceptron, an algorithm for pattern recognition. With mathematical notation, Rosenblatt described circuitry not in the basic perceptron, such as the exclusive-or circuit that could not be processed by neural networks at the time.[7]

In 1959, a biological model proposed by Nobel laureates Hubel and Wiesel was based on their disccovery of two types of cells in the primary visual cortex: simple cells and complex cells[8]

Neural network research stagnated after machine learning research by Minsky and Papert (1969),[9] who discovered two key issues with the computational machines that processed neural networks. The first was that basic perceptrons were incapable of processing the exclusive-or circuit. The second was that computers didn't have enough processing power to effectively handle the work required by large neural networks. Neural network research slowed until computers achieved far greater processing power.

BackpropagationEdit

Neural network models shifted in the late 1980s from high-level (symbolic) artificial intelligence, characterized by expert systems with knowledge embodied in if-then rules, to low-level (sub-symbolic) machine learning, characterized by knowledge embodied in the parameters of a cognitive model.

A key advance was Werbos' (1975) backpropagation algorithm that effectively solved the exclusive-or problem, and more generally accelerated the training of multi-layer networks.[7][further explanation needed]

In the mid-1980s, parallel distributed processing became popular under the name connectionism. Rumelhart and McClelland (1986) described the use of connectionism to simulate neural processes.[10]

Support vector machines and other, much simpler methods such as linear classifiers gradually overtook neural networks in machine learning popularity.

Earlier challenges in training deep neural networks were successfully addressed with methods such as unsupervised pre-training, while available computing power increased through the use of GPUs and distributed computing. Neural networks were deployed on a large scale, particularly in image and visual recognition problems. This became known as "deep learning", although deep learning is not strictly synonymous with deep neural networks.

Hardware-based designsEdit

Computational devices were created in CMOS, for both biophysical simulation and neuromorphic computing. More recent efforts show promise for creating nanodevices[11] for very large scale principal components analyses and convolution. If successful, these developments would create a new class of neural computing because they are fundamentally analog rather than digital (even though the first implementations may use digital devices.)[12]

ContestsEdit

Between 2009 and 2012, recurrent neural networks and deep feedforward neural networks developed in the Schmidhuber's research group, winning eight international competitions in pattern recognition and machine learning.[13][14] For example, the bi-directional and multi-dimensional long short-term memory (LSTM)[15][16][17][18] of Graves et al. won three competitions in connected handwriting recognition at the 2009 International Conference on Document Analysis and Recognition (ICDAR), without any prior knowledge about the three languages to be learned.

Fast GPU-based implementations of this approach by Ciresan and colleagues won several pattern recognition contests, including the IJCNN 2011 Traffic Sign Recognition Competition,[19] the ISBI 2012 Segmentation of Neuronal Structures in Electron Microscopy Stacks challenge[20] and others. Their neural networks were the first pattern recognizers to achieve human-competitive or even superhuman performance[21] on benchmarks such as traffic sign recognition (IJCNN 2012), or the MNIST handwritten digits problem.

Deep, highly nonlinear neural architectures similar to the 1980 neocognitron by Fukushima[22] and the "standard architecture of vision",[23] inspired by the simple and complex cells were pre-trained by unsupervised methods[24][25] by Hinton.[24][26] A team from his lab won a 2012 contest sponsored by Merck to design software to help find molecules that might identify new drugs.[27]

ModelsEdit

Neural network models are essentially simple mathematical models defining a function ${\displaystyle \textstyle f:X\rightarrow Y}$  or a distribution over ${\displaystyle \textstyle X}$  or both ${\displaystyle \textstyle X}$  and ${\displaystyle \textstyle Y}$ . Sometimes models are intimately associated with a particular learning rule. A common use of the phrase "ANN model" is really the definition of a class of such functions (where members of the class are obtained by varying parameters, connection weights, or specifics of the architecture such as the number of neurons or their connectivity).

Network functionEdit

The word network in the term 'artificial neural network' refers to the connections between the neurons. An example system has three layers. The first layer has input neurons which send data via synapses to the second layer of neurons, and then via more synapses to the third layer of output neurons. More complex systems have more layers of neurons. Some systems have more layers of input neurons and output neurons. An ANN is typically defined by three types of parameters:

• The connection pattern between the different layers of neurons
• The weights of the connections, which are updated in the learning process.
• The activation function that converts a neuron's weighted input to its output activation.

Mathematically, a neuron's network function ${\displaystyle \textstyle f(x)}$  is defined as a composition of other functions ${\displaystyle \textstyle g_{i}(x)}$ , that can further be decomposed into other functions. This can be conveniently represented as a network structure, with arrows depicting the dependencies between functions. A widely used type of composition is the nonlinear weighted sum, where ${\displaystyle \textstyle f(x)=K\left(\sum _{i}w_{i}g_{i}(x)\right)}$ , where ${\displaystyle \textstyle K}$  (commonly referred to as the activation function[28]) is some predefined function, such as the hyperbolic tangent or sigmoid function. The important characteristic of the activation function is that it provides a smooth transition as input values change, i.e. a small change in input produces a small change in output. The following refers to a collection of functions ${\displaystyle \textstyle g_{i}}$  as a vector ${\displaystyle \textstyle g=(g_{1},g_{2},\ldots ,g_{n})}$ .

ANN dependency graph

This figure depicts such a decomposition of ${\displaystyle \textstyle f}$ , with dependencies between variables indicated by arrows. These can be interpreted in two ways.

The first view is the functional view: the input ${\displaystyle \textstyle x}$  is transformed into a 3-dimensional vector ${\displaystyle \textstyle h}$ , which is then transformed into a 2-dimensional vector ${\displaystyle \textstyle g}$ , which is finally transformed into ${\displaystyle \textstyle f}$ . This view is most commonly encountered in the context of optimization.

The second view is the probabilistic view: the random variable ${\displaystyle \textstyle F=f(G)}$  depends upon the random variable ${\displaystyle \textstyle G=g(H)}$ , which depends upon ${\displaystyle \textstyle H=h(X)}$ , which depends upon the random variable ${\displaystyle \textstyle X}$ . This view is most commonly encountered in the context of graphical models.

The two views are largely equivalent. In either case, for this particular architecture, the components of individual layers are independent of each other (e.g., the components of ${\displaystyle \textstyle g}$  are independent of each other given their input ${\displaystyle \textstyle h}$ ). This naturally enables a degree of parallelism in the implementation.

Two separate depictions of the recurrent ANN dependency graph

Networks such as the previous one are commonly called feedforward, because their graph is a directed acyclic graph. Networks with cycles are commonly called recurrent. Such networks are commonly depicted in the manner shown at the top of the figure, where ${\displaystyle \textstyle f}$  is shown as being dependent upon itself. However, an implied temporal dependence is not shown.

LearningEdit

The possibility of learning has attracted the most interest in neural networks. Given a specific task to solve, and a class of functions ${\displaystyle \textstyle F}$ , learning means using a set of observations to find ${\displaystyle \textstyle f^{*}\in F}$  which solves the task in some optimal sense.

This entails defining a cost function ${\displaystyle \textstyle C:F\rightarrow \mathbb {R} }$  such that, for the optimal solution ${\displaystyle \textstyle f^{*}}$ , ${\displaystyle \textstyle C(f^{*})\leq C(f)}$  ${\displaystyle \textstyle \forall f\in F}$  – i.e., no solution has a cost less than the cost of the optimal solution (see mathematical optimization).

The cost function ${\displaystyle \textstyle C}$  is an important concept in learning, as it is a measure of how far away a particular solution is from an optimal solution to the problem to be solved. Learning algorithms search through the solution space to find a function that has the smallest possible cost.

For applications where the solution is data dependent, the cost must necessarily be a function of the observations, otherwise the model would not relate to the data. It is frequently defined as a statistic to which only approximations can be made. As a simple example, consider the problem of finding the model ${\displaystyle \textstyle f}$ , which minimizes ${\displaystyle \textstyle C=E\left[(f(x)-y)^{2}\right]}$ , for data pairs ${\displaystyle \textstyle (x,y)}$  drawn from some distribution ${\displaystyle \textstyle {\mathcal {D}}}$ . In practical situations we would only have ${\displaystyle \textstyle N}$  samples from ${\displaystyle \textstyle {\mathcal {D}}}$  and thus, for the above example, we would only minimize ${\displaystyle \textstyle {\hat {C}}={\frac {1}{N}}\sum _{i=1}^{N}(f(x_{i})-y_{i})^{2}}$ . Thus, the cost is minimized over a sample of the data rather than the entire distribution.

When ${\displaystyle \textstyle N\rightarrow \infty }$  some form of online machine learning must be used, where the cost is reduced as each new example is seen. While online machine learning is often used when ${\displaystyle \textstyle {\mathcal {D}}}$  is fixed, it is most useful in the case where the distribution changes slowly over time. In neural network methods, some form of online machine learning is frequently used for finite datasets.

Choosing a cost functionEdit

While it is possible to define an ad hoc cost function, frequently a particular cost (function) is used, either because it has desirable properties (such as convexity) or because it arises naturally from a particular formulation of the problem (e.g., in a probabilistic formulation the posterior probability of the model can be used as an inverse cost). Ultimately, the cost function depends on the task.

The three major learning paradigms each correspond to a particular learning task. These are supervised learning, unsupervised learning and reinforcement learning.

Supervised learningEdit

Supervised learning uses a set of example pairs ${\displaystyle (x,y),x\in X,y\in Y}$  and the aim is to find a function ${\displaystyle f:X\rightarrow Y}$  in the allowed class of functions that matches the examples. In other words, we wish to infer the mapping implied by the data; the cost function is related to the mismatch between our mapping and the data and it implicitly contains prior knowledge about the problem domain.[29]

A commonly used cost is the mean-squared error, which tries to minimize the average squared error between the network's output, ${\displaystyle f(x)}$ , and the target value ${\displaystyle y}$  over all the example pairs. Minimizing this cost using gradient descent for the class of neural networks called multilayer perceptrons (MLP), producs the backpropagation algorithm for training neural networks.

Tasks that fall within the paradigm of supervised learning are pattern recognition (also known as classification) and regression (also known as function approximation). The supervised learning paradigm is also applicable to sequential data (e.g., for 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, some data ${\displaystyle \textstyle x}$  is given and the cost function to be minimized, that can be any function of the data ${\displaystyle \textstyle x}$  and the network's output, ${\displaystyle \textstyle f}$ .

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 ${\displaystyle \textstyle f(x)=a}$  where ${\displaystyle \textstyle a}$  is a constant and the cost ${\displaystyle \textstyle C=E[(x-f(x))^{2}]}$ . Minimizing this cost produces a value of ${\displaystyle \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 ${\displaystyle \textstyle x}$  and ${\displaystyle \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.

Reinforcement learningEdit

In reinforcement learning, data ${\displaystyle \textstyle x}$  are usually not given, but generated by an agent's interactions with the environment. At each point in time ${\displaystyle \textstyle t}$ , the agent performs an action ${\displaystyle \textstyle y_{t}}$  and the environment generates an observation ${\displaystyle \textstyle x_{t}}$  and an instantaneous cost ${\displaystyle \textstyle c_{t}}$ , according to some (usually unknown) dynamics. The aim is to discover a policy for selecting actions that minimizes some measure of a long-term cost, e.g., the expected cumulative cost. The environment's dynamics and the long-term cost for each policy are usually unknown, but can be estimated.

More formally the environment is modeled as a Markov decision process (MDP) with states ${\displaystyle \textstyle {s_{1},...,s_{n}}\in S}$  and actions ${\displaystyle \textstyle {a_{1},...,a_{m}}\in A}$  with the following probability distributions: the instantaneous cost distribution ${\displaystyle \textstyle P(c_{t}|s_{t})}$ , the observation distribution ${\displaystyle \textstyle P(x_{t}|s_{t})}$  and the transition ${\displaystyle \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 then define a Markov chain (MC). The aim is to discover the policy (i.e., the MC) that minimizes the cost.

ANNs are frequently used in reinforcement learning as part of the overall algorithm.[30][31] Dynamic programming was coupled with ANNs (giving neurodynamic programming) by Bertsekas and Tsitsiklis[32] and applied to multi-dimensional nonlinear problems such as those involved in vehicle routing,[33] natural resources management[34][35] or medicine[36] because of the ability of ANNs to mitigate losses of accuracy even when reducing the discretization grid density for numerically approximating the solution of the original control problems.

Tasks that fall within the paradigm of reinforcement learning are control problems, games and other sequential decision making tasks.

Learning algorithmsEdit

Training a neural network model essentially means selecting one model from the set of allowed models (or, in a Bayesian framework, determining a distribution over the set of allowed models) that minimizes the cost. Numerous algorithms are available for training neural network models; most of them can be viewed as a straightforward application of optimization theory and statistical estimation.

Most employ some form of gradient descent, using backpropagation to compute the actual gradients. This is done by simply taking the derivative of the cost function with respect to the network parameters and then changing those parameters in a gradient-related direction. Backpropagation training algorithms fall into three categories:

Evolutionary methods,[38] gene expression programming,[39] simulated annhealing,[40] expectation-maximization, non-parametric methods and particle swarm optimization[41] are other methods for training neural networks.

UseEdit

Using ANNs requires an understanding of their characteristics.

• Choice of model: This depends on the data representation and the application. Overly complex models slow learning.
• Learning algorithm: Numerous trade-offs exist between learning algorithms. Almost any algorithm will work well with the correct hyperparameters 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.

ANN capabilities fall within the following broad categories:[citation needed]

ApplicationsEdit

Application areas include system identification and control (vehicle control, trajectory prediction,[42] process control, natural resources management), quantum chemistry,[43] game-playing and decision making (backgammon, chess, poker), pattern recognition (radar systems, face identification, signal classification,[44] object recognition and more), sequence recognition (gesture, speech, handwritten text recognition), medical diagnosis, finance (e.g. automated trading systems), data mining, visualization, machine translation, social network filtering[45] and e-mail spam filtering.

ANNs have been used to diagnose cancers, including lung cancer,[46] prostate cancer, colorectal cancer[47] and to distinguish highly invasive cancer cell lines from less invasive lines using only cell shape information.[48][49]

NeuroscienceEdit

Theoretical and computational neuroscience is concerned with the theoretical analysis and the computational modeling of biological neural systems. Since neural systems attempt to reflect cognitive processes and behavior, the field is closely related to cognitive and behavioral modeling.

To gain this understanding, neuroscientists strive to link observed biological processes (data), biologically plausible mechanisms for neural processing and learning (biological neural network models) and theory (statistical learning theory and information theory).

Brain research has repeatedly led to new ANN approaches, such as the use of connections to connect neurons in other layers rather than adjacent neurons in the same layer. Other research explored the use of multiple signal types, or finer control than boolean (on/off) variables. Dynamic neural networks can dynamically form new connections and even new neural units while disabling others.[50]

Types of modelsEdit

Many types of models are used, defined at different levels of abstraction and modeling different aspects of neural systems. They range from models of the short-term behavior of individual neurons,[51] models of how the dynamics of neural circuitry arise from interactions between individual neurons and finally to models of how behavior can arise from abstract neural modules that represent complete subsystems. These include models of the long-term, and short-term plasticity, of neural systems and their relations to learning and memory from the individual neuron to the system level.

Networks with memoryEdit

Integrating external memory components with artificial neural networks dates to early research in distributed representations[52] and self-organizing maps. E.g. in sparse distributed memory the patterns encoded by neural networks are used as memory addresses for content-addressable memory, with "neurons" essentially serving as address encoders and decoders.

More recently deep learning was shown to be useful in semantic hashing[53] where a deep graphical model of the word-count vectors[54] is obtained from a large document set. Documents are mapped to memory addresses in such a way that semantically similar documents are located at nearby addresses. Documents similar to a query document can then be found by simply accessing other nearby addresses.

Memory networks are another extension to neural networks incorporating long-term memory.[55] Long-term memory can be read and written to, with the goal of using it for prediction. These models have been applied in the context of question answering (QA) where the long-term memory effectively acts as a knowledge base, and the output is a textual response.

Neural turing machines (NTM) extend the capabilities of deep neural networks by coupling them to external memory resources, which they can interact with by attentional processes.[56] The combined system is analogous to a Turing Machine but is differentiable end-to-end, allowing it to be efficiently trained with gradient descent. Preliminary results demonstrate that NTMs can infer simple algorithms such as copying, sorting and associative recall from input and output examples.

Differentiable neural computers (DNC) are an NTM extension. They out-performed Neural turing machines, long short-term memory systems and memory networks on sequence-processing tasks.[57][58][59][60][61]

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 full power of a universal Turing machine,[62] 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.[63]

CapacityEdit

Models' "capacity" property roughly corresponds to their 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.[citation needed]

ConvergenceEdit

Models may not consistently converge on a single solution, firstly because many 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.

Generalization and statisticsEdit

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 capacity of the network 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 optimally 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.

Confidence analysis of a neural network

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 the output of the network, 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 neural network) for categorical target variables, the outputs can be interpreted as posterior probabilities. This is very useful in classification as it gives a certainty measure on classifications.

The softmax activation function is:

${\displaystyle y_{i}={\frac {e^{x_{i}}}{\sum _{j=1}^{c}e^{x_{j}}}}}$

CriticismEdit

Training issuesEdit

A common criticism of neural networks, particularly in robotics, is that they require too much training for real-world operation.[citation needed] 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 and by grouping examples in so-called mini-batches.

Theoretical issuesEdit

No neural network has solved such computationally difficult problems such as the n-Queens problem, the travelling salesman problem, or the problem of factoring large integers.

A fundamental objection is that they do not reflect how real neurons function. Back propagation is a critical part of most artificial neural networks, although no such mechanism exists in biological neural networks.[64] How information is coded by real neurons is not known. Sensor neurons fire action potentials more frequently with sensor activation and muscle cells pull more strongly when their associated motor neurons receive action potentials more frequently.[65] Other than the case of relaying information from a sensor neuron to a motor neuron, almost nothing of the principles of how information is handled by biological neural networks is known.

The motivation behind ANNs is not necessarily to strictly replicate neural function, but to use biological neural networks as an inspiration. A central claim of ANNs is therefore that it embodies some new and powerful general principle for processing information. Unfortunately, these general principles are ill-defined. It is often claimed 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. 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".[66]

Hardware issuesEdit

Large and effective software neural networks considerable computing resources.[67] 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 compel a neural network designer to fill many millions of database rows for its connections – which can 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 must often be matched with enormous CPU processing power and time.

Schmidhuber notes 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.[68] The use of parallel GPUs can reduce training times from months to days.[67]

Neuromorphic engineering addresses the hardware difficulty directly, by constructing non-von-Neumann chips to directly implement neural networks in circuitry. Another chip optimized for neural network processing is called a Tensor Processing Unit, or TPU.[69]

Practical counterexamples to criticismsEdit

Arguments against Dewdney's position are that neural networks have been successfully used to solve many complex and diverse tasks, ranging from autonomously flying aircraft[70] 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.[71]

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. 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.[72]

Hybrid approachesEdit

Advocates of hybrid models (combining neural networks and symbolic approaches), claim that such a mixture can better capture the mechanisms of the human mind.[73][74]

TypesEdit

Artificial neural networks have many variations. The simplest, static types have one or more static components, including number of units, number of layers, unit weights and topoology. Dynamic types allow one or more of these to change during the learning process. The latter are 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.

ReferencesEdit

1. ^ 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.
2. ^ Kleene, S.C. (1956). "Representation of Events in Nerve Nets and Finite Automata". Annals of Mathematics Studies (34). Princeton University Press. pp. 3–41. Retrieved 2017-06-17.
3. ^ Hebb, Donald (1949). The Organization of Behavior. New York: Wiley. ISBN 978-1-135-63190-1.
4. ^ 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.
5. ^ Rochester, N.; J.H. Holland; L.H. Habit; 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.
6. ^ Rosenblatt, F. (1958). "The Perceptron: A Probabilistic Model For Information Storage And Organization In The Brain". Psychological Review. 65 (6): 386–408. PMID 13602029. doi:10.1037/h0042519.
7. ^ a b Werbos, P.J. (1975). Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences.
8. ^ David H. Hubel and Torsten N. Wiesel (2005). Brain and visual perception: the story of a 25-year collaboration. Oxford University Press US. p. 106. ISBN 978-0-19-517618-6.
9. ^ Minsky, Marvin; Papert, Seymour (1969). Perceptrons: An Introduction to Computational Geometry. MIT Press. ISBN 0-262-63022-2.
10. ^ Rumelhart, D.E; McClelland, James (1986). Parallel Distributed Processing: Explorations in the Microstructure of Cognition. Cambridge: MIT Press. ISBN 978-0-262-63110-5.
11. ^ Yang, J. J.; Pickett, M. D.; Li, X. M.; Ohlberg, D. A. A.; Stewart, D. R.; Williams, R. S. (2008). "Memristive switching mechanism for metal/oxide/metal nanodevices". Nat. Nanotechnol. 3: 429–433. doi:10.1038/nnano.2008.160.
12. ^ Strukov, D. B.; Snider, G. S.; Stewart, D. R.; Williams, R. S. (2008). "The missing memristor found". Nature. 453: 80–83. PMID 18451858. doi:10.1038/nature06932.
13. ^ 2012 Kurzweil AI Interview with Jürgen Schmidhuber on the eight competitions won by his Deep Learning team 2009–2012
14. ^ "How bio-inspired deep learning keeps winning competitions | KurzweilAI". www.kurzweilai.net. Retrieved 2017-06-16.
15. ^ Graves, Alex; and Schmidhuber, Jürgen; Offline Handwriting Recognition with Multidimensional Recurrent Neural Networks, in Bengio, Yoshua; Schuurmans, Dale; Lafferty, John; Williams, Chris K. I.; and Culotta, Aron (eds.), Advances in Neural Information Processing Systems 22 (NIPS'22), 7–10 December 2009, Vancouver, BC, Neural Information Processing Systems (NIPS) Foundation, 2009, pp. 545–552.
16. ^ Graves, A.; Liwicki, M.; Fernandez, S.; Bertolami, R.; Bunke, H.; Schmidhuber, J. (2009). "A Novel Connectionist System for Improved Unconstrained Handwriting Recognition" (PDF). IEEE Transactions on Pattern Analysis and Machine Intelligence. 31 (5).
17. ^ Graves, Alex; Schmidhuber, Jürgen (2009). Bengio, Yoshua; Schuurmans, Dale; Lafferty, John; Williams, Chris editor-K. I.; Culotta, Aron, eds. "Offline Handwriting Recognition with Multidimensional Recurrent Neural Networks". Neural Information Processing Systems (NIPS) Foundation: 545–552.
18. ^ Graves, A.; Liwicki, M.; Fernández, S.; Bertolami, R.; Bunke, H.; Schmidhuber, J. (May 2009). "A Novel Connectionist System for Unconstrained Handwriting Recognition". IEEE Transactions on Pattern Analysis and Machine Intelligence. 31 (5): 855–868. ISSN 0162-8828. doi:10.1109/tpami.2008.137.
19. ^ Cireşan, Dan; Meier, Ueli; Masci, Jonathan; Schmidhuber, Jürgen (August 2012). "Multi-column deep neural network for traffic sign classification". Neural Networks. Selected Papers from IJCNN 2011. 32: 333–338. doi:10.1016/j.neunet.2012.02.023.
20. ^ Ciresan, Dan; Giusti, Alessandro; Gambardella, Luca M.; Schmidhuber, Juergen (2012). Pereira, F.; Burges, C. J. C.; Bottou, L.; Weinberger, K. Q., eds. Advances in Neural Information Processing Systems 25 (PDF). Curran Associates, Inc. pp. 2843–2851.
21. ^ Ciresan, Dan; Meier, U.; Schmidhuber, J. (June 2012). "Multi-column deep neural networks for image classification". 2012 IEEE Conference on Computer Vision and Pattern Recognition: 3642–3649. doi:10.1109/cvpr.2012.6248110.
22. ^ 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. PMID 7370364. doi:10.1007/BF00344251.
23. ^ Riesenhuber, M; Poggio, T (1999). "Hierarchical models of object recognition in cortex". Nature Neuroscience. 2 (11): 1019–1025. doi:10.1038/14819.
24. ^ a b Hinton, Geoffrey (2009-05-31). "Deep belief networks". Scholarpedia. 4 (5). ISSN 1941-6016. doi:10.4249/scholarpedia.5947.
25. ^ Hinton, G. E.; Osindero, S.; Teh, Y. W. (2006). "A Fast Learning Algorithm for Deep Belief Nets" (PDF). Neural Computation. 18 (7): 1527–1554. PMID 16764513. doi:10.1162/neco.2006.18.7.1527.
26. ^ Hinton, G. E.; Osindero, S.; Teh, Y. (2006). "A fast learning algorithm for deep belief nets" (PDF). Neural Computation. 18 (7): 1527–1554. PMID 16764513. doi:10.1162/neco.2006.18.7.1527.
27. ^ Markoff, John (November 23, 2012). "Scientists See Promise in Deep-Learning Programs". New York Times.
28. ^
29. ^ Ojha, Varun Kumar; Abraham, Ajith; Snášel, Václav (2017-04-01). "Metaheuristic design of feedforward neural networks: A review of two decades of research". Engineering Applications of Artificial Intelligence. 60: 97–116. doi:10.1016/j.engappai.2017.01.013.
30. ^ Dominic, S.; Das, R.; Whitley, D.; Anderson, C. (July 1991). "Genetic reinforcement learning for neural networks". IJCNN-91-Seattle International Joint Conference on Neural Networks. IJCNN-91-Seattle International Joint Conference on Neural Networks. Seattle, Washington, USA: IEEE. ISBN 0-7803-0164-1. doi:10.1109/IJCNN.1991.155315. Retrieved 29 July 2012.
31. ^ Hoskins, J.C.; Himmelblau, D.M. (1992). "Process control via artificial neural networks and reinforcement learning". Computers & Chemical Engineering. 16 (4): 241–251. doi:10.1016/0098-1354(92)80045-B.
32. ^ Bertsekas, D.P.; Tsitsiklis, J.N. (1996). Neuro-dynamic programming. Athena Scientific. p. 512. ISBN 1-886529-10-8.
33. ^ Secomandi, Nicola (2000). "Comparing neuro-dynamic programming algorithms for the vehicle routing problem with stochastic demands". Computers & Operations Research. 27 (11–12): 1201–1225. doi:10.1016/S0305-0548(99)00146-X.
34. ^ de Rigo, D.; Rizzoli, A. E.; Soncini-Sessa, R.; Weber, E.; Zenesi, P. (2001). "Neuro-dynamic programming for the efficient management of reservoir networks" (PDF). Proceedings of MODSIM 2001, International Congress on Modelling and Simulation. MODSIM 2001, International Congress on Modelling and Simulation. Canberra, Australia: Modelling and Simulation Society of Australia and New Zealand. ISBN 0-867405252. doi:10.5281/zenodo.7481. Retrieved 29 July 2012.
35. ^ 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. La Jolla, California, USA: IEEE. ISBN 0-7803-6375-2. doi:10.1109/CEC.2000.870269. Retrieved 29 July 2012.
36. ^ Deng, Geng; Ferris, M.C. (2008). "Neuro-dynamic programming for fractionated radiotherapy planning". Springer Optimization and Its Applications. 12: 47–70. doi:10.1007/978-0-387-73299-2_3.
37. ^ M. Forouzanfar; H. R. Dajani; V. Z. Groza; M. Bolic & S. Rajan (July 2010). Comparison of Feed-Forward Neural Network Training Algorithms for Oscillometric Blood Pressure Estimation (PDF). 4th Int. Workshop Soft Computing Applications. Arad, Romania: IEEE.
38. ^ de Rigo, D., Castelletti, A., Rizzoli, A.E., Soncini-Sessa, R., Weber, E. (January 2005). "A selective improvement technique for fastening Neuro-Dynamic Programming in Water Resources Network Management". In Pavel Zítek. Proceedings of the 16th IFAC World Congress – IFAC-PapersOnLine. 16th IFAC World Congress. 16. Prague, Czech Republic: IFAC. ISBN 978-3-902661-75-3. doi:10.3182/20050703-6-CZ-1902.02172. Retrieved 30 December 2011.
39. ^ Ferreira, C. (2006). "Designing Neural Networks Using Gene Expression Programming" (PDF). In A. Abraham, B. de Baets, M. Köppen, and B. Nickolay, eds., Applied Soft Computing Technologies: The Challenge of Complexity, pages 517–536, Springer-Verlag.
40. ^ Da, Y.; Xiurun, G. (July 2005). T. Villmann, ed. An improved PSO-based ANN with simulated annealing technique. New Aspects in Neurocomputing: 11th European Symposium on Artificial Neural Networks. Elsevier. doi:10.1016/j.neucom.2004.07.002.
41. ^ Wu, J.; Chen, E. (May 2009). Wang, H., Shen, Y., Huang, T., Zeng, Z., eds. A Novel Nonparametric Regression Ensemble for Rainfall Forecasting Using Particle Swarm Optimization Technique Coupled with Artificial Neural Network. 6th International Symposium on Neural Networks, ISNN 2009. Springer. ISBN 978-3-642-01215-0. doi:10.1007/978-3-642-01513-7-6.
42. ^ Zissis, Dimitrios (October 2015). "A cloud based architecture capable of perceiving and predicting multiple vessel behaviour". Applied Soft Computing. 35: 652–661. doi:10.1016/j.asoc.2015.07.002.
43. ^ Roman M. Balabin; Ekaterina I. Lomakina (2009). "Neural network approach to quantum-chemistry data: Accurate prediction of density functional theory energies". J. Chem. Phys. 131 (7): 074104. PMID 19708729. doi:10.1063/1.3206326.
44. ^ Sengupta, Nandini; Sahidullah, Md; Saha, Goutam (August 2016). "Lung sound classification using cepstral-based statistical features". Computers in Biology and Medicine. 75 (1): 118–129. doi:10.1016/j.compbiomed.2016.05.013.
45. ^ Schechner, Sam (2017-06-15). "Facebook Boosts A.I. to Block Terrorist Propaganda". Wall Street Journal. ISSN 0099-9660. Retrieved 2017-06-16.
46. ^ Ganesan, N. "Application of Neural Networks in Diagnosing Cancer Disease Using Demographic Data" (PDF). International Journal of Computer Applications.
47. ^ Bottaci, Leonardo. "Artificial Neural Networks Applied to Outcome Prediction for Colorectal Cancer Patients in Separate Institutions" (PDF). The Lancet.
48. ^ Alizadeh, Elaheh; Lyons, Samanthe M; Castle, Jordan M; Prasad, Ashok (2016). "Measuring systematic changes in invasive cancer cell shape using Zernike moments". Integrative Biology. 8 (11): 1183–1193. doi:10.1039/C6IB00100A.
49. ^ Lyons, Samanthe (2016). "Changes in cell shape are correlated with metastatic potential in murine". Biology Open. 5 (3): 289–299. doi:10.1242/bio.013409.
50. ^ "Introduction to Dynamic Neural Networks - MATLAB & Simulink". www.mathworks.com. Retrieved 2017-06-15.
51. ^ Forrest MD (April 2015). "Simulation of alcohol action upon a detailed Purkinje neuron model and a simpler surrogate model that runs >400 times faster". BMC Neuroscience. 16 (27). doi:10.1186/s12868-015-0162-6.
52. ^ Hinton, Geoffrey E. (1984). "Distributed representations".
53. ^ Salakhutdinov, Ruslan; Hinton, Geoffrey (2009). "Semantic hashing". International Journal of Approximate Reasoning. 50 (7): 969–978. doi:10.1016/j.ijar.2008.11.006.
54. ^ Le, Quoc V.; Mikolov, Tomas (2014). "Distributed representations of sentences and documents". arXiv:.
55. ^ Weston, Jason, Sumit Chopra, and Antoine Bordes. "Memory networks." arXiv:1410.3916 (2014).
56. ^ Graves, Alex, Greg Wayne, and Ivo Danihelka. "Neural Turing Machines." arXiv:1410.5401 (2014).
57. ^ Burgess, Matt. "DeepMind's AI learned to ride the London Underground using human-like reason and memory". WIRED UK. Retrieved 2016-10-19.
58. ^ "DeepMind AI 'Learns' to Navigate London Tube". PCMAG. Retrieved 2016-10-19.
59. ^ Mannes, John. "DeepMind’s differentiable neural computer helps you navigate the subway with its memory". TechCrunch. Retrieved 2016-10-19.
60. ^ Graves, Alex; Wayne, Greg; Reynolds, Malcolm; Harley, Tim; Danihelka, Ivo; Grabska-Barwińska, Agnieszka; Colmenarejo, Sergio Gómez; Grefenstette, Edward; Ramalho, Tiago (2016-10-12). "Hybrid computing using a neural network with dynamic external memory". Nature. 538: 471–476. ISSN 1476-4687. PMID 27732574. doi:10.1038/nature20101.
61. ^ "Differentiable neural computers | DeepMind". DeepMind. Retrieved 2016-10-19.
62. ^ Siegelmann, H.T.; Sontag, E.D. (1991). "Turing computability with neural nets" (PDF). Appl. Math. Lett. 4 (6): 77–80. doi:10.1016/0893-9659(91)90080-F.
63. ^ Balcázar, José (Jul 1997). "Computational Power of Neural Networks: A Kolmogorov Complexity Characterization". Information Theory, IEEE Transactions on. 43 (4): 1175–1183. doi:10.1109/18.605580. Retrieved 3 November 2014.
64. ^ Crick, Francis (1989). "The recent excitement about neural networks". Nature. 337 (6203): 129–132. PMID 2911347. doi:10.1038/337129a0.
65. ^ Adrian, Edward D. (1926). "The impulses produced by sensory nerve endings". The Journal of Physiology. 61 (1): 49–72. doi:10.1113/jphysiol.1926.sp002273.
66. ^ Dewdney, A. K. (1 April 1997). Yes, we have no neutrons: an eye-opening tour through the twists and turns of bad science. Wiley. p. 82. ISBN 978-0-471-10806-1.
67. ^ a b Edwards, Chris (25 June 2015). "Growing pains for deep learning". Communications of the ACM. 58 (7): 14–16. doi:10.1145/2771283.
68. ^ Schmidhuber, Jürgen (2015). "Deep learning in neural networks: An overview". Neural Networks. 61: 85–117. arXiv:. doi:10.1016/j.neunet.2014.09.003.
69. ^ Cade Metz (May 18, 2016). "Google Built Its Very Own Chips to Power Its AI Bots". Wired.
70. ^ NASA - Dryden Flight Research Center - News Room: News Releases: NASA NEURAL NETWORK PROJECT PASSES MILESTONE. Nasa.gov. Retrieved on 2013-11-20.
71. ^ Roger Bridgman's defence of neural networks
72. ^
73. ^ Sun and Bookman (1990)
74. ^ Tahmasebi; Hezarkhani (2012). "A hybrid neural networks-fuzzy logic-genetic algorithm for grade estimation". Computers & Geosciences. 42: 18–27. doi:10.1016/j.cageo.2012.02.004.