更改
无编辑摘要
====test
{{#seo:
|keywords=人工神经网络,统计,
|description=人工神经网络,统计,
}}
该词条由Cynthia翻译编辑,由【审校者】审校,【总审校者】总审校,翻译自Wikipedia词条[https://en.wikipedia.org/wiki/Artificial_neural_network Artificial neural networks]
@TODO
[[File:Colored neural network.svg|thumb|300px|An artificial neural network is an interconnected group of nodes, akin to the vast network of [[neuron]]s in a [[brain]]. Here, each circular node represents an [[artificial neuron]] and an arrow represents a connection from the output of one artificial neuron to the input of another.]]
'''Artificial neural networks''' ('''ANNs''') or '''[[Connectionism|connectionist]] systems''' are computing systems vaguely inspired by the [[biological neural network]]s that constitute animal [[brain]]s.<ref>{{Cite web|url=https://www.frontiersin.org/research-topics/4817/artificial-neural-networks-as-models-of-neural-information-processing|title=Artificial Neural Networks as Models of Neural Information Processing {{!}} Frontiers Research Topic|language=en|access-date=2018-02-20}}</ref> Such systems "learn" to perform tasks by considering examples, generally without being programmed with any task-specific rules. For example, in [[image recognition]], they might learn to identify images that contain cats by analyzing example images that have been manually [[Labeled data|labeled]] as "cat" or "no cat" and using the results to identify cats in other images. They do this without any prior knowledge about cats, e.g., that they have fur, tails, whiskers and cat-like faces. Instead, they automatically generate identifying characteristics from the learning material that they process.
An ANN is based on a collection of connected units or nodes called [[artificial neuron]]s which loosely model the [[neuron]]s in a biological [[brain]]. Each connection, like the [[Synapse|synapses]] in a biological [[brain]], can transmit a signal from one artificial neuron to another. An artificial neuron that receives a signal can process it and then signal additional artificial neurons connected to it.
In common ANN implementations, the signal at a connection between artificial neurons is a real number, and the output of each artificial neuron is computed by some non-linear function of the sum of its inputs. The connections between artificial neurons are called 'edges'. Artificial neurons and edges typically have a [[weight (mathematics)|weight]] that adjusts as learning proceeds. The weight increases or decreases the strength of the signal at a connection. Artificial neurons may have a threshold such that the signal is only sent if the aggregate signal crosses that threshold. Typically, artificial neurons are aggregated into layers. Different layers may perform different kinds of transformations on their inputs. Signals travel from the first layer (the input layer), to the last layer (the output layer), possibly after traversing the layers multiple times.
The original goal of the ANN approach was to solve problems in the same way that a [[human brain]] would. However, over time, attention moved to performing specific tasks, leading to deviations from [[biology]]. ANNs have been used on a variety of tasks, including [[computer vision]], [[speech recognition]], [[machine translation]], [[social network]] filtering, [[general game playing|playing board and video games]] and [[medical diagnosis]].
{{toclimit|3}}
==历史==
[[Warren McCulloch]] and [[Walter Pitts]]<ref>{{cite journal|last=McCulloch|first=Warren|author2=Walter Pitts|title=A Logical Calculus of Ideas Immanent in Nervous Activity|journal=Bulletin of Mathematical Biophysics|year=1943|volume=5|pages=115–133|doi=10.1007/BF02478259|issue=4}}</ref> (1943) created a computational model for neural networks based on [[mathematics]] and [[algorithm]]s 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 state machine|finite automata]].<ref>{{Cite news|url=https://www.degruyter.com/view/books/9781400882618/9781400882618-002/9781400882618-002.xml|title=Representation of Events in Nerve Nets and Finite Automata|last=Kleene|first=S.C.|date=|work=Annals of Mathematics Studies|access-date=2017-06-17|archive-url=|archive-date=|dead-url=|publisher=Princeton University Press|year=1956|issue=34|pages=3–41|language=en}}</ref>
===Hebbian learning===
In the late 1940s, [[Donald O. Hebb|D.O. Hebb]]<ref>{{cite book|url={{google books |plainurl=y |id=ddB4AgAAQBAJ}}|title=The Organization of Behavior|last=Hebb|first=Donald|publisher=Wiley|year=1949|isbn=978-1-135-63190-1|location=New York|pages=}}</ref> created a learning hypothesis based on the mechanism of [[Neuroplasticity|neural plasticity]] that became known as [[Hebbian learning]]. Hebbian learning is [[unsupervised learning]]. This evolved into models for [[long term potentiation]]. Researchers started applying these ideas to computational models in 1948 with [[unorganized machine|Turing's B-type machines]].
Farley and [[Wesley A. Clark|Clark]]<ref>{{cite journal|last=Farley|first=B.G.|author2=W.A. Clark|title=Simulation of Self-Organizing Systems by Digital Computer|journal=IRE Transactions on Information Theory|year=1954|volume=4|pages=76–84|doi=10.1109/TIT.1954.1057468|issue=4}}</ref> (1954) first used computational machines, then called "calculators", to simulate a Hebbian network. Other neural network computational machines were created by [[Nathaniel Rochester (computer scientist)|Rochester]], Holland, Habit and Duda (1956).<ref>{{cite journal|last=Rochester|first=N. |author2=J.H. Holland |author3=L.H. Habit |author4=W.L. Duda|title=Tests on a cell assembly theory of the action of the brain, using a large digital computer|journal=IRE Transactions on Information Theory|year=1956|volume=2|pages=80–93|doi=10.1109/TIT.1956.1056810|issue=3}}</ref>
[[Frank Rosenblatt|Rosenblatt]]<ref>{{cite journal|last=Rosenblatt|first=F.|title=The Perceptron: A Probabilistic Model For Information Storage And Organization In The Brain|journal=Psychological Review|year=1958|volume=65|pages=386–408|doi=10.1037/h0042519|pmid=13602029|issue=6|citeseerx=10.1.1.588.3775}}</ref> (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.<ref name="Werbos 1975">{{cite book|url={{google books |plainurl=y |id=z81XmgEACAAJ}}|title=Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences|last=Werbos|first=P.J.|publisher=|year=1975|isbn=|location=|pages=}}</ref>
In 1959, a biological model proposed by [[Nobel laureate]]s [[David H. Hubel|Hubel]] and [[Torsten Wiesel|Wiesel]] was based on their discovery of two types of cells in the [[primary visual cortex]]: [[simple cell]]s and [[complex cell]]s.<ref>{{cite book|url=https://books.google.com/books?id=8YrxWojxUA4C&pg=PA106|title=Brain and visual perception: the story of a 25-year collaboration|publisher=Oxford University Press US|year=2005|isbn=978-0-19-517618-6|page=106|author=David H. Hubel and Torsten N. Wiesel}}</ref>
The first functional networks with many layers were published by [[Alexey Grigorevich Ivakhnenko|Ivakhnenko]] and Lapa in 1965, becoming the [[Group method of data handling|Group Method of Data Handling]].<ref name="SCHIDHUB2">{{cite journal|last=Schmidhuber|first=J.|year=2015|title=Deep Learning in Neural Networks: An Overview|journal=Neural Networks|volume=61|pages=85–117|arxiv=1404.7828|doi=10.1016/j.neunet.2014.09.003|pmid=25462637}}</ref><ref name="ivak1965">{{cite book|url={{google books |plainurl=y |id=FhwVNQAACAAJ}}|title=Cybernetic Predicting Devices|last=Ivakhnenko|first=A. G.|publisher=CCM Information Corporation|year=1973}}</ref><ref name="ivak1967">{{cite book|url={{google books |plainurl=y |id=rGFgAAAAMAAJ}}|title=Cybernetics and forecasting techniques|last2=Grigorʹevich Lapa|first2=Valentin|publisher=American Elsevier Pub. Co.|year=1967|first1=A. G.|last1=Ivakhnenko}}</ref>
Neural network research stagnated after [[machine learning]] research by [[Marvin Minsky|Minsky]] and [[Seymour Papert|Papert]] (1969),<ref>{{cite book|url={{google books |plainurl=y |id=Ow1OAQAAIAAJ}}|title=Perceptrons: An Introduction to Computational Geometry|last=Minsky|first=Marvin|first2=Seymour|publisher=MIT Press|year=1969|isbn=0-262-63022-2|location=|pages=|author2=Papert}}</ref> 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.
Much of [[artificial intelligence]] had focused on high-level (symbolic) models that are processed by using [[algorithms]], characterized for example by [[expert system]]s with knowledge embodied in ''if-then'' rules, until in the late 1980s research expanded to low-level (sub-symbolic) [[machine learning]], characterized by knowledge embodied in the parameters of a [[cognitive model]].{{Citation needed|date=August 2017|reason=Reliable source needed for the whole sentence}}
=== 反向传播(Backpropagation) ===
A key trigger for renewed interest in neural networks and learning was [[Paul Werbos|Werbos]]'s (1975) [[backpropagation]] algorithm that effectively solved the exclusive-or problem and more generally accelerated the training of multi-layer networks. Backpropagation distributed the error term back up through the layers, by modifying the weights at each node.<ref name="Werbos 1975" />
In the mid-1980s, parallel distributed processing became popular under the name [[connectionism]]. [[David E. Rumelhart|Rumelhart]] and [[James McClelland (psychologist)|McClelland]] (1986) described the use of connectionism to simulate neural processes.<ref>{{cite book|url={{google books |plainurl=y |id=davmLgzusB8C}}|title=Parallel Distributed Processing: Explorations in the Microstructure of Cognition|last=Rumelhart|first=D.E|first2=James|publisher=MIT Press|year=1986|isbn=978-0-262-63110-5|location=Cambridge|pages=|author2=McClelland}}</ref>
[[Support vector machine]]s and other, much simpler methods such as [[linear classifier]]s gradually overtook neural networks in machine learning popularity. However, using neural networks transformed some domains, such as the prediction of protein structures.<ref>{{cite article|id=Qian1988|title=
Predicting the secondary structure of globular proteins using neural network models. |last=Qian|first=N.|last2=Sejnowski|first2=T.J.|journal=Journal of Molecular Biology|volume=202|pages=865-884|year=1988}}</ref><ref>{{cite article|id=Rost1993|title=
Prediction of protein secondary structure at better than 70% accuracy |last=Rost|first=B.|last2=Sander|first2=C.|journal=Journal of Molecular Biology|volume=232|pages=584-599|year=1993}}</ref>
In 1992, [[Convolutional neural network#Pooling layer|max-pooling]] was introduced to help with least shift invariance and tolerance to deformation to aid in 3D object recognition.<ref name="Weng1992">J. Weng, N. Ahuja and T. S. Huang, "[http://www.cse.msu.edu/~weng/research/CresceptronIJCNN1992.pdf Cresceptron: a self-organizing neural network which grows adaptively]," ''Proc. International Joint Conference on Neural Networks'', Baltimore, Maryland, vol I, pp. 576–581, June, 1992.</ref><ref name="Weng19932">J. Weng, N. Ahuja and T. S. Huang, "[http://www.cse.msu.edu/~weng/research/CresceptronICCV1993.pdf Learning recognition and segmentation of 3-D objects from 2-D images]," ''Proc. 4th International Conf. Computer Vision'', Berlin, Germany, pp. 121–128, May, 1993.</ref><ref name="Weng1997">J. Weng, N. Ahuja and T. S. Huang, "[http://www.cse.msu.edu/~weng/research/CresceptronIJCV.pdf Learning recognition and segmentation using the Cresceptron]," ''International Journal of Computer Vision'', vol. 25, no. 2, pp. 105–139, Nov. 1997.</ref>
In 2010, Backpropagation training through [[Convolutional neural network#Pooling layer|max-pooling]] was accelerated by GPUs and shown to perform better than other pooling variants.<ref name="Scherer2010">Dominik Scherer, Andreas C. Müller, and Sven Behnke: "[https://www.ais.uni-bonn.de/papers/icann2010_maxpool.pdf Evaluation of Pooling Operations in Convolutional Architectures for Object Recognition]," ''In 20th International Conference Artificial Neural Networks (ICANN)'', pp. 92–101, 2010. {{doi|10.1007/978-3-642-15825-4_10}}.</ref>
The [[vanishing gradient problem]] affects many-layered [[Feedforward neural network|feedforward networks]] that used backpropagation and also [[recurrent neural network]]s (RNNs).<ref name="HOCH19912">S. Hochreiter., "[http://people.idsia.ch/~juergen/SeppHochreiter1991ThesisAdvisorSchmidhuber.pdf Untersuchungen zu dynamischen neuronalen Netzen]," ''Diploma thesis. Institut f. Informatik, Technische Univ. Munich. Advisor: J. Schmidhuber'', 1991.</ref><ref name="HOCH2001">{{cite book|url={{google books |plainurl=y |id=NWOcMVA64aAC}}|title=A Field Guide to Dynamical Recurrent Networks|last=Hochreiter|first=S.|last2=et al.|date=15 January 2001|publisher=John Wiley & Sons|year=|isbn=978-0-7803-5369-5|location=|pages=|chapter=Gradient flow in recurrent nets: the difficulty of learning long-term dependencies|editor-last2=Kremer|editor-first2=Stefan C.|editor-first1=John F.|editor-last1=Kolen}}</ref> As errors propagate from layer to layer, they shrink exponentially with the number of layers, impeding the tuning of neuron weights that is based on those errors, particularly affecting deep networks.
To overcome this problem, [[Jürgen Schmidhuber|Schmidhuber]] adopted a multi-level hierarchy of networks (1992) pre-trained one level at a time by [[unsupervised learning]] and fine-tuned by [[backpropagation]].<ref name="SCHMID1992">J. Schmidhuber., "Learning complex, extended sequences using the principle of history compression," ''Neural Computation'', 4, pp. 234–242, 1992.</ref> Behnke (2003) relied only on the sign of the gradient ([[Rprop]])<ref>{{cite book|url=http://www.ais.uni-bonn.de/books/LNCS2766.pdf|title=Hierarchical Neural Networks for Image Interpretation.|publisher=Springer|year=2003|series=Lecture Notes in Computer Science|volume=2766|author=Sven Behnke}}</ref> on problems such as image reconstruction and face localization.
[[Geoffrey Hinton|Hinton]] et al. (2006) proposed learning a high-level representation using successive layers of binary or real-valued [[latent variable]]s with a [[restricted Boltzmann machine]]<ref name="smolensky1986">{{cite book|url=http://portal.acm.org/citation.cfm?id=104290|title=Parallel Distributed Processing: Explorations in the Microstructure of Cognition|year=1986|editors=D. E. Rumelhart, J. L. McClelland, & the PDP Research Group|volume=1|pages=194–281|chapter=Information processing in dynamical systems: Foundations of harmony theory.|last1=Smolensky|first1=P.|authorlink1=Paul Smolensky}}</ref> to model each layer. Once sufficiently many layers have been learned, the deep architecture may be used as a [[generative model]] by reproducing the data when sampling down the model (an "ancestral pass") from the top level feature activations.<ref name="hinton2006">{{cite journal|last2=Osindero|first2=S.|last3=Teh|first3=Y.|year=2006|title=A fast learning algorithm for deep belief nets|url=http://www.cs.toronto.edu/~hinton/absps/fastnc.pdf|journal=[[Neural Computation (journal)|Neural Computation]]|volume=18|issue=7|pages=1527–1554|doi=10.1162/neco.2006.18.7.1527|pmid=16764513|last1=Hinton|first1=G. E.|authorlink1=Geoffrey Hinton}}</ref><ref>{{Cite journal|year=2009|title=Deep belief networks|url=http://www.scholarpedia.org/article/Deep_belief_networks|journal=Scholarpedia|volume=4|issue=5|pages=5947|doi=10.4249/scholarpedia.5947|pmc=|pmid=|last1=Hinton|first1=G.|bibcode=2009SchpJ...4.5947H}}</ref> In 2012, [[Andrew Ng|Ng]] and [[Jeff Dean (computer scientist)|Dean]] created a network that learned to recognize higher-level concepts, such as cats, only from watching unlabeled images taken from [[YouTube]] videos.<ref name="ng2012">{{cite arXiv|eprint=1112.6209|first2=Jeff|last2=Dean|title=Building High-level Features Using Large Scale Unsupervised Learning|last1=Ng|first1=Andrew|year=2012|class=cs.LG}}</ref>
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 [[GPU]]s and [[distributed computing]]. Neural networks were deployed on a large scale, particularly in image and visual recognition problems. This became known as "[[deep learning]]".{{citation needed|date=June 2018}}
===基于硬件的设计(Hardware-based designs)===
Computational devices were created in [[CMOS]], for both biophysical simulation and [[neuromorphic computing]]. [[Nanodevice]]s<ref>{{cite journal | last1 = Yang | first1 = J. J. | last2 = Pickett | first2 = M. D. | last3 = Li | first3 = X. M. | last4 = Ohlberg | first4 = D. A. A. | last5 = Stewart | first5 = D. R. | last6 = Williams | first6 = R. S. | year = 2008 | title = Memristive switching mechanism for metal/oxide/metal nanodevices| url = | journal = Nat. Nanotechnol. | volume = 3 | issue = 7| pages = 429–433 | doi = 10.1038/nnano.2008.160 }}</ref> for very large scale [[principal component]]s analyses and [[convolution]] may create a new class of neural computing because they are fundamentally [[Analog signal|analog]] rather than [[Digital data|digital]] (even though the first implementations may use digital devices).<ref>{{cite journal | last1 = Strukov | first1 = D. B. | last2 = Snider | first2 = G. S. | last3 = Stewart | first3 = D. R. | last4 = Williams | first4 = R. S. | year = 2008 | title = The missing memristor found| url = | journal = Nature | volume = 453 | issue = 7191| pages = 80–83 | doi=10.1038/nature06932 | pmid=18451858| bibcode = 2008Natur.453...80S }}</ref> Ciresan and colleagues (2010)<ref name=":3">{{Cite journal|last=Cireşan|first=Dan Claudiu|last2=Meier|first2=Ueli|last3=Gambardella|first3=Luca Maria|last4=Schmidhuber|first4=Jürgen|date=2010-09-21|title=Deep, Big, Simple Neural Nets for Handwritten Digit Recognition|url=http://www.mitpressjournals.org/doi/10.1162/NECO_a_00052|journal=Neural Computation|volume=22|issue=12|pages=3207–3220|doi=10.1162/neco_a_00052|issn=0899-7667}}</ref> in Schmidhuber's group showed that despite the vanishing gradient problem, GPUs makes [[back-propagation]] feasible for many-layered feedforward neural networks.
=== Contests ===
Between 2009 and 2012, [[recurrent neural network]]s and deep feedforward neural networks developed in [[Jürgen Schmidhuber|Schmidhuber]]'s research group won eight international competitions in [[pattern recognition]] and [[machine learning]].<ref>[http://www.kurzweilai.net/how-bio-inspired-deep-learning-keeps-winning-competitions 2012 Kurzweil AI Interview] with [[Jürgen Schmidhuber]] on the eight competitions won by his Deep Learning team 2009–2012</ref><ref>{{Cite web|url=http://www.kurzweilai.net/how-bio-inspired-deep-learning-keeps-winning-competitions|title=How bio-inspired deep learning keeps winning competitions {{!}} KurzweilAI|last=|first=|date=|website=www.kurzweilai.net|language=en-US|archive-url=|archive-date=|dead-url=|access-date=2017-06-16}}</ref> For example, the bi-directional and [[multi-dimensional]] [[long short-term memory]] (LSTM)<ref>Graves, Alex; and Schmidhuber, Jürgen; ''[http://www.idsia.ch/~juergen/nips2009.pdf 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.
</ref><ref name="graves 855" /><ref name="graves20093">{{Cite journal|last2=Schmidhuber|first2=Jürgen|date=2009|editor-last=Bengio|editor-first=Yoshua|title=Offline Handwriting Recognition with Multidimensional Recurrent Neural Networks|url=https://papers.nips.cc/paper/3449-offline-handwriting-recognition-with-multidimensional-recurrent-neural-networks|journal=Neural Information Processing Systems (NIPS) Foundation|volume=|pages=545–552|via=|editor-last2=Schuurmans|editor-first2=Dale|editor-last3=Lafferty|editor-first3=John|editor-last4=Williams|editor-first4=Chris editor-K. I.|editor-last5=Culotta|editor-first5=Aron|last1=Graves|first1=Alex}}</ref><ref>{{Cite journal|last=Graves|first=A.|last2=Liwicki|first2=M.|last3=Fernández|first3=S.|last4=Bertolami|first4=R.|last5=Bunke|first5=H.|last6=Schmidhuber|first6=J.|date=May 2009|title=A Novel Connectionist System for Unconstrained Handwriting Recognition|url=http://ieeexplore.ieee.org/document/4531750/|journal=IEEE Transactions on Pattern Analysis and Machine Intelligence|volume=31|issue=5|pages=855–868|doi=10.1109/tpami.2008.137|issn=0162-8828}}</ref> of [[Alex Graves (computer scientist)|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.<ref name="graves20093"/><ref name="graves 855">{{cite journal|last2=Liwicki|first2=M.|last3=Fernandez|first3=S.|last4=Bertolami|first4=R.|last5=Bunke|first5=H.|last6=Schmidhuber|first6=J.|year=2009|title=A Novel Connectionist System for Improved Unconstrained Handwriting Recognition|journal=IEEE Transactions on Pattern Analysis and Machine Intelligence|volume=31|issue=5|pages=855–868|doi=10.1109/tpami.2008.137|last1=Graves|first1=A.| url = http://www.idsia.ch/~juergen/tpami_2008.pdf | format = PDF}}</ref>
Ciresan and colleagues won [[pattern recognition]] contests, including the IJCNN 2011 Traffic Sign Recognition Competition,<ref name=":72">{{Cite journal|last=Cireşan|first=Dan|last2=Meier|first2=Ueli|last3=Masci|first3=Jonathan|last4=Schmidhuber|first4=Jürgen|date=August 2012|title=Multi-column deep neural network for traffic sign classification|url=http://www.sciencedirect.com/science/article/pii/S0893608012000524|journal=Neural Networks|series=Selected Papers from IJCNN 2011|volume=32|pages=333–338|doi=10.1016/j.neunet.2012.02.023}}</ref> the ISBI 2012 Segmentation of Neuronal Structures in Electron Microscopy Stacks challenge<ref name=":8"/> and others. Their neural networks were the first pattern recognizers to achieve human-competitive or even superhuman performance<ref name=":92">{{Cite journal|last=Ciresan|first=Dan|last2=Meier|first2=U.|last3=Schmidhuber|first3=J.|date=June 2012|title=Multi-column deep neural networks for image classification|url=http://ieeexplore.ieee.org/document/6248110/|journal=2012 IEEE Conference on Computer Vision and Pattern Recognition|volume=|pages=3642–3649|doi=10.1109/cvpr.2012.6248110|via=|isbn=978-1-4673-1228-8|arxiv=1202.2745}}</ref> on benchmarks such as traffic sign recognition (IJCNN 2012), or the [[MNIST database|MNIST handwritten digits problem]].
Researchers demonstrated (2010) that deep neural networks interfaced to a [[hidden Markov model]] with context-dependent states that define the neural network output layer can drastically reduce errors in large-vocabulary speech recognition tasks such as voice search.
GPU-based implementations<ref name=":6">{{Cite journal|last=Ciresan|first=D. C.|last2=Meier|first2=U.|last3=Masci|first3=J.|last4=Gambardella|first4=L. M.|last5=Schmidhuber|first5=J.|date=2011|editor-last=|title=Flexible, High Performance Convolutional Neural Networks for Image Classification|url=http://ijcai.org/papers11/Papers/IJCAI11-210.pdf|journal=International Joint Conference on Artificial Intelligence|volume=|pages=|doi=10.5591/978-1-57735-516-8/ijcai11-210|via=}}</ref> of this approach won many pattern recognition contests, including the IJCNN 2011 Traffic Sign Recognition Competition,<ref name=":72"/> the ISBI 2012 Segmentation of neuronal structures in EM stacks challenge,<ref name=":8">{{Cite book|url=http://papers.nips.cc/paper/4741-deep-neural-networks-segment-neuronal-membranes-in-electron-microscopy-images.pdf|title=Advances in Neural Information Processing Systems 25|last=Ciresan|first=Dan|last2=Giusti|first2=Alessandro|last3=Gambardella|first3=Luca M.|last4=Schmidhuber|first4=Juergen|date=2012|publisher=Curran Associates, Inc.|editor-last=Pereira|editor-first=F.|pages=2843–2851|editor-last2=Burges|editor-first2=C. J. C.|editor-last3=Bottou|editor-first3=L.|editor-last4=Weinberger|editor-first4=K. Q.}}</ref> the [[ImageNet Competition]]<ref name="krizhevsky2012">{{cite journal|last2=Sutskever|first2=Ilya|last3=Hinton|first3=Geoffry|date=2012|title=ImageNet Classification with Deep Convolutional Neural Networks|url=https://www.cs.toronto.edu/~kriz/imagenet_classification_with_deep_convolutional.pdf|journal=NIPS 2012: Neural Information Processing Systems, Lake Tahoe, Nevada|last1=Krizhevsky|first1=Alex}}</ref> and others.
Deep, highly nonlinear neural architectures similar to the [[neocognitron]]<ref name="K. Fukushima. Neocognitron 1980">{{cite journal|year=1980|title=Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position|journal=Biological Cybernetics|volume=36|issue=4|pages=93–202|doi=10.1007/BF00344251|pmid=7370364|author=Fukushima, K.}}</ref> and the "standard architecture of vision",<ref>{{cite journal|last2=Poggio|first2=T|year=1999|title=Hierarchical models of object recognition in cortex|journal=Nature Neuroscience|volume=2|issue=11|pages=1019–1025|doi=10.1038/14819|last1=Riesenhuber|first1=M}}</ref> inspired by [[Simple cell|simple]] and [[complex cell]]s, were pre-trained by unsupervised methods by Hinton.<ref name=":1">{{Cite journal|last=Hinton|first=Geoffrey|date=2009-05-31|title=Deep belief networks|url=http://www.scholarpedia.org/article/Deep_belief_networks|journal=Scholarpedia|language=en|volume=4|issue=5|pages=5947|doi=10.4249/scholarpedia.5947|issn=1941-6016|bibcode=2009SchpJ...4.5947H}}</ref><ref name="hinton2006" /> A team from his lab won a 2012 contest sponsored by [[Merck & Co.|Merck]] to design software to help find molecules that might identify new drugs.<ref>{{cite news|url=https://www.nytimes.com/2012/11/24/science/scientists-see-advances-in-deep-learning-a-part-of-artificial-intelligence.html|title=Scientists See Promise in Deep-Learning Programs|last=Markoff|first=John|date=November 23, 2012|author=|newspaper=New York Times}}</ref>
=== 卷积网络(Convolutional networks) ===
As of 2011, the state of the art in deep learning feedforward networks alternated between convolutional layers and max-pooling layers,<ref name=":6" /><ref name="martines2013">{{cite journal|last2=Bengio|first2=Y.|last3=Yannakakis|first3=G. N.|year=2013|title=Learning Deep Physiological Models of Affect|url=|journal=IEEE Computational Intelligence|volume=8|issue=2|pages=20–33|doi=10.1109/mci.2013.2247823|last1=Martines|first1=H.}}</ref> topped by several fully or sparsely connected layers followed by a final classification layer. Learning is usually done without unsupervised pre-training.
Such supervised deep learning methods were the first to achieve human-competitive performance on certain tasks.<ref name=":92"/>
ANNs were able to guarantee shift invariance to deal with small and large natural objects in large cluttered scenes, only when invariance extended beyond shift, to all ANN-learned concepts, such as location, type (object class label), scale, lighting and others. This was realized in Developmental Networks (DNs)<ref name="Weng2011">J. Weng, "[http://www.cse.msu.edu/~weng/research/WhyPass-Weng-NI-2011.pdf Why Have We Passed 'Neural Networks Do not Abstract Well'?]," ''Natural Intelligence: the INNS Magazine'', vol. 1, no.1, pp. 13–22, 2011.</ref> whose embodiments are Where-What Networks, WWN-1 (2008)<ref name="Weng08">Z. Ji, J. Weng, and D. Prokhorov, "[http://www.cse.msu.edu/~weng/research/ICDL08_0077.pdf Where-What Network 1: Where and What Assist Each Other Through Top-down Connections]," ''Proc. 7th International Conference on Development and Learning (ICDL'08)'', Monterey, CA, Aug. 9–12, pp. 1–6, 2008.</ref> through WWN-7 (2013).<ref name="Weng13">X. Wu, G. Guo, and J. Weng, "[http://www.cse.msu.edu/~weng/research/WWN7-Wu-ICBM-2013.pdf Skull-closed Autonomous Development: WWN-7 Dealing with Scales]," ''Proc. International Conference on Brain-Mind'', July 27–28, East Lansing, Michigan, pp. 1–9, 2013.</ref>
==模型==
{{Confusing|section|date=April 2017}}
An ''artificial neural network'' is a network of simple elements called ''[[artificial neurons]]'', which receive input, change their internal state (''activation'') according to that input, and produce output depending on the input and activation. The ''network'' forms by connecting the output of certain neurons to the input of other neurons forming a [[Directed graph|directed]], [[weighted graph]]. The weights as well as the [[Activation function|functions that compute the activation]] can be modified by a process called ''learning'' which is governed by a ''[[learning rule]]''.<ref name=Zell1994ch5.2>{{cite book |last=Zell |first=Andreas |year=1994 |title=Simulation Neuronaler Netze |trans-title=Simulation of Neural Networks |language=German |edition=1st |publisher=Addison-Wesley |chapter=chapter 5.2 |isbn=3-89319-554-8}}</ref>
===人工神经网络的组成部分(Components of an artificial neural network)===
====神经元(Neurons)====
A neuron with label <math>j</math> receiving an input <math>p_j(t)</math> from predecessor neurons consists of the following components:<ref name=Zell1994ch5.2 />
* an ''activation'' <math>a_j(t)</math>, depending on a discrete time parameter,
* possibly a ''threshold'' <math>\theta_j</math>, which stays fixed unless changed by a learning function,
* an ''activation function'' <math>f</math> that computes the new activation at a given time <math>t+1</math> from <math>a_j(t)</math>, <math>\theta_j</math> and the net input <math>p_j(t)</math> giving rise to the relation
: <math> a_j(t+1) = f(a_j(t), p_j(t), \theta_j) </math>,
* and an ''output function'' <math>f_{out}</math> computing the output from the activation
: <math> o_j(t) = f_{out}(a_j(t)) </math>.
Often the output function is simply the [[Identity function]].
An ''input neuron'' has no predecessor but serves as input interface for the whole network. Similarly an ''output neuron'' has no successor and thus serves as output interface of the whole network.
====连接和权重(Connections and weights)====
The ''network'' consists of connections, each connection transferring the output of a neuron <math>i</math> to the input of a neuron <math>j</math>. In this sense <math>i</math> is the predecessor of <math>j</math> and <math>j</math> is the successor of <math>i</math>. Each connection is assigned a weight <math>w_{ij}</math>.<ref name=Zell1994ch5.2 />
====传播函数(Propagation function)====
The ''propagation function'' computes the ''input'' <math>p_j(t)</math> to the neuron <math>j</math> from the outputs <math>o_i(t)</math> of predecessor neurons and typically has the form<ref name=Zell1994ch5.2 />
: <math> p_j(t) = \sum_{i} o_i(t) w_{ij} </math>.
====学习规则(Learning rule)====
The ''learning rule'' is a rule or an algorithm which modifies the parameters of the neural network, in order for a given input to the network to produce a favored output. This ''learning'' process typically amounts to modifying the weights and thresholds of the variables within the network.<ref name=Zell1994ch5.2 />
===作为函数的神经网络(Neural networks as functions)===
{{See also|Graphical models}}
Neural network models can be viewed as simple mathematical models defining a function <math>\textstyle f : X \rightarrow Y </math> or a distribution over <math>\textstyle X</math> or both <math>\textstyle X</math> and <math>\textstyle Y</math>. 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).
Mathematically, a neuron's network function <math>\textstyle f(x)</math> is defined as a composition of other functions <math>\textstyle g_i(x)</math>, 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 <math>\textstyle f (x) = K \left(\sum_i w_i g_i(x)\right) </math>, where <math>\textstyle K</math> (commonly referred to as the [[activation function]]<ref>{{cite web|url=http://www.cse.unsw.edu.au/~billw/mldict.html#activnfn|title=The Machine Learning Dictionary}}</ref>) is some predefined function, such as the [[hyperbolic function#Standard analytic expressions|hyperbolic tangent]] or [[sigmoid function]] or [[softmax function]] or [[ReLU|rectifier 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 <math>\textstyle g_i</math> as a [[Vector (mathematics and physics)|vector]] <math>\textstyle g = (g_1, g_2, \ldots, g_n)</math>.
[[File:Ann dependency (graph).svg|thumb|150px|ANN dependency graph]]
This figure depicts such a decomposition of <math>\textstyle f</math>, with dependencies between variables indicated by arrows. These can be interpreted in two ways.
The first view is the functional view: the input <math>\textstyle x</math> is transformed into a 3-dimensional vector <math>\textstyle h</math>, which is then transformed into a 2-dimensional vector <math>\textstyle g</math>, which is finally transformed into <math>\textstyle f</math>. This view is most commonly encountered in the context of [[Mathematical optimization|optimization]].
The second view is the probabilistic view: the [[random variable]] <math>\textstyle F = f(G) </math> depends upon the random variable <math>\textstyle G = g(H)</math>, which depends upon <math>\textstyle H=h(X)</math>, which depends upon the random variable <math>\textstyle X</math>. 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 <math>\textstyle g</math> are independent of each other given their input <math>\textstyle h</math>). This naturally enables a degree of parallelism in the implementation.
[[File:Recurrent ann dependency graph.png|thumb|120px| Two separate depictions of the recurrent ANN dependency graph]]
Networks such as the previous one are commonly called [[feedforward neural network|feedforward]], because their graph is a [[directed acyclic graph]]. Networks with [[Cycle (graph theory)|cycles]] are commonly called [[Recurrent neural network|recurrent]]. Such networks are commonly depicted in the manner shown at the top of the figure, where <math>\textstyle f</math> is shown as being dependent upon itself. However, an implied temporal dependence is not shown.
===Learning===
{{See also|Mathematical optimization|Estimation theory|Machine learning}}
The possibility of learning has attracted the most interest in neural networks. Given a specific ''task'' to solve, and a class of functions <math>\textstyle F</math>, learning means using a set of observations to find <math>\textstyle f^{*} \in F</math> which solves the task in some optimal sense.
This entails defining a cost function <math>\textstyle C : F \rightarrow \mathbb{R}</math> such that, for the optimal solution <math>\textstyle f^*</math>, <math>\textstyle C(f^*) \leq C(f)</math> <math>\textstyle \forall f \in F</math>{{snd}} i.e., no solution has a cost less than the cost of the optimal solution (see [[mathematical optimization]]).
The cost function <math>\textstyle C</math> 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 <math>\textstyle f</math>, which minimizes <math>\textstyle C=E\left[(f(x) - y)^2\right]</math>, for data pairs <math>\textstyle (x,y)</math> drawn from some distribution <math>\textstyle \mathcal{D}</math>. In practical situations we would only have <math>\textstyle N</math> samples from <math>\textstyle \mathcal{D}</math> and thus, for the above example, we would only minimize <math>\textstyle \hat{C}=\frac{1}{N}\sum_{i=1}^N (f(x_i)-y_i)^2</math>. Thus, the cost is minimized over a sample of the data rather than the entire distribution.
When <math>\textstyle N \rightarrow \infty</math> 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 <math>\textstyle \mathcal{D}</math> 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 function====
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 [[Convex function|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.
====Backpropagation====
{{Main|Backpropagation}}
A [[Deep neural network|DNN]] can be [[Discriminative model|discriminatively]] trained with the standard backpropagation algorithm. Backpropagation is a method to calculate the [[gradient]] of the [[loss function]] (produces the cost associated with a given state) with respect to the weights in an ANN.
The basics of continuous backpropagation<ref name="SCHIDHUB2"/><ref name="scholarpedia2">{{cite journal|year=2015|title=Deep Learning|url=http://www.scholarpedia.org/article/Deep_Learning|journal=Scholarpedia|volume=10|issue=11|page=32832|doi=10.4249/scholarpedia.32832|last1=Schmidhuber|first1=Jürgen|authorlink=Jürgen Schmidhuber|bibcode=2015SchpJ..1032832S}}</ref><ref name=":5">{{Cite journal|last=Dreyfus|first=Stuart E.|date=1990-09-01|title=Artificial neural networks, back propagation, and the Kelley-Bryson gradient procedure|url=http://arc.aiaa.org/doi/10.2514/3.25422|journal=Journal of Guidance, Control, and Dynamics|volume=13|issue=5|pages=926–928|doi=10.2514/3.25422|issn=0731-5090|bibcode=1990JGCD...13..926D}}</ref><ref name="mizutani2000">Eiji Mizutani, [[Stuart Dreyfus]], Kenichi Nishio (2000). On derivation of MLP backpropagation from the Kelley-Bryson optimal-control gradient formula and its application. Proceedings of the IEEE International Joint Conference on Neural Networks (IJCNN 2000), Como Italy, July 2000. [http://queue.ieor.berkeley.edu/People/Faculty/dreyfus-pubs/ijcnn2k.pdf Online]</ref> were derived in the context of [[control theory]] by [[Henry J. Kelley|Kelley]]<ref name="kelley1960">{{cite journal|year=1960|title=Gradient theory of optimal flight paths|url=http://arc.aiaa.org/doi/abs/10.2514/8.5282?journalCode=arsj|journal=Ars Journal|volume=30|issue=10|pages=947–954|doi=10.2514/8.5282|last1=Kelley|first1=Henry J.|authorlink=Henry J. Kelley}}</ref> in 1960 and by [[Arthur E. Bryson|Bryson]] in 1961,<ref name="bryson1961">[[Arthur E. Bryson]] (1961, April). A gradient method for optimizing multi-stage allocation processes. In Proceedings of the Harvard Univ. Symposium on digital computers and their applications.</ref> using principles of [[dynamic programming]]. In 1962, [[Stuart Dreyfus|Dreyfus]] published a simpler derivation based only on the [[chain rule]].<ref name="dreyfus1962">{{cite journal|year=1962|title=The numerical solution of variational problems|url=https://www.researchgate.net/publication/256244271_The_numerical_solution_of_variational_problems|journal=Journal of Mathematical Analysis and Applications|volume=5|issue=1|pages=30–45|doi=10.1016/0022-247x(62)90004-5|last1=Dreyfus|first1=Stuart|authorlink=Stuart Dreyfus}}</ref> Bryson and [[Yu-Chi Ho|Ho]] described it as a multi-stage dynamic system optimization method in 1969.<ref>{{cite book|url={{google books |plainurl=y |id=8jZBksh-bUMC|page=578}}|title=Artificial Intelligence A Modern Approach|last2=Norvig|first2=Peter|publisher=Prentice Hall|year=2010|isbn=978-0-13-604259-4|page=578|quote=The most popular method for learning in multilayer networks is called Back-propagation.|author-link2=Peter Norvig|first1=Stuart J.|last1=Russell|author-link1=Stuart J. Russell}}</ref><ref name="Bryson1969">{{cite book|url={{google books |plainurl=y |id=1bChDAEACAAJ|page=481}}|title=Applied Optimal Control: Optimization, Estimation and Control|last=Bryson|first=Arthur Earl|publisher=Blaisdell Publishing Company or Xerox College Publishing|year=1969|page=481}}</ref> In 1970, [[Seppo Linnainmaa|Linnainmaa]] finally published the general method for [[automatic differentiation]] (AD) of discrete connected networks of nested [[Differentiable function|differentiable]] functions.<ref name="lin1970">[[Seppo Linnainmaa]] (1970). The representation of the cumulative rounding error of an algorithm as a Taylor expansion of the local rounding errors. Master's Thesis (in Finnish), Univ. Helsinki, 6–7.</ref><ref name="lin1976">{{cite journal|year=1976|title=Taylor expansion of the accumulated rounding error|url=|journal=BIT Numerical Mathematics|volume=16|issue=2|pages=146–160|doi=10.1007/bf01931367|last1=Linnainmaa|first1=Seppo|authorlink=Seppo Linnainmaa}}</ref> This corresponds to the modern version of backpropagation which is efficient even when the networks are sparse.<ref name="SCHIDHUB2"/><ref name="scholarpedia2"/><ref name="grie2012">{{Cite journal|last=Griewank|first=Andreas|date=2012|title=Who Invented the Reverse Mode of Differentiation?|url=http://www.math.uiuc.edu/documenta/vol-ismp/52_griewank-andreas-b.pdf|journal=Documenta Matematica, Extra Volume ISMP|volume=|pages=389–400|via=}}</ref><ref name="grie2008">{{cite book|url={{google books |plainurl=y |id=xoiiLaRxcbEC}}|title=Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation, Second Edition|last2=Walther|first2=Andrea|publisher=SIAM|year=2008|isbn=978-0-89871-776-1|first1=Andreas|last1=Griewank}}</ref> In 1973, Dreyfus used backpropagation to adapt [[parameter]]s of controllers in proportion to error gradients.<ref name="dreyfus1973">{{cite journal|year=1973|title=The computational solution of optimal control problems with time lag|url=|journal=IEEE Transactions on Automatic Control|volume=18|issue=4|pages=383–385|doi=10.1109/tac.1973.1100330|last1=Dreyfus|first1=Stuart|authorlink=Stuart Dreyfus}}</ref> In 1974, [[Paul Werbos|Werbos]] mentioned the possibility of applying this principle to ANNs,<ref name="werbos1974">[[Paul Werbos]] (1974). Beyond regression: New tools for prediction and analysis in the behavioral sciences. PhD thesis, Harvard University.</ref> and in 1982, he applied Linnainmaa's AD method to neural networks in the way that is widely used today.<ref name="scholarpedia2"/><ref name="werbos1982">{{Cite book|url=http://werbos.com/Neural/SensitivityIFIPSeptember1981.pdf|title=System modeling and optimization|last=Werbos|first=Paul|authorlink=Paul Werbos|publisher=Springer|year=1982|isbn=|location=|pages=762–770|chapter=Applications of advances in nonlinear sensitivity analysis}}</ref> In 1986, [[David E. Rumelhart|Rumelhart]], Hinton and [[Ronald J. Williams|Williams]] noted that this method can generate useful internal representations of incoming data in hidden layers of neural networks.<ref name=":4">{{Cite journal|last=Rumelhart|first=David E.|last2=Hinton|first2=Geoffrey E.|last3=Williams|first3=Ronald J.|title=Learning representations by back-propagating errors|url=http://www.nature.com/articles/Art323533a0|journal=Nature|volume=323|issue=6088|pages=533–536|doi=10.1038/323533a0|year=1986|bibcode=1986Natur.323..533R}}</ref> In 1993, Wan was the first<ref name="SCHIDHUB2"/> to win an international pattern recognition contest through backpropagation.<ref name="wan1993">Eric A. Wan (1993). "Time series prediction by using a connectionist network with internal delay lines." In ''Proceedings of the Santa Fe Institute Studies in the Sciences of Complexity'', '''15''': p. 195. Addison-Wesley Publishing Co.</ref>
The weight updates of backpropagation can be done via [[stochastic gradient descent]] using the following equation:
: <math> w_{ij}(t + 1) = w_{ij}(t) + \eta\frac{\partial C}{\partial w_{ij}} +\xi(t) </math>
where, <math> \eta </math> is the learning rate, <math> C </math> is the cost (loss) function and <math>\xi(t)</math> a stochastic term. The choice of the cost function depends on factors such as the learning type (supervised, unsupervised, [[Reinforcement learning|reinforcement]], etc.) and the [[activation function]]. For example, when performing supervised learning on a [[multiclass classification]] problem, common choices for the activation function and cost function are the [[Softmax activation function|softmax]] function and [[cross entropy]] function, respectively. The softmax function is defined as <math> p_j = \frac{\exp(x_j)}{\sum_k \exp(x_k)} </math> where <math> p_j </math> represents the class probability (output of the unit <math> j </math>) and <math> x_j </math> and <math> x_k </math> represent the total input to units <math> j </math> and <math> k </math> of the same level respectively. Cross entropy is defined as <math> C = -\sum_j d_j \log(p_j) </math> where <math> d_j </math> represents the target probability for output unit <math> j </math> and <math> p_j </math> is the probability output for <math> j </math> after applying the activation function.<ref>{{Cite journal|last=Hinton|first=G.|last2=Deng|first2=L.|last3=Yu|first3=D.|last4=Dahl|first4=G. E.|last5=Mohamed|first5=A. r|last6=Jaitly|first6=N.|last7=Senior|first7=A.|last8=Vanhoucke|first8=V.|last9=Nguyen|first9=P.|date=November 2012|title=Deep Neural Networks for Acoustic Modeling in Speech Recognition: The Shared Views of Four Research Groups|url=http://ieeexplore.ieee.org/document/6296526/|journal=IEEE Signal Processing Magazine|volume=29|issue=6|pages=82–97|doi=10.1109/msp.2012.2205597|issn=1053-5888|bibcode=2012ISPM...29...82H}}</ref>
These can be used to output object [[Minimum bounding box|bounding boxes]] in the form of a binary mask. They are also used for multi-scale regression to increase localization precision. DNN-based regression can learn features that capture geometric information in addition to serving as a good classifier. They remove the requirement to explicitly model parts and their relations. This helps to broaden the variety of objects that can be learned. The model consists of multiple layers, each of which has a [[rectified linear unit]] as its activation function for non-linear transformation. Some layers are convolutional, while others are fully connected. Every convolutional layer has an additional max pooling. The network is trained to [[Minimum mean square error|minimize]] [[L2 norm|''L''<sup>2</sup> error]] for predicting the mask ranging over the entire training set containing bounding boxes represented as masks.
Alternatives to backpropagation include [[Extreme Learning Machines]],<ref>{{cite journal|last2=Zhu|first2=Qin-Yu|last3=Siew|first3=Chee-Kheong|year=2006|title=Extreme learning machine: theory and applications|url=|journal=Neurocomputing|volume=70|issue=1|pages=489–501|doi=10.1016/j.neucom.2005.12.126|last1=Huang|first1=Guang-Bin}}</ref> "No-prop" networks,<ref>{{cite journal|year=2013|title=The no-prop algorithm: A new learning algorithm for multilayer neural networks|url=|journal=Neural Networks|volume=37|issue=|pages=182–188|doi=10.1016/j.neunet.2012.09.020|last1=Widrow|first1=Bernard|display-authors=etal}}</ref> training without backtracking,<ref>{{cite arXiv|eprint=1507.07680|first=Yann|last=Ollivier|first2=Guillaume|last2=Charpiat|title=Training recurrent networks without backtracking|year=2015|class=cs.NE}}</ref> "weightless" networks,<ref>ESANN. 2009</ref><ref name="RBMTRAIN">{{Cite journal|last=Hinton|first=G. E.|date=2010|title=A Practical Guide to Training Restricted Boltzmann Machines|url=https://www.researchgate.net/publication/221166159_A_brief_introduction_to_Weightless_Neural_Systems|journal=Tech. Rep. UTML TR 2010-003,|volume=|pages=|via=}}</ref> and [[Holographic associative memory|non-connectionist neural networks]].
===Learning paradigms===
The three major learning paradigms each correspond to a particular learning task. These are [[supervised learning]], [[unsupervised learning]] and [[reinforcement learning]].
==== Supervised learning ====
[[Supervised learning]] uses a set of example pairs <math> (x, y), x \in X, y \in Y</math> and the aim is to find a function <math> f : X \rightarrow Y </math> 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.<ref>{{Cite journal|last=Ojha|first=Varun Kumar|last2=Abraham|first2=Ajith|last3=Snášel|first3=Václav|date=2017-04-01|title=Metaheuristic design of feedforward neural networks: A review of two decades of research|url=http://www.sciencedirect.com/science/article/pii/S0952197617300234|journal=Engineering Applications of Artificial Intelligence|volume=60|pages=97–116|doi=10.1016/j.engappai.2017.01.013}}</ref>
A commonly used cost is the [[mean-squared error]], which tries to minimize the average squared error between the network's output, <math> f(x)</math>, and the target value <math> y</math> over all the example pairs. Minimizing this cost using [[gradient descent]] for the class of neural networks called [[multilayer perceptron]]s (MLP), produces the [[Backpropagation|backpropagation algorithm]] for training neural networks.
Tasks that fall within the paradigm of supervised learning are [[pattern recognition]] (also known as classification) and [[Regression analysis|regression]] (also known as function approximation). The supervised learning paradigm is also applicable to sequential data (e.g., for hand writing, 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]], some data <math>\textstyle x</math> is given and the cost function to be minimized, that can be any function of the data <math>\textstyle x</math> and the network's output, <math>\textstyle f</math>.
The cost function is dependent on the task (the model domain) and any ''[[A priori and a posteriori|a priori]]'' assumptions (the implicit properties of the model, its parameters and the observed variables).
As a trivial example, consider the model <math>\textstyle f(x) = a</math> where <math>\textstyle a</math> is a constant and the cost <math>\textstyle C=E[(x - f(x))^2]</math>. Minimizing this cost produces a value of <math>\textstyle a</math> that is equal to the mean of the data. The cost function can be much more complicated. Its form depends on the application: for example, in [[Data compression|compression]] it could be related to the [[mutual information]] between <math>\textstyle x</math> and <math>\textstyle f(x)</math>, whereas in statistical modeling, it could be related to the [[posterior probability]] of the model given the data (note that in both of those examples those quantities would be maximized rather than minimized).
Tasks that fall within the paradigm of unsupervised learning are in general [[Approximation|estimation]] problems; the applications include [[Data clustering|clustering]], the estimation of [[statistical distributions]], [[Data compression|compression]] and [[Bayesian spam filtering|filtering]].
====Reinforcement learning====
{{See also|Stochastic control}}
In [[reinforcement learning]], data <math>\textstyle x</math> are usually not given, but generated by an agent's interactions with the environment. At each point in time <math>\textstyle t</math>, the agent performs an action <math>\textstyle y_t</math> and the environment generates an observation <math>\textstyle x_t</math> and an instantaneous cost <math>\textstyle c_t</math>, 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 <math>\textstyle {s_1,...,s_n}\in S </math> and actions <math>\textstyle {a_1,...,a_m} \in A</math> with the following probability distributions: the instantaneous cost distribution <math>\textstyle P(c_t|s_t)</math>, the observation distribution <math>\textstyle P(x_t|s_t)</math> and the transition <math>\textstyle P(s_{t+1}|s_t, a_t)</math>, while a policy is defined as the conditional distribution over actions given the observations. Taken together, the two 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.<ref>{{cite conference| author = Dominic, S. |author2=Das, R. |author3=Whitley, D. |author4=Anderson, C. |date=July 1991 | title = Genetic reinforcement learning for neural networks | conference = IJCNN-91-Seattle International Joint Conference on Neural Networks | booktitle = IJCNN-91-Seattle International Joint Conference on Neural Networks | publisher = IEEE | location = Seattle, Washington, USA | doi = 10.1109/IJCNN.1991.155315 | accessdate = | isbn = 0-7803-0164-1 }}</ref><ref>{{cite journal |last=Hoskins |first=J.C. |author2=Himmelblau, D.M. |title=Process control via artificial neural networks and reinforcement learning |journal=Computers & Chemical Engineering |year=1992 |volume=16 |pages=241–251 |doi=10.1016/0098-1354(92)80045-B |issue=4}}</ref> [[Dynamic programming]] was coupled with ANNs (giving neurodynamic programming) by [[Dimitri Bertsekas|Bertsekas]] and Tsitsiklis<ref>{{cite book|url=https://papers.nips.cc/paper/4741-deep-neural-networks-segment-neuronal-membranes-in-electron-microscopy-images|title=Neuro-dynamic programming|first=D.P.|first2=J.N.|publisher=Athena Scientific|year=1996|isbn=1-886529-10-8|location=|page=512|pages=|author=Bertsekas|author2=Tsitsiklis}}</ref> and applied to multi-dimensional nonlinear problems such as those involved in [[vehicle routing]],<ref>{{cite journal |last=Secomandi |first=Nicola |title=Comparing neuro-dynamic programming algorithms for the vehicle routing problem with stochastic demands |journal=Computers & Operations Research |year=2000 |volume=27 |pages=1201–1225 |doi=10.1016/S0305-0548(99)00146-X |issue=11–12}}</ref> [[natural resource management|natural resources management]]<ref>{{cite conference| author = de Rigo, D. |author2=Rizzoli, A. E. |author3=Soncini-Sessa, R. |author4=Weber, E. |author5=Zenesi, P. | year = 2001 | title = Neuro-dynamic programming for the efficient management of reservoir networks | conference = MODSIM 2001, International Congress on Modelling and Simulation | conferenceurl = http://www.mssanz.org.au/MODSIM01/MODSIM01.htm | booktitle = Proceedings of MODSIM 2001, International Congress on Modelling and Simulation | publisher = Modelling and Simulation Society of Australia and New Zealand | location = Canberra, Australia | doi = 10.5281/zenodo.7481 | url = https://zenodo.org/record/7482/files/de_Rigo_etal_MODSIM2001_activelink_authorcopy.pdf | accessdate = 29 July 2012 | isbn = 0-867405252 }}</ref><ref>{{cite conference| author = Damas, M. |author2=Salmeron, M. |author3=Diaz, A. |author4=Ortega, J. |author5=Prieto, A. |author6=Olivares, G.| year = 2000 | title = Genetic algorithms and neuro-dynamic programming: application to water supply networks | conference = 2000 Congress on Evolutionary Computation | booktitle = Proceedings of 2000 Congress on Evolutionary Computation | publisher = IEEE | location = La Jolla, California, USA | doi = 10.1109/CEC.2000.870269 | accessdate = | isbn = 0-7803-6375-2 }}</ref> or [[medicine]]<ref>{{cite journal |last=Deng |first=Geng |author2=Ferris, M.C. |title=Neuro-dynamic programming for fractionated radiotherapy planning |journal=Springer Optimization and Its Applications |year=2008 |volume=12 |pages=47–70 |doi=10.1007/978-0-387-73299-2_3|citeseerx=10.1.1.137.8288 |series=Springer Optimization and Its Applications |isbn=978-0-387-73298-5 }}</ref> 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, [[game]]s and other sequential decision making tasks.
==== Convergent recursive learning algorithm ====
This is a learning method specially designed for [[cerebellar model articulation controller]] (CMAC) neural networks. In 2004 a recursive least squares algorithm was introduced to train [[cerebellar model articulation controller|CMAC]] neural network online.<ref name=Qin1>Ting Qin, et al. "A learning algorithm of CMAC based on RLS." Neural Processing Letters 19.1 (2004): 49–61.</ref> This algorithm can converge in one step and update all weights in one step with any new input data. Initially, this algorithm had [[Computational complexity theory|computational complexity]] of ''O''(''N''<sup>3</sup>). Based on [[QR decomposition]], this recursive learning algorithm was simplified to be ''O''(''N'').<ref name=Qin2>Ting Qin, et al. "Continuous CMAC-QRLS and its systolic array." Neural Processing Letters 22.1 (2005): 1–16.</ref>
===Learning algorithms===
{{See also|Machine learning}}
Training a neural network model essentially means selecting one model from the set of allowed models (or, in a [[Bayesian probability|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 [[Mathematical optimization|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:
* [[Gradient descent|steepest descent]] (with variable learning rate and [[Gradient descent#The momentum method|momentum]], [[Rprop|resilient backpropagation]]);
* quasi-Newton ([[Broyden–Fletcher–Goldfarb–Shanno algorithm|Broyden-Fletcher-Goldfarb-Shanno]], [[Secant method|one step secant]]);
* [[Levenberg–Marquardt algorithm|Levenberg-Marquardt]] and [[Conjugate gradient method|conjugate gradient]] (Fletcher-Reeves update, Polak-Ribiére update, Powell-Beale restart, scaled conjugate gradient).<ref>{{cite conference|author1=M. Forouzanfar |author2=H. R. Dajani |author3=V. Z. Groza |author4=M. Bolic |author5=S. Rajan |last-author-amp=yes |date=July 2010 | title = Comparison of Feed-Forward Neural Network Training Algorithms for Oscillometric Blood Pressure Estimation | conference = 4th Int. Workshop Soft Computing Applications | publisher = IEEE| location = Arad, Romania |url=https://www.researchgate.net/profile/Mohamad_Forouzanfar/publication/224173336_Comparison_of_Feed-Forward_Neural_Network_training_algorithms_for_oscillometric_blood_pressure_estimation/links/00b7d533829c3a7484000000.pdf?ev=pub_int_doc_dl&origin=publication_detail&inViewer=true&msrp=TyT96%2BjWOHJo%2BVhkMF4IzwHPAImSd442n%2BAkEuXj9qBmQSZ495CpxqlaOYon%2BSlEzWQElBGyJmbBCiiUOV8ImeEqPFXiIRivcrWsWmlPBYU%3D }}</ref>
[[Evolutionary methods]],<ref>{{cite conference| author1 = de Rigo, D. | author2 = Castelletti, A. | author3 = Rizzoli, A. E. | author4 = Soncini-Sessa, R. | author5 = Weber, E. |date=January 2005 | title = A selective improvement technique for fastening Neuro-Dynamic Programming in Water Resources Network Management | conference = 16th IFAC World Congress | conferenceurl = http://www.nt.ntnu.no/users/skoge/prost/proceedings/ifac2005/Index.html | booktitle = Proceedings of the 16th IFAC World Congress – IFAC-PapersOnLine | editor = Pavel Zítek | volume = 16 | publisher = IFAC | location = Prague, Czech Republic | url = http://www.nt.ntnu.no/users/skoge/prost/proceedings/ifac2005/Papers/Paper4269.html
| accessdate = 30 December 2011 | doi = 10.3182/20050703-6-CZ-1902.02172 | isbn = 978-3-902661-75-3 }}</ref> [[gene expression programming]],<ref>{{cite web|last=Ferreira|first=C.|year=2006|title=Designing Neural Networks Using Gene Expression Programming|url= http://www.gene-expression-programming.com/webpapers/Ferreira-ASCT2006.pdf|publisher= 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}}</ref> [[simulated annealing]],<ref>{{cite conference| author = Da, Y. |author2=Xiurun, G. |date=July 2005 | title = An improved PSO-based ANN with simulated annealing technique | conference = New Aspects in Neurocomputing: 11th European Symposium on Artificial Neural Networks | conferenceurl = http://www.dice.ucl.ac.be/esann/proceedings/electronicproceedings.htm | editor = T. Villmann | publisher = Elsevier | doi = 10.1016/j.neucom.2004.07.002 }}<!--| accessdate = 30 December 2011 --></ref> [[expectation-maximization]], [[non-parametric methods]] and [[particle swarm optimization]]<ref>{{cite conference| author = Wu, J. |author2=Chen, E. |date=May 2009 | title = A Novel Nonparametric Regression Ensemble for Rainfall Forecasting Using Particle Swarm Optimization Technique Coupled with Artificial Neural Network | conference = 6th International Symposium on Neural Networks, ISNN 2009 | conferenceurl = http://www2.mae.cuhk.edu.hk/~isnn2009/ | editors = Wang, H., Shen, Y., Huang, T., Zeng, Z. | publisher = Springer | doi = 10.1007/978-3-642-01513-7-6 | isbn = 978-3-642-01215-0 }}<!--| accessdate = 1 January 2012 --></ref> are other methods for training neural networks.
== Variants ==
=== Group method of data handling ===
{{Main|Group method of data handling}}The Group Method of Data Handling (GMDH)<ref name="ivak1968">{{cite journal|year=1968|title=The [[group method of data handling]] – a rival of the method of stochastic approximation|url=|journal=Soviet Automatic Control|volume=13|issue=3|pages=43–55|last1=Ivakhnenko|first1=Alexey Grigorevich|authorlink=Alexey Grigorevich Ivakhnenko}}</ref> features fully automatic structural and parametric model optimization. The node activation functions are [[Andrey Kolmogorov|Kolmogorov]]-Gabor polynomials that permit additions and multiplications. It used a deep feedforward multilayer perceptron with eight layers.<ref name="ivak1971">{{Cite journal|last=Ivakhnenko|first=Alexey|date=1971|title=Polynomial theory of complex systems|url=|journal=IEEE Transactions on Systems, Man and Cybernetics (4)|issue=4|pages=364–378|doi=10.1109/TSMC.1971.4308320|pmid=|access-date=}}</ref> It is a [[supervised learning]] network that grows layer by layer, where each layer is trained by [[regression analysis]]. Useless items are detected using a validation set, and pruned through [[Regularization (mathematics)|regularization]]. The size and depth of the resulting network depends on the task.<ref name="kondo2008">{{cite journal|last2=Ueno|first2=J.|date=|year=2008|title=Multi-layered GMDH-type neural network self-selecting optimum neural network architecture and its application to 3-dimensional medical image recognition of blood vessels|url=https://www.researchgate.net/publication/228402366_GMDH-Type_Neural_Network_Self-Selecting_Optimum_Neural_Network_Architecture_and_Its_Application_to_3-Dimensional_Medical_Image_Recognition_of_the_Lungs|journal=International Journal of Innovative Computing, Information and Control|volume=4|issue=1|pages=175–187|via=|last1=Kondo|first1=T.}}</ref>
=== Convolutional neural networks ===
{{main|Convolutional neural network}}A convolutional neural network (CNN) is a class of deep, feed-forward networks, composed of one or more [[convolution]]al layers with fully connected layers (matching those in typical ANNs) on top. It uses tied weights and pooling layers. In particular, max-pooling<ref name="Weng19932"/> is often structured via Fukushima's convolutional architecture.<ref name="FUKU1980">{{cite journal|year=1980|title=Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position|url=|journal=Biol. Cybern.|volume=36|issue=4|pages=193–202|doi=10.1007/bf00344251|pmid=7370364|last1=Fukushima|first1=K.}}</ref> This architecture allows CNNs to take advantage of the 2D structure of input data.
CNNs are suitable for processing visual and other two-dimensional data.<ref name="LECUN1989">LeCun ''et al.'', "Backpropagation Applied to Handwritten Zip Code Recognition," ''Neural Computation'', 1, pp. 541–551, 1989.</ref><ref name="lecun2016slides">[[Yann LeCun]] (2016). Slides on Deep Learning [https://indico.cern.ch/event/510372/ Online]</ref> They have shown superior results in both image and speech applications. They can be trained with standard backpropagation. CNNs are easier to train than other regular, deep, feed-forward neural networks and have many fewer parameters to estimate.<ref name="STANCNN">{{cite web|url=http://ufldl.stanford.edu/tutorial/supervised/ConvolutionalNeuralNetwork/|title=Unsupervised Feature Learning and Deep Learning Tutorial|publisher=}}</ref> Examples of applications in computer vision include [[DeepDream]]<ref name="deepdream">{{cite journal|last2=Liu|first2=Wei|last3=Jia|first3=Yangqing|last4=Sermanet|first4=Pierre|last5=Reed|first5=Scott|last6=Anguelov|first6=Dragomir|last7=Erhan|first7=Dumitru|last8=Vanhoucke|first8=Vincent|last9=Rabinovich|first9=Andrew|date=|year=2014|title=Going Deeper with Convolutions|url=|journal=Computing Research Repository|volume=|pages=1|arxiv=1409.4842|doi=10.1109/CVPR.2015.7298594|via=|first1=Christian|last1=Szegedy|isbn=978-1-4673-6964-0}}</ref> and [[robot navigation]].<ref>{{cite journal | last=Ran | first=Lingyan | last2=Zhang | first2=Yanning | last3=Zhang | first3=Qilin | last4=Yang | first4=Tao | title=Convolutional Neural Network-Based Robot Navigation Using Uncalibrated Spherical Images | journal=Sensors | publisher=MDPI AG | volume=17 | issue=6 | date=2017-06-12 | issn=1424-8220 | doi=10.3390/s17061341 | page=1341 | url=https://qilin-zhang.github.io/_pages/pdfs/sensors-17-01341.pdf}}</ref>
=== Long short-term memory ===
{{main|Long short-term memory}}Long short-term memory (LSTM) networks are RNNs that avoid the [[vanishing gradient problem]].<ref name=":03">{{Cite journal|last=Hochreiter|first=Sepp|author-link=Sepp Hochreiter|last2=Schmidhuber|first2=Jürgen|author-link2=Jürgen Schmidhuber|date=1997-11-01|title=Long Short-Term Memory|url=http://www.mitpressjournals.org/doi/10.1162/neco.1997.9.8.1735|journal=Neural Computation|volume=9|issue=8|pages=1735–1780|doi=10.1162/neco.1997.9.8.1735|issn=0899-7667|via=}}</ref> LSTM is normally augmented by recurrent gates called forget gates.<ref name=":10">{{Cite web|url=https://www.researchgate.net/publication/220320057_Learning_Precise_Timing_with_LSTM_Recurrent_Networks|title=Learning Precise Timing with LSTM Recurrent Networks (PDF Download Available)|website=ResearchGate|language=en|access-date=2017-06-13|pp=115–143}}</ref> LSTM networks prevent backpropagated errors from vanishing or exploding.<ref name="HOCH19912"/> Instead errors can flow backwards through unlimited numbers of virtual layers in space-unfolded LSTM. That is, LSTM can learn "very deep learning" tasks<ref name="SCHIDHUB2" /> that require memories of events that happened thousands or even millions of discrete time steps ago. Problem-specific LSTM-like topologies can be evolved.<ref>{{Cite journal|last=Bayer|first=Justin|last2=Wierstra|first2=Daan|last3=Togelius|first3=Julian|last4=Schmidhuber|first4=Jürgen|date=2009-09-14|title=Evolving Memory Cell Structures for Sequence Learning|url=https://link.springer.com/chapter/10.1007/978-3-642-04277-5_76|journal=Artificial Neural Networks – ICANN 2009|volume=5769|language=en|publisher=Springer, Berlin, Heidelberg|pages=755–764|doi=10.1007/978-3-642-04277-5_76|series=Lecture Notes in Computer Science|isbn=978-3-642-04276-8}}</ref> LSTM can handle long delays and signals that have a mix of low and high frequency components.
Stacks of LSTM RNNs<ref>{{Cite journal|last=Fernández|first=Santiago|last2=Graves|first2=Alex|last3=Schmidhuber|first3=Jürgen|date=2007|title=Sequence labelling in structured domains with hierarchical recurrent neural networks|url=http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.79.1887|journal=In Proc. 20th Int. Joint Conf. on Artificial In℡ligence, Ijcai 2007|pages=774–779}}</ref> trained by Connectionist Temporal Classification (CTC)<ref name=":12">{{Cite journal|last=Graves|first=Alex|last2=Fernández|first2=Santiago|last3=Gomez|first3=Faustino|date=2006|title=Connectionist temporal classification: Labelling unsegmented sequence data with recurrent neural networks|url=http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.75.6306|journal=In Proceedings of the International Conference on Machine Learning, ICML 2006|pages=369–376}}</ref> can find an RNN weight matrix that maximizes the probability of the label sequences in a training set, given the corresponding input sequences. CTC achieves both alignment and recognition.
In 2003, LSTM started to become competitive with traditional speech recognizers.<ref name="graves2003">{{Cite web|url=Ftp://ftp.idsia.ch/pub/juergen/bioadit2004.pdf|title=Biologically Plausible Speech Recognition with LSTM Neural Nets|last=Graves|first=Alex|last2=Eck|first2=Douglas|date=2003|website=1st Intl. Workshop on Biologically Inspired Approaches to Advanced Information Technology, Bio-ADIT 2004, Lausanne, Switzerland|pages=175–184|archive-url=|archive-date=|dead-url=|access-date=|last3=Beringer|first3=Nicole|last4=Schmidhuber|first4=Jürgen|authorlink4=Jürgen Schmidhuber}}</ref> In 2007, the combination with CTC achieved first good results on speech data.<ref name="fernandez2007keyword">{{Cite journal|last=Fernández|first=Santiago|last2=Graves|first2=Alex|last3=Schmidhuber|first3=Jürgen|date=2007|title=An Application of Recurrent Neural Networks to Discriminative Keyword Spotting|url=http://dl.acm.org/citation.cfm?id=1778066.1778092|journal=Proceedings of the 17th International Conference on Artificial Neural Networks|series=ICANN'07|location=Berlin, Heidelberg|publisher=Springer-Verlag|pages=220–229|isbn=3540746935}}</ref> In 2009, a CTC-trained LSTM was the first RNN to win pattern recognition contests, when it won several competitions in connected [[handwriting recognition]].<ref name="SCHIDHUB2" /><ref name="graves20093"/> In 2014, [[Baidu]] used CTC-trained RNNs to break the Switchboard Hub5'00 speech recognition benchmark, without traditional speech processing methods.<ref name="hannun2014">{{cite arxiv|last=Hannun|first=Awni|last2=Case|first2=Carl|last3=Casper|first3=Jared|last4=Catanzaro|first4=Bryan|last5=Diamos|first5=Greg|last6=Elsen|first6=Erich|last7=Prenger|first7=Ryan|last8=Satheesh|first8=Sanjeev|last9=Sengupta|first9=Shubho|date=2014-12-17|title=Deep Speech: Scaling up end-to-end speech recognition|eprint=1412.5567|class=cs.CL}}</ref> LSTM also improved large-vocabulary speech recognition,<ref name="sak2014">{{Cite web|url=https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43905.pdf|title=Long Short-Term Memory recurrent neural network architectures for large scale acoustic modeling|last=Sak|first=Hasim|last2=Senior|first2=Andrew|date=2014|website=|archive-url=|archive-date=|dead-url=|access-date=|last3=Beaufays|first3=Francoise}}</ref><ref name="liwu2015">{{cite arxiv|last=Li|first=Xiangang|last2=Wu|first2=Xihong|date=2014-10-15|title=Constructing Long Short-Term Memory based Deep Recurrent Neural Networks for Large Vocabulary Speech Recognition|eprint=1410.4281|class=cs.CL}}</ref> text-to-speech synthesis,<ref>{{Cite web|url=https://www.researchgate.net/publication/287741874_TTS_synthesis_with_bidirectional_LSTM_based_Recurrent_Neural_Networks|title=TTS synthesis with bidirectional LSTM based Recurrent Neural Networks|last=Fan|first=Y.|last2=Qian|first2=Y.|date=2014|website=ResearchGate|language=en|archive-url=|archive-date=|dead-url=|access-date=2017-06-13|last3=Xie|first3=F.|last4=Soong|first4=F. K.}}</ref> for [[Google Android]],<ref name="scholarpedia2"/><ref name="zen2015">{{Cite web|url=https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43266.pdf|title=Unidirectional Long Short-Term Memory Recurrent Neural Network with Recurrent Output Layer for Low-Latency Speech Synthesis|last=Zen|first=Heiga|last2=Sak|first2=Hasim|date=2015|website=Google.com|publisher=ICASSP|pages=4470–4474|archive-url=|archive-date=|dead-url=|access-date=}}</ref> and photo-real talking heads.<ref name="fan2015">{{Cite journal|last=Fan|first=Bo|last2=Wang|first2=Lijuan|last3=Soong|first3=Frank K.|last4=Xie|first4=Lei|date=2015|title=Photo-Real Talking Head with Deep Bidirectional LSTM|url=https://www.microsoft.com/en-us/research/wp-content/uploads/2015/04/icassp2015_fanbo_1009.pdf|journal=Proceedings of ICASSP|volume=|pages=|via=}}</ref> In 2015, Google's speech recognition experienced a 49% improvement through CTC-trained LSTM.<ref name="sak2015">{{Cite web|url=http://googleresearch.blogspot.ch/2015/09/google-voice-search-faster-and-more.html|title=Google voice search: faster and more accurate|last=Sak|first=Haşim|last2=Senior|first2=Andrew|date=September 2015|website=|archive-url=|archive-date=|dead-url=|access-date=|last3=Rao|first3=Kanishka|last4=Beaufays|first4=Françoise|last5=Schalkwyk|first5=Johan}}</ref>
LSTM became popular in [[Natural Language Processing]]. Unlike previous models based on [[Hidden Markov model|HMMs]] and similar concepts, LSTM can learn to recognise [[context-sensitive languages]].<ref name="gers2001">{{cite journal|last2=Schmidhuber|first2=Jürgen|year=2001|title=LSTM Recurrent Networks Learn Simple Context Free and Context Sensitive Languages|url=|journal=IEEE Transactions on Neural Networks|volume=12|issue=6|pages=1333–1340|doi=10.1109/72.963769|last1=Gers|first1=Felix A.|authorlink2=Jürgen Schmidhuber}}</ref> LSTM improved machine translation,<ref>{{cite web | last=Huang | first=Jie | last2=Zhou | first2=Wengang | last3=Zhang | first3=Qilin | last4=Li | first4=Houqiang | last5=Li | first5=Weiping | title=Video-based Sign Language Recognition without Temporal Segmentation | eprint=1801.10111 | date=2018-01-30 | url=https://arxiv.org/pdf/1801.10111.pdf}}</ref><ref name="NIPS2014">{{Cite journal|last=Sutskever|first=L.|last2=Vinyals|first2=O.|last3=Le|first3=Q.|date=2014|title=Sequence to Sequence Learning with Neural Networks|url=https://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf|journal=NIPS'14 Proceedings of the 27th International Conference on Neural Information Processing Systems |volume=2 |pages=3104–3112 |bibcode=2014arXiv1409.3215S |arxiv=1409.3215 |class=cs.CL}}</ref> [[language modeling]]<ref name="vinyals2016">{{cite arxiv|last=Jozefowicz|first=Rafal|last2=Vinyals|first2=Oriol|last3=Schuster|first3=Mike|last4=Shazeer|first4=Noam|last5=Wu|first5=Yonghui|date=2016-02-07|title=Exploring the Limits of Language Modeling|eprint=1602.02410|class=cs.CL}}</ref> and multilingual language processing.<ref name="gillick2015">{{cite arxiv|last=Gillick|first=Dan|last2=Brunk|first2=Cliff|last3=Vinyals|first3=Oriol|last4=Subramanya|first4=Amarnag|date=2015-11-30|title=Multilingual Language Processing From Bytes|eprint=1512.00103|class=cs.CL}}</ref> LSTM combined with CNNs improved automatic image captioning.<ref name="vinyals2015">{{cite arxiv|last=Vinyals|first=Oriol|last2=Toshev|first2=Alexander|last3=Bengio|first3=Samy|last4=Erhan|first4=Dumitru|date=2014-11-17|title=Show and Tell: A Neural Image Caption Generator|eprint=1411.4555|class=cs.CV}}</ref>
=== Deep reservoir computing ===
{{Main|Reservoir computing}}Deep Reservoir Computing and Deep Echo State Networks (deepESNs)<ref>{{Cite journal|last=Gallicchio|first=Claudio|last2=Micheli|first2=Alessio|last3=Pedrelli|first3=Luca|title=Deep reservoir computing: A critical experimental analysis|url=http://www.sciencedirect.com/science/article/pii/S0925231217307567|journal=Neurocomputing|volume=268|pages=87|doi=10.1016/j.neucom.2016.12.089|year=2017}}</ref><ref>{{Cite journal|last=Gallicchio|first=Claudio|last2=Micheli|first2=Alessio|date=|title=Echo State Property of Deep Reservoir Computing Networks|url=https://link.springer.com/article/10.1007/s12559-017-9461-9|journal=Cognitive Computation|language=en|volume=9|issue=3|pages=337–350|doi=10.1007/s12559-017-9461-9|issn=1866-9956|via=|year=2017}}</ref> provide a framework for efficiently trained models for hierarchical processing of temporal data, while enabling the investigation of the inherent role of RNN layered composition.{{clarify|date=January 2018}}
=== Deep belief networks ===
{{main|Deep belief network}}
[[File:Restricted_Boltzmann_machine.svg|thumb|A [[restricted Boltzmann machine]] (RBM) with fully connected visible and hidden units. Note there are no hidden-hidden or visible-visible connections.]]
A deep belief network (DBN) is a probabilistic, [[generative model]] made up of multiple layers of hidden units. It can be considered a [[Function composition|composition]] of simple learning modules that make up each layer.<ref name="SCHOLARDBNS">{{cite journal|year=2009|title=Deep belief networks|url=|journal=Scholarpedia|volume=4|issue=5|page=5947|doi=10.4249/scholarpedia.5947|last1=Hinton|first1=G.E.|bibcode=2009SchpJ...4.5947H}}</ref>
A DBN can be used to generatively pre-train a DNN by using the learned DBN weights as the initial DNN weights. Backpropagation or other discriminative algorithms can then tune these weights. This is particularly helpful when training data are limited, because poorly initialized weights can significantly hinder model performance. These pre-trained weights are in a region of the weight space that is closer to the optimal weights than were they randomly chosen. This allows for both improved modeling and faster convergence of the fine-tuning phase.<ref>{{Cite journal|last=Larochelle|first=Hugo|last2=Erhan|first2=Dumitru|last3=Courville|first3=Aaron|last4=Bergstra|first4=James|last5=Bengio|first5=Yoshua|date=2007|title=An Empirical Evaluation of Deep Architectures on Problems with Many Factors of Variation|url=http://doi.acm.org/10.1145/1273496.1273556|journal=Proceedings of the 24th International Conference on Machine Learning|series=ICML '07|location=New York, NY, USA|publisher=ACM|pages=473–480|doi=10.1145/1273496.1273556|isbn=9781595937933}}</ref>
=== Large memory storage and retrieval neural networks ===
Large memory storage and retrieval neural networks (LAMSTAR)<ref name="book2013">{{cite book|url={{google books |plainurl=y |id=W6W6CgAAQBAJ&pg=PP1}}|title=Principles of Artificial Neural Networks|last=Graupe|first=Daniel|publisher=World Scientific|year=2013|isbn=978-981-4522-74-8|location=|pages=1–|ref=harv}}</ref><ref name="GrPatent">{{Patent|US|5920852 A|D. Graupe," Large memory storage and retrieval (LAMSTAR) network, April 1996}}</ref> are fast deep learning neural networks of many layers that can use many filters simultaneously. These filters may be nonlinear, stochastic, logic, [[non-stationary]], or even non-analytical. They are biologically motivated and learn continuously.
A LAMSTAR neural network may serve as a dynamic neural network in spatial or time domains or both. Its speed is provided by [[Hebbian]] link-weights<ref name=book2013a>D. Graupe, "Principles of Artificial Neural Networks.3rd Edition", World Scientific Publishers, 2013, pp. 203–274.</ref> that integrate the various and usually different filters (preprocessing functions) into its many layers and to dynamically rank the significance of the various layers and functions relative to a given learning task. This grossly imitates biological learning which integrates various preprocessors ([[cochlea]], [[retina]], ''etc.'') and cortexes ([[Auditory cortex|auditory]], [[Visual cortex|visual]], ''etc.'') and their various regions. Its deep learning capability is further enhanced by using inhibition, correlation and its ability to cope with incomplete data, or "lost" neurons or layers even amidst a task. It is fully transparent due to its link weights. The link-weights allow dynamic determination of innovation and redundancy, and facilitate the ranking of layers, of filters or of individual neurons relative to a task.
LAMSTAR has been applied to many domains, including medical<ref>{{Cite journal|last=Nigam|first=Vivek Prakash|last2=Graupe|first2=Daniel|date=2004-01-01|title=A neural-network-based detection of epilepsy|journal=Neurological Research|volume=26|issue=1|pages=55–60|doi=10.1179/016164104773026534|issn=0161-6412|pmid=14977058}}</ref><ref name=":11">{{Cite journal|last=Waxman|first=Jonathan A.|last2=Graupe|first2=Daniel|last3=Carley|first3=David W.|date=2010-04-01|title=Automated Prediction of Apnea and Hypopnea, Using a LAMSTAR Artificial Neural Network|url=http://www.atsjournals.org/doi/abs/10.1164/rccm.200907-1146OC|journal=American Journal of Respiratory and Critical Care Medicine|volume=181|issue=7|pages=727–733|doi=10.1164/rccm.200907-1146oc|issn=1073-449X}}</ref><ref name="GrGrZh">{{cite journal|last2=Graupe|first2=M. H.|last3=Zhong|first3=Y.|last4=Jackson|first4=R. K.|year=2008|title=Blind adaptive filtering for non-invasive extraction of the fetal electrocardiogram and its non-stationarities|url=|journal=Proc. Inst. Mech Eng., UK, Part H: Journal of Engineering in Medicine|volume=222|issue=8|pages=1221–1234|doi=10.1243/09544119jeim417|last1=Graupe|first1=D.}}</ref> and financial predictions,<ref name="book2013b">{{harvnb|Graupe|2013|pp=240–253}}</ref> adaptive filtering of noisy speech in unknown noise,<ref name="GrAbon">{{cite journal|last2=Abon|first2=J.|year=2002|title=A Neural Network for Blind Adaptive Filtering of Unknown Noise from Speech|url=https://www.tib.eu/en/search/id/BLCP:CN019373941/Blind-Adaptive-Filtering-of-Speech-from-Noise-of/|journal=Intelligent Engineering Systems Through Artificial Neural Networks|language=en|publisher=Technische Informationsbibliothek (TIB)|volume=12|issue=|pages=683–688|last1=Graupe|first1=D.|accessdate=2017-06-14}}</ref> still-image recognition,<ref name="book2013c">D. Graupe, "Principles of Artificial Neural Networks.3rd Edition", World Scientific Publishers", 2013, pp. 253–274.</ref> video image recognition,<ref name="Girado">{{cite journal|last2=Sandin|first2=D. J.|last3=DeFanti|first3=T. A.|year=2003|title=Real-time camera-based face detection using a modified LAMSTAR neural network system|url=|journal=Proc. SPIE 5015, Applications of Artificial Neural Networks in Image Processing VIII|volume=5015|issue=|pages=36|page=|doi=10.1117/12.477405|last1=Girado|first1=J. I.|series=Applications of Artificial Neural Networks in Image Processing VIII|bibcode=2003SPIE.5015...36G}}</ref> software security<ref name="VenkSel">{{cite journal|last2=Selvan|first2=S.|year=2007|title=Intrusion Detection using an Improved Competitive Learning Lamstar Network|url=|journal=International Journal of Computer Science and Network Security|volume=7|issue=2|pages=255–263|last1=Venkatachalam|first1=V}}</ref> and adaptive control of non-linear systems.<ref>{{Cite web|url=https://www.researchgate.net/publication/262316982_Control_of_unstable_nonlinear_and_nonstationary_systems_using_LAMSTAR_neural_networks|title=Control of unstable nonlinear and nonstationary systems using LAMSTAR neural networks|last=Graupe|first=D.|last2=Smollack|first2=M.|date=2007|website=ResearchGate|publisher=Proceedings of 10th IASTED on Intelligent Control, Sect.592,|pages=141–144|language=en|archive-url=|archive-date=|dead-url=|access-date=2017-06-14}}</ref> LAMSTAR had a much faster learning speed and somewhat lower error rate than a CNN based on [[ReLU]]-function filters and max pooling, in 20 comparative studies.<ref name="book1016">{{cite book|url={{google books |plainurl=y |id=e5hIDQAAQBAJ|page=57}}|title=Deep Learning Neural Networks: Design and Case Studies|last=Graupe|first=Daniel|date=7 July 2016|publisher=World Scientific Publishing Co Inc|year=|isbn=978-981-314-647-1|location=|pages=57–110}}</ref>
These applications demonstrate delving into aspects of the data that are hidden from shallow learning networks and the human senses, such as in the cases of predicting onset of [[sleep apnea]] events,<ref name=":11" /> of an electrocardiogram of a fetus as recorded from skin-surface electrodes placed on the mother's abdomen early in pregnancy,<ref name="GrGrZh" /> of financial prediction<ref name="book2013" /> or in blind filtering of noisy speech.<ref name="GrAbon" />
LAMSTAR was proposed in 1996 ({{US Patent|5920852 A}}) and was further developed Graupe and Kordylewski from 1997–2002.<ref>{{Cite journal|last=Graupe|first=D.|last2=Kordylewski|first2=H.|date=August 1996|title=Network based on SOM (Self-Organizing-Map) modules combined with statistical decision tools|url=http://ieeexplore.ieee.org/document/594203/|journal=Proceedings of the 39th Midwest Symposium on Circuits and Systems|volume=1|pages=471–474 vol.1|doi=10.1109/mwscas.1996.594203|isbn=0-7803-3636-4}}</ref><ref>{{Cite journal|last=Graupe|first=D.|last2=Kordylewski|first2=H.|date=1998-03-01|title=A Large Memory Storage and Retrieval Neural Network for Adaptive Retrieval and Diagnosis|url=http://www.worldscientific.com/doi/abs/10.1142/S0218194098000091|journal=International Journal of Software Engineering and Knowledge Engineering|volume=08|issue=1|pages=115–138|doi=10.1142/s0218194098000091|issn=0218-1940}}</ref><ref name="Kordylew">{{cite journal|last2=Graupe|first2=D|last3=Liu|first3=K.|year=2001|title=A novel large-memory neural network as an aid in medical diagnosis applications|url=|journal=IEEE Transactions on Information Technology in Biomedicine|volume=5|issue=3|pages=202–209|doi=10.1109/4233.945291|last1=Kordylewski|first1=H.}}</ref> A modified version, known as LAMSTAR 2, was developed by Schneider and Graupe in 2008.<ref name="Schn">{{cite journal|last2=Graupe|year=2008|title=A modified LAMSTAR neural network and its applications|url=|journal=International journal of neural systems|volume=18|issue=4|pages=331–337|doi=10.1142/s0129065708001634|last1=Schneider|first1=N.C.}}</ref><ref name="book2013d">{{harvnb|Graupe|2013|p=217}}</ref>
=== Stacked (de-noising) auto-encoders ===
The [[auto encoder]] idea is motivated by the concept of a ''good'' representation. For example, for a [[Linear classifier|classifier]], a good representation can be defined as one that yields a better-performing classifier.
An ''encoder'' is a deterministic mapping <math>f_\theta</math> that transforms an input vector''''' x''''' into hidden representation '''''y''''', where <math>\theta = \{\boldsymbol{W}, b\}</math>, <math>\boldsymbol{W}</math> is the weight matrix and '''b''' is an offset vector (bias). A ''decoder'' maps back the hidden representation '''y''' to the reconstructed input '''''z''''' via <math>g_\theta</math>. The whole process of auto encoding is to compare this reconstructed input to the original and try to minimize the error to make the reconstructed value as close as possible to the original.
In ''stacked denoising auto encoders'', the partially corrupted output is cleaned (de-noised). This idea was introduced in 2010 by Vincent et al.<ref name="ref9">{{cite journal|last2=Larochelle|first2=Hugo|last3=Lajoie|first3=Isabelle|last4=Bengio|first4=Yoshua|last5=Manzagol|first5=Pierre-Antoine|date=2010|title=Stacked Denoising Autoencoders: Learning Useful Representations in a Deep Network with a Local Denoising Criterion|url=http://dl.acm.org/citation.cfm?id=1953039|journal=The Journal of Machine Learning Research|volume=11|pages=3371–3408|last1=Vincent|first1=Pascal}}</ref> with a specific approach to ''good'' representation, a ''good representation'' is one that can be obtained [[Robustness (computer science)|robustly]] from a corrupted input and that will be useful for recovering the corresponding clean input''.'' Implicit in this definition are the following ideas:
* The higher level representations are relatively stable and robust to input corruption;
* It is necessary to extract features that are useful for representation of the input distribution.
The algorithm starts by a stochastic mapping of <math>\boldsymbol{x}</math> to <math>\tilde{\boldsymbol{x}}</math> through <math>q_D(\tilde{\boldsymbol{x}}|\boldsymbol{x})</math>, this is the corrupting step. Then the corrupted input <math>\tilde{\boldsymbol{x}}</math> passes through a basic auto-encoder process and is mapped to a hidden representation <math>\boldsymbol{y} = f_\theta(\tilde{\boldsymbol{x}}) = s(\boldsymbol{W}\tilde{\boldsymbol{x}}+b)</math>. From this hidden representation, we can reconstruct <math>\boldsymbol{z} = g_\theta(\boldsymbol{y})</math>. In the last stage, a minimization algorithm runs in order to have '''''z''''' as close as possible to uncorrupted input <math>\boldsymbol{x}</math>. The reconstruction error <math>L_H(\boldsymbol{x},\boldsymbol{z})</math> might be either the [[cross-entropy]] loss with an affine-sigmoid decoder, or the squared error loss with an [[Affine transformation|affine]] decoder.<ref name="ref9" />
In order to make a deep architecture, auto encoders stack.<ref name="ballard1987">{{Cite web|url=http://www.aaai.org/Papers/AAAI/1987/AAAI87-050.pdf|title=Modular learning in neural networks|last=Ballard|first=Dana H.|date=1987|website=Proceedings of AAAI|pages=279–284|archive-url=|archive-date=|dead-url=|access-date=}}</ref> Once the encoding function <math>f_\theta</math> of the first denoising auto encoder is learned and used to uncorrupt the input (corrupted input), the second level can be trained.<ref name="ref9" />
Once the stacked auto encoder is trained, its output can be used as the input to a [[supervised learning]] algorithm such as [[support vector machine]] classifier or a multi-class [[logistic regression]].<ref name="ref9" />
=== Deep stacking networks ===
A deep stacking network (DSN)<ref name="ref17">{{cite journal|last2=Yu|first2=Dong|last3=Platt|first3=John|date=2012|title=Scalable stacking and learning for building deep architectures|url=http://research-srv.microsoft.com/pubs/157586/DSN-ICASSP2012.pdf|journal=2012 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)|pages=2133–2136|last1=Deng|first1=Li}}</ref> (deep convex network) is based on a hierarchy of blocks of simplified neural network modules. It was introduced in 2011 by Deng and Dong.<ref name="ref16">{{cite journal|last2=Yu|first2=Dong|date=2011|title=Deep Convex Net: A Scalable Architecture for Speech Pattern Classification|url=http://www.truebluenegotiations.com/files/deepconvexnetwork-interspeech2011-pub.pdf|journal=Proceedings of the Interspeech|pages=2285–2288|last1=Deng|first1=Li}}</ref> It formulates the learning as a [[convex optimization problem]] with a [[Closed-form expression|closed-form solution]], emphasizing the mechanism's similarity to [[Ensemble learning|stacked generalization]].<ref name="ref18">{{cite journal|date=1992|title=Stacked generalization|journal=Neural Networks|volume=5|issue=2|pages=241–259|doi=10.1016/S0893-6080(05)80023-1|last1=David|first1=Wolpert}}</ref> Each DSN block is a simple module that is easy to train by itself in a [[Supervised learning|supervised]] fashion without backpropagation for the entire blocks.<ref>{{Cite journal|last=Bengio|first=Y.|date=2009-11-15|title=Learning Deep Architectures for AI|url=http://www.nowpublishers.com/article/Details/MAL-006|journal=Foundations and Trends® in Machine Learning|language=English|volume=2|issue=1|pages=1–127|doi=10.1561/2200000006|issn=1935-8237}}</ref>
Each block consists of a simplified [[multi-layer perceptron]] (MLP) with a single hidden layer. The hidden layer '''''h''''' has logistic [[Sigmoid function|sigmoidal]] [[Artificial neuron|units]], and the output layer has linear units. Connections between these layers are represented by weight matrix '''''U;''''' input-to-hidden-layer connections have weight matrix '''''W'''''. Target vectors '''''t''''' form the columns of matrix '''''T''''', and the input data vectors '''''x''''' form the columns of matrix '''''X.''''' The matrix of hidden units is <math>\boldsymbol{H} = \sigma(\boldsymbol{W}^T\boldsymbol{X})</math>. Modules are trained in order, so lower-layer weights '''''W''''' are known at each stage. The function performs the element-wise [[Logistic function|logistic sigmoid]] operation. Each block estimates the same final label class ''y'', and its estimate is concatenated with original input '''''X''''' to form the expanded input for the next block. Thus, the input to the first block contains the original data only, while downstream blocks' input adds the output of preceding blocks. Then learning the upper-layer weight matrix '''''U''''' given other weights in the network can be formulated as a convex optimization problem:
: <math>\min_{U^T} f = ||\boldsymbol{U}^T \boldsymbol{H} - \boldsymbol{T}||^2_F,</math>
which has a closed-form solution.
Unlike other deep architectures, such as DBNs, the goal is not to discover the transformed [[Feature (machine learning)|feature]] representation. The structure of the hierarchy of this kind of architecture makes parallel learning straightforward, as a batch-mode optimization problem. In purely [[Discriminative model|discriminative tasks]], DSNs perform better than conventional [[Deep belief network|DBN]]<nowiki/>s.<ref name="ref17" />
=== Tensor deep stacking networks ===
This architecture is a DSN extension. It offers two important improvements: it uses higher-order information from [[covariance]] statistics, and it transforms the [[Convex optimization|non-convex problem]] of a lower-layer to a convex sub-problem of an upper-layer.<ref name="ref19">{{cite journal|last2=Deng|first2=Li|last3=Yu|first3=Dong|date=2012|title=Tensor deep stacking networks|journal=IEEE Transactions on Pattern Analysis and Machine Intelligence|volume=1–15|issue=8|pages=1944–1957|doi=10.1109/tpami.2012.268|last1=Hutchinson|first1=Brian}}</ref> TDSNs use covariance statistics in a [[bilinear map]]ping from each of two distinct sets of hidden units in the same layer to predictions, via a third-order [[tensor]].
While parallelization and scalability are not considered seriously in conventional {{H:title|Deep neural networks|DNNs}},<ref name="ref26">{{cite journal|last2=Salakhutdinov|first2=Ruslan|date=2006|title=Reducing the Dimensionality of Data with Neural Networks|journal=Science|volume=313|issue=5786|pages=504–507|doi=10.1126/science.1127647|pmid=16873662|last1=Hinton|first1=Geoffrey|bibcode=2006Sci...313..504H}}</ref><ref name="ref27">{{cite journal|last2=Yu|first2=D.|last3=Deng|first3=L.|last4=Acero|first4=A.|date=2012|title=Context-Dependent Pre-Trained Deep Neural Networks for Large-Vocabulary Speech Recognition|journal=IEEE Transactions on Audio, Speech, and Language Processing|volume=20|issue=1|pages=30–42|doi=10.1109/tasl.2011.2134090|last1=Dahl|first1=G.}}</ref><ref name="ref28">{{cite journal|last2=Dahl|first2=George|last3=Hinton|first3=Geoffrey|date=2012|title=Acoustic Modeling Using Deep Belief Networks|journal=IEEE Transactions on Audio, Speech, and Language Processing|volume=20|issue=1|pages=14–22|doi=10.1109/tasl.2011.2109382|last1=Mohamed|first1=Abdel-rahman}}</ref> all learning for {{H:title|Deep stacking network|DSN}}s and {{H:title|Tensor deep stacking network|TDSN}}s is done in batch mode, to allow parallelization.<ref name="ref16" /><ref name="ref17" /> Parallelization allows scaling the design to larger (deeper) architectures and data sets.
The basic architecture is suitable for diverse tasks such as [[Statistical classification|classification]] and [[Regression analysis|regression]].
=== Spike-and-slab RBMs ===
The need for deep learning with [[Real number|real-valued]] inputs, as in Gaussian restricted Boltzmann machines, led to the ''spike-and-slab'' [[Restricted Boltzmann machine|RBM]] (''ss''[[Restricted Boltzmann machine|RBM]]), which models continuous-valued inputs with strictly [[Binary variable|binary]] [[latent variable]]s.<ref name="ref30">{{cite journal|last2=Bergstra|first2=James|last3=Bengio|first3=Yoshua|date=2011|title=A Spike and Slab Restricted Boltzmann Machine|url=http://machinelearning.wustl.edu/mlpapers/paper_files/AISTATS2011_CourvilleBB11.pdf|journal=JMLR: Workshop and Conference Proceeding|volume=15|pages=233–241|last1=Courville|first1=Aaron}}</ref> Similar to basic [[Restricted Boltzmann machine|RBMs]] and its variants, a spike-and-slab [[Restricted Boltzmann machine|RBM]] is a [[bipartite graph]], while like [[Restricted Boltzmann machine|GRBMs]], the visible units (input) are real-valued. The difference is in the hidden layer, where each hidden unit has a binary spike variable and a real-valued slab variable. A spike is a discrete [[probability mass]] at zero, while a slab is a [[Probability density|density]] over continuous domain;<ref name="ref32">{{cite conference|last1=Courville|first1=Aaron|last2=Bergstra|first2=James|last3=Bengio|first3=Yoshua|chapter=Unsupervised Models of Images by Spike-and-Slab RBMs|title=Proceedings of the 28th International Conference on Machine Learning|volume=10|pages=1–8|date=2011|url=http://machinelearning.wustl.edu/mlpapers/paper_files/ICML2011Courville_591.pdf}}</ref> their mixture forms a [[Prior probability|prior]].<ref name="ref31">{{cite journal|last2=Beauchamp|first2=J|date=1988|title=Bayesian Variable Selection in Linear Regression|journal=Journal of the American Statistical Association|volume=83|issue=404|pages=1023–1032|doi=10.1080/01621459.1988.10478694|last1=Mitchell|first1=T}}</ref>
An extension of ss[[Restricted Boltzmann machine|RBM]] called µ-ss[[Restricted Boltzmann machine|RBM]] provides extra modeling capacity using additional terms in the [[energy function]]. One of these terms enables the model to form a [[Conditional probability distribution|conditional distribution]] of the spike variables by [[marginalizing out]] the slab variables given an observation.
=== Compound hierarchical-deep models ===
Compound hierarchical-deep models compose deep networks with non-parametric [[Bayesian network|Bayesian models]]. [[Feature (machine learning)|Features]] can be learned using deep architectures such as DBNs,<ref name="hinton2006" /> DBMs,<ref name="ref3">{{cite journal|last1=Hinton|first1=Geoffrey|last2=Salakhutdinov|first2=Ruslan|date=2009|title=Efficient Learning of Deep Boltzmann Machines|url=http://machinelearning.wustl.edu/mlpapers/paper_files/AISTATS09_SalakhutdinovH.pdf|volume=3|pages=448–455}}</ref> deep auto encoders,<ref name="ref15">{{cite journal|last2=Bengio|first2=Yoshua|last3=Louradour|first3=Jerdme|last4=Lamblin|first4=Pascal|date=2009|title=Exploring Strategies for Training Deep Neural Networks|url=http://dl.acm.org/citation.cfm?id=1577070|journal=The Journal of Machine Learning Research|volume=10|pages=1–40|last1=Larochelle|first1=Hugo}}</ref> convolutional variants,<ref name="ref39">{{cite journal|last2=Carpenter|first2=Blake|date=2011|title=Text Detection and Character Recognition in Scene Images with Unsupervised Feature Learning|url=http://www.iapr-tc11.org/archive/icdar2011/fileup/PDF/4520a440.pdf|journal=|volume=|pages=440–445|via=|last1=Coates|first1=Adam}}</ref><ref name="ref40">{{cite journal|last2=Grosse|first2=Roger|date=2009|title=Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations|url=http://portal.acm.org/citation.cfm?doid=1553374.1553453|journal=Proceedings of the 26th Annual International Conference on Machine Learning|pages=1–8|last1=Lee|first1=Honglak}}</ref> ssRBMs,<ref name="ref32" /> deep coding networks,<ref name="ref41">{{cite journal|last2=Zhang|first2=Tong|date=2010|title=Deep Coding Network|url=http://machinelearning.wustl.edu/mlpapers/paper_files/NIPS2010_1077.pdf|journal=Advances in Neural . . .|pages=1–9|last1=Lin|first1=Yuanqing}}</ref> DBNs with sparse feature learning,<ref name="ref42">{{cite journal|last2=Boureau|first2=Y-Lan|date=2007|title=Sparse Feature Learning for Deep Belief Networks|url=http://machinelearning.wustl.edu/mlpapers/paper_files/NIPS2007_1118.pdf|journal=Advances in Neural Information Processing Systems|volume=23|pages=1–8|last1=Ranzato|first1=Marc Aurelio}}</ref> RNNs,<ref name="ref43">{{cite journal|last2=Lin|first2=Clif|date=2011|title=Parsing Natural Scenes and Natural Language with Recursive Neural Networks|url=http://machinelearning.wustl.edu/mlpapers/paper_files/ICML2011Socher_125.pdf|journal=Proceedings of the 26th International Conference on Machine Learning|last1=Socher|first1=Richard}}</ref> conditional DBNs,<ref name="ref44">{{cite journal|last2=Hinton|first2=Geoffrey|date=2006|title=Modeling Human Motion Using Binary Latent Variables|url=http://machinelearning.wustl.edu/mlpapers/paper_files/NIPS2006_693.pdf|journal=Advances in Neural Information Processing Systems|last1=Taylor|first1=Graham}}</ref> de-noising auto encoders.<ref name="ref45">{{cite journal|last2=Larochelle|first2=Hugo|date=2008|title=Extracting and composing robust features with denoising autoencoders|url=http://portal.acm.org/citation.cfm?doid=1390156.1390294|journal=Proceedings of the 25th international conference on Machine learning – ICML '08|pages=1096–1103|last1=Vincent|first1=Pascal}}</ref> This provides a better representation, allowing faster learning and more accurate classification with high-dimensional data. However, these architectures are poor at learning novel classes with few examples, because all network units are involved in representing the input (a '''{{visible anchor|distributed representation}}''') and must be adjusted together (high [[degree of freedom]]). Limiting the degree of freedom reduces the number of parameters to learn, facilitating learning of new classes from few examples. [[Hierarchical Bayesian model|''Hierarchical Bayesian (HB)'' models]] allow learning from few examples, for example<ref name="ref34">{{cite journal|last2=Perfors|first2=Amy|last3=Tenenbaum|first3=Joshua|date=2007|title=Learning overhypotheses with hierarchical Bayesian models|journal=Developmental Science|volume=10|issue=3|pages=307–21|doi=10.1111/j.1467-7687.2007.00585.x|pmid=17444972|last1=Kemp|first1=Charles}}</ref><ref name="ref37">{{cite journal|last2=Tenenbaum|first2=Joshua|date=2007|title=Word learning as Bayesian inference|journal=Psychol. Rev.|volume=114|issue=2|pages=245–72|doi=10.1037/0033-295X.114.2.245|pmid=17500627|last1=Xu|first1=Fei}}</ref><ref name="ref46">{{cite journal|last2=Polatkan|first2=Gungor|date=2011|title=The Hierarchical Beta Process for Convolutional Factor Analysis and Deep Learning|url=http://machinelearning.wustl.edu/mlpapers/paper_files/ICML2011Chen_251.pdf|journal=Machine Learning . . .|last1=Chen|first1=Bo}}</ref><ref name="ref47">{{cite journal|last2=Fergus|first2=Rob|date=2006|title=One-shot learning of object categories|journal=IEEE Transactions on Pattern Analysis and Machine Intelligence|volume=28|issue=4|pages=594–611|doi=10.1109/TPAMI.2006.79|pmid=16566508|last1=Fei-Fei|first1=Li}}</ref><ref name="ref48">{{cite journal|last2=Dunson|first2=David|date=2008|title=The Nested Dirichlet Process|url=http://amstat.tandfonline.com/doi/full/10.1198/016214508000000553|journal=Journal of the American Statistical Association|volume=103|issue=483|pages=1131–1154|doi=10.1198/016214508000000553|last1=Rodriguez|first1=Abel}}</ref> for computer vision, [[statistics]] and cognitive science.
Compound HD architectures aim to integrate characteristics of both HB and deep networks. The compound HDP-DBM architecture is a ''[[hierarchical Dirichlet process]] (HDP)'' as a hierarchical model, incorporated with DBM architecture. It is a full [[generative model]], generalized from abstract concepts flowing through the layers of the model, which is able to synthesize new examples in novel classes that look "reasonably" natural. All the levels are learned jointly by maximizing a joint [[Log probability|log-probability]] [[Score (statistics)|score]].<ref name="ref38">{{cite journal|last2=Joshua|first2=Tenenbaum|date=2012|title=Learning with Hierarchical-Deep Models|journal=IEEE Transactions on Pattern Analysis and Machine Intelligence|volume=35|issue=8|pages=1958–71|doi=10.1109/TPAMI.2012.269|pmid=23787346|last1=Ruslan|first1=Salakhutdinov}}</ref>
In a DBM with three hidden layers, the probability of a visible input '''{{mvar|ν}}''' is:
: <math>p(\boldsymbol{\nu}, \psi) = \frac{1}{Z}\sum_h e^{\sum_{ij}W_{ij}^{(1)}\nu_i h_j^1 + \sum_{jl}W_{jl}^{(2)}h_j^{1}h_l^{2}+\sum_{lm}W_{lm}^{(3)}h_l^{2}h_m^{3}},</math>
where <math>\boldsymbol{h} = \{\boldsymbol{h}^{(1)}, \boldsymbol{h}^{(2)}, \boldsymbol{h}^{(3)} \}</math> is the set of hidden units, and <math>\psi = \{\boldsymbol{W}^{(1)}, \boldsymbol{W}^{(2)}, \boldsymbol{W}^{(3)} \} </math> are the model parameters, representing visible-hidden and hidden-hidden symmetric interaction terms.
A learned DBM model is an undirected model that defines the joint distribution <math>P(\nu, h^1, h^2, h^3)</math>. One way to express what has been learned is the [[Discriminative model|conditional model]] <math>P(\nu, h^1, h^2|h^3)</math> and a prior term <math>P(h^3)</math>.
Here <math>P(\nu, h^1, h^2|h^3)</math> represents a conditional DBM model, which can be viewed as a two-layer DBM but with bias terms given by the states of <math>h^3</math>:
: <math>P(\nu, h^1, h^2|h^3) = \frac{1}{Z(\psi, h^3)}e^{\sum_{ij}W_{ij}^{(1)}\nu_i h_j^1 + \sum_{jl}W_{jl}^{(2)}h_j^{1}h_l^{2}+\sum_{lm}W_{lm}^{(3)}h_l^{2}h_m^{3}}.</math>
=== Deep predictive coding networks ===
A deep predictive coding network (DPCN) is a [[Predictive modelling|predictive]] coding scheme that uses top-down information to empirically adjust the priors needed for a bottom-up [[inference]] procedure by means of a deep, locally connected, [[generative model]]. This works by extracting sparse [[Feature (machine learning)|features]] from time-varying observations using a linear dynamical model. Then, a pooling strategy is used to learn invariant feature representations. These units compose to form a deep architecture and are trained by [[Greedy algorithm|greedy]] layer-wise [[unsupervised learning]]. The layers constitute a kind of [[Markov chain]] such that the states at any layer depend only on the preceding and succeeding layers.
DPCNs predict the representation of the layer, by using a top-down approach using the information in upper layer and temporal dependencies from previous states.<ref name="ref56">{{cite arXiv|eprint=1301.3541|first2=Jose|last2=Principe|title=Deep Predictive Coding Networks|date=2013|last1=Chalasani|first1=Rakesh|class=cs.LG}}</ref>
DPCNs can be extended to form a [[Convolutional neural network|convolutional network]].<ref name="ref56" />
=== Networks with separate memory structures ===
Integrating external memory with ANNs dates to early research in distributed representations<ref name="Hinton, Geoffrey E 19842">{{Cite web|url=http://repository.cmu.edu/cgi/viewcontent.cgi?article=2841&context=compsci|title=Distributed representations|last=Hinton|first=Geoffrey E.|date=1984|website=|archive-url=|archive-date=|dead-url=|access-date=}}</ref> and [[Teuvo Kohonen|Kohonen]]'s [[self-organizing map]]s. For example, in [[sparse distributed memory]] or [[hierarchical temporal memory]], the patterns encoded by neural networks are used as addresses for [[content-addressable memory]], with "neurons" essentially serving as address [[encoder]]s and [[Binary decoder|decoders]]. However, the early controllers of such memories were not differentiable.
==== LSTM-related differentiable memory structures ====
Apart from [[long short-term memory]] (LSTM), other approaches also added differentiable memory to recurrent functions. For example:
* Differentiable push and pop actions for alternative memory networks called neural stack machines<ref name="S. Das, C.L. Giles p. 79">S. Das, C.L. Giles, G.Z. Sun, "Learning Context Free Grammars: Limitations of a Recurrent Neural Network with an External Stack Memory," Proc. 14th Annual Conf. of the Cog. Sci. Soc., p. 79, 1992.</ref><ref name="Mozer, M. C. 1993 pp. 863-870">{{Cite web|url=https://papers.nips.cc/paper/626-a-connectionist-symbol-manipulator-that-discovers-the-structure-of-context-free-languages|title=A connectionist symbol manipulator that discovers the structure of context-free languages|last=Mozer|first=M. C.|last2=Das|first2=S.|date=1993|website=|publisher=NIPS 5|pages=863–870|archive-url=|archive-date=|dead-url=|access-date=}}</ref>
* Memory networks where the control network's external differentiable storage is in the fast weights of another network<ref name="ReferenceC">{{cite journal|year=1992|title=Learning to control fast-weight memories: An alternative to recurrent nets|url=|journal=Neural Computation|volume=4|issue=1|pages=131–139|doi=10.1162/neco.1992.4.1.131|last1=Schmidhuber|first1=J.}}</ref>
* LSTM forget gates<ref name="F. Gers, N. Schraudolph 2002">{{cite journal|last2=Schraudolph|first2=N.|last3=Schmidhuber|first3=J.|date=|year=2002|title=Learning precise timing with LSTM recurrent networks|url=http://jmlr.org/papers/volume3/gers02a/gers02a.pdf|journal=JMLR|volume=3|issue=|pages=115–143|via=|last1=Gers|first1=F.}}</ref>
* Self-referential RNNs with special output units for addressing and rapidly manipulating the RNN's own weights in differentiable fashion (internal storage)<ref name="J. Schmidhuber pages 191-195">{{Cite conference|author=[[Jürgen Schmidhuber]]|title=An introspective network that can learn to run its own weight change algorithm|booktitle=In Proc. of the Intl. Conf. on Artificial Neural Networks, Brighton|pages=191–195|publisher=IEE|year=1993|url=ftp://ftp.idsia.ch/pub/juergen/iee93self.ps.gz}}</ref><ref name="Hochreiter, Sepp 2001">{{cite journal|last2=Younger|first2=A. Steven|last3=Conwell|first3=Peter R.|date=|year=2001|title=Learning to Learn Using Gradient Descent|url=http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.5.323|journal=ICANN|volume=2130|issue=|pages=87–94|doi=|via=|last1=Hochreiter|first1=Sepp}}</ref>
* Learning to transduce with unbounded memory<ref name="Grefenstette, Edward 1506">Grefenstette, Edward, et al. [https://arxiv.org/pdf/1506.02516.pdf "Learning to Transduce with Unbounded Memory."]{{arxiv|1506.02516}} (2015).</ref>
===== Neural Turing machines =====
{{Main|Neural Turing machine}}Neural Turing machines<ref name="Graves, Alex 14102">Graves, Alex, Greg Wayne, and Ivo Danihelka. "Neural Turing Machines." {{arxiv|1410.5401}} (2014).</ref> couple LSTM networks to external memory resources, with which they can interact by attentional processes. The combined system is analogous to a [[Turing machine]] but is differentiable end-to-end, allowing it to be efficiently trained by [[gradient descent]]. Preliminary results demonstrate that neural Turing machines can infer simple algorithms such as copying, sorting and associative recall from input and output examples.
[[Differentiable neural computer]]s (DNC) are an NTM extension. They out-performed Neural turing machines, [[long short-term memory]] systems and memory networks on sequence-processing tasks.<ref name=":02">{{Cite news|url=https://www.wired.co.uk/article/deepmind-ai-tube-london-underground|title=DeepMind's AI learned to ride the London Underground using human-like reason and memory|last=Burgess|first=Matt|newspaper=WIRED UK|language=en-GB|access-date=2016-10-19}}</ref><ref>{{Cite news|url=https://www.pcmag.com/news/348701/deepmind-ai-learns-to-navigate-london-tube|title=DeepMind AI 'Learns' to Navigate London Tube|newspaper=PCMAG|access-date=2016-10-19}}</ref><ref>{{Cite web|url=https://techcrunch.com/2016/10/13/__trashed-2/|title=DeepMind's differentiable neural computer helps you navigate the subway with its memory|last=Mannes|first=John|website=TechCrunch|access-date=2016-10-19}}</ref><ref>{{Cite journal|last=Graves|first=Alex|last2=Wayne|first2=Greg|last3=Reynolds|first3=Malcolm|last4=Harley|first4=Tim|last5=Danihelka|first5=Ivo|last6=Grabska-Barwińska|first6=Agnieszka|last7=Colmenarejo|first7=Sergio Gómez|last8=Grefenstette|first8=Edward|last9=Ramalho|first9=Tiago|date=2016-10-12|title=Hybrid computing using a neural network with dynamic external memory|url=http://www.nature.com/nature/journal/vaop/ncurrent/full/nature20101.html|journal=Nature|language=en|volume=538|issue=7626|doi=10.1038/nature20101|issn=1476-4687|pages=471–476|pmid=27732574|bibcode=2016Natur.538..471G}}</ref><ref>{{Cite web|url=https://deepmind.com/blog/differentiable-neural-computers/|title=Differentiable neural computers {{!}} DeepMind|website=DeepMind|access-date=2016-10-19}}</ref>
==== Semantic hashing ====
Approaches that represent previous experiences directly and [[Instance-based learning|use a similar experience to form a local model]] are often called [[K-nearest neighbor algorithm|nearest neighbour]] or [[K-nearest neighbors algorithm|k-nearest neighbors]] methods.<ref>{{cite journal|last2=Schaal|first2=Stefan|year=1995|title=Memory-based neural networks for robot learning|url=|journal=Neurocomputing|volume=9|issue=3|pages=243–269|doi=10.1016/0925-2312(95)00033-6|last1=Atkeson|first1=Christopher G.}}</ref> Deep learning is useful in semantic hashing<ref>Salakhutdinov, Ruslan, and Geoffrey Hinton. [http://www.utstat.toronto.edu/~rsalakhu/papers/sdarticle.pdf "Semantic hashing."] International Journal of Approximate Reasoning 50.7 (2009): 969–978.</ref> where a deep [[graphical model]] the word-count vectors<ref name="Le 2014">{{Cite arXiv|eprint=1405.4053|first=Quoc V.|last=Le|first2=Tomas|last2=Mikolov|title=Distributed representations of sentences and documents|year=2014|class=cs.CL}}</ref> obtained from a large set of documents.{{Clarify|reason=verb missing|date=June 2017}} 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 accessing all the addresses that differ by only a few bits from the address of the query document. Unlike [[sparse distributed memory]] that operates on 1000-bit addresses, semantic hashing works on 32 or 64-bit addresses found in a conventional computer architecture.
==== Memory networks ====
Memory networks<ref name="Weston, Jason 14102">Weston, Jason, Sumit Chopra, and Antoine Bordes. "Memory networks." {{arxiv|1410.3916}} (2014).</ref><ref>Sukhbaatar, Sainbayar, et al. "End-To-End Memory Networks." {{arxiv|1503.08895}} (2015).</ref> are another extension to neural networks incorporating [[long-term memory]]. The 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 (dynamic) knowledge base and the output is a textual response.<ref>Bordes, Antoine, et al. "Large-scale Simple Question Answering with Memory Networks." {{arxiv|1506.02075}} (2015).</ref> A team of electrical and computer engineers from UCLA Samueli School of Engineering has created a physical artificial neural network. That can analyze large volumes of data and identify objects at the actual speed of light.<ref>{{Cite news|url=https://www.sciencedaily.com/releases/2018/08/180802130750.htm|title=AI device identifies objects at the speed of light: The 3D-printed artificial neural network can be used in medicine, robotics and security|work=ScienceDaily|access-date=2018-08-08|language=en}}</ref>
==== Pointer networks ====
Deep neural networks can be potentially improved by deepening and parameter reduction, while maintaining trainability. While training extremely deep (e.g., 1 million layers) neural networks might not be practical, [[CPU]]-like architectures such as pointer networks<ref>Vinyals, Oriol, Meire Fortunato, and Navdeep Jaitly. "Pointer networks." {{arxiv|1506.03134}} (2015).</ref> and neural random-access machines<ref>Kurach, Karol, Andrychowicz, Marcin and Sutskever, Ilya. "Neural Random-Access Machines." {{arxiv|1511.06392}} (2015).</ref> overcome this limitation by using external [[random-access memory]] and other components that typically belong to a [[computer architecture]] such as [[Processor register|registers]], [[Arithmetic logic unit|ALU]] and [[Pointer (computer programming)|pointers]]. Such systems operate on [[probability distribution]] vectors stored in memory cells and registers. Thus, the model is fully differentiable and trains end-to-end. The key characteristic of these models is that their depth, the size of their short-term memory, and the number of parameters can be altered independently – unlike models like LSTM, whose number of parameters grows quadratically with memory size.
==== Encoder–decoder networks ====
Encoder–decoder frameworks are based on neural networks that map highly [[Structured prediction|structured]] input to highly structured output. The approach arose in the context of [[machine translation]],<ref>{{Cite web|url=http://www.aclweb.org/anthology/D13-1176|title=Recurrent continuous translation models|last=Kalchbrenner|first=N.|last2=Blunsom|first2=P.|date=2013|website=|publisher=EMNLP'2013|archive-url=|archive-date=|dead-url=|access-date=}}</ref><ref>{{Cite web|url=https://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf|title=Sequence to sequence learning with neural networks|last=Sutskever|first=I.|last2=Vinyals|first2=O.|date=2014|website=|publisher=NIPS'2014|archive-url=|archive-date=|dead-url=|access-date=|last3=Le|first3=Q. V.}}</ref><ref>{{Cite journal|last=Cho|first=K.|last2=van Merrienboer|first2=B.|last3=Gulcehre|first3=C.|last4=Bougares|first4=F.|last5=Schwenk|first5=H.|last6=Bengio|first6=Y.|date=October 2014|title=Learning phrase representations using RNN encoder-decoder for statistical machine translation|journal=Proceedings of the Empiricial Methods in Natural Language Processing|volume=1406|pages=arXiv:1406.1078|via=|arxiv=1406.1078|bibcode=2014arXiv1406.1078C}}</ref> where the input and output are written sentences in two natural languages. In that work, an LSTM RNN or CNN was used as an encoder to summarize a source sentence, and the summary was decoded using a conditional RNN [[language model]] to produce the translation.<ref>Cho, Kyunghyun, Aaron Courville, and Yoshua Bengio. "Describing Multimedia Content using Attention-based Encoder–Decoder Networks." {{arxiv|1507.01053}} (2015).</ref> These systems share building blocks: gated RNNs and CNNs and trained attention mechanisms.
=== Multilayer kernel machine ===
Multilayer kernel machines (MKM) are a way of learning highly nonlinear functions by iterative application of weakly nonlinear kernels. They use the [[kernel principal component analysis]] (KPCA),<ref name="ref60">{{cite journal|last2=Smola|first2=Alexander|date=1998|title=Nonlinear component analysis as a kernel eigenvalue problem|journal=Neural computation|volume=(44)|issue=5|pages=1299–1319|doi=10.1162/089976698300017467|last1=Scholkopf|first1=B|citeseerx=10.1.1.53.8911}}</ref> as a method for the [[Unsupervised learning|unsupervised]] greedy layer-wise pre-training step of deep learning.<ref name="ref59">{{cite journal|date=2012|title=Kernel Methods for Deep Learning|url=http://cseweb.ucsd.edu/~yoc002/paper/thesis_youngmincho.pdf|pages=1–9|last1=Cho|first1=Youngmin}}</ref>
Layer <math>l+1</math> learns the representation of the previous layer <math>l</math>, extracting the <math>n_l</math> [[Principal component analysis|principal component]] (PC) of the projection layer <math>l</math> output in the feature domain induced by the kernel. For the sake of [[dimensionality reduction]] of the updated representation in each layer, a [[Supervised learning|supervised strategy]] selects the best informative features among features extracted by KPCA. The process is:
* rank the <math>n_l</math> features according to their [[mutual information]] with the class labels;
* for different values of ''K'' and <math>m_l \in\{1, \ldots, n_l\}</math>, compute the classification error rate of a ''[[K-nearest neighbor]] (K-NN)'' classifier using only the <math>m_l</math> most informative features on a [[validation set]];
* the value of <math>m_l</math> with which the classifier has reached the lowest error rate determines the number of features to retain.
Some drawbacks accompany the KPCA method as the building cells of an MKM.
A more straightforward way to use kernel machines for deep learning was developed for spoken language understanding.<ref>{{Cite journal|last=Deng|first=Li|last2=Tur|first2=Gokhan|last3=He|first3=Xiaodong|last4=Hakkani-Tür|first4=Dilek|date=2012-12-01|title=Use of Kernel Deep Convex Networks and End-To-End Learning for Spoken Language Understanding|url=https://www.microsoft.com/en-us/research/publication/use-of-kernel-deep-convex-networks-and-end-to-end-learning-for-spoken-language-understanding/|journal=Microsoft Research|language=en-US}}</ref> The main idea is to use a kernel machine to approximate a shallow neural net with an infinite number of hidden units, then use [[Deep learning#Deep stacking networks|stacking]] to splice the output of the kernel machine and the raw input in building the next, higher level of the kernel machine. The number of levels in the deep convex network is a hyper-parameter of the overall system, to be determined by cross validation.
== Neural architecture search ==
{{Main|Neural architecture search}}
Neural architecture search (NAS) uses machine learning to automate the design of ANNs. Various approaches to NAS have designed networks that compare well with hand-designed systems. The basic search algorithm is to propose a candidate model, evaluate it against a dataset and use the results as feedback to teach the NAS network.<ref>{{cite arxiv|last=Zoph|first=Barret|last2=Le|first2=Quoc V.|date=2016-11-04|title=Neural Architecture Search with Reinforcement Learning|eprint=1611.01578|class=cs.LG}}</ref>
== Use ==
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 [[hyperparameter]]s 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|date=June 2017}}
* [[Function approximation]], or [[regression analysis]], including [[Time series#Prediction and forecasting|time series prediction]], [[fitness approximation]] and modeling.
* [[Statistical classification|Classification]], including [[Pattern recognition|pattern]] and sequence recognition, [[novelty detection]] and sequential decision making.
* [[Data processing]], including filtering, clustering, [[blind source separation]] and compression.
* [[Robotics]], including directing manipulators and [[prosthesis|prostheses]].
* [[Control engineering|Control]], including [[computer numerical control]].
==Applications==
Because of their ability to reproduce and model nonlinear processes, ANNs have found many applications in a wide range of disciplines.
Application areas include [[system identification]] and control (vehicle control, trajectory prediction,<ref>{{cite journal|last1=Zissis|first1=Dimitrios|title=A cloud based architecture capable of perceiving and predicting multiple vessel behaviour|journal=Applied Soft Computing|date=October 2015|volume=35|url=http://www.sciencedirect.com/science/article/pii/S1568494615004329|doi=10.1016/j.asoc.2015.07.002|pages=652–661}}</ref> [[process control]], [[natural resource management]]), [[quantum chemistry]],<ref name="Balabin_2009">{{Cite journal|journal=[[J. Chem. Phys.]] |volume = 131 |issue = 7 |page = 074104 |doi=10.1063/1.3206326 |title=Neural network approach to quantum-chemistry data: Accurate prediction of density functional theory energies |year=2009 |author1=Roman M. Balabin |author2=Ekaterina I. Lomakina |pmid=19708729|bibcode = 2009JChPh.131g4104B }}</ref> game-playing and [[decision making]] ([[backgammon]], [[chess]], [[poker]]), [[pattern recognition]] (radar systems, [[Facial recognition system|face identification]], signal classification,<ref>{{cite journal|last=Sengupta|first=Nandini|author2=Sahidullah, Md|author3=Saha, Goutam|title=Lung sound classification using cepstral-based statistical features|journal=Computers in Biology and Medicine|date=August 2016|volume=75|issue=1|pages=118–129|doi=10.1016/j.compbiomed.2016.05.013|url=http://www.sciencedirect.com/science/article/pii/S0010482516301263}}</ref> object recognition and more), sequence recognition (gesture, speech, handwritten and printed text recognition), [[medical diagnosis]], finance<ref>{{cite journal|last1=French|first1=Jordan|title=The time traveller's CAPM|journal=Investment Analysts Journal|volume=46|issue=2|pages=81–96|doi=10.1080/10293523.2016.1255469|url=http://www.tandfonline.com/doi/abs/10.1080/10293523.2016.1255469|year=2016}}</ref> (e.g. [[algorithmic trading|automated trading systems]]), [[data mining]], visualization, [[machine translation]], social network filtering<ref>{{Cite news|url=https://www.wsj.com/articles/facebook-boosts-a-i-to-block-terrorist-propaganda-1497546000|title=Facebook Boosts A.I. to Block Terrorist Propaganda|last=Schechner|first=Sam|date=2017-06-15|work=Wall Street Journal|access-date=2017-06-16|language=en-US|issn=0099-9660}}</ref> and [[e-mail spam]] filtering.
ANNs have been used to diagnose cancers, including [[lung cancer]],<ref>{{cite web|last=Ganesan|first=N|title=Application of Neural Networks in Diagnosing Cancer Disease Using Demographic Data|url=http://www.ijcaonline.org/journal/number26/pxc387783.pdf|publisher=International Journal of Computer Applications}}</ref> [[prostate cancer]], [[colorectal cancer]]<ref>{{cite web|url=http://www.lcc.uma.es/~jja/recidiva/042.pdf|title=Artificial Neural Networks Applied to Outcome Prediction for Colorectal Cancer Patients in Separate Institutions|last=Bottaci|first=Leonardo|publisher=The Lancet}}</ref> and to distinguish highly invasive cancer cell lines from less invasive lines using only cell shape information.<ref>{{cite journal|last2=Lyons|first2=Samanthe M|last3=Castle|first3=Jordan M|last4=Prasad|first4=Ashok|date=2016|title=Measuring systematic changes in invasive cancer cell shape using Zernike moments|url=http://pubs.rsc.org/en/Content/ArticleLanding/2016/IB/C6IB00100A#!divAbstract|journal=Integrative Biology|volume=8|issue=11|pages=1183–1193|doi=10.1039/C6IB00100A|pmid=27735002|last1=Alizadeh|first1=Elaheh}}</ref><ref>{{cite journal|date=2016|title=Changes in cell shape are correlated with metastatic potential in murine|url=http://bio.biologists.org/content/5/3/289|journal=Biology Open|volume=5|issue=3|pages=289–299|doi=10.1242/bio.013409|last1=Lyons|first1=Samanthe}}</ref>
ANNs have been used to accelerate reliability analysis of infrastructures subject to natural disasters.<ref>{{cite arxiv|last=Nabian|first=Mohammad Amin|last2=Meidani|first2=Hadi|date=2017-08-28|title=Deep Learning for Accelerated Reliability Analysis of Infrastructure Networks|eprint=1708.08551|class=cs.CE}}</ref><ref>{{Cite journal|last=Nabian|first=Mohammad Amin|last2=Meidani|first2=Hadi|date=2018|title=Accelerating Stochastic Assessment of Post-Earthquake Transportation Network Connectivity via Machine-Learning-Based Surrogates|url=https://trid.trb.org/view/1496617|journal=Transportation Research Board 97th Annual Meeting|volume=|pages=|via=}}</ref>
ANNs have also been used for building black-box models in [[geoscience]]: [[hydrology]],<ref>{{Cite journal|last=null null|date=2000-04-01|title=Artificial Neural Networks in Hydrology. I: Preliminary Concepts|url=http://ascelibrary.org/doi/abs/10.1061/(ASCE)1084-0699(2000)5:2(115)|journal=Journal of Hydrologic Engineering|volume=5|issue=2|pages=115–123|doi=10.1061/(ASCE)1084-0699(2000)5:2(115)}}</ref><ref>{{Cite journal|last=null null|date=2000-04-01|title=Artificial Neural Networks in Hydrology. II: Hydrologic Applications|url=http://ascelibrary.org/doi/abs/10.1061/(ASCE)1084-0699(2000)5:2(124)|journal=Journal of Hydrologic Engineering|volume=5|issue=2|pages=124–137|doi=10.1061/(ASCE)1084-0699(2000)5:2(124)}}</ref> ocean modelling and [[coastal engineering]],<ref>{{Cite journal|last=Peres|first=D. J.|last2=Iuppa|first2=C.|last3=Cavallaro|first3=L.|last4=Cancelliere|first4=A.|last5=Foti|first5=E.|date=2015-10-01|title=Significant wave height record extension by neural networks and reanalysis wind data|url=http://www.sciencedirect.com/science/article/pii/S1463500315001432|journal=Ocean Modelling|volume=94|pages=128–140|doi=10.1016/j.ocemod.2015.08.002|bibcode=2015OcMod..94..128P}}</ref><ref>{{Cite journal|last=Dwarakish|first=G. S.|last2=Rakshith|first2=Shetty|last3=Natesan|first3=Usha|date=2013|title=Review on Applications of Neural Network in Coastal Engineering|url=http://www.ciitresearch.org/dl/index.php/aiml/article/view/AIML072013007|journal=Artificial Intelligent Systems and Machine Learning|language=English|volume=5|issue=7|pages=324–331}}</ref> and [[geomorphology]],<ref>{{Cite journal|last=Ermini|first=Leonardo|last2=Catani|first2=Filippo|last3=Casagli|first3=Nicola|date=2005-03-01|title=Artificial Neural Networks applied to landslide susceptibility assessment|url=http://www.sciencedirect.com/science/article/pii/S0169555X04002272|journal=Geomorphology|series=Geomorphological hazard and human impact in mountain environments|volume=66|issue=1|pages=327–343|doi=10.1016/j.geomorph.2004.09.025|bibcode=2005Geomo..66..327E}}</ref> are just few examples of this kind.
===Types of models===
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 [[biological neuron models|individual neurons]],<ref>{{cite journal | author=Forrest MD |title=Simulation of alcohol action upon a detailed Purkinje neuron model and a simpler surrogate model that runs >400 times faster |journal= BMC Neuroscience | volume=16 |issue=27 | date=April 2015 |doi=10.1186/s12868-015-0162-6 |url=http://www.biomedcentral.com/1471-2202/16/27 }}</ref> 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.
==Theoretical properties==
===Computational power===
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|universal Turing machine]],<ref>{{Cite journal| title = Turing computability with neural nets | url = http://www.math.rutgers.edu/~sontag/FTPDIR/aml-turing.pdf | year = 1991 | journal = Appl. Math. Lett. | pages = 77–80 | volume = 4 | issue = 6 | last1 = Siegelmann | first1 = H.T. | last2 = Sontag | first2 = E.D. | doi = 10.1016/0893-9659(91)90080-F }}</ref> using a finite number of neurons and standard linear connections. Further, the use of irrational values for weights results in a machine with [[Hypercomputation|super-Turing]] power.<ref>{{cite journal |last1=Balcázar |first1=José |title=Computational Power of Neural Networks: A Kolmogorov Complexity Characterization |journal=Information Theory, IEEE Transactions on |date=Jul 1997 |volume=43 |issue=4 |pages=1175–1183 |doi=10.1109/18.605580 |url=http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=605580&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D605580 |accessdate=3 November 2014|citeseerx=10.1.1.411.7782 }}</ref>
===Capacity===
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|date=February 2017}}
===Convergence===
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. However, for [[cerebellar model articulation controller|CMAC]] neural network, a recursive least squares algorithm was introduced to train it, and this algorithm can be guaranteed to converge in one step.<ref name="Qin1"/>
===Generalization and statistics===
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 (statistics)|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 (mathematics)|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.
[[File:Synapse deployment.jpg|thumb|right|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:
:<math>y_i=\frac{e^{x_i}}{\sum_{j=1}^c e^{x_j}}</math>
<section end="theory" />
==Criticism==
===Training issues===
A common criticism of neural networks, particularly in robotics, is that they require too much training for real-world operation.{{Citation needed|date=November 2014}} 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. Improving the training efficiency and convergence capability has always been an ongoing research area for neural network. For example, by introducing a recursive least squares algorithm for [[cerebellar model articulation controller|CMAC]] neural network, the training process only takes one step to converge.<ref name="Qin1"/>
===Theoretical issues===
No neural network has solved computationally difficult problems such as the [[Eight queens puzzle|n-Queens]] problem, the [[travelling salesman problem]], or the problem of [[Integer factorization|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.<ref>{{cite journal | last1 = Crick | first1 = Francis | year = 1989 | title = The recent excitement about neural networks | journal = Nature | volume = 337 | issue = 6203 | pages = 129–132 | doi = 10.1038/337129a0 | url = http://europepmc.org/abstract/med/2911347 | pmid=2911347| bibcode = 1989Natur.337..129C }}</ref> How information is coded by real neurons is not known. [[Sensory neuron|Sensor neurons]] fire [[action potential]]s more frequently with sensor activation and [[muscle cell]]s pull more strongly when their associated [[motor neuron]]s receive action potentials more frequently.<ref>{{cite journal | last1 = Adrian | first1 = Edward D. | year = 1926 | title = The impulses produced by sensory nerve endings | journal = The Journal of Physiology | volume = 61 | issue = 1 | pages = 49–72 | doi = 10.1113/jphysiol.1926.sp002273 | pmid = 16993776 | pmc = 1514809 | url = http://onlinelibrary.wiley.com/doi/10.1113/jphysiol.1926.sp002273/full }}</ref> 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 properties|emergent]] from the network itself. This allows simple statistical association (the basic function of artificial neural networks) to be described as learning or recognition. [[Alexander Dewdney]] commented that, as a result, artificial neural networks have a "something-for-nothing quality, one that imparts a peculiar aura of laziness and a distinct lack of curiosity about just how good these computing systems are. No human hand (or mind) intervenes; solutions are found as if by magic; and no one, it seems, has learned anything".<ref>{{cite book|url={{google books |plainurl=y |id=KcHaAAAAMAAJ|page=82}}|title=Yes, we have no neutrons: an eye-opening tour through the twists and turns of bad science|last=Dewdney|first=A. K.|date=1 April 1997|publisher=Wiley|year=|isbn=978-0-471-10806-1|location=|pages=82}}</ref>
Biological brains use both shallow and deep circuits as reported by brain anatomy,<ref name="VanEssen1991">D. J. Felleman and D. C. Van Essen, "[http://cercor.oxfordjournals.org/content/1/1/1.1.full.pdf+html Distributed hierarchical processing in the primate cerebral cortex]," ''Cerebral Cortex'', 1, pp. 1–47, 1991.</ref> displaying a wide variety of invariance. Weng<ref name="Weng2012">J. Weng, "[https://www.amazon.com/Natural-Artificial-Intelligence-Introduction-Computational/dp/0985875720 Natural and Artificial Intelligence: Introduction to Computational Brain-Mind]," BMI Press, {{ISBN|978-0985875725}}, 2012.</ref> argued that the brain self-wires largely according to signal statistics and therefore, a serial cascade cannot catch all major statistical dependencies.
===Hardware issues===
Large and effective neural networks require considerable computing resources.<ref name=":0">{{cite journal|last1=Edwards|first1=Chris|title=Growing pains for deep learning|journal=Communications of the ACM|date=25 June 2015|volume=58|issue=7|pages=14–16|doi=10.1145/2771283}}</ref> While the brain has hardware tailored to the task of processing signals through a [[Graph (discrete mathematics)|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{{snd}} which can consume vast amounts of [[Random-access memory|memory]] and storage. Furthermore, the designer often needs to transmit signals through many of these connections and their associated neurons{{snd}} which must often be matched with enormous [[Central processing unit|CPU]] processing power and time.
[[Jürgen Schmidhuber|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 [[General-purpose computing on graphics processing units|GPGPUs]] (on [[Graphics processing unit|GPUs]]), has increased around a million-fold, making the standard backpropagation algorithm feasible for training networks that are several layers deeper than before.<ref>{{cite journal |last=Schmidhuber |first=Jürgen |title=Deep learning in neural networks: An overview |journal=Neural Networks |volume=61 |year=2015 |pages=85–117 |arxiv=1404.7828 |doi=10.1016/j.neunet.2014.09.003|pmid=25462637 }}</ref> The use of parallel GPUs can reduce training times from months to days.{{r|:0}}
[[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.<ref>{{cite news |url=https://www.wired.com/2016/05/google-tpu-custom-chips/ |author=Cade Metz |newspaper=Wired |date=May 18, 2016 |title=Google Built Its Very Own Chips to Power Its AI Bots}}</ref>
===Practical counterexamples to criticisms===
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<ref>[http://www.nasa.gov/centers/dryden/news/NewsReleases/2003/03-49.html NASA – Dryden Flight Research Center – News Room: News Releases: NASA NEURAL NETWORK PROJECT PASSES MILESTONE]. Nasa.gov. Retrieved on 2013-11-20.</ref> to detecting credit card fraud to mastering the game of [[Go (game)|Go]].
Technology writer Roger Bridgman commented:
<blockquote>Neural networks, for instance, are in the dock not only because they have been hyped to high heaven, (what hasn't?) but also because you could create a successful net without understanding how it worked: the bunch of numbers that captures its behaviour would in all probability be "an opaque, unreadable table...valueless as a scientific resource".
In spite of his emphatic declaration that science is not technology, Dewdney seems here to pillory neural nets as bad science when most of those devising them are just trying to be good engineers. An unreadable table that a useful machine could read would still be well worth having.<ref>[http://members.fortunecity.com/templarseries/popper.html Roger Bridgman's defence of neural networks]</ref>
</blockquote>
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.<ref>{{cite web|url=http://www.iro.umontreal.ca/~lisa/publications2/index.php/publications/show/4|title=Scaling Learning Algorithms towards {AI} – LISA – Publications – Aigaion 2.0|publisher=}}</ref>
===Hybrid approaches===
Advocates of hybrid models (combining neural networks and symbolic approaches), claim that such a mixture can better capture the mechanisms of the human mind.<ref>Sun and Bookman (1990)</ref><ref>{{Cite journal| last1 = Tahmasebi | last2 = Hezarkhani | title = A hybrid neural networks-fuzzy logic-genetic algorithm for grade estimation | url = http://www.sciencedirect.com/science/article/pii/S0098300412000398 | year = 2012| journal = Computers & Geosciences | pages = 18–27 | volume = 42| doi = 10.1016/j.cageo.2012.02.004 | bibcode = 2012CG.....42...18T }}</ref>
==Types==
<!-- Split to [[Types of artificial neural networks]] -->
{{Main|Types of artificial neural networks}}
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 [[topology]]. 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.
==Gallery==
<gallery widths="260">
File:Single layer ann.svg|A single-layer feedforward artificial neural network. Arrows originating from <math>\scriptstyle x_2</math> are omitted for clarity. There are p inputs to this network and q outputs. In this system, the value of the qth output, <math>\scriptstyle y_q</math> would be calculated as <math>\scriptstyle y_q = K*(\sum(x_i*w_{iq})-b_q) </math>
File:Two layer ann.svg|A two-layer feedforward artificial neural network.
File:Artificial neural network.svg|An artificial neural network.
File:Ann dependency (graph).svg|An ANN dependency graph.
File:Single-layer feedforward artificial neural network.png|A single-layer feedforward artificial neural network with 4 inputs, 6 hidden and 2 outputs. Given position state and direction outputs wheel based control values.
File:Two-layer feedforward artificial neural network.png|A two-layer feedforward artificial neural network with 8 inputs, 2x8 hidden and 2 outputs. Given position state, direction and other environment values outputs thruster based control values.
File:cmac.jpg|Parallel pipeline structure of CMAC neural network. This learning algorithm can converge in one step.
</gallery>
== See also ==
{{too many see alsos|date=March 2018}}
{{columns-list|colwidth=25em|
* [[Hierarchical temporal memory]]
* [[20Q]]
* [[ADALINE]]
* [[Adaptive resonance theory]]
* [[Artificial life]]
* [[Associative Memory Base|Associative memory]]
* [[Autoencoder]]
* [[BEAM robotics]]
* [[Biological cybernetics]]
* [[Biologically inspired computing]]
* [[Blue Brain Project]]
* [[Catastrophic interference]]
* [[Cerebellar Model Articulation Controller]] (CMAC)
* [[Cognitive architecture]]
* [[Cognitive science]]
* [[Convolutional neural network]] (CNN)
* [[Connectionist expert system]]
* [[Connectomics]]
* [[Cultured neuronal networks]]
* [[Deep learning]]
* [[Digital morphogenesis]]
* [[Encog]]
* [[Fuzzy logic]]
* [[Gene expression programming]]
* [[Genetic algorithm]]
* [[Genetic programming]]
* [[Group method of data handling]]
* [[Habituation]]
* [[In Situ Adaptive Tabulation]]
* [[List of machine learning concepts|Machine learning concepts]]
* [[Models of neural computation]]
* [[Neuroevolution]]
* [[Neural coding]]
* [[Neural gas]]
* [[Neural machine translation]]
* [[Neural network software]]
* [[Neuroscience]]
* [[Ni1000]] chip
* [[Nonlinear system identification]]
* [[Optical neural network]]
* [[Parallel Constraint Satisfaction Processes]]
* [[Parallel distributed processing]]
* [[Radial basis function network]]
* [[Recurrent neural networks]]
* [[Self-organizing map]]
* [[Spiking neural network]]
* [[Systolic array]]
* [[Tensor product network]]
* [[Time delay neural network]] (TDNN)
}}
==References==
{{Reflist|30em}}
==Bibliography==
{{div col|colwidth=30em}}
* {{Cite journal| author=Bhadeshia H. K. D. H. | year=1999 |title=Neural Networks in Materials Science | journal=ISIJ International | volume=39 |pages=966–979 | doi=10.2355/isijinternational.39.966 | url=http://www.msm.cam.ac.uk/phase-trans/abstracts/neural.review.pdf| issue=10}}
* {{Cite book|url=https://www.worldcat.org/oclc/33101074|title=Neural networks for pattern recognition|last=M.|first=Bishop, Christopher|date=1995|publisher=Clarendon Press|isbn=0198538499|oclc=33101074 }}
* {{Cite book|url=https://www.worldcat.org/oclc/76538146|title=Neuro-Fuzzy-Systeme : von den Grundlagen künstlicher Neuronaler Netze zur Kopplung mit Fuzzy-Systemen|first=Christian|last=Borgelt,|year=2003|publisher=Vieweg|isbn=9783528252656|oclc=76538146}}
* {{cite book|title=[[Mathematics of Control, Signals, and Systems]]|last=Cybenko|first=G.V.|publisher=Springer International|year=2006|editor-last=van Schuppen|editor-first=Jan H.|chapter=Approximation by Superpositions of a Sigmoidal function|chapter-url={{google books |plainurl=y |id=4RtVAAAAMAAJ|page=303}}|pp=303–314}} [http://actcomm.dartmouth.edu/gvc/papers/approx_by_superposition.pdf PDF]
* {{Cite book|url=https://www.worldcat.org/oclc/35558945|title=Yes, we have no neutrons : an eye-opening tour through the twists and turns of bad science|last=Dewdney |first=A. K.|isbn=9780471108061|oclc=35558945|year=1997|publisher=Wiley|location=New York}}
* {{Cite book|url=https://www.worldcat.org/oclc/41347061|title=Pattern classification|first=Richard O.|last=Duda|last2=Hart |first2=Peter Elliot|last3=Stork |first3=David G.|year=2001|publisher=Wiley|isbn=0471056693|oclc=41347061|edition=2}}
* {{Cite journal | last1=Egmont-Petersen|first1=M. |last2=de Ridder |first2=D. |last3=Handels |first3=H. | year=2002 | title=Image processing with neural networks – a review | journal=Pattern Recognition | volume=35 | pages=2279–2301 | doi = 10.1016/S0031-3203(01)00178-9 | issue=10}}
* {{cite web|last1=Fahlman |first1=S. |last2=Lebiere |first2=C |year=1991 |title=The Cascade-Correlation Learning Architecture|url=http://www.cs.iastate.edu/~honavar/fahlman.pdf}}
**created for [[National Science Foundation]], Contract Number EET-8716324, and [[Defense Advanced Research Projects Agency]] (DOD), ARPA Order No. 4976 under Contract F33615-87-C-1499.
* {{Cite book|url=https://www.worldcat.org/oclc/37875698|title=An introduction to neural networks|last=Gurney |first=Kevin |year=1997|publisher=UCL Press|isbn=1857286731|oclc=37875698}}
* {{Cite book|url=https://www.worldcat.org/oclc/38908586|title=Neural networks : a comprehensive foundation|last=Haykin|first= Simon S.|year=1999|publisher=Prentice Hall|isbn=0132733501|oclc=38908586}}
* {{Cite book|url=https://www.worldcat.org/oclc/21522159|title=Introduction to the theory of neural computation|last1=Hertz |first1=J.|last3=Krogh|first3=Anders S.|first2=Richard G.|last2=Palmer|year=1991|publisher=Addison-Wesley |isbn=0201515601|oclc=21522159}}
* {{Cite book|title=Information theory, inference, and learning algorithms|publisher=Cambridge University Press|isbn=9780521642989|oclc=52377690}}
* {{Cite book|url=https://www.worldcat.org/oclc/837524179|title=Computational intelligence : a methodological introduction|first1=Rudolf,|last=Kruse|first2=Christian|last2=Borgelt|first3=F.|last3=Klawonn|first4=Christian|last4=Moewes|first5=Matthias|last5=Steinbrecher|first6=Pascal|last6=Held,|year=2013|publisher=Springer|isbn=9781447150121|oclc=837524179}}
* {{Cite book|url=https://www.worldcat.org/oclc/32179420|title=Introduction to neural networks : design, theory and applications|last=Lawrence|first=Jeanette|year=1994|publisher=California Scientific Software|isbn=1883157005|oclc=32179420}}
* {{cite book| last=MacKay | first=David, J.C.| authorlink=David J.C. MacKay|year=2003|publisher=[[Cambridge University Press]]| isbn=9780521642989|url=http://www.inference.phy.cam.ac.uk/itprnn/book.pdf|title=Information Theory, Inference, and Learning Algorithms|ref=harv}}
* {{Cite book|url=https://www.worldcat.org/oclc/29877717|title=Signal and image processing with neural networks : a C++ sourcebook|first=Timothy|last=Masters,|year=1994|publisher=J. Wiley|isbn=0471049638|oclc=29877717}}
* {{cite book|url={{google books |plainurl=y |id=m12UR8QmLqoC}}|title=Pattern Recognition and Neural Networks|last=Ripley|first=Brian D.|authorlink=Brian D. Ripley|publisher=Cambridge University Press|year=2007|isbn=978-0-521-71770-0}}
* {{cite journal|last1=Siegelmann |first1=H.T. |first2=Eduardo D.|last2=Sontag|year=1994|title=Analog computation via neural networks |journal=Theoretical Computer Science |volume= 131 |issue= 2 |pp=331–360|url=https://pdfs.semanticscholar.org/861e/de32115d157e1568622b153e7ed3dca28467.pdf |doi=10.1016/0304-3975(94)90178-3}}
* {{Cite book|url=https://www.worldcat.org/oclc/27145760|title=Neural networks for statistical modeling|last1=Smith |first1=Murray|date=1993|publisher=Van Nostrand Reinhold|isbn=0442013108|oclc=27145760}}
* {{Cite book|url=https://www.worldcat.org/oclc/27429729|title=Advanced methods in neural computing|last=Wasserman |first=Philip D.|year=1993|publisher=Van Nostrand Reinhold|isbn=0442004613|oclc=27429729}}
{{div col end}}
==External links==
* [http://www.dkriesel.com/en/science/neural_networks A brief introduction to Neural Networks] (PDF), illustrated 250p textbook covering the common kinds of neural networks (CC license).
* [http://deeplearning4j.org/neuralnet-overview.html An Introduction to Deep Neural Networks].
* [http://people.revoledu.com/kardi/tutorial/NeuralNetwork/index.html A Tutorial of Neural Network in Excel].
* {{youtube|id=q0pm3BrIUFo |title=MIT course on Neural Networks }}
* [https://www.academia.edu/25708860/A_Concise_Introduction_to_Machine_Learning_with_Artificial_Neural_Networks A Concise Introduction to Machine Learning with Artificial Neural Networks]
* [https://www.coursera.org/course/neuralnets Neural Networks for Machine Learning – a course by Geoffrey Hinton]
* [http://www.deeplearningbook.org/ Deep Learning]
*[https://nnplayground.com Interactive visualization of neural work]
*[http://numerentur.org/redes-neuronales-artificiales/ Neural Networks (in Spanish)]
{{CPU technologies}}
[[Category:]]
[[Category:Classification algorithms]]
[[Category:Computational neuroscience]]
[[Category:Market research]]
[[Category:Market segmentation]]
[[Category:Mathematical psychology]]
[[Category:Mathematical and quantitative methods (economics)]]
本词条内容翻译自 en.wikipedia.org,代码由 [ ] 贡献,遵守 CC3.0协议