Provable limitations of deep learning

Emmanuel Abbe, Colin Sandon

Introduction

It is known that the class of neural networks (NNs) with polynomial network size can express any function that can be implemented in a given polynomial time, and that their sample complexity scales polynomially with the network size. Thus NNs have favorable approximation and estimation errors. The main challenge is with the optimization error, as there is no known efficient training algorithm for NNs with provable guarantees, in particular, it is NP-hard to implement the ERM rule [KS09, DSS16].

The success behind deep learning is to train deep NNs with descent algorithms (e.g., coordinate, gradient or stochastic gradient descent); this gives record performances in image [KSH12], speech [HDY+12] and document recognitions [LBBH98], and the scope of applications is increasing on a daily basis [LBH15, GBC16]. While deep learning operates in an overparametrized regime, and while SGD optimizes a highly non-convex objective function, the training by SGD gives astonishingly low generalization errors in these applications. A major research effort is devoted to explaining these successes, with various components claimed responsible, such as the compositional structure of neural networks matching that of real signals, the implicit regularizations behind SGD (e.g., its stochastic component), the increased size of data sets and the augmented computational power, among others.

With the wide expansion of the field, one would like to also envision the potential limits of deep learning. This is the focus of this paper. To understand the limitations of deep learning, we look for classes of functions that are efficiently learnable by some algorithm, but not for deep learning.

The function that computes the parity of a Boolean vector is a well-known candidate [LeC16], as most functions that SGD is likely to try would be essentially uncorrelated with it, making it difficult to get close enough to the right function in a manageable time. However, any Boolean function that can be computed in time O(T(n))O(T(n)) can also be expressed by a neural network of size O(T(n)2)O(T(n)^{2}) [Par94, SSBD14], and so one could always start with a neural net that is set to compute the desired function, such as the parity function. The problem is thus meaningful only if one constraints the type of initialization (e.g., random initializations) or if one deals with a class of functions (concept class) rather than a specific one, as commonly done for parities [Sha18, Raz16]. We next discuss the example of parities before going back to general function distributions in Sections 1.4 and 2.

The problem of learning parities is formulated as follows. Define the class of all parity functions by F={ps:s⊆[n]}\mathcal{F}=\{p_{s}:s\subseteq[n]\}, where ps:{+1,−1}n→{+1,−1}p_{s}:\{+1,-1\}^{n}\to\{+1,-1\} is such that

Nature picks SS uniformly at random in 2[n]2^{[n]}, and with access to F\mathcal{F} but not to SS, the problem is to run a descent algorithm for a polynomial number of steps tt (in nn) to obtain w(t)w^{(t)} (e.g., coordinate, gradient or stochastic gradient descent using labeled samples (Xi,PS(Xi))(X_{i},P_{S}(X_{i})) where the XiX_{i}’s are independently and uniformly drawn in {+1,−1}n\{+1,-1\}^{n}).

The goal is to have the neural network output a label evalw(t)(X)eval_{w^{(t)}}(X) on a uniformly random input XX that (at least) correlates with the true label pS(X)p_{S}(X), such as

for some notion of mutual information (e.g., TV, KL or Chi-squared mutual information), or

Note that this is a weak learning requirement, thus failing at this is discarding any stronger requirements related to PAC-learning as mentioned in Section 2. Note also that this objective can be achieved if we do not restrict ourselves to using a NN trained with a descent algorithm. In fact, one can simply take an algorithm that builds a basis from enough samples (e.g., n+Ω(log⁡(n))n+\Omega(\log(n))) and solves the resulting system of linear equations to reconstruct SS. This seems however far from how deep learning proceeds. For instance, SGD is “memoryless” in that it updates the weights of the NN at each step with a sample but does not a priori explicitly remember the previous samples. Since each sample gives very little information about the true SS, it thus seems unlikely for SGD to make any progress on a polynomial time horizon. However, it is far from trivial to argue this formally if we allow the NN to be arbitrarily large and with arbitrary initialization (albeit of polynomial complexity), and in particular inspecting the gradient is typically not sufficient. In fact, we claim that this is wrong, and deep learning can learn the parity function with a careful (though poly-time) initialization — See Sections 2.3 and 7.

On the other hand, if the initialization is done at random, as commonly assumed [SSBD14], and the descent algorithm is run with perturbations, as sometimes advocated in different forms [GHJY15, WT11, RRT17], or if one does not move with the full gradient such as in (block-)coordinate descent or more generally bounded-memory update rules, then we show that it is in fact hard to learn parities. We will provide results in such settings showing the failure of deep learning.

Note also that having GD run with little noise is not equivalent to having noisy labels for which learning parities can be hard irrespective of the algorithm used [BKW03, Reg05]; in fact, the amount of noise that we need for running GD to obtain failure is exponentially small, which would effectively represent no noise if that noise was added on the labels itself (e.g., Gaussian elimination would still work).

2 An illustrative experiment

To illustrate the phenomenon, we consider the following data set and numerical experiment in PyTorch [PGC+17]. The elements in X\mathcal{X} are images with a white background and either an even or odd number of black dots, with the parity of the dots determining the label — see Figure 1. The dots are drawn by building a k×kk\times k grid with white background and activating each square with probability 1/21/2.

We then train a neural network to learn the parity label of these images. The architecture is a 3 hidden linear layer perceptron with 128 units and ReLU non linearities trained using binary cross entropy. The training and testing dataset are composed of 1000 images of grid-size k=13k=13. We used PyTorch implementation of SGD with step size 0.1 and i.i.d. rescaled uniform weight initialization [HZRS15].

Figure 2 show the evolution of the training loss, testing and training errors. As can be seen, the net can learn the training set but does not generalize better than random guessing.

Note that this is not exactly the model of Section 1.1. In the experiment, each image can be viewed as a Boolean vector of dimension k2k^{2}, but the parity is taken over the entire vector, rather than a subset SS. This is however similar to our setup due to the following observation.Another minor distinction is to sample from a pre-set training set v.s. sampling fresh samples, but both can be implemented similarly for the experiment. First consider the same experiment where one only takes the parity on the set SS consisting of the first half of the image; this would have the same performance outcome. Now, since the net is initialized with i.i.d. random weights, taking SS has the first half or any other random subset of ≈k2/2\approx k^{2}/2 components leads to the same outcome by symmetry. Therefore, we expect failure for the same reason as we expect failure in our model with enough randomness in the initialization.

3 Learning general function and input distributions

In this paper, we will investigate the effect of general input distribution PXP_{\mathcal{X}} and function distribution PFP_{\mathcal{F}} on deep learning.

Let n>0n>0, ϵ>0\epsilon>0, PXP_{\mathcal{X}} be a probability distribution on X=Dn\mathcal{X}=\mathcal{D}^{n} for some set D\mathcal{D}, and PFP_{\mathcal{F}} be a probability distribution on the set of functions from X\mathcal{X} to {+1,−1}\{+1,-1\}.

4 Insights about failures and successes of deep learning

Our negative results reveal a measure that captures when the considered deep learning algorithms fail.

For a probability measure PXP_{\mathcal{X}} on the data domain X\mathcal{X}, and a probability measure PFP_{\mathcal{F}} on the class of functions F\mathcal{F} from X\mathcal{X} to Y={+1,−1}\mathcal{Y}=\{+1,-1\}, we define the cross-predictability of PFP_{\mathcal{F}} with respect to PXP_{\mathcal{X}} by

The main insight is as follows. All of the algorithms that we consider essentially take a neural net, attempt to compute how well the functions computed by the net and slightly perturbed versions of the net correlate with the target function, and adjust the net in the direction of higher correlation. If none of these functions have significant correlation with the target function, this will generally make little or no progress. The descent algorithm evolves in a flat minima where no significant progress is made in a polynomial time horizon.

Of course, for any specific target function, we could initialize the net to correlate with it. However, if the target function is randomly drawn from a class with negligible cross-predictability, and if one cannot operate with GD or SGD perfectly, then no function is significantly correlated with the target function with nonnegligible probability and a descent algorithm will generally fail to learn the function in polynomial time.

Consider a symmetric function distribution, i.e., one that is invariant under a permutation of the input variables (e.g., random monomials). If one cannot learn this distribution with any initialization of the net, one cannot learn any given function in the distribution support with a random i.i.d. initialization of the net. This is because a random i.i.d. initialization of the net is itself symmetric under permutation.

Further, we claim that the cross-predictability measure can be used to understand when a given function hh cannot be learned in poly-time with GD/SGD on poly-size nets that are randomly initialized, without imposing noise or memory constraints on how GD/SGD are run.

Namely, define the cross-predictability between a target function and a random neural net as

where (G,f)(G,f) is a random neural net under the distribution μNN\mu_{NN}, i.e., ff is a fixed non-linearity, GG is a random graph that consists of complete bipartiteOne could consider other types of graphs but a certain amount of randomness has to be present in the model. graphs between consecutive layers of a poly-size NN, with weights i.i.d. centered Gaussian of variance equal to one over the width of the previous layer, and X∼PXX\sim P_{\mathcal{X}} is independent of GG. We then claim that if such a cross-predictability decays super-polynomially, training such a random neural net with a polynomial number of steps of GD or SGD will fail at learning even without memory or noise constraints. Again, as mentioned above, if the target function is permutation invariant, it cannot be learned with a random initialization and noisy GD with small random noise. So the claim is that the random initialization gives already enough randomness in one step to cover all the added randomness from noisy GD.

4.2 Succeeding with large cross-predictability

In the case of random degree kk monomials, i.e., parity functions on a uniform subset SS of size kk with uniform inputs, we will show that deep learning fails at learning under memory or noise constraints as soon as k=ω(1)k=\omega(1). This is because the cross-predictability scales as (nk)−1{n\choose k}^{-1}, which is already super-polynomial when k=ω(1)k=\omega(1).

On the flip side, if kk is constant, it is not hard to show that GD can learn this function distribution by inputting all the (nk){n\choose k} monomials in the first layer (and for example the cosine non-linearity to compute the parity in one hidden layer). Therefore, for random degree kk monomials, the deep learning algorithms described in our theorems will succeed at learning if and only if k=O(1)k=O(1). Thus one can only learn “local” functions in that sense.

We believe that small cross-predictability does not take place for typical labelling functions concerned with images or sounds, where many of the functions we would want to learn are correlated both with each other and with functions a random neural net is reasonably likely to compute. For instance, the objects in an image will correlate with whether the image is outside, which will in turn correlate with whether the top left pixel is sky blue. A randomly initialized neural net is likely to compute a function that is nontrivially correlated with the last of these, and some perturbations of it will correlate with it more, which means the network is in position to start learning the functions in question.

Intuitively, this is due to the fact that images and image classes have more compositional structures (i.e., their labels are well explained by combining ‘local’ features). Instead, parity functions of large support size, i.e., not constant size but growing size, are not well explained by the composition of local features of the vectors, and require more global operations on the input.

5 Succeeding beyond cross-predictability

As previously mentioned, certain methods of training a neural net cannot learn a random function drawn from any distribution with a cross-predictability that goes to zero at a superpolynomial rate. This raises the question of whether or not these methods can successfully learn a random function drawn from any distribution with a cross-predictability that is at least the inverse of a polynomial.

The first obstacle to learning such a function is that some functions cannot be computed to a reasonable approximation by any neural net of polynomial size. A probability distribution that always yields the same function has a cross-predictability of 11, but if that function cannot be computed with nontrivial accuracy by any polynomial-sized neural net, then any method of training such a net will fail to learn it.

However, we cannot do much better than this. To demonstrate that, consider a probability distribution over functions that returns the function that always outputs 11 with probability 1/ln⁡(n)1/\ln(n), the function that always outputs −1-1 with probability 1/ln⁡(n)1/\ln(n), and a random function otherwise. This distribution has a cross-predictability of θ(1/ln⁡2(n))\theta(1/\ln^{2}(n)). However, a function drawn from this distribution is only efficiently learnable if it is one of the constant functions. As such, any method of attempting to learn a function drawn from this distribution that uses a subexponential number of samples will fail with probability 1−O(1/ln⁡(n))1-O(1/\ln(n)). In particular, this type of example demonstrates that for any g=o(1)g=o(1), there exists a probability distribution of functions with a cross-predictability of at least g(n)g(n) such that no efficient algorithm can learn this distribution with an accuracy of 1/2+Ω(1)1/2+\Omega(1).

