Trang chủ‎ > ‎IT‎ > ‎


From Wikipedia [2016]

Deep learning (also known as deep structured learninghierarchical learning or deep machine learning) is a branch of machine learning based on a set of algorithms that attempt to model high level abstractions in data by using a deep graph with multiple processing layers, composed of multiple linear and non-linear transformations.[1][2][3][4][5][6][7][8][9]

Deep learning is part of a broader family of machine learning methods based on learning representations of data. An observation (e.g., an image) can be represented in many ways such as a vector of intensity values per pixel, or in a more abstract way as a set of edges, regions of particular shape, etc. Some representations are better than others at simplifying the learning task (e.g., face recognition or facial expression recognition[10]). One of the promises of deep learning is replacing handcrafted features with efficient algorithms for unsupervised or semi-supervised feature learning and hierarchical feature extraction.[11]

Research in this area attempts to make better representations and create models to learn these representations from large-scale unlabeled data. Some of the representations are inspired by advances in neuroscienceand are loosely based on interpretation of information processing and communication patterns in a nervous system, such as neural coding which attempts to define a relationship between various stimuli and associated neuronal responses in the brain.[12]

Various deep learning architectures such as deep neural networksconvolutional deep neural networksdeep belief networks and recurrent neural networks have been applied to fields like computer visionautomatic speech recognitionnatural language processing, audio recognition and bioinformatics where they have been shown to produce state-of-the-art results on various tasks.

Deep learning has been characterized as a buzzword, or a rebranding of neural networks.[13][14]





There are a number of ways that the field of deep learning has been characterized.[citation needed] For example, in 1986, Rina Dechter introduced the concepts of first order deep learning and second order deep learning in the context of constraint satisfaction.[15]Later, deep learning was characterized as a class of machine learning algorithms that[2](pp199–200)

  • use a cascade of many layers of nonlinear processing units for feature extraction and transformation. Each successive layer uses the output from the previous layer as input. The algorithms may be supervised or unsupervised and applications include pattern analysis (unsupervised) and classification (supervised).
  • are based on the (unsupervised) learning of multiple levels of features or representations of the data. Higher level features are derived from lower level features to form a hierarchical representation.
  • are part of the broader machine learning field of learning representations of data.
  • learn multiple levels of representations that correspond to different levels of abstraction; the levels form a hierarchy of concepts.

These definitions have in common (1) multiple layers of nonlinear processing units and (2) the supervised or unsupervised learning of feature representations in each layer, with the layers forming a hierarchy from low-level to high-level features.[2](p200) The composition of a layer of nonlinear processing units used in a deep learning algorithm depends on the problem to be solved. Layers that have been used in deep learning include hidden layers of an artificial neural network and sets of complicated propositional formulas.[3] They may also include latent variables organized layer-wise in deep generative models such as the nodes in Deep Belief Networks and Deep Boltzmann Machines.

Deep learning algorithms transform their inputs through more layers than shallow learning algorithms. At each layer, the signal is transformed by a processing unit, like an artificial neuron, whose parameters are 'learned' through training.[5](p6) A chain of transformations from input to output is a credit assignment path (CAP). CAPs describe potentially causal connections between input and output and may vary in length. For a feedforward neural network, the depth of the CAPs, and thus the depth of the network, is the number of hidden layers plus one (the output layer is also parameterized). For recurrent neural networks, in which a signal may propagate through a layer more than once, the CAP is potentially unlimited in length. There is no universally agreed upon threshold of depth dividing shallow learning from deep learning, but most researchers in the field agree that deep learning has multiple nonlinear layers (CAP > 2) and Juergen Schmidhuber considers CAP > 10 to be very deep learning.[5](p7)

Fundamental concepts[edit]

Deep learning algorithms are based on distributed representations. The underlying assumption behind distributed representations is that observed data are generated by the interactions of factors organized in layers. Deep learning adds the assumption that these layers of factors correspond to levels of abstraction or composition. Varying numbers of layers and layer sizes can be used to provide different amounts of abstraction.[4]

Deep learning exploits this idea of hierarchical explanatory factors where higher level, more abstract concepts are learned from the lower level ones. These architectures are often constructed with a greedy layer-by-layer method. Deep learning helps to disentangle these abstractions and pick out which features are useful for learning.[4]

For supervised learning tasks, deep learning methods obviate feature engineering, by translating the data into compact intermediate representations akin to principal components, and derive layered structures which remove redundancy in representation.[2]

Many deep learning algorithms are applied to unsupervised learning tasks. This is an important benefit because unlabeled data are usually more abundant than labeled data. Examples of deep structures that can be trained in an unsupervised manner are neural history compressors[16] and deep belief networks.[4][17]


Deep neural networks are generally interpreted in terms of: Universal approximation theorem[18][19][20][21][22] or Probabilistic inference.[2][3][4][5][17][23]

Universal approximation theorem interpretation[edit]

The universal approximation theorem concerns the capacity of feedforward neural networks with a single hidden layer of finite size to approximate continuous functions.[18][19][20][21][22]

In 1989, the first proof was published by George Cybenko for sigmoid activation functions[19] and was generalised to feed-forward multi-layer architectures in 1991 by Kurt Hornik.[20]

Probabilistic interpretation[edit]

The probabilistic interpretation[23] derives from the field of machine learning. It features inference,[2][3][4][5][17][23] as well as the optimization concepts of training and testing, related to fitting and generalization respectively. More specifically, the probabilistic interpretation considers the activation nonlinearity as a cumulative distribution function.[23] See Deep belief network. The probabilistic interpretation led to the introduction of dropout as regularizer in neural networks.[24]

The probabilistic interpretation was introduced and popularized by Geoff HintonYoshua BengioYann LeCun and Juergen Schmidhuber.


The first general, working learning algorithm for supervised deep feedforward multilayer perceptrons was published by Ivakhnenko and Lapa in 1965.[25] A paper from 1971 already described a deep network with 8 layers trained by the Group method of data handling algorithm which is still popular in the current millennium.[26] These ideas were implemented in a computer identification system "Alpha", which demonstrated the learning process. Other Deep Learning working architectures, specifically those built fromartificial neural networks (ANN), date back to the Neocognitron introduced by Kunihiko Fukushima in 1980.[27] The ANNs themselves date back even further. The challenge was how to train networks with multiple layers. In 1989, Yann LeCun et al. were able to apply the standard backpropagation algorithm, which had been around as the reverse mode of automatic differentiation since 1970,[28][29][30][31] to a deep neural network with the purpose of recognizing handwritten ZIP codes on mail. Despite the success of applying the algorithm, the time to train the network on this dataset was approximately 3 days, making it impractical for general use.[32] In 1993, Jürgen Schmidhuber's neural history compressor[16] implemented as an unsupervised stack of recurrent neural networks (RNNs) solved a "Very Deep Learning" task[5] that requires more than 1,000 subsequent layers in an RNN unfolded in time.[33] In 1995, Brendan Frey demonstrated that it was possible to train a network containing six fully connected layers and several hundred hidden units using the wake-sleep algorithm, which was co-developed with Peter Dayan and Geoffrey Hinton.[34] However, training took two days.

Many factors contribute to the slow speed, one being the vanishing gradient problem analyzed in 1991 by Sepp Hochreiter.[35][36]

While by 1991 such neural networks were used for recognizing isolated 2-D hand-written digits, recognizing 3-D objects was done by matching 2-D images with a handcrafted 3-D object model. Juyang Weng et al. suggested that a human brain does not use a monolithic 3-D object model, and in 1992 they published Cresceptron,[37][38][39] a method for performing 3-D object recognition directly from cluttered scenes. Cresceptron is a cascade of layers similar to Neocognitron. But while Neocognitron required a human programmer to hand-merge features, Cresceptron automatically learned an open number of unsupervised features in each layer, where each feature is represented by a convolution kernel. Cresceptron also segmented each learned object from a cluttered scene through back-analysis through the network. Max pooling, now often adopted by deep neural networks (e.g. ImageNet tests), was first used in Cresceptron to reduce the position resolution by a factor of (2x2) to 1 through the cascade for better generalization. Despite these advantages, simpler models that use task-specific handcrafted features such as Gabor filters and support vector machines (SVMs) were a popular choice in the 1990s and 2000s, because of the computational cost of ANNs at the time, and a great lack of understanding of how the brain autonomously wires its biological networks.

In the long history of speech recognition, both shallow and deep learning (e.g., recurrent nets) of artificial neural networks have been explored for many years.[40][41][42] But these methods never won over the non-uniform internal-handcrafting Gaussian mixture model/Hidden Markov model (GMM-HMM) technology based on generative models of speech trained discriminatively.[43] A number of key difficulties have been methodologically analyzed, including gradient diminishing[35] and weak temporal correlation structure in the neural predictive models.[44][45] Additional difficulties were the lack of big training data and weaker computing power in these early days. Thus, most speech recognition researchers who understood such barriers moved away from neural nets to pursue generative modeling, until a recent resurgence of deep learning overcame all these difficulties. Hinton et al. and Deng et al. reviewed part of this recent history about how their collaboration with each other and then with cross-group colleagues re-ignited neural networks research and initiated deep learning research and applications in speech recognition.[46][47][48][49]

Today, however, some aspects of speech recognition have been taken over by a deep learning method called Long short term memory (LSTM), a recurrent neural network published by Sepp Hochreiter & Jürgen Schmidhuber in 1997.[50] LSTM RNNs avoid thevanishing gradient problem and can learn "Very Deep Learning" tasks[5] that require memories of events that happened thousands of discrete time steps ago, which is important for speech. In 2003, LSTM started to become competitive with traditional speech recognizers on certain tasks.[51] Later it was combined with CTC[52] in stacks of LSTM RNNs.[53] In 2015, Google's speech recognition reportedly experienced a dramatic performance jump of 49% through CTC-trained LSTM, which is now available through Google Voice to all smartphone users,[54] and has become a show case of deep learning.

According to a survey,[8] the expression "Deep Learning" was introduced to the Machine Learning community by Rina Dechter in 1986,[15] and later to Artificial Neural Networks by Igor Aizenberg and colleagues in 2000.[55] A Google Ngram chart shows that the usage of the term has gained traction (actually has taken off) since 2000.[56] In 2006, a publication by Geoffrey Hinton and Ruslan Salakhutdinov drew additional attention by showing how many-layered feedforward neural network could be effectively pre-trained one layer at a time, treating each layer in turn as an unsupervised restricted Boltzmann machine, then fine-tuning it using supervised backpropagation.[57] In 1992, Schmidhuber had already implemented a very similar idea for the more general case of unsupervised deep hierarchies of recurrent neural networks, and also experimentally shown its benefits for speeding up supervised learning.[16][58]

Since its resurgence, deep learning has become part of many state-of-the-art systems in various disciplines, particularly computer vision and automatic speech recognition (ASR). Results on commonly used evaluation sets such as TIMIT (ASR) and MNIST (image classification), as well as a range of large-vocabulary speech recognition tasks are constantly being improved with new applications of deep learning.[46][59][60] Recently, it was shown that deep learning architectures in the form of convolutional neural networks have been nearly best performing;[61][62] however, these are more widely used in computer vision than in ASR, and modern large scale speech recognition is typically based on CTC[52] for LSTM.[50][54][63][64][65]

The real impact of deep learning in industry apparently began in the early 2000s, when CNNs already processed an estimated 10% to 20% of all the checks written in the US in the early 2000s, according to Yann LeCun.[66] Industrial applications of deep learning to large-scale speech recognition started around 2010. In late 2009, Li Deng invited Geoffrey Hinton to work with him and colleagues at Microsoft Research in Redmond, Washington to apply deep learning to speech recognition. They co-organized the 2009 NIPS Workshop on Deep Learning for Speech Recognition. The workshop was motivated by the limitations of deep generative models of speech, and the possibility that the big-compute, big-data era warranted a serious try of deep neural nets (DNN). It was believed that pre-training DNNs using generative models of deep belief nets (DBN) would overcome the main difficulties of neural nets encountered in the 1990s.[48] However, early into this research at Microsoft, it was discovered that without pre-training, but using large amounts of training data, and especially DNNs designed with corresponding large, context-dependent output layers, produced error rates dramatically lower than then-state-of-the-art GMM-HMM and also than more advanced generative model-based speech recognition systems. This finding was verified by several other major speech recognition research groups.[46][67] Further, the nature of recognition errors produced by the two types of systems was found to be characteristically different,[47][68] offering technical insights into how to integrate deep learning into the existing highly efficient, run-time speech decoding system deployed by all major players in speech recognition industry. The history of this significant development in deep learning has been described and analyzed in recent books and articles.[2][69][70]

Advances in hardware have also been important in enabling the renewed interest in deep learning. In particular, powerful graphics processing units (GPUs) are well-suited for the kind of number crunching, matrix/vector math involved in machine learning.[71][72] GPUs have been shown to speed up training algorithms by orders of magnitude, bringing running times of weeks back to days.[73][74]

Artificial neural networks[edit]

Some of the most successful deep learning methods involve artificial neural networks. Artificial neural networks are inspired by the 1959 biological model proposed by Nobel laureates David H. Hubel & Torsten Wiesel, who found two types of cells in the primary visual cortexsimple cells and complex cells. Many artificial neural networks can be viewed as cascading models[37][38][39][75] of cell types inspired by these biological observations.

Fukushima's Neocognitron introduced convolutional neural networks partially trained by unsupervised learning with human-directed features in the neural plane. Yann LeCun et al. (1989) applied supervised backpropagation to such architectures.[76] Weng et al. (1992) published convolutional neural networks Cresceptron[37][38][39] for 3-D object recognition from images of cluttered scenes and segmentation of such objects from images.

An obvious need for recognizing general 3-D objects is least shift invariance and tolerance to deformation. Max-pooling appeared to be first proposed by Cresceptron[37][38] to enable the network to tolerate small-to-large deformation in a hierarchical way, while using convolution. Max-pooling helps, but does not guarantee, shift-invariance at the pixel level.[39]

With the advent of the back-propagation algorithm based on automatic differentiation,[28][30][31][77][78][79][80][81][82][83] many researchers tried to train supervised deep artificial neural networks from scratch, initially with little success. Sepp Hochreiter's diploma thesis of 1991[35][36] formally identified the reason for this failure as the vanishing gradient problem, which affects many-layered feedforward networks and recurrent neural networks. Recurrent networks are trained by unfolding them into very deep feedforward networks, where a new layer is created for each time step of an input sequence processed by the network. As errors propagate from layer to layer, they shrink exponentially with the number of layers, impeding the tuning of neuron weights which is based on those errors.

To overcome this problem, several methods were proposed. One is Jürgen Schmidhuber's multi-level hierarchy of networks (1992) pre-trained one level at a time by unsupervised learning, fine-tuned by backpropagation.[16] Here each level learns a compressed representation of the observations that is fed to the next level.

Another method is the long short term memory (LSTM) network of Hochreiter & Schmidhuber (1997).[50] In 2009, deep multidimensional LSTM networks won three ICDAR 2009 competitions in connected handwriting recognition, without any prior knowledge about the three languages to be learned.[84][85]

Sven Behnke in 2003 relied only on the sign of the gradient (Rprop) when training his Neural Abstraction Pyramid[86] to solve problems like image reconstruction and face localization.

Other methods also use unsupervised pre-training to structure a neural network, making it first learn generally useful feature detectors. Then the network is trained further by supervised back-propagation to classify labeled data. The deep model of Hinton et al. (2006) involves learning the distribution of a high-level representation using successive layers of binary or real-valued latent variables. It uses a restricted Boltzmann machine (Smolensky, 1986[87]) to model each new layer of higher level features. Each new layer guarantees an increase on the lower-bound of the log likelihood of the data, thus improving the model, if trained properly. 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.[88] Hinton reports that his models are effective feature extractors over high-dimensional, structured data.[89]

In 2012, the Google Brain team led by Andrew Ng and Jeff Dean created a neural network that learned to recognize higher-level concepts, such as cats, only from watching unlabeled images taken from YouTube videos.[90][91]

Other methods rely on the sheer processing power of modern computers, in particular, GPUs. In 2010, Dan Ciresan and colleagues[73] in Jürgen Schmidhuber's group at the Swiss AI Lab IDSIA showed that despite the above-mentioned "vanishing gradient problem," the superior processing power of GPUs makes plain back-propagation feasible for deep feedforward neural networks with many layers. The method outperformed all other machine learning techniques on the old, famous MNIST handwritten digits problem of Yann LeCun and colleagues at NYU.

At about the same time, in late 2009, deep learning feedforward networks made inroads into speech recognition, as marked by the NIPS Workshop on Deep Learning for Speech Recognition. Intensive collaborative work between Microsoft Research and University of Toronto researchers demonstrated by mid-2010 in Redmond that deep neural networks interfaced with 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. The same deep neural net model was shown to scale up to Switchboard tasks about one year later at Microsoft Research Asia. Even earlier, in 2007, LSTM[50] trained by CTC[52] started to get excellent results in certain applications.[53] This method is now widely used, for example, in Google's greatly improved speech recognition for all smartphone users.[54]

As of 2011, the state of the art in deep learning feedforward networks alternates convolutional layers and max-pooling layers,[92][93] topped by several fully connected or sparsely connected layer followed by a final classification layer. Training is usually done without any unsupervised pre-training. Since 2011, GPU-based implementations[92] of this approach won many pattern recognition contests, including the IJCNN 2011 Traffic Sign Recognition Competition,[94] the ISBI 2012 Segmentation of neuronal structures in EM stacks challenge,[95] the ImageNet Competition,[96] and others.

Such supervised deep learning methods also were the first artificial pattern recognizers to achieve human-competitive performance on certain tasks.[97]

To overcome the barriers of weak AI represented by deep learning, it is necessary to go beyond deep learning architectures, because biological brains use both shallow and deep circuits as reported by brain anatomy[98] displaying a wide variety of invariance. Weng[99] argued that the brain self-wires largely according to signal statistics and, therefore, a serial cascade cannot catch all major statistical dependencies. 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. This was realized in Developmental Networks (DNs)[100] whose embodiments are Where-What Networks, WWN-1 (2008)[101]through WWN-7 (2013).[102]

Deep neural network architectures[edit]

This section may be too technical for most readers to understandPlease help improve this section to make it understandable to non-experts, without removing the technical details. The talk page may contain suggestions. (July 2016) (Learn how and when to remove this template message)

There are huge number of variants of deep architectures. Most of them are branched from some original parent architectures. It is not always possible to compare the performance of multiple architectures all together, because they are not all evaluated on the same data sets. Deep learning is a fast-growing field, and new architectures, variants, or algorithms appear every few weeks.

Brief discussion of deep neural networks[edit]