However, one can likely prove that a neural net trained by noisy GD or noisy SGD can learn PFP_{\mathcal{F}} if it satisfies the following property. Let mm be polynomial in nn, and assume that there exists a set of functions g1,...,gmg_{1},...,g_{m} such that each of these functions is computable by a polynomial-sized neural net and the projection of a random function drawn from PFP_{\mathcal{F}} onto the vector space spanned by g1,...,gmg_{1},...,g_{m} has an average magnitude of Ω(1)\Omega(1). In order to learn PFP_{\mathcal{F}}, we start with a neural net that has a component that computes gig_{i} for each ii, and edges linking the outputs of all of these components to its output. Then, the training process can determine how to combine the information provided by these components to compute the function with an advantage that is within a constant factor of the magnitude of its projection onto the subspace they define. That yields an average accuracy of 1/2+Ω(1)1/2+\Omega(1). However, we do not think that this is a necessary condition to be able to learn a distribution using a neural net trained by noisy SGD or the like.

6 Related works

The difficulty of learning parities with NNs is not new. The parity was already known to be hard based on the early works on the perceptron [MP87], see also [Hås87, All96]. We now discuss various works related to ours.

Statistical querry algorithms. The lack of correlations between two parity functions and its implication in learning parities appear also in the context of statistical query learning algorithms [Kea98, BFJ+94], which are algorithms that access estimates of the expected value of some query function over the underlying data distribution (e.g., the first moment statistics of inputs’ coordinates).

In particular, gradient-based algorithms with approximate oracle access are realizable as statistical query algorithms, and [Kea98] implies that the class of parity functions cannot be learned by such algorithms, which gives a result similar in nature to our Theorem 3. However, the result from [Kea98] and its generalization in [BKW03] have a few differences from those presented here; first these papers define successful learning for any function in a class of function, where as we will work with typical functions from a function distributions; second these papers require the noise to be adversarial, while we use statistical (and thus less restrictive) noise; finally the proof techniques are different, mainly based on Fourier analysis in [BKW03] and on hypothesis testing here.

One could also use [Kea98] to obtain a variant of our Theorem 2. Technically [Kea98] only says that a SQ algorithm with a polynomial number of queries and inverse polynomial noise cannot learn a parity function, but the proof would still work with appropriately chosen exponential parameters. To further convert this to the setting with statistical noise, one could use an argument saying that the Gaussian noise is large enough to mostly drown out the adversarial noise if the latter is small enough, but the resulting bounds would be slightly looser than ours because that would force one to make trade offs between making the amount of adversarial noise in the SQ result low and minimizing the probability that one of the queries does provide meaningful information. Alternately, one could probably rewrite their proof using Gaussian noise instead of bounded adversarial noise and bound sums of L1L_{1} differences between the probability distributions corresponding to different functions instead of arguing that with high probability the bound on the noise quantity is high enough to allow the adversary to give a generic response to the query.

To see how Theorem 3 departs from the setting of [BKW03] beyond the statistical noise discussed above, note that the cross-predictability captures the expected inner product ⟨F1,F2⟩PX\langle F_{1},F_{2}\rangle_{P_{\mathcal{X}}} over two i.i.d. functions F1,F2F_{1},F_{2} under PFP_{\mathcal{F}}, whereas the statistical dimension defined in [BKW03] is the largest number dd of functions fi∈Ff_{i}\in\mathcal{F} that are nearly orthogonal, i.e, ∣⟨fi,fj⟩PX∣≤1/d3|\langle f_{i},f_{j}\rangle_{P_{\mathcal{X}}}|\leq 1/d^{3}, 1≤i<j≤d1\leq i<j\leq d. Therefore, while the cross-predictability and statistical dimension tend to be negatively correlated, one can construct a family F\mathcal{F} that contains many almost orthogonal functions, yet with little mass under PFP_{\mathcal{F}} on these so that the distribution has a high cross-predictability. For example, take a class containing two types of functions, hard and easy, such as parities on sets of components and almost-dictatorships which agree with the first input bit on all but nn of the inputs. The parity functions are orthogonal, so the union contains a set of size 2n2^{n} that is pairwise orthogonal. However, there are about 2n2^{n} of the former and 2n22^{n^{2}} of the latter, so if one picks a function uniformly at random on the union, it will belong to the latter group with high probability, and the cross-predictability will be 1−o(1)1-o(1). So one can build examples of function classes where it is possible to learn with a moderate cross-predictability while the statistical dimension is large and learning fails in the sense of [BKW03].

There have been further extensions of the statistical-dimension, such as in [FGR+17] which allows for a probability measure on the functions as well. The statistical dimension as defined in Definition 2.6 of [FGR+17] measures the maximum probability subdistribution with a sufficiently high correlation among its members.Another difference with [FGR+17] is that our results show failures for weak rather than exact learning. As a result, any probability distribution with a low cross predictability must have a high statistical dimension in that sense. However, a distribution of functions that are all moderately correlated with each other could have an arbitrarily high statistical dimension despite having a reasonably high cross-predictability. For example, using definition 2.6 of [FGR+17] with constant γˉ\bar{\gamma} on the collection of functions from {0,1}n−>{0,1}\{0,1\}^{n}->\{0,1\} that are either 1 on 1/2+γ/41/2+\sqrt{\gamma}/4 of the possible inputs or 1 on 1/2−γ/41/2-\sqrt{\gamma}/4 of the inputs, gives a statistical dimension with average correlation γ\gamma that is doubly exponential in nn. However,this has a cross predictability of γ2/16\gamma^{2}/16.

One could imagine a way to prove Thm 1 with prior SQ works as follows, (i) generalize the paper of [SVW15] that establishes a result similar to our Thm 1 for the special case of parities to the class of low cross-predictability functions, (ii) show that this class has the right notion of statistical dimension that is high. However, the distinction between low cross-predictability and high stat-dimensional would kick in at this point. If we take the example mentioned in the previous paragraph, the version of SGD used in Theorem 1 could learn to compute a function drawn from this distribution with expected accuracy 1/2+γ/81/2+\sqrt{\gamma}/8 given O(1/γ)O(1/\gamma) samples, so the statistical dimension of the distribution is not limiting its learnability by such algorithms in an obvious way. One might be able to argue that a low cross-predictability implies a high statistical dimension with a value of γ\gamma that vanishes sufficiently quickly and then work from there. However, it is not clear exactly how one would do that, or why it would give a preferred approach.

Paper [FGV17] also shows that gradient-based algorithms with approximate oracle access are realizable as statistical query algorithms, however, [FGV17] makes a convexity assumption that is not satisfied by non-trivial neural nets. SQ lower bounds for learning with data generated by neural networks is also investigated in [SVWX17] and for neural network models with one hidden nonlinear activation layer in [VW18].

Finally, the current SQ framework does not apply to noisy SGD (even for adversarial noise). In fact, we believe that it is possible to learn parities with better noise-tolerance and complexity than any SQ algorithm will do — see further discussion below and in Sections 2.3 and 7.

Memory-sample trade-offs. In [Raz16], it is shown that one needs either quadratic memory or an exponential number of samples in order to learn parities, settling a conjecture from [SVW15]. This gives a non-trivial lower bound on the number of samples needed for a learning problem and a first complete negative result in this context, with applications to bounded-storage cryptography [Raz16]. Other works have extended the results of [Raz16]; in particular [KRT17] applies to k-sparse sources, [Raz17] to other functions than parities, and [GRT18] exploits properties of two-source extractors to obtain comparable memory v.s. sample complexity trade-offs, with similar results obtained in [BOY17]. The cross-predictability has also similarity with notions of almost orthogonal matrices used in L2L_{2}-extractors for two independent sources [CG88, GRT18].

In contrast to this line of works (i.e., [Raz16] and follow-up papers), our Theorem 1 specialized to the parity functions shows that one needs exponentially many samples to learn parities if less than n/24n/24 pre-assigned bits of memory are used per sample. These are thus different models and results. Our result does not say anything interesting about our ability to learn parities with an algorithm that has free access to memory, while the result of [Raz16] says that it would need to have Ω(n2)\Omega(n^{2}) total memory or an exponential number of samples. On the flip side, our result shows that an algorithm with unlimited amounts of memory will still be unable to learn a random parity function from a subexponential number of samples if there are sufficiently tight limits on how much it can edit the memory while looking at each sample. The latter is relevant to study SGD with bounded memory as discussed in this paper.

Note also that for the special case of parities, one could aim for Theorem 1 using [SVW15] with the following argument. If bounded-memory SGD could learn a random parity function with nontrivial accuracy, then we could run it a large number of times, check to see which iterations learned it reasonably successfully, and combine the outputs in order to compute the parity function with an accuracy that exceeded that allowed by Corollary 4 in [SVW15]. However, in order to obtain a generalization of this argument to low cross-predictability functions, one would need to address the points made previously regarding Theorem 1 and [SVW15] (point (i) and (ii)).

Gradient concentration. Finally, [SSS17], with an earlier version in [Sha18] from the first author, also give strong support to the impossibility of learning parities. In particular the latter discusses whether specific assumptions on the “niceness” of the input distribution or the target function (for example based on notions of smoothness, non-degeneracy, incoherence or random choice of parameters), are sufficient to guarantee learnability using gradient-based methods, and evidences are provided that neither class of assumptions alone is sufficient.

[SSS17] gives further theoretical insights and practical experiments on the failure of learning parities in such context. More specifically, it proves that the gradient of the loss function of a neural network will be essentially independent of the parity function used. This is achieved by a variant of our Lemma 2 below with the requirement in [SSS17] that the loss function is 1-LipschitzThe proofs are both simple but slightly different, in particular Lemma 2 does not make regularity assumptions.. This provides a strong intuition of why one should not be able to learn a random parity function using gradient descent or one of its variants, and this is backed up with theoretical and experimental evidence, bringing up the issue of the flat minima. However, it is not proved that one cannot learn parity using stochastic gradient descent or the like. The implication is far from trivial, as with the right algorithm, it is indeed possible to reconstruct the parity function from the gradients of the loss function on a list of random inputs. In fact, as mentioned above and further discussed in this paper, we believe that it is possible to learn a random parity function in polynomial time by using GD or SGD with a careful poly-time initialization of the net (that is of course also agnostic to the parity function). As we show further here, obtaining formal negative results requires more specific assumptions and elaborate proofs, already for GD and particularly for SGD.

Results

Before we can talk about the effectiveness of deep learning at learning parity functions, we have to establish some basic notions about deep learning. First of all, in this paper we will be using the following definition for a neural net.

Find an ordering v1′,...,vm′v^{\prime}_{1},...,v^{\prime}_{m} of the vertices in GG other than the constant vertex and input vertices such that for all j>ij>i, there is not an edge from vj′v^{\prime}_{j} to vi′v^{\prime}_{i}.

The gradient descent (GD) algorithm does the following. Its input includes the initial neural net, a learning rate, and the number of time steps the algorithm runs for. At each time step, the algorithm computes the derivative of the net’s expected loss with respect to each of its edge weights, and then decreases each edge weight by the derivative with respect to that weight times the learning rate. After the final time step, it returns the current neural net.

One problem with GD is that it requires computing an expectation over every possible input, which is generally impractical. One possible fix to that is to use stochastic gradient descent (SGD) instead of gradient descent. The input to SGD includes the initial neural net, a learning rate, and the number of time steps the algorithm runs for. However, instead of computing an expectation over all possible inputs in each time step, SGD randomly selects a single input in each time step, computes the derivative of the net’s loss at that input with respect to each edge weight, and decreases every edge weight by the corresponding derivative times the learning rate. Note that the stochasticity in SGD is sometimes also claimed to help with the generalization error of deep learning; with the insight that it helps with stability, implicit regularization or bad critical points [HRS16, ZBH+16, PP17, KLY18].

A third option is to use coordinate (or block-coordinate) descent (CD) instead of gradient descent. This works as SGD, except that in each time step CD only updates a small number of edge weights, with all other weights remaining fixed. There are multiple options for deciding which edge weights to change, some of which would base the decision on the chosen input, but our result involving CD will be generic and not depend on the details of how the edges are chosen.

It is also possible to use a noisy version of any of the algorithm mentioned above. This would be the same as the noise-free version, except that in each time step, the algorithm independently draws a noise term for each edge from some probability distribution and adds it to that edge’s weight. Adding noise can help avoid getting stuck in local minima or regions where the derivatives are small [GHJY15], however it can also drown out information provided by the gradient, and some learning algorithms are extremely sensitive to noise.

Finally, each of these algorithms needs to start with an initial set of weights before initiating the descent. A priori, the initialization could be done according to any rule, albeit with manageable complexity since we will focus in this paper on the efficiency of algorithms. However, in practice, SGD implementations in deep learning typically start with random initializations, see [SSBD14], or variants such as [HZRS15] that involve different types of probability distributions for the initial weights. Note that random initializations have also been shown to help with escaping certain bad extremal points [LSJR16].

We want to answer the question of whether or not training a neural net with these algorithms is a universal method of learning, in the sense that it can learn anything that is reasonably learnable. We next define exactly what this means.