deep neural network (DNN) is an artificial neural network (ANN) with multiple hidden layers of units between the input and output layers.[3][5] Similar to shallow ANNs, DNNs can model complex non-linear relationships. DNN architectures, e.g., for object detectionand parsing, generate compositional models where the object is expressed as a layered composition of image primitives.[103] The extra layers enable composition of features from lower layers, giving the potential of modeling complex data with fewer units than a similarly performing shallow network.[3]

DNNs are typically designed as feedforward networks, but research has very successfully applied recurrent neural networks, especially LSTM,[50][104] for applications such as language modeling.[105][106][107][108][109] Convolutional deep neural networks (CNNs) are used in computer vision where their success is well-documented.[110] CNNs also have been applied to acoustic modeling for automatic speech recognition (ASR), where they have shown success over previous models.[62] For simplicity, a look at training DNNs is given here.


A DNN can be discriminatively trained with the standard backpropagation algorithm. According to various sources,[5][8][83][111] basics of continuous backpropagation were derived in the context of control theory by Henry J. Kelley[78] in 1960 and by Arthur E. Bryson in 1961,[79] using principles of dynamic programming. In 1962, Stuart Dreyfus published a simpler derivation based only on the chain rule.[80] Vapnik cites reference[112] in his book on Support Vector MachinesArthur E. Bryson and Yu-Chi Ho described it as a multi-stage dynamic system optimization method in 1969.[113][114] In 1970, Seppo Linnainmaa finally published the general method for automatic differentiation (AD) of discrete connected networks of nested differentiable functions.[28][115] This corresponds to the modern version of backpropagation which is efficient even when the networks are sparse.[5][8][29][77] In 1973, Stuart Dreyfus used backpropagation to adapt parameters of controllers in proportion to error gradients.[81] In 1974, Paul Werbos mentioned the possibility of applying this principle to artificial neural networks,[116] and in 1982, he applied Linnainmaa's AD method to neural networks in the way that is widely used today.[8][31] In 1986, David E. RumelhartGeoffrey E. Hinton and Ronald J. Williams showed through computer experiments that this method can generate useful internal representations of incoming data in hidden layers of neural networks.[82] In 1993, Eric A. Wan was the first[5] to win an international pattern recognition contest through backpropagation.[117]

The weight updates of backpropagation can be done via stochastic gradient descent using the following equation:

{\displaystyle w_{ij}(t+1)=w_{ij}(t)+\eta {\frac {\partial C}{\partial w_{ij}}}+\xi (t)}{\displaystyle w_{ij}(t+1)=w_{ij}(t)+\eta {\frac {\partial C}{\partial w_{ij}}}+\xi (t)}

Here, {\displaystyle \eta }\eta  is the learning rate, {\displaystyle C}C is the cost function and {\displaystyle \xi (t)}\xi (t) a stochastic term. The choice of the cost function depends on factors such as the learning type (supervised, unsupervised, 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 function and cross entropy function, respectively. The softmax function is defined as {\displaystyle p_{j}={\frac {\exp(x_{j})}{\sum _{k}\exp(x_{k})}}}p_{j}={\frac {\exp(x_{j})}{\sum _{k}\exp(x_{k})}} where {\displaystyle p_{j}}p_{j} represents the class probability (output of the unit {\displaystyle j}j) and {\displaystyle x_{j}}x_{j} and {\displaystyle x_{k}}x_{k} represent the total input to units {\displaystyle j}j and {\displaystyle k}k of the same level respectively. Cross entropy is defined as {\displaystyle C=-\sum _{j}d_{j}\log(p_{j})}C=-\sum _{j}d_{j}\log(p_{j}) where {\displaystyle d_{j}}d_{j} represents the target probability for output unit {\displaystyle j}j and {\displaystyle p_{j}}p_{j} is the probability output for {\displaystyle j}j after applying the activation function.[118]

These can be used to output object 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 being a good classifier. They remove the limitation of designing a model which will capture parts and their relations explicitly. This helps to learn a wide variety of objects. The model consists of multiple layers, each of which has a rectified linear unit 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 minimize L2 error for predicting the mask ranging over the entire training set containing bounding boxes represented as masks.

Problems with deep neural networks[edit]

As with ANNs, many issues can arise with DNNs if they are naively trained. Two common issues are overfitting and computation time.

DNNs are prone to overfitting because of the added layers of abstraction, which allow them to model rare dependencies in the training data. Regularization methods such as Ivakhnenko's unit pruning[26] or weight decay ({\displaystyle \ell _{2}}\ell _{2}-regularization) or sparsity ({\displaystyle \ell _{1}}\ell _{1}-regularization) can be applied during training to help combat overfitting.[119] A more recent regularization method applied to DNNs is dropout regularization. In dropout, some number of units are randomly omitted from the hidden layers during training. This helps to break the rare dependencies that can occur in the training data.[120]

The dominant method for training these structures has been error-correction training (such as backpropagation with gradient descent) due to its ease of implementation and its tendency to converge to better local optima than other training methods. However, these methods can be computationally expensive, especially for DNNs. There are many training parameters to be considered with a DNN, such as the size (number of layers and number of units per layer), the learning rate and initial weights. Sweeping through the parameter space for optimal parameters may not be feasible due to the cost in time and computational resources. Various 'tricks' such as using mini-batching (computing the gradient on several training examples at once rather than individual examples)[121] have been shown to speed up computation. The large processing throughput of GPUs has produced significant speedups in training, due to the matrix and vector computations required being well suited for GPUs.[5] Radical alternatives to backprop such as Extreme Learning Machines,[122] "No-prop" networks,[123] training without backtracking,[124] "weightless" networks,[125] and non-connectionist neural networks are gaining attention.

First deep learning networks of 1965: GMDH[edit]

According to a historic survey,[5] the first functional Deep Learning networks with many layers were published by Alexey Grigorevich Ivakhnenko and V. G. Lapa in 1965.[25][126] The learning algorithm was called the Group Method of Data Handling or GMDH.[127]GMDH features fully automatic structural and parametric optimization of models. The activation functions of the network nodes are Kolmogorov-Gabor polynomials that permit additions and multiplications. Ivakhnenko's 1971 paper[26] describes the learning of a deep feedforward multilayer perceptron with eight layers, already much deeper than many later networks. The supervised learning network is grown layer by layer, where each layer is trained by regression analysis. From time to time useless neurons are detected using a validation set, and pruned through regularization. The size and depth of the resulting network depends on the problem. Variants of this method are still being used today.[128]

Convolutional neural networks[edit]

CNNs have become the method of choice for processing visual and other two-dimensional data.[32][66] A CNN is composed of one or more convolutional layers with fully connected layers (matching those in typical artificial neural networks) on top. It also uses tied weights and pooling layers. In particular, max-pooling[38] is often used in Fukushima's convolutional architecture.[27] This architecture allows CNNs to take advantage of the 2D structure of input data. In comparison with other deep architectures, convolutional neural networks have shown superior results in both image and speech applications. They can also 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, making them a highly attractive architecture to use.[129] Examples of applications in Computer Vision include DeepDream.[130] See the main article on Convolutional neural networks for numerous additional references.

Neural history compressor[edit]

The vanishing gradient problem[35] of automatic differentiation or backpropagation in neural networks was partially overcome in 1992 by an early generative model called the neural history compressor, implemented as an unsupervised stack of recurrent neural networks (RNNs).[16] The RNN at the input level learns to predict its next input from the previous input history. Only unpredictable inputs of some RNN in the hierarchy become inputs to the next higher level RNN which therefore recomputes its internal state only rarely. Each higher level RNN thus learns a compressed representation of the information in the RNN below. This is done such that the input sequence can be precisely reconstructed from the sequence representation at the highest level. The system effectively minimises the description length or the negative logarithm of the probability of the data.[8] If there is a lot of learnable predictability in the incoming data sequence, then the highest level RNN can use supervised learning to easily classify even deep sequences with very long time intervals between important events. In 1993, such a system already solved a "Very Deep Learning" task that requires more than 1000 subsequent layers in an RNN unfolded in time.[33]

It is also possible to distill the entire RNN hierarchy into only two RNNs called the "conscious" chunker (higher level) and the "subconscious" automatizer (lower level).[16] Once the chunker has learned to predict and compress inputs that are still unpredictable by the automatizer, the automatizer is forced in the next learning phase to predict or imitate through special additional units the hidden units of the more slowly changing chunker. This makes it easy for the automatizer to learn appropriate, rarely changing memories across very long time intervals. This in turn helps the automatizer to make many of its once unpredictable inputs predictable, such that the chunker can focus on the remaining still unpredictable events, to compress the data even further.[16]

Recursive neural networks[edit]

recursive neural network[131] is created by applying the same set of weights recursively over a differentiable graph-like structure, by traversing the structure in topological order. Such networks are typically also trained by the reverse mode of automatic differentiation.[28][77] They were introduced to learn distributed representations of structure, such as logical terms. A special case of recursive neural networks is the RNN itself whose structure corresponds to a linear chain. Recursive neural networks have been applied to natural language processing.[132] The Recursive Neural Tensor Network uses a tensor-based composition function for all nodes in the tree.[133]

Long short term memory[edit]

Main article: Long short term memory

Numerous researchers now use variants of a deep learning RNN called the Long short term memory (LSTM) network published by Hochreiter & Schmidhuber in 1997.[50] It is a system that unlike traditional RNNs doesn't have the vanishing gradient problem. LSTM is normally augmented by recurrent gates called forget gates.[104] LSTM RNNs prevent backpropagated errors from vanishing or exploding.[35] Instead errors can flow backwards through unlimited numbers of virtual layers in LSTM RNNs unfolded in space. That is, LSTM can learn "Very Deep Learning" tasks[5] that require memories of events that happened thousands or even millions of discrete time steps ago. Problem-specific LSTM-like topologies can be evolved.[134] LSTM works even when there are long delays, and it can handle signals that have a mix of low and high frequency components.

Today, many applications use stacks of LSTM RNNs[135] and train them by Connectionist Temporal Classification (CTC)[52] to 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 2009, CTC-trained LSTM was the first RNN to win pattern recognition contests, when it won several competitions in connected handwriting recognition.[5][84] Already in 2003, LSTM started to become competitive with traditional speech recognizers on certain tasks.[51] In 2007, the combination with CTC achieved first good results on speech data.[53] Since then, this approach has revolutionised speech recognition. In 2014, the Chinese search giant Baidu used CTC-trained RNNs to break the Switchboard Hub5'00 speech recognition benchmark, without using any traditional speech processing methods.[136] LSTM also improved large-vocabulary speech recognition,[63][64] text-to-speech synthesis,[137] also for Google Android,[8][65] and photo-real talking heads.[138] In 2015, Google's speech recognition reportedly experienced a dramatic performance jump of 49% through CTC-trained LSTM, which is now available through Google Voice to billions of smartphone users.[54]

LSTM has also become very popular in the field of Natural Language Processing. Unlike previous models based on HMMs and similar concepts, LSTM can learn to recognise context-sensitive languages.[105] LSTM improved machine translation,[106] Language modeling[107] and Multilingual Language Processing.[108] LSTM combined with Convolutional Neural Networks (CNNs) also improved automatic image captioning[139] and a plethora of other applications.

Deep belief networks[edit]

Main article: Deep belief network
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 composition of simple learning modules that make up each layer.[17]

A DBN can be used to generatively pre-train a DNN by using the learned DBN weights as the initial DNN weights. Back-propagation or other discriminative algorithms can then be applied for fine-tuning of these weights. This is particularly helpful when limited training data are available, because poorly initialized weights can significantly hinder the learned model's performance. These pre-trained weights are in a region of the weight space that is closer to the optimal weights than are randomly chosen initial weights. This allows for both improved modeling and faster convergence of the fine-tuning phase.[140]

A DBN can be efficiently trained in an unsupervised, layer-by-layer manner, where the layers are typically made of restricted Boltzmann machines (RBM). An RBM is an undirected, generative energy-based model with a "visible" input layer and a hidden layer, and connections between the layers but not within layers. The training method for RBMs proposed by Geoffrey Hinton for use with training "Product of Expert" models is called contrastive divergence (CD).[141] CD provides an approximation to the maximum likelihood method that would ideally be applied for learning the weights of the RBM.[121][142] In training a single RBM, weight updates are performed withgradient ascent via the following equation: {\displaystyle \Delta w_{ij}(t+1)=w_{ij}(t)+\eta {\frac {\partial \log(p(v))}{\partial w_{ij}}}}\Delta w_{ij}(t+1)=w_{ij}(t)+\eta {\frac {\partial \log(p(v))}{\partial w_{ij}}}. Here, {\displaystyle p(v)}p(v) is the probability of a visible vector, which is given by {\displaystyle p(v)={\frac {1}{Z}}\sum _{h}e^{-E(v,h)}}p(v)={\frac {1}{Z}}\sum _{h}e^{-E(v,h)}{\displaystyle Z}Z is the partition function (used for normalizing) and {\displaystyle E(v,h)}E(v,h) is the energy function assigned to the state of the network. A lower energy indicates the network is in a more "desirable" configuration. The gradient {\displaystyle {\frac {\partial \log(p(v))}{\partial w_{ij}}}}{\frac {\partial \log(p(v))}{\partial w_{ij}}} has the simple form {\displaystyle \langle v_{i}h_{j}\rangle _{\text{data}}-\langle v_{i}h_{j}\rangle _{\text{model}}}\langle v_{i}h_{j}\rangle _{\text{data}}-\langle v_{i}h_{j}\rangle _{\text{model}}where {\displaystyle \langle \cdots \rangle _{p}}\langle \cdots \rangle _{p} represent averages with respect to distribution {\displaystyle p}p. The issue arises in sampling {\displaystyle \langle v_{i}h_{j}\rangle _{\text{model}}}\langle v_{i}h_{j}\rangle _{\text{model}} because this requires running alternating Gibbs sampling for a long time. CD replaces this step by running alternating Gibbs sampling for {\displaystyle n}n steps (values of {\displaystyle n=1}n=1 have empirically been shown to perform well). After {\displaystyle n}n steps, the data are sampled and that sample is used in place of {\displaystyle \langle v_{i}h_{j}\rangle _{\text{model}}}\langle v_{i}h_{j}\rangle _{\text{model}}. The CD procedure works as follows:[121]

  1. Initialize the visible units to a training vector.
  2. Update the hidden units in parallel given the visible units: {\displaystyle p(h_{j}=1\mid {\textbf {V}})=\sigma (b_{j}+\sum _{i}v_{i}w_{ij})}p(h_{j}=1\mid {\textbf {V}})=\sigma (b_{j}+\sum _{i}v_{i}w_{ij}){\displaystyle \sigma }\sigma  is the sigmoid function and {\displaystyle b_{j}}b_{j} is the bias of {\displaystyle h_{j}}h_{j}.
  3. Update the visible units in parallel given the hidden units: {\displaystyle p(v_{i}=1\mid {\textbf {H}})=\sigma (a_{i}+\sum _{j}h_{j}w_{ij})}p(v_{i}=1\mid {\textbf {H}})=\sigma (a_{i}+\sum _{j}h_{j}w_{ij}){\displaystyle a_{i}}a_{i} is the bias of {\displaystyle v_{i}}v_{i}. This is called the "reconstruction" step.
  4. Re-update the hidden units in parallel given the reconstructed visible units using the same equation as in step 2.
  5. Perform the weight update: {\displaystyle \Delta w_{ij}\propto \langle v_{i}h_{j}\rangle _{\text{data}}-\langle v_{i}h_{j}\rangle _{\text{reconstruction}}}\Delta w_{ij}\propto \langle v_{i}h_{j}\rangle _{\text{data}}-\langle v_{i}h_{j}\rangle _{\text{reconstruction}}.

Once an RBM is trained, another RBM is "stacked" atop it, taking its input from the final already-trained layer. The new visible layer is initialized to a training vector, and values for the units in the already-trained layers are assigned using the current weights and biases. The new RBM is then trained with the procedure above. This whole process is repeated until some desired stopping criterion is met.[3]

Although the approximation of CD to maximum likelihood is very crude (CD has been shown to not follow the gradient of any function), it has been empirically shown to be effective in training deep architectures.[121]

Convolutional deep belief networks[edit]

A recent achievement in deep learning is the use of convolutional deep belief networks (CDBN). CDBNs have structure very similar to a convolutional neural networks and are trained similar to deep belief networks. Therefore, they exploit the 2D structure of images, like CNNs do, and make use of pre-training like deep belief networks. They provide a generic structure which can be used in many image and signal processing tasks. Recently, many benchmark results on standard image datasets like CIFAR[143] have been obtained using CDBNs.[144]

Large memory storage and retrieval neural networks[edit]

Large memory storage and retrieval neural networks (LAMSTAR)[145][146] are fast deep learning neural networks of many layers which can use many filters simultaneously. These filters may be nonlinear, stochastic, logic, non-stationary, or even non-analytical. They are biologically motivated and continuously learning.

A LAMSTAR neural network may serve as a dynamic neural network in spatial or time domain or both. Its speed is provided by Hebbian link-weights (Chapter 9 of in D. Graupe, 2013[147]), which serve to 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 task for deep learning. This grossly imitates biological learning which integrates outputs various preprocessors (cochlearetinaetc.) and cortexes (auditoryvisualetc.) and their various regions. Its deep learning capability is further enhanced by using inhibition, correlation and by its ability to cope with incomplete data, or "lost" neurons or layers even at the midst of a task. Furthermore, it is fully transparent due to its link weights. The link-weights also 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 medical[148][149][150] and financial predictions (see Graupe, 2013[151] Section 9C), adaptive filtering of noisy speech in unknown noise,[152] still-image recognition[153] (Graupe, 2013[154] Section 9D), video image recognition,[155]software security,[156] adaptive control of non-linear systems,[157] and others. LAMSTAR had a much faster computing speed and somewhat lower error than a convolutional neural network based on ReLU-function filters and max pooling, in a comparative character recognition study.[158]

These applications demonstrate delving into aspects of the data that are hidden from shallow learning networks or even from the human senses (eye, ear), such as in the cases of predicting onset of sleep apnea events,[149] of an electrocardiogram of a fetus as recorded from skin-surface electrodes placed on the mother's abdomen early in pregnancy,[150] of financial prediction (Section 9C in Graupe, 2013),[145] or in blind filtering of noisy speech.[152]

LAMSTAR was proposed in 1996 (A U.S. Patent 5,920,852 A) and was further developed by D Graupe and H Kordylewski 1997-2002.[159][160][161] A modified version, known as LAMSTAR 2, was developed by N C Schneider and D Graupe in 2008.[162][163]

Deep Boltzmann machines[edit]

A deep Boltzmann machine (DBM) is a type of binary pairwise Markov random field (undirected probabilistic graphical model) with multiple layers of hidden random variables. It is a network of symmetrically coupled stochastic binary units. It comprises a set of visible units {\displaystyle {\boldsymbol {\nu }}\in \{0,1\}^{D}}{\boldsymbol {\nu }}\in \{0,1\}^{D}, and a series of layers of hidden units {\displaystyle {\boldsymbol {h}}^{(1)}\in \{0,1\}^{F_{1}},{\boldsymbol {h}}^{(2)}\in \{0,1\}^{F_{2}},\ldots ,{\boldsymbol {h}}^{(L)}\in \{0,1\}^{F_{L}}}{\boldsymbol {h}}^{(1)}\in \{0,1\}^{F_{1}},{\boldsymbol {h}}^{(2)}\in \{0,1\}^{F_{2}},\ldots ,{\boldsymbol {h}}^{(L)}\in \{0,1\}^{F_{L}}. There is no connection between units of the same layer (like RBM). For the DBM, the probability assigned to vector ν is

{\displaystyle p({\boldsymbol {\nu }})={\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)}},}p({\boldsymbol {\nu }})={\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)}},