Let n>0n>0, ϵ>0\epsilon>0, PXP_{\mathcal{X}} be a probability distribution on {0,1}n\{0,1\}^{n}, and PFP_{\mathcal{F}} be a probability distribution on the set of functions from {0,1}n\{0,1\}^{n} to {0,1}\{0,1\}. Also, let X0,X1,...X_{0},X_{1},... be independently drawn from PXP_{\mathcal{X}} and F∼PFF\sim P_{\mathcal{F}}. An algorithm learns (PF,PX)(P_{\mathcal{F}},P_{\mathcal{X}}) with accuracy 1/2+ϵ1/2+\epsilon if the following holds. There exists T>0T>0 such that if the algorithm is given the value of (Xi,F(Xi))(X_{i},F(X_{i})) for each i<Ti<T and it is given the value of XTX_{T}, it returns YTY_{T} such that P[F(XT)=YT]≥1/2+ϵP[F(X_{T})=Y_{T}]\geq 1/2+\epsilon.

In particular, we talk about “learning parities” in the case where PFP_{\mathcal{F}} picks a parity function uniformly at random and PXP_{\mathcal{X}} is uniform on {+1,−1}n\{+1,-1\}^{n}, as defined in Section 1.1.

For each n>0n>0, letNote that these are formally sequences of distributions. PXP_{\mathcal{X}} be a probability distribution on {0,1}n\{0,1\}^{n}, and PFP_{\mathcal{F}} be a probability distribution on the set of functions from {0,1}n\{0,1\}^{n} to {0,1}\{0,1\}. We say that (PF,PX)(P_{\mathcal{F}},P_{\mathcal{X}}) is efficiently learnable if there exists ϵ>0\epsilon>0, N>0N>0, and an algorithm with running time polynomial in nn such that for all n≥Nn\geq N, the algorithm learns (PF,PX)(P_{\mathcal{F}},P_{\mathcal{X}}) with accuracy 1/2+ϵ1/2+\epsilon.

2 Negative results

In order to disprove the universality of learning of these algorithms, we need an efficiently learnable function that they fail to learn. In this paper, we will use a random parity function with input that is uniformly distributed in {0,1}n\{0,1\}^{n}. One can easily learn such a function by taking a linear sized sample of its values on random inputs, finding a basis of {0,1}n\{0,1\}^{n} in the inputs sampled, and then using the fact that these parity functions are linear. However, as we will show, some of the algorithms listed above are unable to learn such a function. The fundamental problem is that any two different parity functions are uncorrelated, so no function is significantly correlated with a nonnegligible fraction of them. As a result, the neural nets will generally fail to even come close enough to computing the desired function for the gradient to provide useful feedback on how to improve it. We will formalize this idea by defining a quantity called cross-predictability and showing that it is exponentially small for random parity functions. Similar negative results would hold for other families of functions with comparably low cross-predictability. The results in question are the following:

Coordinate descent with a polynomial number of steps and precision fails at learning parities with non-trivial accuracy.

Specializing previous theorem to the case of parities, one obtains the following. Let ϵ>0\epsilon>0. For each n>0n>0, let (f,g)(f,g) be a neural net of polynomial size in nn such that each edge weight is recorded using O(log⁡(n))O(\log(n)) bits of memory. Run stochastic gradient descent on (f,g)(f,g) with at most 2n/242^{n/24} time steps and with o(n/log⁡(n))o(n/\log(n)) edge weights updated per time step. For all sufficiently large nn, this algorithm fails at learning parities with accuracy 1/2+ϵ1/2+\epsilon.

As discussed in Section 1.6, one could obtain the special case of Theorem 1 for parities using [SVW15] with the following argument. If bounded-memory SGD could learn a random parity function with nontrivial accuracy, then we could run it a large number of times, check to see which iterations learned it reasonably successfully, and combine the outputs in order to compute the parity function with an accuracy that exceeded that allowed by Corollary 4 in [SVW15]. However, in order to obtain a generalization of this argument to low cross-predictability functions, one would need to address the points made in Section 1.6 regarding statistical dimension and cross-predictability.

For each n>0n>0, let (f,g)(f,g) be a neural net of polynomial size in nn. Run gradient descent on (f,g)(f,g) with less than 2n/102^{n/10} time steps, a learning rate of at most 2n/102^{n/10}, Gaussian noise with variance at least 2−n/102^{-n/10} and overflow range of at most 2n/102^{n/10}. For all sufficiently large nn, this algorithm fails at learning parities with accuracy 1/2+2−n/101/2+2^{-n/10}.

See Section 1.6 for how the above compares to [Kea98]; in particular, an application of [Kea98] would not give the above exponents.

More generally, we have the following result that applies to low cross-predictability functions (and beyond some cases of large statistical dimension — see Section 1.6).

The polynomial deep learning system of previous corollary can weakly learn a random degree-kk monomial if and only if k=On(1)k=O_{n}(1).

An overflow range of BB means that any value (e.g., derivatives of the loss function for a certain input) potentially exceeding BB (or −B-B) is kept at BB (or −B-B).

We could alternately have defined the algorithm such that if there is any input for which one of the derivatives is larger than the overflow range, we give up and return random predictions. In this case, the result above would still hold.

As a third option, we could define ϵ\epsilon to be the probability that there is a time step in which the derivative of the loss function with respect to some edge weight is greater than the overflow range for some input. In this case, given that no such overflow occurs, the algorithm would fail to learn parities with accuracy 1/2+2−n/10/(1−ϵ)1/2+2^{-n/10}/(1-\epsilon).

Note that having GD run with a little noise is not equivalent to having noisy labels for which learning parities can be hard irrespective of the algorithm used [BKW03, Reg05]. The amount of noise needed for GD in the above theorem is exponentially small, and if such amount of noise were added to the sample labels themselves, then the noise would essentially be ineffective (e.g., Gaussian elimination would still work with rounding, or if the noise were Boolean with such variance, no flip would take place with high probability). The failure is thus due to the nature of the algorithm.

In the case of full gradient descent, the gradients of the losses with respect to different inputs mostly cancel out, so an exponentially small amount of noise is enough to drown out whatever is left. With stochastic gradient descent, that does not happen, and we have the following instead.

Let (f,g)(f,g) be a NN, and recall that w(g)w(g) denotes the set of weights on the edges of gg. Define the τ\tau-neighborhood of (f,g)(f,g) as

For each n>0n>0, let (f,g)(f,g) be a neural net with size mm polynomial in nn, and let B,γ,T>0B,\gamma,T>0 such that BB, 1/γ1/\gamma, and TT are polynomial in nn. There exist σ=O(m2γ2B2/n2)\sigma=O(m^{2}\gamma^{2}B^{2}/n^{2}) and σ′=O(m3γ3B3/n2)\sigma^{\prime}=O(m^{3}\gamma^{3}B^{3}/n^{2}) such that the following holds. Perturb the weight of every edge in the net by a Gaussian distribution of variance σ\sigma and then train it with a noisy stochastic gradient descent algorithm with learning rate γ\gamma, TT time steps, and Gaussian noise with variance σ′\sigma^{\prime}. Also, let pp be the probability that at some point in the algorithm, there is a neural net (f,g′)(f,g^{\prime}) in Nτ(f,g)N_{\tau}(f,g), τ=O(m2γB/n)\tau=O(m^{2}\gamma B/n), such that at least one of the first three derivatives of the loss function on the current sample with respect to some edge weight(s) of (f,g′)(f,g^{\prime}) has absolute value greater than BB. Then this algorithm fails to learn parities with an accuracy greater than 1/2+2p+O(Tm4B2γ2/n)1/2+2p+O(Tm^{4}B^{2}\gamma^{2}/n).

Normally, we would expect that if training a neural net by means of SGD works, then the net will improve at a rate proportional to the learning rate, as long as the learning rate is small enough. As such, we would expect that the number of time steps needed to learn a function would be inversely proportional to the learning rate. This theorem shows that if we set T=c/γT=c/\gamma for any constant cc and slowly decrease γ\gamma, then the accuracy will approach 1/2+2p1/2+2p or less. If we also let BB slowly increase, we would expect that pp will go to , so the accuracy will go to 1/21/2. It is also worth noting that as γ\gamma decreases, the typical size of the noise terms will scale as γ3/2\gamma^{3/2}. So, for sufficiently small values of γ\gamma, the noise terms that are added to edge weights will generally be much smaller than the signal terms.

The bound on the derivatives of the loss function is essentially a requirement that the behavior of the net be stable under small changes to the weights. It is necessary because otherwise one could effectively multiply the learning rate by an arbitrarily large factor simply by ensuring that the derivative is very large. Alternately, excessively large derivatives could cause the probability distribution of the edge weights to change in ways that disrupt our attempts to approximate this probability distribution using Gaussian distributions. For any given initial value of the neural net, and any given M>0M>0, there must exists some BB such that as long as none of the edge weights become larger than MM this will always hold. However, that BB could be very large, especially if the net has many layers.

[MRT12] A class of function F\mathcal{F} is said to be PAC-learnable if there exists an algorithm AA and a polynomial function poly(\textperiodcentered,\textperiodcentered,\textperiodcentered,\textperiodcentered)poly(\textperiodcentered,\textperiodcentered,\textperiodcentered,\textperiodcentered) such that for any ε>0\varepsilon>0 and δ>0\delta>0, for all distributions DD on X\mathcal{X} and for any target function f∈Ff\in\mathcal{F}, the following holds for any sample size m≥poly(1/ε,1/δ,n,size(f))m\geq poly(1/\varepsilon,1/\delta,n,size(f)):

If AA further runs in poly(1/ε,1/δ,n,size(f))poly(1/\varepsilon,1/\delta,n,size(f)), then F\mathcal{F} is said to be efficiently PAC-learnable. When such an algorithm AA exists, it is called a PAC-learning algorithm for F\mathcal{F}.

Deep learning algorithms as described in Theorems 1, 2, 4, fail at PAC-learning the class of parity functions F={ps:s⊆[n]}\mathcal{F}=\{p_{s}:s\subseteq[n]\} in poly(n)(n)-time.

3 Necessary limitations of negative results

We show that deep learning fails at learning parities in polynomial time if the descent algorithm is either run with limited memory or initialized and run with enough randomness. However, if initialized carefully and run with enough memory and precision, we claim that it is in fact possible to learn parities:

One can construct in polynomial time in nn a neural net (f,g)(f,g) that has polynomial size in nn such that for a learning rate γ\gamma that is at most polynomial in nn and an integer TT that is at most polynomial in nn, (f,g)(f,g) trained by SGD with learning rate γ\gamma and TT time steps learns parities with accuracy 1−o(1)1-o(1).

In fact, we claim that a more general result holds for any efficiently learnable distribution, and that deep learning can universally learn any such distribution (though the initialization will be unpractical) — Section 7. Full proofs will follow in subsequent versions of the paper.

Other functions that are difficult for deep learning

This paper focuses on the difficulty of learning parities, with proofs extending to other function/input distributions having comparably low cross-predictability. Parities are not the most common type of functions used to generate real signals, but they are central to the construction of good codes (in particular the most important class of codes, i.e., linear codes, that rely heavily on parities). We mention now a few additional examples of functions that we believe would be also difficult to learn with deep learning.

Arithmetic. First of all, consider trying to teach a neural net arithmetic. More precisely, consider trying to teach it the following function. The function takes as input a list of nn numbers that are written in base nn and are nn digits long, combined with a number that is n+1n+1 digits long and has all but one digit replaced by question marks, where the remaining digit is not the first. Then, it returns whether or not the sum of the first nn numbers matches the remaining digit of the final number. So, it would essentially take expressions like the following, and check whether there is a way to replace the question marks with digits such that the expression is true.

We believe that if the input contained the entire alleged sum, then deep learning with a random initialization would also be unable to learn to determine whether or not the sum was correct. However, in order to train it, one would have to give it correct expressions far more often than would arise if it was given random inputs drawn from a probability distribution that was independent of the digits’ meanings. As such, our notion of cross predictability does not apply in this case, and the techniques we use in this paper do not work for the version where the entire alleged sum is provided. The techniques instead apply to the above version.

Connectivity and community detection. Another example of a problem that we believe deep learning would have trouble with consists of determining whether or not some graphs are connected. This could be difficult because it is a global property of the graph, and there is not necessarily any function of a small number of edges that is correlated with it. Of course, that depends on how the graphs are generated. In order to make it difficult, we define the following probability distribution for random graphs.

Given n,m,r>0n,m,r>0, let AER(n,m,r)AER(n,m,r) be the probability distribution of nn-vertex graphs generated by the following procedure. First of all, independently add an edge between each pair of vertices with probability m/nm/n (i.e., start with an Erdős-Rényi random graph). Then, randomly select a cycle of length less than rr and delete one of its edges at random. Repeat this until there are no longer any cycles of length less than rr.