where {\displaystyle {\boldsymbol {h}}=\{{\boldsymbol {h}}^{(1)},{\boldsymbol {h}}^{(2)},{\boldsymbol {h}}^{(3)}\}}{\boldsymbol {h}}=\{{\boldsymbol {h}}^{(1)},{\boldsymbol {h}}^{(2)},{\boldsymbol {h}}^{(3)}\} are the set of hidden units, and {\displaystyle \theta =\{{\boldsymbol {W}}^{(1)},{\boldsymbol {W}}^{(2)},{\boldsymbol {W}}^{(3)}\}}\theta =\{{\boldsymbol {W}}^{(1)},{\boldsymbol {W}}^{(2)},{\boldsymbol {W}}^{(3)}\} are the model parameters, representing visible-hidden and hidden-hidden interactions. If {\displaystyle {\boldsymbol {W}}^{(2)}=0}{\boldsymbol {W}}^{(2)}=0 and {\displaystyle {\boldsymbol {W}}^{(3)}=0}{\boldsymbol {W}}^{(3)}=0 the network is the well-known restricted Boltzmann machine.[164] Interactions are symmetric because links are undirected. By contrast, in a deep belief network (DBN) only the top two layers form a restricted Boltzmann machine (which is an undirected graphical model), but lower layers form a directed generative model.

Like DBNs, DBMs can learn complex and abstract internal representations of the input in tasks such as object or speech recognition, using limited labeled data to fine-tune the representations built using a large supply of unlabeled sensory input data. However, unlikeDBNs and deep convolutional neural networks, they adopt the inference and training procedure in both directions, bottom-up and top-down pass, which allow the DBMs to better unveil the representations of the ambiguous and complex input structures.[165][166]

However, the speed of DBMs limits their performance and functionality. Because exact maximum likelihood learning is intractable for DBMs, we may perform approximate maximum likelihood learning. Another option is to use mean-field inference to estimate data-dependent expectations, and approximation the expected sufficient statistics of the model by using Markov chain Monte Carlo (MCMC).[164] This approximate inference, which must be done for each test input, is about 25 to 50 times slower than a single bottom-up pass in DBMs. This makes the joint optimization impractical for large data sets, and seriously restricts the use of DBMs for tasks such as feature representation.[167]

Stacked (de-noising) auto-encoders[edit]

The auto encoder idea is motivated by the concept of a good representation. For example, for a classifier, a good representation can be defined as one that will yield a better performing classifier.

An encoder is a deterministic mapping {\displaystyle f_{\theta }}f_{\theta } that transforms an input vector x into hidden representation y, where {\displaystyle \theta =\{{\boldsymbol {W}},b\}}\theta =\{{\boldsymbol {W}},b\}{\displaystyle {\boldsymbol {W}}}{\boldsymbol {W}} 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 {\displaystyle g_{\theta }}g_{\theta }. The whole process of auto encoding is to compare this reconstructed input to the original and try to minimize this 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.[168] with a specific approach to good representation, a good representation is one that can be obtained 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 consists of multiple steps; starts by a stochastic mapping of {\displaystyle {\boldsymbol {x}}}{\boldsymbol {x}} to {\displaystyle {\tilde {\boldsymbol {x}}}}{\tilde {\boldsymbol {x}}} through {\displaystyle q_{D}({\tilde {\boldsymbol {x}}}|{\boldsymbol {x}})}q_{D}({\tilde {\boldsymbol {x}}}|{\boldsymbol {x}}), this is the corrupting step. Then the corrupted input {\displaystyle {\tilde {\boldsymbol {x}}}}{\tilde {\boldsymbol {x}}} passes through a basic auto encoder process and is mapped to a hidden representation {\displaystyle {\boldsymbol {y}}=f_{\theta }({\tilde {\boldsymbol {x}}})=s({\boldsymbol {W}}{\tilde {\boldsymbol {x}}}+b)}{\boldsymbol {y}}=f_{\theta }({\tilde {\boldsymbol {x}}})=s({\boldsymbol {W}}{\tilde {\boldsymbol {x}}}+b). From this hidden representation, we can reconstruct {\displaystyle {\boldsymbol {z}}=g_{\theta }({\boldsymbol {y}})}{\boldsymbol {z}}=g_{\theta }({\boldsymbol {y}}). In the last stage, a minimization algorithm runs in order to have z as close as possible to uncorrupted input {\displaystyle {\boldsymbol {x}}}{\boldsymbol {x}}. The reconstruction error {\displaystyle L_{H}({\boldsymbol {x}},{\boldsymbol {z}})}L_{H}({\boldsymbol {x}},{\boldsymbol {z}}) might be either thecross-entropy loss with an affine-sigmoid decoder, or the squared error loss with an affine decoder.[168]

In order to make a deep architecture, auto encoders stack one on top of another.[169] Once the encoding function {\displaystyle f_{\theta }}f_{\theta } of the first denoising auto encoder is learned and used to uncorrupt the input (corrupted input), we can train the second level.[168]

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

Deep stacking networks[edit]

One deep architecture based on a hierarchy of blocks of simplified neural network modules is a deep convex network, introduced in 2011.[170] Here, the weights learning problem is formulated as a convex optimization problem with a closed-form solution. This architecture is also called a deep stacking network (DSN),[171] emphasizing the mechanism's similarity to stacked generalization.[172] Each DSN block is a simple module that is easy to train by itself in a supervised fashion without back-propagation for the entire blocks.[173]

As designed by Deng and Dong,[170] each block consists of a simplified multi-layer perceptron (MLP) with a single hidden layer. The hidden layer h has logistic sigmoidal 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 {\displaystyle {\boldsymbol {H}}=\sigma ({\boldsymbol {W}}^{T}{\boldsymbol {X}})}{\boldsymbol {H}}=\sigma ({\boldsymbol {W}}^{T}{\boldsymbol {X}}). Modules are trained in order, so lower-layer weights W are known at each stage. The function performs the element-wise 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 also has 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:

{\displaystyle \min _{U^{T}}f=||{\boldsymbol {U}}^{T}{\boldsymbol {H}}-{\boldsymbol {T}}||_{F}^{2},}\min _{U^{T}}f=||{\boldsymbol {U}}^{T}{\boldsymbol {H}}-{\boldsymbol {T}}||_{F}^{2},

which has a closed-form solution.

Unlike other deep architectures, such as DBNs, the goal is not to discover the transformed feature representation. The structure of the hierarchy of this kind of architecture makes parallel learning straightforward, as a batch-mode optimization problem. In purelydiscriminative tasks, DSNs perform better than conventional DBN.[171]

Tensor deep stacking networks[edit]

This architecture is an extension of deep stacking networks (DSN). It improves on DSN in two important ways: it uses higher-order information from covariance statistics, and it transforms the non-convex problem of a lower-layer to a convex sub-problem of an upper-layer.[174] TDSNs use covariance statistics of the data by using a bilinear mapping 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 DNNs,[175][176][177] all learning for DSNs and TDSNs is done in batch mode, to allow parallelization on a cluster of CPU or GPU nodes.[170][171] Parallelization allows scaling the design to larger (deeper) architectures and data sets.

The basic architecture is suitable for diverse tasks such as classification and regression.

Spike-and-slab RBMs[edit]

The need for deep learning with real-valued inputs, as in Gaussian restricted Boltzmann machines, motivates the spike-and-slab RBM (ssRBMs), which models continuous-valued inputs with strictly binary latent variables.[178] Similar to basic RBMs and its variants, a spike-and-slab RBM is a bipartite graph, while like 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 density over continuous domain;[179][179] their mixture forms a prior. The terms come from the statistics literature.[180]

An extension of ssRBM called µ-ssRBM provides extra modeling capacity using additional terms in the energy function. One of these terms enables the model to form a conditional distribution of the spike variables by marginalizing out the slab variables given an observation.

Compound hierarchical-deep models[edit]

Compound hierarchical-deep models compose deep networks with non-parametric Bayesian modelsFeatures can be learned using deep architectures such as DBNs,[88] DBMs,[165] deep auto encoders,[181] convolutional variants,[182][183] ssRBMs,[179] deep coding networks,[184] DBNs with sparse feature learning,[185] recursive neural networks,[186] conditional DBNs,[187] de-noising auto encoders.[188] 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 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 (HB) models allow learning from few examples, for example[189][190][191][192][193] for computer visionstatistics, and cognitive science.

Compound HD architectures aim to integrate characteristics of both HB and deep networks. The compound HDP-DBM architecture, 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 score.[194]

In a DBM with three hidden layers, the probability of a visible input ν is:

{\displaystyle 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}},}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}},