Now, we believe that deep learning with a random initialization will not be able to learn to distinguish a graph drawn from AER(n,10ln⁡(n),ln⁡(n))AER(n,10\ln(n),\sqrt{\ln(n)}) from a pair of graphs drawn from AER(n/2,10ln⁡(n),ln⁡(n))AER(n/2,10\ln(n),\sqrt{\ln(n)}), provided the vertices are randomly relabeled in the latter case. That is, deep learning will not distinguish between a patching of two such random graphs (on half of the vertices) versus a single such graph (on all vertices). Note that a simple depth-first search algorithm would learn the function in poly-time. More generally, we believe that deep learning would not solve community detection on such variants of random graph modelsIt would be interesting to investigate the approach of [CLB17] on such models. (with edges allowed between the clusters as in a stochastic block model with similar loop pruning), as connectivity v.s. disconnectivity is an extreme case of community detection.

The key issue is that no subgraph induced by fewer than ln⁡(n)\sqrt{\ln(n)} vertices provides significant information on which of these cases apply. Generally, the function computed by a node in the net can be expressed as a linear combination of some expressions in small numbers of inputs and an expression that is independent of all small sets of inputs. The former cannot possibly be significantly correlated with the desired output, while the later will tend to be uncorrelated with any specified function with high probability. As such, we believe that the neural net would fail to have any nodes that were meaningfully correlated with the output, or any edges that would significantly alter its accuracy if their weights were changed. Thus, the net would have no clear way to improve.

Proof techniques

Our main approach to showing the failure of an algorithm (e.g., SGD) using data from a test model (e.g, parities) with limited resources (e.g., samples and memory) for a desired task (e.g., non-trivial accuracy of prediction), will be to establish an indistinguishable to null condition (INC), namely, a condition on the resources that implies failure to statistically distinguish the trace of the algorithm on the test model from a null model, where the null model fails to provide the desired performance for trivial reasons. The INC is obtained by manipulating information measures, bounding the total variation distance of the two posterior measures between the test and null models. The failure of achieving the desired algorithmic performance on the test model is then a consequence of the INC, either by converse arguments – if one could achieve the claimed performance, one would be able to use the performance gap to distinguish the null and test models and thus contradict the INC – or directly using the total variation distance between the two probability distributions to bound the difference in the probabilities that the nets drawn from those distributions compute the function correctly (and we know that it fails to do so on the null model).

Let D1D_{1} be the distribution of the data for the parity learning model, i.e., i.i.d. samples with labels from the parity model in dimension nn;

Let R=(R1,R2)R=(R_{1},R_{2}) be the resource in question, i.e., the number R1R_{1} of edge weights of poly(n)(n) memory that are updated and the number of steps R2R_{2} of the algorithm;

Let AA be the SGD (or coordinate descent) algorithm used with a constraint CC on the resource RR;

Let TT be the task, i.e, achieving an accuracy of 1/2+Ωn(1)1/2+\Omega_{n}(1) on a random input.

Chose D0D_{0} as the null distribution that generates i.i.d. pure noise labels, such that the task TT is obviously not achievable for D0D_{0}.

Find a INC on RR, i.e., a constraint CC on RR such that the trace of the algorithm AA is indistinguishable under D1D_{1} and D0D_{0}; to show this,

show that the total variation distance between the posterior distribution of the trace of AA under D0D_{0} and D1D_{1} vanishes if the INC holds; to obtain this,

show that any ff-mutual information between the algorithm’s trace and the model hypotheses D0D_{0} or D1D_{1} (chosen equiprobably) vanishes.

Most of the work then lies in part 2(a)-(b), which consist in manipulating information measures to obtain the desired conclusion. In particular, the Chi-squared mutual information will be convenient for us, as its “quadratic” form will allow us to bring the cross-predictability as an upper-bound, which is then easy to evaluate and is small for the parity model. This is carried out in Section 5 in the general context of so-called “sequential learning algorithms”, and then applied to SGD with bounded memory (or coordinate descent) in Section 2. For Theorem 2, one needs also to take into account the fact that information can be carried in the pattern of which weights can be updated, and these are taken into account with a proper SLA implementation, with Theorem 2 concluding from a contradiction argument as discussed in step 3. above.

Cross-predictability and sequential learning

We denote by X\mathcal{X} the domain of the data (e.g., Boolean vectors, matrices of pixels) and by Y\mathcal{Y} the domain of the labels; for simplicity, we assume that Y={−1,+1}\mathcal{Y}=\{-1,+1\}. A hypothesis is a function f:X→Yf:\mathcal{X}\to\mathcal{Y} that labels data points in X\mathcal{X} with elements in Y\mathcal{Y}. We define F:=YX\mathcal{F}:=\mathcal{Y}^{\mathcal{X}}.

Let PXP_{\mathcal{X}} be a probability measure on X\mathcal{X}, and PFP_{\mathcal{F}} be a probability measure on F\mathcal{F} (the set of functions from X\mathcal{X} to Y\mathcal{Y}). Define the cross-predictability of PFP_{\mathcal{F}} with respect to PXP_{\mathcal{X}} by

Therefore a low cross-predictability can be interpreted as having a low correlation between two sampled functions on a sampled input, or, as a low correlation between two sampled input on a sampled function. This suggests that two samples - such as those of two consecutive steps of SGD - may not have common information about a typical function being learned.

We discuss in Remark LABEL:sq_disc the analogy and difference between the cross-predictability and the statistical dimension. We next cover some examples.

Note that uniformly random parity functions have the same cross-predictability as uniformly random generic functions, with respect to uniform inputs. We will crucially exploit this property to prove the forthcoming results. We obtain in fact generalizations of two our results to other function distributions having cross-predictability that scales super-polynomially.

2 Learning from a bit

That is, a random input XX and a random hypothesis FF are drawn from the working model, leading to an output label YY. We store a bit WW after observing the labelled pair (X,Y)(X,Y). We are interested in estimating how much information can this bit contain about FF, no matter how “good” the function gg is. We start by measuring the information using the variance of the MSE or Chi-squared mutual informationThe Chi-squared mutual information should normalize this expression with respect to the variance of WW for non equiprobable random variables., i.e.,

which gives a measure on how random WW is given FF. We provide below a bound in terms of the cross-predictability of PFP_{\mathcal{F}} with respect to PXP_{\mathcal{X}}, and the marginal probability that gg takes value 1 on two independent inputs, which is a “inherent bias” of gg.

The Chi-squared is convenient to analyze and is stronger than the classical mutual information, which is itself stronger than the squared total-variation distance by Pinsker’s inequality. More preciselySee for example [AB18] for details on these inequalities., for an equiprobable WW,

Here we will need to obtain such inequalities for arbitrary marginal distributions of WW and in a self-contain series of lemmas. We then bound the latter with the cross-predictability which allows us to bound the error probability of the hypothesis test deciding whether WW is dependent on FF or not, which we later use in a more general framework where WW relates to the updated weights of the descent algorithm. We will next derive the bounds that are needed.These bounds could be slightly tightened but are largely sufficient for our purpose.

Consider now the new setup where gg is valued in [m][m] instead of {0,1}\{0,1\}:

We next specialize the bound in Theorem 4 to the case of uniform parity functions on uniform inputs, adding a bound on the L1L_{1} norm due to Cauchy-Schwarz.

In short, the value of WW will not provide significant amounts of information on FF unless its number of possible values mm is exponentially large.

In the case where PF=PnP_{\mathcal{F}}=P_{n}, taking the previous corollary and multiplying both sides by 22n2^{2n} yields

Notice that for fixed values of PXP_{\mathcal{X}} and gg, changing the value of PFP_{\mathcal{F}} does not change the value of P[W=i∣f=ps]P[W=i|f=p_{s}] for any ii and ss. Therefore, inequality (54) holds for any choice of PFP_{\mathcal{F}}, and we also have the following.

3 Sequential learning algorithm

Next, we would like to analyze the effectiveness of an algorithm that repeatedly receives an ordered pair, (X,F(X))(X,F(X)), records some amount of information about that pair, and then forgets it. To formalize this concept, we define the following.

A sequential learning algorithm AA on (Z,W)(\mathcal{Z},\mathcal{W}) is an algorithm that for an input of the form (Z,(W1,...,Wt−1))(Z,(W_{1},...,W_{t-1})) in Z×Wt−1\mathcal{Z}\times\mathcal{W}^{t-1} produces an output A(Z,(W1,...,Wt−1))A(Z,(W_{1},...,W_{t-1})) valued in W\mathcal{W}. Given a probability distribution DD on Z\mathcal{Z}, a sequential learning algorithm AA on (Z,W)(\mathcal{Z},\mathcal{W}), and T≥1T\geq 1, a TT-trace of AA for DD is a series of pairs ((Z1,W1),...,(ZT,WT))((Z_{1},W_{1}),...,(Z_{T},W_{T})) such that for each i∈[T]i\in[T], Zi∼DZ_{i}\sim D independently of (Z1,Z2,...,Zi−1)(Z_{1},Z_{2},...,Z_{i-1}) and Wi=A(Zi,(W1,W2,...,Wi−1))W_{i}=A(Z_{i},(W_{1},W_{2},...,W_{i-1})).

and we will bound the last term by O(q)O(q).

We need to prove that P[Wm=wm∣PZ=ρf]≈P[Wm=wm∣PZ=⋆]P[W^{m}=w^{m}|P_{\mathcal{Z}}=\rho_{f}]\approx P[W^{m}=w^{m}|P_{\mathcal{Z}}=\star] most of the time. In order to do that, we will use the fact that

So, as long as P[Wi=wi∣Wi−1=wi−1,PZ=ρf]≈P[Wi=wi∣Wi−1=wi−1,PZ=⋆]P[W_{i}=w_{i}|W^{i-1}=w^{i-1},P_{\mathcal{Z}}=\rho_{f}]\approx P[W_{i}=w_{i}|W^{i-1}=w^{i-1},P_{\mathcal{Z}}=\star] and P[Wi=wi∣Wi−1=wi−1,PZ=⋆]P[W_{i}=w_{i}|W^{i-1}=w^{i-1},P_{\mathcal{Z}}=\star] is reasonably large for all ii, this must hold for the values of wmw^{m} and ff in question. As such, we plan to define a good value for (wm,f)(w^{m},f) to be one for which this holds, and then prove that the set of good values has high probability measure.

First, call a sequence wm∈Wmw^{m}\in\mathcal{W}^{m} typical if for each 1≤i≤m1\leq i\leq m, we have that

and denote by T\mathcal{T} the set of typical sequences

and denote by G\mathcal{G} the set of good pairs. A pair which is not good is called bad.

Note that for any ii and any w1,...,wi−1∈Ww_{1},...,w_{i-1}\in\mathcal{W}, there exists a function gw1,...,wi−1g_{w_{1},...,w_{i-1}} such that Wi=gw1,...,wi−1(Zi)W_{i}=g_{w_{1},...,w_{i-1}}(Z_{i}). So, theorem 5 implies that

This means that for a given typical wmw^{m}, the probability that wmw^{m} and F′F^{\prime} are not good is at most mq2≤qmq^{2}\leq q.

Therefore, if PZ=⋆P_{\mathcal{Z}}=\star, the probability that WmW^{m} is typical but WmW^{m} and F′F^{\prime} is not good is at most qq; in fact:

We already knew that WmW^{m} is typical with probability 1−q1-q under these circumstances, so WmW^{m} and SS is good with probability at least 1−2q1-2q since

So, if wmw^{m} and ff is good (and thus each term in the above product is within q2q^{2} of 1), we have

Now, let A′A^{\prime} be the algorithm that takes (Zt,(W1′,...,Wt−1′))(Z_{t},(W^{\prime}_{1},...,W^{\prime}_{t-1})) as input and does the following. First, it reconstructs Wt−1W_{t-1} from (W1′,...,Wt−1′)(W^{\prime}_{1},...,W^{\prime}_{t-1}). Then, it computes WtW_{t} by running AA on Wt−1W_{t-1} and ZtZ_{t}. Finally, it determines the value of Wt′W^{\prime}_{t} by comparing WtW_{t} to Wt−1W_{t-1} and returns it. This is an SLA, and ((Z1,W1′),...,(Zm,Wm′))((Z_{1},W^{\prime}_{1}),...,(Z_{m},W^{\prime}_{m})) is an mm-trace of A′A^{\prime} for PZP_{\mathcal{Z}}. So, by the theorem

Furthermore, since WmW_{m} can be reconstructed from (W1′,...,Wm′)(W^{\prime}_{1},...,W^{\prime}_{m}), this implies that

Finally, the probability of deciding correctly between the hypothesis PZ=⋆P_{\mathcal{Z}}=\star and PZ≠⋆P_{\mathcal{Z}}\neq\star given the observation WmW_{m} is at most

The theorem and its second corollary state that the algorithm can not determine whether or not PZ=⋆P_{\mathcal{Z}}=\star. However, one could easily transform them into results showing that the algorithm can not effectively learn to compute ff. More precisely, after running on q/2q/2 pairs (x,pf(x))(x,p_{f}(x)), the algorithm will not be able to compute ps(x)p_{s}(x) with accuracy 1/2+ω(1/q)1/2+\omega(1/\sqrt{q}) with a probability of ω(1/q)\omega(1/q). If it could, then we could just train it on the first m/2m/2 of the ZiZ_{i} and count how many of the next m/2m/2 ZiZ_{i} it predicts the last bit of correctly. If PZ=⋆P_{\mathcal{Z}}=\star, each of those predictions will be independently correct with probability 1/21/2, so the total number it is right on will differ from m/4m/4 by O(m)O(\sqrt{m}) with high probability. However, if PZ=ρfP_{\mathcal{Z}}=\rho_{f} and the algorithm learns to compute ρf\rho_{f} with accuracy 1/2+ω(1/q)1/2+\omega(1/\sqrt{q}), then it will predict m/4+ω(m)m/4+\omega(\sqrt{m}) of the last m/2m/2 correctly with high probability. So, we could determine whether or not PZ=⋆P_{\mathcal{Z}}=\star with greater accuracy than the theorem allows by tracking the accuracy of the algorithm’s predictions.

Negative results for deep learning

Before we can talk about the effectiveness of deep learning at learning these parity functions, we will have to establish some basic information about deep learning. First of all, in this paper we will be using the following definition for a neural net.

Find an ordering v1′,...,vm′v^{\prime}_{1},...,v^{\prime}_{m} of the vertices in GG other than the constant vertex and input vertices such that for all j>ij>i, there is not an edge from vj′v^{\prime}_{j} to vi′v^{\prime}_{i}.

We will write the evaluation of (f,G)(f,G) at xx as eval(f,G)(x)eval_{(f,G)}(x).

Generally, we want to find a neural net that computes a certain function, or at least a good approximation of that function. A reasonable approach to doing that is to start with some neural network and then attempt to adjust its weights until it computes a reasonable approximation of the desired function. A common way to do that is to define a loss function in terms of how much the network’s outputs differ from the desired outputs, and then use gradient descent to try to adjust the weights. Of course, that may not be well defined if ff is not differentiable, it may not be possible to find weights for which the network approximates the desired function if it has too few vertices or is missing some key edges, and the gradient descent algorithm has an increased risk of getting stuck in a local minimum if ff has local minima. Allowing the loss function or the derivative of ff to take on arbitrarily large values under some circumstances can also cause problems, which can be mitigated by redefining our function to have input in n^{n} and output in $andthenusinganand then using anfwithoutputinwith output in.Wewouldalsoliketoensurethat. We would also like to ensure thatf$ can take on values arbitrarily close to any desired output in that range. As such, we give the following criteria for a neural net to be considered well behaved.

Let (f,G)(f,G) be a neural net. Then (f,G)(f,G) is normal if it satisifes the following properties. ff must be a a smooth function, the derivative of ff must be positive everywhere, the derivative of ff must be bounded, it must be the case that lim⁡x→−∞f(x)=0\lim_{x\to-\infty}f(x)=0 and lim⁡x→∞f(x)=1\lim_{x\to\infty}f(x)=1, and GG must have an edge from the constant vertex to every other vertex except the input vertices.

In order to do that, we could try starting with some neural net (f,G0)(f,G_{0}), and then using the following algorithm to assign new weights to the graph’s edges.

GradientDescentStep(f, G, h, PXP_{\mathcal{X}}, L, γ\gamma, B):

If wv,v′′<−Bw^{\prime}_{v,v^{\prime}}<-B, set wv,v′′=−Bw^{\prime}_{v,v^{\prime}}=-B.

If wv,v′′>Bw^{\prime}_{v,v^{\prime}}>B, set wv,v′′=Bw^{\prime}_{v,v^{\prime}}=B.

Return the graph that is identical to GG except that its edge weight are given by the w′w^{\prime}.

GradientDescentAlgorithm(f, G, h, PXP_{\mathcal{X}}, L, γ\gamma, B, t):

If any of the edge weights in G0G_{0} are less than −B-B, set all such weights to −B-B.

If any of the edge weights in G0G_{0} are greater than BB, set all such weights to BB.

For each 0≤i<t0\leq i<t, set Gi+1=GradientDescentStep(f,Gi,h,PX,L,γ,B)G_{i+1}=GradientDescentStep(f,G_{i},h,P_{\mathcal{X}},L,\gamma,B).

The hope is that if we set G′=GradientDescentAlgorithm(f,G,h,PX,L,γ,B,t)G^{\prime}=GradientDescentAlgorithm(f,G,h,P_{\mathcal{X}},L,\gamma,B,t) for a small enough γ\gamma and large enough tt then eval(f,G′)eval_{(f,G^{\prime})} will be a good approximation of hh. Of course, actually running this algorithm requires us to compute eval(f,G)(X)eval_{(f,G)}(X) for every possible value of XX in every step, which is generally impractical. As a result, we are more likely to pick a single value of XX at each step, and adjust the net to give a better output on that input. More formally, we would use the following algorithm.

SampleGradientDescentStep(f, G, YY, XX, L, γ\gamma, B):

If wv,v′′<−Bw^{\prime}_{v,v^{\prime}}<-B, set wv,v′′=−Bw^{\prime}_{v,v^{\prime}}=-B.

If wv,v′′>Bw^{\prime}_{v,v^{\prime}}>B, set wv,v′′=Bw^{\prime}_{v,v^{\prime}}=B.

Return the graph that is identical to GG except that its edge weights are given by the w′w^{\prime}.

StochasticGradientDescentAlgorithm(f, G, PZP_{\mathcal{Z}}, L, γ\gamma, B, t):

If any of the edge weights in G0G_{0} are less than −B-B, set all such weights to −B-B.

If any of the edge weights in G0G_{0} are greater than BB, set all such weights to BB.

Draw (Xi,Yi)∼PZ(X_{i},Y_{i})\sim P_{\mathcal{Z}}, independently of all previous values.

Set Gi+1=SampleGradientDescentStep(f,Gi,Yi,Xi,L,γ,B)G_{i+1}=SampleGradientDescentStep(f,G_{i},Y_{i},X_{i},L,\gamma,B)

2 Proof of Theorem 1

One possible variant of this is to only adjust a few weights at each time step, such as the kk that would change the most or a random subset. However, any such algorithm cannot learn a random parity function in the following sense.

This follows immediately from corollary 8. ∎

The theorem state that one cannot determine whether or not PZ=⋆P_{\mathcal{Z}}=\star from the final network. However, if we used a variant of corollary 8 we could get a result showing that the final network will not compute psp_{s} accurately. More precisely, after training the network on 2n/24−12^{n/24-1} pairs (x,ps(x))(x,p_{s}(x)), the network will not be able to compute ps(x)p_{s}(x) with accuracy 1/2+ω(2−n/48)1/2+\omega(2^{-n/48}) with a probability of ω(2−n/24)\omega(2^{-n/24}).

We can also use this reasoning to prove theorem 1, which is restated below.

3 Proof of Theorem 2

Before we talk about the effectiveness of noisy gradient descent, we need to formally define it. So, we define the following.

NoisyGradientDescentStep(f, G, PZP_{\mathcal{Z}}, L, γ\gamma, δ\delta):

Return the graph that is identical to GG except that its edge weights are given by w′w^{\prime}.

NoisyGradientDescentAlgorithm(f, G, PZP_{\mathcal{Z}}, L, γ\gamma, Δ\Delta, t):

Generate δ(i)\delta^{(i)} by independently drawing δv,v′(i)\delta^{(i)}_{v,v^{\prime}} from Δ\Delta for each (v,v′)∈E(G)(v,v^{\prime})\in E(G).

Set Gi+1=NoisyGradientDescentStep(f,Gi,h,PZ,L,γ,δ(i))G_{i+1}=NoisyGradientDescentStep(f,G_{i},h,P_{\mathcal{Z}},L,\gamma,\delta^{(i)}).

The case where one of the derivatives is very large causes enough problems that it is convenient to define versions of the algorithms that treat the derivative of the loss function with respect to a given edge weight on a given input as having some maximum value if it is actually larger. Then we can prove results for these algorithms, and argue that if none of the derivatives are that large using the normal versions must yield the same result. As such, we define the following:

BoundedNoisyGradientDescentStep(f, G, PZP_{\mathcal{Z}}, L, γ\gamma, δ\delta, BB):

Return the graph that is identical to GG except that its edge weights are given by w′w^{\prime}.

BoundedNoisyGradientDescentAlgorithm(f, G, PZP_{\mathcal{Z}}, L, γ\gamma, Δ\Delta, BB, t):

Generate δ(i)\delta^{(i)} by independently drawing δv,v′(i)\delta^{(i)}_{v,v^{\prime}} from Δ\Delta for each (v,v′)∈E(G)(v,v^{\prime})\in E(G).

Set Gi+1=BoundedNoisyGradientDescentStep(f,Gi,h,PZ,L,γ,δ(i),B)G_{i+1}=BoundedNoisyGradientDescentStep(f,G_{i},h,P_{\mathcal{Z}},L,\gamma,\delta^{(i)},B).

In order to prove that noisy gradient descent fails to learn a random parity function, we first show that the gradient will be very small, and then argue that the noise will drown it out. The first steps are the following basic inequalities.

where we note that the equality from (94) to (97) is Parserval’s identity for the Fourier-Walsh basis (here we used Boolean outputs for the parity functions). ∎

Note that by the triangular inequality the above implies

As mentioned earlier, this is similar to Theorem 1 in [SSS17] that requires in addition the function to be the gradient of a 1-Lipschitz loss function.

We also mention the following corollary of Lemma 2 that results from Cauchy-Schwarz.

In other words, the expected value of any function on an input generated by a random parity function is approximately the same as the expected value of the function on a true random input. This in turn implies the following:

where the second to last inequality follows by applying the previous lemma to the formula in BoundedNoisyGradientDescentStep for the changes in edge weight. Next, observe that Q⋆Q_{\star} is a Gaussian distribution with mean w(⋆)w^{(\star)} and covariance σ2I\sigma^{2}I. Similarly, QsQ_{s} is a Gaussian distribution with mean w(s)w^{(s)} and covariance σ2I\sigma^{2}I for each ss. As such,

Clearly, Qs(0)=Q⋆(0)Q_{s}^{(0)}=Q_{\star}^{(0)} for all ss. Now, for each s⊆[n]s\subseteq[n] and t>0t>0, let Q⋆s(t)Q_{\star s}^{(t)} be the probability distribution of the output of BoundedNoisyGradientDescentStep(f, Gt′G^{\prime}_{t}, ρs\rho_{s}, L, γ\gamma, N(0,σ2I)\mathcal{N}(0,\sigma^{2}I), BB), where Gt′∼Q⋆(t−1)G^{\prime}_{t}\sim Q_{\star}^{(t-1)}. Next, observe that Q⋆(t)Q_{\star}^{(t)} is the probability distribution of the output of BoundedNoisyGradientDescentStep(f, Gt′G^{\prime}_{t}, ⋆\star, L, γ\gamma, N(0,σ2I)\mathcal{N}(0,\sigma^{2}I), BB). So, by the previous lemma,

Also, for each ss and tt, Qs(t)Q_{s}^{(t)} is the probability distribution of the output of BoundedNoisyGradientDescentStep(f, Gt′′G^{\prime\prime}_{t}, ρs\rho_{s}, L, γ\gamma, N(0,σ2I)\mathcal{N}(0,\sigma^{2}I), BB), where Gt′′∼Qs(t−1)G^{\prime\prime}_{t}\sim Q_{s}^{(t-1)}. So, ∣∣Q⋆s(t)−Qs(t)∣∣1≤∣∣Q⋆(t−1)−Qs(t−1)∣∣1||Q_{\star s}^{(t)}-Q_{s}^{(t)}||_{1}\leq||Q_{\star}^{(t-1)}-Q_{s}^{(t-1)}||_{1}. Thus,

by the triangle inequality. The desired result follows by induction. ∎

This in turn implies the following elaboration of Theorem 2.

Let Q⋆Q_{\star} be the probability distribution of the output of BoundedNoisyGradientDescentAlgorithm(f, g, ⋆\star, L, γ\gamma, N(0,σ2I)\mathcal{N}(0,\sigma^{2}I), B, T) and QsQ_{s} be the probability distribution of the output of BoundedNoisyGradientDescentAlgorithm(f, g, ρs\rho_{s}, L, γ\gamma,N(0,σ2I)\mathcal{N}(0,\sigma^{2}I), B, T) for each s⊆[n]s\subseteq[n]. By the previous corollary, we know that

Dividing both sides by 22n2^{2n} yields the desired conclusion. ∎

4 Proof of Theorem 3