where {\displaystyle {\boldsymbol {h}}=\{{\boldsymbol {h}}^{(1)},{\boldsymbol {h}}^{(2)},{\boldsymbol {h}}^{(3)}\}}{\boldsymbol {h}}=\{{\boldsymbol {h}}^{(1)},{\boldsymbol {h}}^{(2)},{\boldsymbol {h}}^{(3)}\} is the set of hidden units, and {\displaystyle \psi =\{{\boldsymbol {W}}^{(1)},{\boldsymbol {W}}^{(2)},{\boldsymbol {W}}^{(3)}\}}\psi =\{{\boldsymbol {W}}^{(1)},{\boldsymbol {W}}^{(2)},{\boldsymbol {W}}^{(3)}\} are the model parameters, representing visible-hidden and hidden-hidden symmetric interaction terms.

After a DBM model is learned, we have an undirected model that defines the joint distribution {\displaystyle P(\nu ,h^{1},h^{2},h^{3})}P(\nu ,h^{1},h^{2},h^{3}). One way to express what has been learned is the conditional model {\displaystyle P(\nu ,h^{1},h^{2}|h^{3})}P(\nu ,h^{1},h^{2}|h^{3}) and a prior term {\displaystyle P(h^{3})}P(h^{3}).

Here {\displaystyle P(\nu ,h^{1},h^{2}|h^{3})}P(\nu ,h^{1},h^{2}|h^{3}) represents a conditional DBM model, which can be viewed as a two-layer DBM but with bias terms given by the states of {\displaystyle h^{3}}h^{3}:

{\displaystyle 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}}.}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}}.

Deep coding networks[edit]

There are advantages of a model which can actively update itself from the context in data. Deep coding network (DPCN) is a predictive coding scheme where top-down information is used 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 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 layer-wise unsupervised learning. The layers constitute a kind of Markov chain such that the states at any layer only depend on the preceding and succeeding layers.

Deep predictive coding network (DPCN)[195] predicts the representation of the layer, by using a top-down approach using the information in upper layer and temporal dependencies from the previous states.

DPCNs can be extended to form a convolutional network.[195]

Deep Q-networks[edit]

A deep Q-network (DQN) is a type of deep learning model developed at Google DeepMind which combines a deep convolutional neural network with Q-learning, a form of reinforcement learning. Unlike earlier reinforcement learning agents, DQNs can learn directly from high-dimensional sensory inputs. Preliminary results were presented in 2014, with a paper published in February 2015 in Nature[196] The application discussed in this paper is limited to Atari 2600 gaming, but the implications for other applications are profound.

Networks with separate memory structures[edit]

Integrating external memory with artificial neural networks dates to early research in distributed representations[197] and Teuvo Kohonen's self-organizing maps. 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 encoders and decoders. However, the early controllers of such memories were not differentiable.

LSTM-related differentiable memory structures[edit]

Apart from long short-term memory (LSTM), other approaches of the 1990s and 2000s also added differentiable memory to recurrent functions. For example:

  • Differentiable push and pop actions for alternative memory networks called neural stack machines[198][199]
  • Memory networks where the control network's external differentiable storage is in the fast weights of another network[200]
  • LSTM "forget gates"[201]
  • Self-referential recurrent neural networks (RNNs) with special output units for addressing and rapidly manipulating each of the RNN's own weights in differentiable fashion (internal storage)[202][203]
  • Learning to transduce with unbounded memory[204]

Semantic hashing[edit]

Approaches which represent previous experiences directly and use a similar experience to form a local model are often called nearest neighbour or k-nearest neighbors methods.[205] More recently, deep learning was shown to be useful in semantic hashing[206]where a deep graphical model the word-count vectors[207] obtained from a large set of documents. Documents are mapped to memory addresses in such a way that semantically similar documents are located at nearby addresses. Documents similar to a query document can then be found by simply accessing all the addresses that differ by only a few bits from the address of the query document. Unlike sparse distributed memory which operates on 1000-bit addresses, semantic hashing works on 32 or 64-bit addresses found in a conventional computer architecture.

Neural Turing machines[edit]

Neural Turing machines,[208] developed by Google DeepMind, couple LSTM networks to external memory resources, which they can interact with 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.

Memory networks[edit]

Memory networks[209][210] are another extension to neural networks incorporating long-term memory, which was developed by the Facebook research team. 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.[211]

Pointer networks[edit]

Deep neural networks can be potentially improved if they get deeper and have fewer parameters, while maintaining trainability. While training extremely deep (e.g. 1-million-layer-deep) neural networks might not be practically feasible, CPU-like architectures such as pointer networks[212] and neural random-access machines[213] developed by Google Brain researchers overcome this limitation by using external random-access memory as well as adding other components that typically belong to a computer architecture such asregistersALU and 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[edit]

An encoder–decoder framework is a framework based on neural networks that aims to map highly structured input to highly structured output. It was proposed recently in the context of machine translation,[214][215][216] where the input and output are written sentences in two natural languages. In that work, an LSTM recurrent neural network (RNN) or convolutional neural network (CNN) was used as an encoder to summarize a source sentence, and the summary was decoded using a conditional recurrent neural network language model to produce the translation.[217] All these systems have the same building blocks: gated RNNs and CNNs, and trained attention mechanisms.

Other architectures[edit]

Multilayer kernel machine[edit]

Multilayer kernel machines (MKM) as introduced in [218] are a way of learning highly nonlinear functions by iterative application of weakly nonlinear kernels. They use the kernel principal component analysis (KPCA), in [219] as method for unsupervised greedy layer-wise pre-training step of the deep learning architecture.

Layer {\displaystyle l+1}l+1-th learns the representation of the previous layer {\displaystyle l}l, extracting the {\displaystyle n_{l}}n_{l} principal component (PC) of the projection layer {\displaystyle l}l output in the feature domain induced by the kernel. For the sake of dimensionality reduction of the updated representation in each layer, a supervised strategy is proposed to select the best informative features among features extracted by KPCA. The process is:

  • rank the {\displaystyle n_{l}}n_{l} features according to their mutual information with the class labels;
  • for different values of K and {\displaystyle m_{l}\in \{1,\ldots ,n_{l}\}}m_{l}\in \{1,\ldots ,n_{l}\}, compute the classification error rate of a K-nearest neighbor (K-NN) classifier using only the {\displaystyle m_{l}}m_{l} most informative features on a validation set;
  • the value of {\displaystyle m_{l}}m_{l} with which the classifier has reached the lowest error rate determines the number of features to retain.

There are some drawbacks in using the KPCA method as the building cells of an MKM.

A more straightforward way to use kernel machines for deep learning was developed by Microsoft researchers for spoken language understanding.[220] The main idea is to use a kernel machine to approximate a shallow neural net with an infinite number of hidden units, then use 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.


Automatic speech recognition[edit]

Main article: Speech recognition

Speech recognition has been revolutionised by deep learning, especially by Long short term memory (LSTM), a recurrent neural network published by Sepp Hochreiter & Jürgen Schmidhuber in 1997.[50] LSTM RNNs circumvent the vanishing gradient problem and can learn "Very Deep Learning" tasks[5] that involve speech events separated by thousands of discrete time steps, where one time step corresponds to about 10 ms. In 2003, LSTM with forget gates[104] became competitive with traditional speech recognizers on certain tasks.[51] In 2007, LSTM trained by Connectionist Temporal Classification (CTC)[52] achieved excellent results in certain applications,[53] although computers were much slower than today. In 2015, Google's large scale speech recognition suddenly almost doubled its performance through CTC-trained LSTM, now available to all smartphone users.[54]

The initial success of deep learning in speech recognition, however, was based on small-scale TIMIT tasks. The results shown in the table below are for automatic speech recognition on the popular TIMIT data set. This is a common data set used for initial evaluations of deep learning architectures. The entire set contains 630 speakers from eight major dialects of American English, where each speaker reads 10 sentences.[221] Its small size allows many configurations to be tried effectively. More importantly, the TIMIT task concerns phone-sequence recognition, which, unlike word-sequence recognition, allows very weak "language models" and thus the weaknesses in acoustic modeling aspects of speech recognition can be more easily analyzed. Such analysis on TIMIT by Li Deng and collaborators around 2009-2010, contrasting the GMM (and other generative models of speech) vs. DNN models, stimulated early industrial investment in deep learning for speech recognition from small to large scales,[47][68] eventually leading to pervasive and dominant use in that industry. That analysis was done with comparable performance (less than 1.5% in error rate) between discriminative DNNs and generative models. The error rates listed below, including these early results and measured as percent phone error rates (PER), have been summarized over a time span of the past 20 years:

MethodPER (%)
Randomly Initialized RNN26.1
Bayesian Triphone GMM-HMM25.6
Hidden Trajectory (Generative) Model24.8
Monophone Randomly Initialized DNN23.4
Monophone DBN-DNN22.4
Triphone GMM-HMM with BMMI Training21.7
Monophone DBN-DNN on fbank20.7
Convolutional DNN[222]20.0
Convolutional DNN w. Heterogeneous Pooling18.7
Ensemble DNN/CNN/RNN[223]18.2
Bidirectional LSTM17.9

In 2010, industrial researchers extended deep learning from TIMIT to large vocabulary speech recognition, by adopting large output layers of the DNN based on context-dependent HMM states constructed by decision trees.[224][225][226] Comprehensive reviews of this development and of the state of the art as of October 2014 are provided in the recent Springer book from Microsoft Research.[69] An earlier article[227] reviewed the background of automatic speech recognition and the impact of various machine learning paradigms, including deep learning.