We prove here an elaboration of Theorem 3.

For each n>0n>0, take a neural net of size ∣E∣|E|, with any differentiable non-linearity and any initialization of the weights W(0)W^{(0)}, and train it with gradient descent with learning rate γ\gamma, any differentiable loss function, gradients computed on the population distribution PXP_{\mathcal{X}} with labels from FF, an overflow range of AA, additive Gaussian noise of variance σ2\sigma^{2}, and SS steps, i.e.,

where {Z(t)}t∈[S]\{Z^{(t)}\}_{t\in[S]} are i.i.d. N(0,σ2)\mathcal{N}(0,\sigma^{2}). Then,

Note that this theorem uses the BoundedNoisyGradientDescentAlgorithm, we simply re-wrote it to make the statement self-contained, using W(t)(X)W^{(t)}(X) as the evaluation of the neural net with weights W(t)W^{(t)} on an input XX.

For t=1,…,St=1,\dots,S and H∈{F,⋆}H\in\{F,\star\}, define

and let QH(t)Q_{H}^{(t)} be the distribution of WH(t)W_{H}^{(t)}.

where Pe(ρF,ρ⋆)P_{e}(\rho_{F},\rho_{\star}) is the probability of error of the optimal (MAP) test for the hypothesis test between ρF\rho_{F} and ⋆\star with equiprobable priors, i.e.,

Using Cauchy-Schwarz and previous inequality, we have

where Z:=(X,Y)∼PZ:=PX×UYZ:=(X,Y)\sim P_{\mathcal{Z}}:=P_{\mathcal{X}}\times U_{\mathcal{Y}}, g(Z):=ψu,v(X,Y)g(Z):=\psi_{u,v}(X,Y), and hF(Z)=1h_{F}(Z)=1 if F(X)≠YF(X)\neq Y and hF(Z)=−1h_{F}(Z)=-1 otherwise. Therefore,

Multi-step bound. We now proceed with a cumulative argument. For t∈[S+1]t\in[S+1] H,h∈{F,⋆}H,h\in\{F,\star\}, define

and denote by QH,h(t−1)Q^{(t-1)}_{H,h} the distribution of WH,h(t−1)W_{H,h}^{(t-1)}.

Using the triangular and Data-Processing inequalities, we have

Indistinguishability. Finally, by the definition of the total variation distance,

5 Proof of Theorem 4

NoisySampleGradientDescentStep(f, G, YY, XX, L, γ\gamma, B, δ\delta):

If wv,v′′<−Bw^{\prime}_{v,v^{\prime}}<-B, set wv,v′′=−Bw^{\prime}_{v,v^{\prime}}=-B.

If wv,v′′>Bw^{\prime}_{v,v^{\prime}}>B, set wv,v′′=Bw^{\prime}_{v,v^{\prime}}=B.

Return the graph that is identical to GG except that its edge weight are given by the w′w^{\prime}.

NoisyStochasticGradientDescentAlgorithm(f, G, PZP_{\mathcal{Z}}, L, γ\gamma, B, Δ\Delta, t):

If any of the edge weights in G0G_{0} are less than −B-B, set all such weights to −B-B.

If any of the edge weights in G0G_{0} are greater than BB, set all such weights to BB.

Draw (Xi,Yi)∼PZ(X_{i},Y_{i})\sim P_{\mathcal{Z}}, independently of all previous values.

Generate δ(i)\delta^{(i)} by independently drawing δv,v′(i)\delta^{(i)}_{v,v^{\prime}} from Δ\Delta for each (v,v′)∈E(G)(v,v^{\prime})\in E(G).

Set Gi+1=NoisySampleGradientDescentStep(f,Gi,Yi,Xi,L,γ,B,δ)G_{i+1}=NoisySampleGradientDescentStep(f,G_{i},Y_{i},X_{i},L,\gamma,B,\delta)

The simplest way to add noise in order to impede learning a parity function would be to add noise drawn from a uniform distribution in order to drown out the information provided by the changes in edge weights. More precisely, consider setting Δ\Delta equal to the uniform distribution on [−C,C][-C,C]. If the change in each edge weight prior to including the noise always has an absolute value less than DD for some D<CD<C, then with probability C−DC\frac{C-D}{C}, the change in a given edge weight including noise will be in [−(C−D),C−D][-(C-D),C-D]. Furthermore, any value in this range is equally likely to occur regardless of what the change in weight was prior to the noise term, which means that the edge’s new weight provides no information on the sample used in that step. If D/C=o(nE(G)/ln⁡(n))D/C=o(nE(G)/\ln(n)) then this will result in there being o(n/log⁡(n))o(n/\log(n)) changes in weight that provide any relevant information in each timestep. So, the resulting algorithm will not be able to learn the parity function by an extension of corollary 8. This leads to the following result:

This is a side result and we provide a concise proof.

Consider the following attempt to simulate NoisyStochasticGradientDescentAlgorithm(f, G, PZP_{\mathcal{Z}}, L, γ\gamma, ∞\infty, Δ\Delta, t) with a sequential learning algorithm. First, independently draw bv,v′t′b^{t^{\prime}}_{v,v^{\prime}} from the uniform probability distribution on [−D∣E(G)∣+D,D∣E(G)∣−D][-D|E(G)|+D,D|E(G)|-D] for each (v,v′)∈E(G)(v,v^{\prime})\in E(G) and t′≤tt^{\prime}\leq t. Next, simulate NoisyStochasticGradientDescentAlgorithm(f, G, PZP_{\mathcal{Z}}, L, γ\gamma, ∞\infty, Δ\Delta, t) with the following modifications. If there is ever a step where one of the adjustments to the weights before the noise term is added in is greater than DD, record “failure” and give up. If there is ever a step where more than n/ln⁡2(n)n/\ln^{2}(n) of the weights change by more than D∣E(G)∣−DD|E(G)|-D after including the noise record ”failure” and give up. Otherwise, record a list of which weights changed by more than D∣E(G)∣−DD|E(G)|-D and exactly what they changed by. In all subsequent steps, assume that Wv,v′W_{v,v^{\prime}} increased by bv,v′t′b^{t^{\prime}}_{v,v^{\prime}} in step t′t^{\prime} unless the amount it changed by in that step is recorded.

First, note that if the values of bb are computed in advance, the rest of this algorithm is a sequential learning algorithm that records O(n/log⁡(n))O(n/\log(n)) bits of information per step and runs for a subexponential number of steps. As such, any attempt to compute pS(X)p_{S}(X) based on the information provided by its records will have accuracy 1/2+o(1)1/2+o(1) with probability 1−o(1)1-o(1). Next, observe that in a given step in which all of the adjustments to weights before the noise is added in are at most DD, each weight has a probability of changing by more than D∣E(G)∣−DD|E(G)|-D of at most 1/∣E(G)∣1/|E(G)| and these probabilities are independent. As such, with probability 1−o(1)1-o(1), the algorithm will not record ”failure” as a result of more than n/ln⁡2(n)n/\ln^{2}(n) of the weights changing by more than D∣E(G)∣−DD|E(G)|-D. Furthermore, the probability distribution of the change in the weight of a given vertex conditioned on the assumption that said change is at most D∣E(G)∣−DD|E(G)|-D and a fixed value of said change prior to the inclusion of the noise term that has an absolute value of at most DD is the uniform probability distribution on [−D∣E(G)∣+D,D∣E(G)∣−D][-D|E(G)|+D,D|E(G)|-D]. As such, substituting the values of bv,v′t′b^{t^{\prime}}_{v,v^{\prime}} for the actual changes in weights that change by less than D∣E(G)∣−DD|E(G)|-D has no effect on the probability distribution of the resulting graph. As such, the probability distribution of the network resulting from NoisyStochasticGradientDescentAlgorithm(f, G, PZP_{\mathcal{Z}}, L, γ\gamma, ∞\infty, Δ\Delta, t) if none of the weights change by more than DD before noise is factored in differs from the probabiliy distribution of the network generated by this algorithm if it suceeds by o(1)o(1). Thus, the fact that the SLA cannot generate a network that computed pSp_{S} with nontrivial accuracy implies that NoisyStochasticGradientDescentAlgorithm(f, G, PZP_{\mathcal{Z}}, L, γ\gamma, ∞\infty, Δ\Delta, t) also fails to generate a network that computes pSp_{S} with nontrivial accuracy. ∎

At first glance, the amount of noise required by this theorem is ridiculously large, as it will almost always be the dominant contribution to the change in any weight in any given step. However, since the noise is random it will tend to largely cancel out over a longer period of time. As such, the result of this noisy version of stochastic gradient descent will tend to be similar to the result of regular stochastic gradient descent if the learning rate is small enough. In particular, this form of noisy gradient descent will be able to learn to compute most reasonable functions with nontrivial accuracy for most sets of starting weights, and it will be able to learn to compute some functions with nearly optimal accuracy. Admittedly, it still requires a learning rate that is smaller than anything people are likely to use in practice.

We next move to handling lower levels of noise.

5.2 Gaussian noise, noise accumulation, and blurring

While the previous result works, it requires more noise than we would really like. The biggest problem with it is that it ultimately argues that even given a complete list of the changes in all edge weights at each time step, there is no way to determine the parity function with nontrivial accuracy, and this requires a lot of noise. However, in order to prove that a neural net optimized by NSGD cannot learn to compute the parity function, it suffices to prove that one cannot determine the parity function from the edge weights at a single time step. Furthermore, in order to prove this, we can use the fact that noise accumulates over multiple time steps and argue that the amount of accumulated noise is large enough to drown out the information on the function provided by each input.

Our first order of business is to establish that the probability distribution of the weights will be approximately equal to the convolution of a multivariable Gaussian distribution with something else, and to do that we will need the following definition.

In this situation we also say that PP is a (σ,ϵ)(\sigma,\epsilon)-blurring. If σ≤0\sigma\leq 0 we consider every probability distribution as being a (σ,ϵ)(\sigma,\epsilon)-blurring for all ϵ\epsilon.

The following are obvious consequences of this definition:

Let P\mathcal{P} be a collection of (σ,ϵ)(\sigma,\epsilon)-blurrings for some given σ\sigma and ϵ\epsilon. Now, select P∼PP\sim\mathcal{P} according to some probability distribution, and then randomly select x∼Px\sim P. The probability distribution of xx is also a (σ,ϵ)(\sigma,\epsilon)-blurring.

Let PP be a (σ,ϵ)(\sigma,\epsilon)-blurring and σ′>0\sigma^{\prime}>0. Then P∗N(0,σ′I)P*\mathcal{N}(0,\sigma^{\prime}I) is a (σ+σ′,ϵ)(\sigma+\sigma^{\prime},\epsilon)-blurring

We want to prove that if the probability distribution of the weights at one time step is a blurring, then the probability distribution of the weights at the next time step is also a blurring. In order to do that, we need to prove that a slight distortion of a blurring is still a bluring. The first step towards that proof is the following lemma:

First, note that for any xx with ∣∣x∣∣1<r||x||_{1}<r and any ii and jj, it must be the case that ∣∂fi∂xj(x)∣≤B∣∣x∣∣1<Br|\frac{\partial f_{i}}{\partial x_{j}}(x)|\leq B||x||_{1}<Br. That in turn means that for any x,x′x,x^{\prime} with ∣x∣∣1,∣∣x′∣∣1<r|x||_{1},||x^{\prime}||_{1}<r and any ii, it must be the case that ∣f(x)i−f(x′)i∣≤Br∣∣x−x′∣∣1|f(x)_{i}-f(x^{\prime})_{i}|\leq Br||x-x^{\prime}||_{1} with equality only if x=x′x=x^{\prime}. In particular, this means that for any such x,x′x,x^{\prime}, it must be the case that ∣∣f(x)−f(x′)∣∣1≤mBr∣∣x−x′∣∣1≤∣∣x−x′∣∣1||f(x)-f(x^{\prime})||_{1}\leq mBr||x-x^{\prime}||_{1}\leq||x-x^{\prime}||_{1} with equality only if x=x′x=x^{\prime}. Thus, x+f(x)≠x′+f(x′)x+f(x)\neq x^{\prime}+f(x^{\prime}) unless x=x′x=x^{\prime}. Also, note that the bound on the second derivatives of ff implies that ∣fi(x)∣≤B∣∣x∣∣12/2|f_{i}(x)|\leq B||x||_{1}^{2}/2 for all ∣∣x∣∣1<r||x||_{1}<r and all ii. This means that

Next, observe that for any λ≥0\lambda\geq 0, it must be the case that

In particular, if we set λ=r/m−2σ/π\lambda=r/m-\sqrt{2\sigma/\pi}, this shows that (2πσ)−m/2∫x:∣∣x∣∣1≥re−∣∣x∣∣22/2σdx≤e−(r/2σ−m/2π)2/m(2\pi\sigma)^{-m/2}\int_{x:||x||_{1}\geq r}e^{-||x||_{2}^{2}/2\sigma}dx\leq e^{-(r/2\sqrt{\sigma}-m/\sqrt{2\pi})^{2}/m}. The desired conclusion follows. ∎

Now, let P⋆^\widehat{P^{\star}} be a probability distribution such that P⋆P^{\star} is a (σ,ϵ)(\sigma,\epsilon)-blurring of P⋆^\widehat{P^{\star}}. Next, let P^\widehat{P} be the probability distribution of h(x)h(x) when xx is drawn from P⋆^\widehat{P^{\star}}. Also, let M=(I+[∇fT]T(0))(I+[∇fT](0))M=(I+[\nabla f^{T}]^{T}(0))(I+[\nabla f^{T}](0)). The fact that ∣∣P⋆−P⋆^∗N(0,σI)∣∣1≤2ϵ||P^{\star}-\widehat{P^{\star}}*\mathcal{N}(0,\sigma I)||_{1}\leq 2\epsilon implies that

That in turn means that σM−σ(1−mB1)2I\sigma M-\sigma(1-mB_{1})^{2}I is positive semidefinite. So, P^∗N(0,σM)=P^∗N(0,σM−σ(1−mB1)2I)∗N(0,σ(1−mB1)2I)\widehat{P}*\mathcal{N}(0,\sigma M)=\widehat{P}*\mathcal{N}(0,\sigma M-\sigma(1-mB_{1})^{2}I)*\mathcal{N}(0,\sigma(1-mB_{1})^{2}I), which proves that PP is a ((1−mB1)2σ,ϵ)((1-mB_{1})^{2}\sigma,\epsilon)-blurring of P^∗N(0,σM−σ(1−mB1)2I)\widehat{P}*\mathcal{N}(0,\sigma M-\sigma(1-mB_{1})^{2}I). ∎

Any blurring is approximately equal to a linear combination of Gaussian distributions, so this should imply a similar result for XX drawn from a (σ,ϵ)(\sigma,\epsilon) blurring. However, we are likely to use functions that have derivatives that are large in some places. Not all of the Gaussian distributions that the blurring combines will necessarily have centers that are far enough from the high derivative regions. As such, we need to add an assumption that the centers of the distributions are in regions where the derivatives are small. We formalize the concept of being in a region where the derivatives are small as follows.

This allows us to state the following variant of the previous lemma.

∣∂fi∂xj(0)∣≤B1|\frac{\partial f_{i}}{\partial x_{j}}(0)|\leq B_{1} for all ii and jj, and ∣∂2fi∂xj∂xj′(x′)∣≤B2|\frac{\partial^{2}f_{i}}{\partial x_{j}\partial x_{j^{\prime}}}(x^{\prime})|\leq B_{2} for all ii, jj, j′j^{\prime}, and all x′x^{\prime} with ∣∣x′∣∣1<r||x^{\prime}||_{1}<r. Then, the desired conclusion follows by the previous lemma. ∎

This lemma could be relatively easily used to prove that if we draw XX from a (σ,ϵ)(\sigma,\epsilon)-blurring instead of drawing it from N(0,σI)\mathcal{N}(0,\sigma I) and ff is stable at XX with high probability then the probability distribution of X+f(X)X+f(X) will be a (σ′,ϵ′)(\sigma^{\prime},\epsilon^{\prime})-blurring for σ′≈σ\sigma^{\prime}\approx\sigma and ϵ′≈ϵ\epsilon^{\prime}\approx\epsilon. However, that is not quite what we will need. The issue is that we are going to repeatedly apply a transformation along these lines to a variable. If all we know is that its probability distribution is a (σ(t),ϵ(t))(\sigma^{(t)},\epsilon^{(t)})-blurring in each step, then we potentially have a probability of ϵ(t)\epsilon^{(t)} each time step that it behaves badly in that step. That is consistent with there being a probability of ∑ϵ(t)\sum\epsilon^{(t)} that it behaves badly eventually, which is too high.

In order to avoid this, we will think of these blurrings as approximations of a (σ,0)(\sigma,0) blurring. Then, we will need to show that if XX is good in the sense of being present in the idealized form of the blurring then X+f(X)X+f(X) will also be good. In order to do that, we will need the following definition.

Let PP be a (σ,ϵ)(\sigma,\epsilon)-blurring of P^\widehat{P}, and X∼PX\sim P. A σ\sigma-revision of XX to P^\widehat{P} is a random pair (X′,M)(X^{\prime},M) such that the probability distribution of MM is P^\widehat{P}, the probability distribution of X′X^{\prime} given that M=μM=\mu is N(μ,σI)\mathcal{N}(\mu,\sigma I), and P[X′≠X]=∣∣P−N(0,σI)∗P^∣∣1/2P[X^{\prime}\neq X]=||P-\mathcal{N}(0,\sigma I)*\widehat{P}||_{1}/2. Note that a σ\sigma-revision of XX to P^\widehat{P} will always exist.

5.3 Means, SLAs, and Gaussian distributions

Our plan now is to consider a version of NoisyStochasticGradientDescent in which the edge weights get revised after each step and then to show that under suitable assumptions when this algorithm is executed none of the revisions actually change the values of any of the edge weights. Then, we will show that whether the samples are generated randomly or by a parity function has minimal effect on the probability distribution of the edge weights after each step, allowing us to revise the edge weights in both cases to the same probability distribution. That will allow us to prove that the probability distribution of the final edge weights is nearly independent of which probability distribution the samples are drawn from.

The next step towards doing that is to show that if we run NoisySampleGradientDescentStep on a neural network with edge weights drawn from a linear combination of Gaussian distributions, the probability distribution of the resulting graph is essentially independent of what parity function we used to generate the sample. In order to do that, we are going to need some more results on the difficulty of distinguishing an unknown parity function from a random function. First of all, recall that corollary 9 says that

We can apply this to probability distributions to get the following.

In particular, if these probability distributions are the result of applying a well-behaved distortion function to a Gaussian distribution, we have the following.

First, note that the bound on ∣∂fi(z)∂wj(w)∣|\frac{\partial f^{(z)}_{i}}{\partial w_{j}}(w)| ensures that if w+f(z)(w)=w′+f(z)(w′)w+f^{(z)}(w)=w^{\prime}+f^{(z)}(w^{\prime}) then w=w′w=w^{\prime}. So, for any zz and ww, the probability density function of W0+f(z)(W0)W_{0}+f^{(z)}(W_{0}) at ww is less than or equal to

By the previous theorem, that implies that

The problem with this result is that it requires ff to have values and derivatives that are bounded everywhere, and the functions that we will encounter in practice will not necessarily have that property. We can reasonably require that our functions have bounded values and derivatives in the regions we are likely to evaluate them on, but not in the entire space. Our solution to this will be to replace the functions with new functions that have the same value as them in small regions that we are likely to evaluate them on, and that obey the desired bounds. The fact that we can do so is established by the following theorem.

First, observe that the (r,B1,B2)(r,B_{1},B_{2})-stability of ff at xx implies that for every x′x^{\prime} with ∣∣x−x′∣∣≤2r||x-x^{\prime}||\leq 2r, we have that ∣∂fi∂xj(x′)∣≤B1+rB2|\frac{\partial f_{i}}{\partial x_{j}}(x^{\prime})|\leq B_{1}+rB_{2} and ∣fi(x′)∣≤B0+2r(B1+rB0)|f_{i}(x^{\prime})|\leq B_{0}+2r(B_{1}+rB_{0}). In particular, this holds for all x′x^{\prime} with ∣∣x′−μ∣∣1≤2r−∣∣x−μ∣∣1<r||x^{\prime}-\mu||_{1}\leq 2r-||x-\mu||_{1}<r.

In order to fix this, we define a smooth function hh of bounded derivative such that h(x′)=0h(x^{\prime})=0 whenever ∣∣x′−μ∣∣1≤r||x^{\prime}-\mu||_{1}\leq r, and h(x′)≥1h(x^{\prime})\geq 1 whenever ∣∣x′−μ∣∣1≥r′||x^{\prime}-\mu||_{1}\geq r^{\prime}. Then, for all sufficiently small positive constants δ\delta, f⋆∗N(0,δ⋅h2(x′)I)f^{\star}*\mathcal{N}(0,\delta\cdot h^{2}(x^{\prime})I) has the desired properties. ∎

Combining this with the previous theorem yields the following.

For each zz, we can define f(z)⋆f^{(z)\star} as an approximation of f(z)f^{(z)} as explained in the previous theorem. ∣∣W0−μ∣∣1≤r||W_{0}-\mu||_{1}\leq r with a probability of at least 1−e−(r/2σ−m/2π)2/m1-e^{-(r/2\sqrt{\sigma}-m/\sqrt{2\pi})^{2}/m}, in which case f(z)⋆(W0)=f(z)(W0)f^{(z)\star}(W_{0})=f^{(z)}(W_{0}) for all zz. For a random ss, the probability distributions of W0+f(Z)⋆(W0)W_{0}+f^{(Z)\star}(W_{0}) and W0+f(X,ps(X))⋆(W0)W_{0}+f^{(X,p_{s}(X))\star}(W_{0}) have an L1L_{1} difference of at most 2−n/2⋅e2m(B0+2rB1+2r2B2)/2πσ/(1−2mB1−2rmB2)2^{-n/2}\cdot e^{2m(B_{0}+2rB_{1}+2r^{2}B_{2})/\sqrt{2\pi\sigma}}/(1-2mB_{1}-2rmB_{2}) on average by 13. Combining these yields the desired result. ∎

That finally gives us the components needed to prove the following.

Now, draw W(0)W^{(0)} from N(μ0,σI)\mathcal{N}(\mu_{0},\sigma I), independently draw Zi∼PZZ_{i}\sim P_{\mathcal{Z}} and Δ(i)∼N(0,[2mB1−m2B12]σI)\Delta^{(i)}\sim\mathcal{N}(0,[2mB_{1}-m^{2}B_{1}^{2}]\sigma I) for all 0<i≤T0<i\leq T. Then, set W(i)=W(i−1)+f[Zi](W(i−1))+Δ(i)W^{(i)}=W^{(i-1)}+f^{[Z_{i}]}(W^{(i-1)})+\Delta^{(i)} for each 0<i≤T0<i\leq T, and let pp be the probability that there exists 0≤i≤T0\leq i\leq T such that F[Zi]F^{[Z_{i}]} is (r,B1,B2)(r,B_{1},B_{2})-unstable at W(i)W^{(i)} or ∣∣F[Zi](W(i))∣∣∞>B0||F^{[Z_{i}]}(W^{(i)})||_{\infty}>B_{0}. Finally, let QQ and Qs′Q^{\prime}_{s} be the probability distribution of W(T)W^{(T)} given that PZ=⋆P_{\mathcal{Z}}=\star and the probability distribution of W(T)W^{(T)} given that PZ=ρsP_{\mathcal{Z}}=\rho_{s}. Then

In order to prove this, we plan to define new variables W~(i)′\widetilde{W}^{(i)\prime} such that W~(i)′=W(i)\widetilde{W}^{(i)\prime}=W^{(i)} with high probability for each ii and the probability distribution of W~(i)′\widetilde{W}^{(i)\prime} is independent of PZP_{\mathcal{Z}}. More precisely, we define the variables W~(i)\widetilde{W}^{(i)}, W~(i)′\widetilde{W}^{(i)\prime}, and M~(i)\widetilde{M}^{(i)} for each ii as follows. First, set M~(0)=μ0\widetilde{M}^{(0)}=\mu_{0} and W~(0)′=W~(0)=W(0)\widetilde{W}^{(0)\prime}=\widetilde{W}^{(0)}=W^{(0)}.

Next, for a function ff and a point ww, we say that ff is quasistable at ww if there exists w′w^{\prime} such that ∣∣w′−w∣∣1≤r||w^{\prime}-w||_{1}\leq r, f[Zi]f^{[Z_{i}]} is (r,B1,B2)(r,B_{1},B_{2})-stable at w′w^{\prime}, and ∣∣f[Zi](w′)∣∣∞≤B0||f^{[Z_{i}]}(w^{\prime})||_{\infty}\leq B_{0}, and that it is quasiunstable at ww otherwise.

for each 0<i≤T0<i\leq T, if f[Zi]f^{[Z_{i}]} is quasistable at M~(i−1)\widetilde{M}^{(i-1)}, set