One fundamental principle of deep learning is to do away with hand-crafted feature engineering and to use raw features. This principle was first explored successfully in the architecture of deep autoencoder on the "raw" spectrogram or linear filter-bank features,[228]showing its superiority over the Mel-Cepstral features which contain a few stages of fixed transformation from spectrograms. The true "raw" features of speech, waveforms, have more recently been shown to produce excellent larger-scale speech recognition results.[229]

Since the initial successful debut of DNNs for speech recognition around 2009-2011 and of LSTM around 2003-2007, there have been huge new progresses made. Progress (and future directions) can be summarized into eight major areas:[2][49][69]

  • Scaling up/out and speedup DNN training and decoding;
  • Sequence discriminative training of DNNs;
  • Feature processing by deep models with solid understanding of the underlying mechanisms;
  • Adaptation of DNNs and of related deep models;
  • Multi-task and transfer learning by DNNs and related deep models;
  • Convolution neural networks and how to design them to best exploit domain knowledge of speech;
  • Recurrent neural network and its rich LSTM variants;
  • Other types of deep models including tensor-based models and integrated deep generative/discriminative models.

Large-scale automatic speech recognition is the first and most convincing successful case of deep learning in the recent history, embraced by both industry and academia across the board. Between 2010 and 2014, the two major conferences on signal processing and speech recognition, IEEE-ICASSP and Interspeech, have seen a large increase in the numbers of accepted papers in their respective annual conference papers on the topic of deep learning for speech recognition. More importantly, all major commercial speech recognition systems (e.g., Microsoft Cortana, Xbox, Skype Translator, Amazon Alexa, Google Now, Apple Siri, Baidu and iFlyTek voice search, and a range of Nuance speech products, etc.) are all based on deep learning methods.[2][230][231][232] See also the recent media interview with the CTO of Nuance Communications.[233]

Image recognition[edit]

A common evaluation set for image classification is the MNIST database data set. MNIST is composed of handwritten digits and includes 60,000 training examples and 10,000 test examples. As with TIMIT, its small size allows multiple configurations to be tested. A comprehensive list of results on this set can be found in.[234] The current best result on MNIST is an error rate of 0.23%, achieved by Ciresan et al. in 2012.[235]

According to LeCun,[66] in the early 2000s, in an industrial application CNNs already processed an estimated 10% to 20% of all the checks written in the US in the early 2000s. Significant additional impact of deep learning in image or object recognition was felt in the years 2011–2012. Although CNNs trained by backpropagation had been around for decades,[32] and GPU implementations of NNs for years,[71] including CNNs,[72] fast implementations of CNNs with max-pooling on GPUs in the style of Dan Ciresan and colleagues[92] were needed to make a dent in computer vision.[5] In 2011, this approach achieved for the first time superhuman performance in a visual pattern recognition contest.[94] Also in 2011, it won the ICDAR Chinese handwriting contest, and in May 2012, it won the ISBI image segmentation contest.[95] Until 2011, CNNs did not play a major role at computer vision conferences, but in June 2012, a paper by Dan Ciresan et al. at the leading conference CVPR[97] showed how max-pooling CNNs on GPU can dramatically improve many vision benchmark records, sometimes with human-competitive or even superhuman performance. In October 2012, a similar system by Alex Krizhevsky in the team of Geoff Hinton[96] won the large-scale ImageNet competition by a significant margin over shallow machine learning methods. In November 2012, Ciresan et al.'s system also won the ICPR contest on analysis of large medical images for cancer detection, and in the following year also the MICCAI Grand Challenge on the same topic.[236] In 2013 and 2014, the error rate on the ImageNet task using deep learning was further reduced quickly, following a similar trend in large-scale speech recognition.

As in the ambitious moves from automatic speech recognition toward automatic speech translation and understanding, image classification has recently been extended to the more challenging task of automatic image captioning, in which deep learning (often as a combination of CNNs and LSTMs) is the essential underlying technology[237][238][239][240]

One example application is a car computer said to be trained with deep learning, which may enable cars to interpret 360° camera views.[241] Another example is the technology known as Facial Dysmorphology Novel Analysis (FDNA) used to analyze cases of human malformation connected to a large database of genetic syndromes.

Natural language processing[edit]

Neural networks have been used for implementing language models since the early 2000s.[105][242] Recurrent neural networks, especially LSTM,[50] are most appropriate for sequential data such as language. LSTM helped to improve machine translation[106] and Language Modeling.[107][108] LSTM combined with CNNs also improved automatic image captioning[139] and a plethora of other applications.[5]

Other key techniques in this field are negative sampling[243] and word embedding. Word embedding, such as word2vec, can be thought of as a representational layer in a deep learning architecture, that transforms an atomic word into a positional representation of the word relative to other words in the dataset; the position is represented as a point in a vector space. Using word embedding as an input layer to a recursive neural network (RNN) allows the training of the network to parse sentences and phrases using an effectivecompositional vector grammar. A compositional vector grammar can be thought of as probabilistic context free grammar (PCFG) implemented by a recursive neural network.[244] Recursive auto-encoders built atop word embeddings have been trained to assess sentence similarity and detect paraphrasing.[244] Deep neural architectures have achieved state-of-the-art results in many natural language processing tasks such as constituency parsing,[245] sentiment analysis,[246] information retrieval,[247][248] spoken language understanding,[249] machine translation,[106][250] contextual entity linking,[251] and others.[252]

Drug discovery and toxicology[edit]

The pharmaceutical industry faces the problem that a large percentage of candidate drugs fail to reach the market. These failures of chemical compounds are caused by insufficient efficacy on the biomolecular target (on-target effect), undetected and undesired interactions with other biomolecules (off-target effects), or unanticipated toxic effects.[253][254] In 2012, a team led by George Dahl won the "Merck Molecular Activity Challenge" using multi-task deep neural networks to predict the biomolecular target of a compound.[255][256] In 2014, Sepp Hochreiter's group used Deep Learning to detect off-target and toxic effects of environmental chemicals in nutrients, household products and drugs and won the "Tox21 Data Challenge" of NIHFDA and NCATS.[257][258] These impressive successes show that deep learning may be superior to other virtual screening methods.[259][260] Researchers from Google and Stanford enhanced deep learning for drug discovery by combining data from a variety of sources.[261] In 2015, Atomwise introduced AtomNet, the first deep learning neural networks for structure-based rational drug design.[262] Subsequently, AtomNet was used to predict novel candidate biomolecules for several disease targets, most notably treatments for the Ebola virus[263] and multiple sclerosis.[264][265]

Customer relationship management[edit]

Recently success has been reported with application of deep reinforcement learning in direct marketing settings, illustrating suitability of the method for CRM automation. A neural network was used to approximate the value of possible direct marketing actions over the customer state space, defined in terms of RFM variables. The estimated value function was shown to have a natural interpretation as customer lifetime value.[266]

Recommendation systems[edit]

Recommendation systems have used deep learning to extract meaningful deep features for latent factor model for content-based recommendation for music.[267] Recently, a more general approach for learning user preferences from multiple domains using multiview deep learning has been introduced.[268] The model uses a hybrid collaborative and content-based approach and enhances recommendations in multiple tasks.


Recently, a deep-learning approach based on an autoencoder artificial neural network has been used in bioinformatics, to predict Gene Ontology annotations and gene-function relationships.[269]

Theories of the human brain[edit]

Computational deep learning is closely related to a class of theories of brain development (specifically, neocortical development) proposed by cognitive neuroscientists in the early 1990s.[270] An approachable summary of this work is Elman, et al.'s 1996 book "Rethinking Innateness"[271] (see also: Shrager and Johnson;[272] Quartz and Sejnowski[273]). As these developmental theories were also instantiated in computational models, they are technical predecessors of purely computationally motivated deep learning models. These developmental models share the interesting property that various proposed learning dynamics in the brain (e.g., a wave of nerve growth factor) conspire to support the self-organization of just the sort of inter-related neural networks utilized in the later, purely computational deep learning models; and such computational neural networks seem analogous to a view of the brain's neocortex as a hierarchy of filters in which each layer captures some of the information in the operating environment, and then passes the remainder, as well as modified base signal, to other layers further up the hierarchy. This process yields a self-organizing stack of transducers, well-tuned to their operating environment. As described in The New York Times in 1995: "...the infant's brain seems to organize itself under the influence of waves of so-called trophic-factors ... different regions of the brain become connected sequentially, with one layer of tissue maturing before another and so on until the whole brain is mature."[274]

The importance of deep learning with respect to the evolution and development of human cognition did not escape the attention of these researchers. One aspect of human development that distinguishes us from our nearest primate neighbors may be changes in the timing of development.[275] Among primates, the human brain remains relatively plastic until late in the post-natal period, whereas the brains of our closest relatives are more completely formed by birth. Thus, humans have greater access to the complex experiences afforded by being out in the world during the most formative period of brain development. This may enable us to "tune in" to rapidly changing features of the environment that other animals, more constrained by evolutionary structuring of their brains, are unable to take account of. To the extent that these changes are reflected in similar timing changes in hypothesized wave of cortical development, they may also lead to changes in the extraction of information from the stimulus environment during the early self-organization of the brain. Of course, along with this flexibility comes an extended period of immaturity, during which we are dependent upon our caretakers and our community for both support and training. The theory of deep learning therefore sees the coevolution of culture and cognition as a fundamental condition of human evolution.[276]

Commercial activities[edit]