Next, for each ρ\rho, let Pρ(i)P^{(i)}_{\rho} be the probability distribution of W~(i)\widetilde{W}^{(i)} given that PZ=ρP_{\mathcal{Z}}=\rho. Then, define P^(i)\widehat{P}^{(i)} as a probability distribution such that P⋆(i)P^{(i)}_{\star} is a (σ,ϵ0)(\sigma,\epsilon_{0})-blurring of P^(i)\widehat{P}^{(i)} with ϵ0\epsilon_{0} as small as possible. Finally, for each ρ\rho, if PZ=ρP_{\mathcal{Z}}=\rho, let (W~(i)′,M~(i))(\widetilde{W}^{(i)\prime},\widetilde{M}^{(i)}) be a σ\sigma-revision of W~(i)\widetilde{W}^{(i)} to P^(i)\widehat{P}^{(i)}.

In order to analyse the behavior of these variables, we will need to make a series of observations. First, note that for every ii, ρ\rho, and μ\mu the probability distribution of W~(i−1)′\widetilde{W}^{(i-1)\prime} given that PZ=ρP_{Z}=\rho and M(i−1)=μM^{(i-1)}=\mu is N(μ,σI)\mathcal{N}(\mu,\sigma I). Also, either f[Zi]f^{[Z_{i}]} is quasistable at μ\mu or is quasistable at μ\mu. Either way, the probability distribution of W~(i)\widetilde{W}^{(i)} under these circumstances must be a (σ,ϵ)(\sigma,\epsilon)-blurring by Lemma 8 and Lemma 5. That in turn means that Pρ(i)P^{(i)}_{\rho} is a (σ,ϵ)(\sigma,\epsilon) blurring for all ii and ρ\rho, and thus that P⋆(i)P^{(i)}_{\star} must be a (σ,ϵ)(\sigma,\epsilon) blurring of P^(i)\widehat{P}^{(i)}. Furthermore, by the previous corollary,

which in turn means that P[W~(i)′≠W~(i)]≤ϵ+ϵ′/4P[\widetilde{W}^{(i)\prime}\neq\widetilde{W}^{(i)}]\leq\epsilon+\epsilon^{\prime}/4. That in turn means that with probability at least 1−T(ϵ+ϵ′/4)1-T(\epsilon+\epsilon^{\prime}/4) it is the case that W~(i)′=W~(i)\widetilde{W}^{(i)\prime}=\widetilde{W}^{(i)} for all ii.

If W~(i)′=W~(i)\widetilde{W}^{(i)\prime}=\widetilde{W}^{(i)} for all ii and W~(T)′≠W(T)\widetilde{W}^{(T)\prime}\neq W^{(T)} then there must exist some ii such that W~(i−1)′=W(i−1)\widetilde{W}^{(i-1)\prime}=W^{(i-1)} but W~(i)≠W(i)\widetilde{W}^{(i)}\neq W^{(i)}. That in turn means that

If F[Zi]F^{[Z_{i}]} were quasistable at M(i−1)M^{(i-1)}, that is exactly the formula that would be used to calculate W~(i)\widetilde{W}^{(i)}, so F[Zi]F^{[Z_{i}]} must be quasiunstable at M(i−1)M^{(i-1)}. That in turn requires that either F[Zi]F^{[Z_{i}]} is (r,B1,B2)(r,B_{1},B_{2})-unstable at W~(i−1)′=W(i−1)\widetilde{W}^{(i-1)\prime}=W^{(i-1)}, ∣∣f[Zi](W(i−1))∣∣∞>B0||f^{[Z_{i}]}(W^{(i-1)})||_{\infty}>B_{0}, or ∣∣W~(i−1)′−M(i−1)∣∣1>r||\widetilde{W}^{(i-1)\prime}-M^{(i-1)}||_{1}>r. With probability at least 1−p1-p, neither of the first two scenarios occur for any ii, while for any given ii the later occurs with a probability of at most ϵ′′\epsilon^{\prime\prime}. Thus,

The probability distribution of W~(T)′\widetilde{W}^{(T)\prime} is independent of PZP_{\mathcal{Z}}, so it must be the case that

In particular, if we let (h,G)(h,G) be a neural net, GWG_{W} be GG with its edge weights changed to the elements of WW, LL be a loss function,

, and f(x,y)=−γ∇f‾(x,y)f^{(x,y)}=-\gamma\nabla\overline{f}^{(x,y)} for each x,yx,y then this translates to the following.

Now, let G′G^{\prime} be GG with each of its edge weights perturbed by an independently generated variable drawn from N(0,σI)\mathcal{N}(0,\sigma I) and run NoisyStochasticGradientDescentAlgorithm(h,G′,PZ,L,γ,∞,N(0,[2mB1−m2B12]σI),T)NoisyStochasticGradientDescentAlgorithm(h,G^{\prime},P_{\mathcal{Z}},L,\gamma,\infty,\mathcal{N}(0,[2mB_{1}-m^{2}B_{1}^{2}]\sigma I),T). Then, let pp be the probability that there exists 0≤i<T0\leq i<T such that at least one of the following holds:

One of the first derivatives of L(eval(h,Gi)(Xi)−Yi)L(eval_{(h,G_{i})}(X_{i})-Y_{i}) with respect to the edge weights has magnitude greater than B0/γB_{0}/\gamma.

There exists a perturbation Gi′G^{\prime}_{i} of GiG_{i} with no edge weight changed by more than rr such that one of the second derivatives of L(eval(h,Gi′)(Xi)−Yi)L(eval_{(h,G^{\prime}_{i})}(X_{i})-Y_{i}) with respect to the edge weights has magnitude greater than B1/γB_{1}/\gamma.

There exists a perturbation Gi′G^{\prime}_{i} of GiG_{i} with no edge weight changed by more than 2r2r such that one of the third derivatives of L(eval(h,Gi′)(Xi)−Yi)L(eval_{(h,G^{\prime}_{i})}(X_{i})-Y_{i}) with respect to the edge weights has magnitude greater than B2/γB_{2}/\gamma.

Finally, let QQ be the probability distribution of the final edge weights given that PZ=⋆P_{\mathcal{Z}}=\star and Qs′Q^{\prime}_{s} be the probability distribution of the final edge weights given that PZ=ρsP_{\mathcal{Z}}=\rho_{s}. Then

Next, set σ=(40mγBn)2/2π\sigma=\left(\frac{40m\gamma B}{n}\right)^{2}/2\pi. Now, let G′G^{\prime} be GG with each of its edge weights perturbed by an independently generated variable drawn from N(0,σI)\mathcal{N}(0,\sigma I) and run NoisyStochasticGradientDescentAlgorithm(h,G′,PZ,L,γ,∞,N(0,[2mBγ−m2B2γ2]σI),T)NoisyStochasticGradientDescentAlgorithm(h,G^{\prime},P_{\mathcal{Z}},L,\gamma,\infty,\mathcal{N}(0,[2mB\gamma-m^{2}B^{2}\gamma^{2}]\sigma I),T). Let pp be the probability that there exists 0≤i<T0\leq i<T such that there exists a perturbation Gi′G^{\prime}_{i} of GiG_{i} with no edge weight changed by more than 160m2γB/πn160m^{2}\gamma B/\pi n such that one of the first three derivatives of L(eval(h,Gi)(Xi)−Yi)L(eval_{(h,G_{i})}(X_{i})-Y_{i}) with respect to the edge weights has magnitude greater than BB. Finally, let QQ be the probability distribution of the final edge weights given that PZ=⋆P_{\mathcal{Z}}=\star and Qs′Q^{\prime}_{s} be the probability distribution of the final edge weights given that PZ=ρsP_{\mathcal{Z}}=\rho_{s}. Then

First, set r=80m2γB/πnr=80m^{2}\gamma B/\pi n. Also, set B1=B2=B3=γBB_{1}=B_{2}=B_{3}=\gamma B. By the previous corollary, we have that

If 720m4B2γ2/πn≥2720m^{4}B^{2}\gamma^{2}/\pi n\geq 2, then the conclusion of this corollary is uninterestingly true. Otherwise, ϵ≤180m4γ2B2/πn+ϵ′′\epsilon\leq 180m^{4}\gamma^{2}B^{2}/\pi n+\epsilon^{\prime\prime}. Either way, ϵ′≤4[e/4]n/4+2ϵ′′\epsilon^{\prime}\leq 4[e/4]^{n/4}+2\epsilon^{\prime\prime}, and ϵ′′≤e−m/2π\epsilon^{\prime\prime}\leq e^{-m/2\pi}. m≥nm\geq n and e1/2π≥[4/e]1/4e^{1/2\pi}\geq[4/e]^{1/4}, so ϵ′′≤[e/4]n/4\epsilon^{\prime\prime}\leq[e/4]^{n/4}. The desired conclusion follows. ∎

That allows us to prove the following elaboration of theorem 33.

Universality of deep learning

It is easiest to show that we can emulate an arbitrary learning algorithm by running SGD on a neural net if we do not require the neural net to be normal or require a low learning rate. In that case, we use the following argument. Any learning algorithm that uses polynomial time and memory can be reexpressed as a circuit that computes a predicted output and new values for its memory given the actual output from the old values of its memory and an input.

Our neural net for emulating this algorithm will work as follows. First of all, for every bit of memory that the original algorithm uses, bib_{i}, our net will have a corresponding vertex vb[i]v_{b[i]} such that the weight of the edge from the constant vertex to vb[i]v_{b[i]} will encode the current value of the bit. Secondly, the net will contain a section that computes the predicted value of the output, and the desired new values of each input contingent on each possible value of the actual output. This section will also work in such a way that when the net is evaluated the values of the section’s output vertices will always be generated by computing the evaluation function on an input that it has a derivative of on in order to ensure that nothing can backpropagate through this section, and thus that its edge weights will never change. Thirdly, the net will contain a section that in each step decides whether the net will actually try to get the output right, or whether it will try to learn more about the function. Generally, this section will attempt to learn for a fixed number of steps and then start seriously estimating the output. This section will also be backpropagation proofed.

Fourth, there will be vertices with edges from the vertex computing the desired output for the network and edges to the official output vertex, with edge weights chosen such that if it sets the output correctly the edge weights do not change, and if it sets it incorrectly, these edge weights change in ways that effectively cancel out. Fifth, for every bit of memory that the original algorithm uses, there will be two paths connecting vb[i]v_{b[i]} to the output vertex. The middle vertices of these paths will also have control paths leading from the part of the network that determines what to change the values in memory to. It will be set up in such a way that these vertices will always evaluate to , but depending on the values of the vertices they are connected to by the control paths, their values might or might not have a nonzero derivative with respect to the input they receive from vb[i]v_{b[i]}. This will allow the network to control whether or not backpropagation can change the value of bib_{i}.

In steps where the network tries to learn more about the function, the network will randomly guess an output, set the value of the output vertex to the opposite of the value it guessed, and ensure that the output has a nonzero derivative with respect to any bits it wants to change the value of if it guessed correctly. That way, if it guesses wrong about the output, the loss function and its derivative are so nothing changes. If it guesses right, then the values in memory change in exactly the desired manner. No matter what the true output is, it has a 1/21/2 chance of guessing right, so it is still updating based on samples drawn from the correct probability distribution. So, running SGD on the neural network described emulates the desired algorithm.

2 Emulation of Arbitrary Algorithms 2

Of course, the previous result uses choices of a neural net and SGD parameters that are in many ways unreasonable. The activation function is badly behaved, many of the vertices do not have edges from the constant vertex, and the learning rate is deliberately chosen to be so high that it keeps overshooting the minima. If one wanted to do something normal with a neural net trained by SGD one is unlikely to do it that way, and using it to emulate an algorithm is much less efficient than just running the algorithm directly, so this is unlikely to come up.

In order to emulate a learning algorithm with a more reasonable neural net and choice of parameters, we will need to use the following ideas in addition to the ideas from the previous result. First of all, we can control which edges tend to have their weights change significantly by giving edges that we want to change a very low starting weight and then putting high weight edges after them to increase the derivative of the output with respect to them. Secondly, rather than viewing the algorithm we are trying to emulate as a fixed circuit, we will view it as a series of circuits that each compute a new output and new memory values from the previous memory values and the current inputs. Thirdly, a lower learning rate and tighter restrictions on how quickly the network can change prevent us from setting memory values in one step. Instead, we initialize the memory values to a local maximum so that once we perturb them, even slightly, they will continue to move in that direction until they take on the final value. Fourth, in most steps the network will not try to learn anything, so that with high probability all memory values that were set in one step will have enough time to stabilize before the algorithm tries to adjust anything else. Finally, once we have gotten to the point that the algorithm is ready to approximate the function, its estimates will be connected to the output vertex, and the output will gradually become more influenced by it over time as a basic consequence of SGD.

Acknowledgements

This research was partly supported by the NSF CAREER Award CCF-1552131 and the Google Faculty Research Award. We thank Jean-Baptiste Cordonnier for helping with the experiment of Section 1.2, as well as Sanjeev Arora, Etienne Bamas, Sebastien Bubeck, Vitaly Feldman, Ran Raz, Oded Regev, Ola Svensson, Santosh Vempala for useful comments and/or references.

References