Deep learning is often presented as a step towards realising strong AI[277] and thus many organizations have become interested in its use for particular applications. In December 2013, Facebook hired Yann LeCun to head its new artificial intelligence (AI) lab that was to have operations in California, London, and New York. The AI lab will develop deep learning techniques to help Facebook do tasks such as automatically tagging uploaded pictures with the names of the people in them.[278] Late in 2014, Facebook also hiredVladimir Vapnik, a main developer of the Vapnik–Chervonenkis theory of statistical learning, and co-inventor of the support vector machine method.[279]

In 2014, Google also bought DeepMind Technologies, a British start-up that developed a system capable of learning how to play Atari video games using only raw pixels as data input. In 2015 they demonstrated AlphaGo system which achieved one of the long-standing "grand challenges" of AI by learning the game of Go well enough to beat a human professional Go player.[280][281][282]

In 2015, Blippar demonstrated a new mobile augmented reality application that makes use of deep learning to recognize objects in real time.[283]

Criticism and comment[edit]

Given the far-reaching implications of artificial intelligence coupled with the realization that deep learning is emerging as one of its most powerful techniques, the subject is understandably attracting both criticism and comment, and in some cases from outside the field of computer science itself.

A main criticism of deep learning concerns the lack of theory surrounding many of the methods.[citation needed] Learning in the most common deep architectures is implemented using gradient descent; while gradient descent has been understood for a while now, the theory surrounding other algorithms, such as contrastive divergence is less clear.[citation needed] (i.e., Does it converge? If so, how fast? What is it approximating?) Deep learning methods are often looked at as a black box, with most confirmations done empirically, rather than theoretically.[citation needed]

Others point out that deep learning should be looked at as a step towards realizing strong AI, not as an all-encompassing solution. Despite the power of deep learning methods, they still lack much of the functionality needed for realizing this goal entirely. Research psychologist Gary Marcus has noted that:

"Realistically, deep learning is only part of the larger challenge of building intelligent machines. Such techniques lack ways of representing causal relationships (...) have no obvious ways of performing logical inferences, and they are also still a long way from integrating abstract knowledge, such as information about what objects are, what they are for, and how they are typically used. The most powerful A.I. systems, like Watson (...) use techniques like deep learning as just one element in a very complicated ensemble of techniques, ranging from the statistical technique of Bayesian inference to deductive reasoning."[284]

To the extent that such a viewpoint implies, without intending to, that deep learning will ultimately constitute nothing more than the primitive discriminatory levels of a comprehensive future machine intelligence, a recent pair of speculations regarding art and artificial intelligence[285] offers an alternative and more expansive outlook. The first such speculation is that it might be possible to train a machine vision stack to perform the sophisticated task of discriminating between "old master" and amateur figure drawings; and the second is that such a sensitivity might in fact represent the rudiments of a non-trivial machine empathy. It is suggested, moreover, that such an eventuality would be in line with anthropology, which identifies a concern with aesthetics as a key element of behavioral modernity (e.g., in [286]).

In further reference to the idea that a significant degree of artistic sensitivity might inhere within relatively low levels, whether biological or digital, of the cognitive hierarchy, a published series of graphic representations of the internal states of deep (20-30 layers) neural networks attempting to discern within essentially random data the images on which they were trained[287] seem to demonstrate a striking visual appeal in light of the remarkable level of public attention which this work captured: the original research notice received well over 1,000 comments, and the The Guardian coverage[288] was for a time the most frequently accessed article on that newspaper's web site.

Some currently popular and successful deep learning architectures display certain problematic behaviors,[289] such as confidently classifying unrecognizable images as belonging to a familiar category of ordinary images[290] and misclassifying minuscule perturbations of correctly classified images.[291] The creator of OpenCogBen Goertzel, hypothesized[289] that these behaviors are due to limitations in the internal representations learned by these architectures, and that these limitations would inhibit integration of these architectures into heterogeneous multi-component AGI architectures. It is suggested that these issues can be worked around by developing deep learning architectures that internally form states homologous to image-grammar[292] decompositions of observed entities and events.[289] Learning a grammar (visual or linguistic) from training data would be equivalent to restricting the system to commonsense reasoning which operates on concepts in terms of production rules of the grammar, and is a basic goal of both human language acquisition[293] and AI. (See also Grammar induction.[294])

Software libraries[edit]

  • Deeplearning4j — An open-source[295] deep-learning library written for Java/C++ with LSTMs and convolutional networks, supported by Skymind. It provides parallelization with Spark on CPUs and GPUs.
  • Gensim — A toolkit for natural language processing implemented in the Python programming language.
  • Keras — An open-source deep learning framework for the Python programming language.
  • Microsoft CNTK (Computational Network Toolkit) — Microsoft's open-source[296] deep-learning toolkit for Windows and Linux. It provides parallelization with CPUs and GPUs across multiple servers.[297]
  • OpenNN — An open source C++ library which implements deep neural networks and provides parallelization with CPUs.
  • TensorFlow — Google's open source machine learning library in C++ and Python with APIs for both. It provides parallelization with CPUs and GPUs.[298]
  • Theano — An open source machine learning library for Python supported by the University of Montreal and Yoshua Bengio's team.
  • Torch — An open source software library for machine learning based on the Lua programming language and used by Facebook.

See also[edit]


  1. Jump up^ Ian Goodfellow, Yoshua Bengio, and Aaron Courville (2016). Deep Learning. MIT Press. Online
  2. Jump up to:a b c d e f g h i Deng, L.; Yu, D. (2014). "Deep Learning: Methods and Applications" (PDF)Foundations and Trends in Signal Processing7 (3-4): 1–199. doi:10.1561/2000000039.
  3. Jump up to:a b c d e f g Bengio, Yoshua (2009). "Learning Deep Architectures for AI" (PDF)Foundations and Trends in Machine Learning2 (1): 1–127. doi:10.1561/2200000006.
  4. Jump up to:a b c d e f Bengio, Y.; Courville, A.; Vincent, P. (2013). "Representation Learning: A Review and New Perspectives".IEEE Transactions on Pattern Analysis and Machine Intelligence.35 (8): 1798–1828. arXiv:1206.5538free to read.doi:10.1109/tpami.2013.50.
  5. Jump up to:a b c d e f g h i j k l m n o p q r Schmidhuber, J. (2015). "Deep Learning in Neural Networks: An Overview". Neural Networks.61: 85–117. arXiv:1404.7828free to read.doi:10.1016/j.neunet.2014.09.003.
  6. Jump up^ Bengio, Yoshua; LeCun, Yann; Hinton, Geoffrey (2015). "Deep Learning". Nature521: 436–444. doi:10.1038/nature14539.
  7. Jump up^ Deep Machine Learning – A New Frontier in Artificial Intelligence Research – a survey paper by Itamar Arel, Derek C. Rose, and Thomas P. Karnowski. IEEE Computational Intelligence Magazine, 2013
  8. Jump up to:a b c d e f g Schmidhuber, Jürgen (2015). "Deep Learning".Scholarpedia10 (11): 32832. doi:10.4249/scholarpedia.32832.
  9. Jump up^ Carlos E. Perez. "A Pattern Language for Deep Learning".
  10. Jump up^ Glauner, P. (2015). Deep Convolutional Neural Networks for Smile Recognition (MSc Thesis). Imperial College London, Department of Computing. arXiv:1508.06535free to read.
  11. Jump up^ Song, H.A.; Lee, S. Y. (2013). "Hierarchical Representation Using NMF". Neural Information Processing. Lectures Notes in Computer Sciences. 8226Springer Berlin Heidelberg. pp. 466–473. doi:10.1007/978-3-642-42054-2_58ISBN 978-3-642-42053-5.
  12. Jump up^ Olshausen, B. A. (1996). "Emergence of simple-cell receptive field properties by learning a sparse code for natural images".Nature381 (6583): 607–609. doi:10.1038/381607a0.
  13. Jump up^ Collobert, R. (April 2011). Deep Learning for Efficient Discriminative Event occurs at 7min 45s.
  14. Jump up^ Gomes, L. (20 October 2014). "Machine-Learning Maestro Michael Jordan on the Delusions of Big Data and Other Huge Engineering Efforts"IEEE Spectrum.
  15. Jump up to:a b Rina Dechter (1986). Learning while searching in constraint-satisfaction problems. University of California, Computer Science Department, Cognitive Systems Laboratory.Online
  16. Jump up to:a b c d e f g J. Schmidhuber., "Learning complex, extended sequences using the principle of history compression," Neural Computation, 4, pp. 234–242, 1992.
  17. Jump up to:a b c d Hinton, G.E. "Deep belief networks". Scholarpedia4(5): 5947. doi:10.4249/scholarpedia.5947.
  18. Jump up to:a b Balázs Csanád Csáji. Approximation with Artificial Neural Networks; Faculty of Sciences; Eötvös Loránd University, Hungary
  19. Jump up to:a b c Cybenko (1989). "Approximations by superpositions of sigmoidal functions" (PDF)Mathematics of Control, Signals, and Systems2 (4): 303–314. doi:10.1007/bf02551274.
  20. Jump up to:a b c Hornik, Kurt (1991). "Approximation Capabilities of Multilayer Feedforward Networks". Neural Networks4 (2): 251–257. doi:10.1016/0893-6080(91)90009-t.
  21. Jump up to:a b Haykin, Simon (1998). Neural Networks: A Comprehensive Foundation, Volume 2, Prentice Hall. ISBN 0-13-273350-1.
  22. Jump up to:a b Hassoun, M. (1995) Fundamentals of Artificial Neural Networks MIT Press, p. 48
  23. Jump up to:a b c d Murphy, K.P. (2012) Machine learning: a probabilistic perspective MIT Press
  24. Jump up^