Title: ENHANCED CONVOLUTIONAL NEURAL KERNELS

Abstract: Recent research shows that for training with 2 loss, convolutional neural networks (CNNs) whose width (number of channels in convolutional layers) goes to infinity correspond to regression with respect to the CNN Gaussian Process kernel (CNN-GP) (Novak et al., 2019) if only the last layer is trained, and correspond to regression with respect to the Convolutional Neural Tangent Kernel (CNTK) if all layers are trained. An exact algorithm to compute CNTK (Arora et al., 2019) yielded the finding that classification accuracy of CNTK on CIFAR-10 is within 6-7% of that of the corresponding CNN architecture (best figure being around 78%) which is interesting performance for a fixed kernel.
Here we show how to significantly enhance the performance of these kernels using two ideas. (1) Modifying the kernel using a new operation called Local Average Pooling (LAP) which preserves efficient computability of the kernel and inherits the spirit of standard data augmentation using pixel shifts. Earlier papers were unable to incorporate naive data augmentation because of the quadratic training cost of kernel regression. This idea is inspired by Global Average Pooling (GAP), which we show for CNN-GP and CNTK is equivalent to full translation data augmentation. (2) Representing the input image using a pre-processing technique proposed by Coates et al. (2011) , which uses a single convolutional layer composed of random image patches. On CIFAR-10, the resulting kernel, CNN-GP with LAP and horizontal flip data augmentation, achieves 89% accuracy, matching the performance of AlexNet (Krizhevsky et al., 2012) , and outperforms the best previous classifier that is not a trained neural network (Mairal, 2016) . Similar improvements are obtained for Fashion-MNIST.

1. INTRODUCTION:

Recent research shows that for training with 2 loss, convolutional neural networks (CNNs) whose width (number of channels in convolutional layers) goes to infinity, correspond to regression with respect to the CNN Gaussian Process kernel (CNN-GP) if only the last layer is trained (Novak et al., 2019; Garriga-Alonso et al., 2019) , and correspond to regression with respect to the Convolutional Neural Tangent Kernel (CNTK) if all layers are trained (Jacot et al., 2018; Allen-Zhu et al., 2018; Du et al., 2019b; Arora et al., 2019) . Novak et al. (2019) ; Garriga-Alonso et al. ( 2019) also implemented CNN-GP and tested its empirical performance. An efficient exact algorithm was given (Arora et al., 2019) to compute CNTK for CNN architectures, as well as those that include a Global Average Pooling (GAP) layer (defined below). This is a fixed kernel that inherits some benefits of CNNs, including exploitation of locality via convolution, as well as multiple layers of processing. For CIFAR-10, incorporating GAP into the kernel improves classification accuracy by up to 10% compared to pure convolutional CNTK.

While this performance is encouraging for a fixed kernel, the best accuracy is still under 78%, which is disappointing even compared to AlexNet. One hope for improving the accuracy further is to somehow capture modern innovations such as batch normalization, data augmentation, residual layers, etc. in CNTK. The current paper shows how to incorporate simple data augmentation. Specifically, the idea of creating new training images from existing images using pixel translation and flips, while assuming that these operations should not change the label. Since deep learning uses stochastic gradient descent (SGD), it is trivial to do such data augmentation on the fly. However, it's unclear how to efficiently incorporate data augmentation in kernel regression, since training time is quadratic in the number of training images. 1Thus somehow data augmentation has to be incorporated into the computation of the kernel itself. The main observation here is that the above-mentioned algorithm for computing CNTK involves a dynamic programming whose recursion depth is equal to the depth of the corresponding finite CNN. It is possible to impose symmetry constraints at any desired layer during this computation. In this viewpoint, it can be shown that prediction using CNTK/CNN-GP with GAP is equivalent to prediction using CNTK/CNN-GP without GAP but with full translation data augmentation with wraparound at the boundary. The translation invariance property implicitly assumed in data augmentation is exactly equivalent to an imposed symmetry constraint in the computation of the CNTK which in turn is derived from the pooling layer in the CNN. See Section 4 for more details.

Thus GAP corresponds to full translation data augmentation scheme, but in practice such data augmentation creates unrealistic images (cf. Figure 2 ) and training on them can harm performance. However, the idea of incorporating symmetry in the dynamic programming leads to a variant we call Local Average Pooling (LAP). This implicitly is like data augmentation where image labels are assumed to be invariant to small translation, say by a few pixels. Interestingly, LAP corresponds to a average pooling layer for CNNs, named box filtering (Szeliski, 2010) .

Experimentally, we find LAP significantly enhances the performance as discussed below.

• In extensive experiments on CIFAR-10 and Fashion-MNIST, we find LAP consistently improves performance of CNN-GP and CNTK. In particular, we find CNN-GP with LAP achieves 81% on CIFAR-10 dataset, outperforming the best previous kernel predictor by 3%. • When using the technique proposed by Coates et al. (2011) , which uses randomly sampled patches from training data as filters to do pre-processing,2 CNN-GP with LAP and horizontal flip data augmentation achieves 89% accuracy on CIFAR-10, matching the performance of AlexNet (Krizhevsky et al., 2012) and is the strongest classifier that is not a trained neural network.3 • We also test performance of CNNs with an extra layer corresponding to LAP and observe that it improves the performance on certain architectures.

2. RELATED WORK:

Data augmentation has long been known to improve the performance of neural network and kernel methods (Sietsma & Dow, 1991; Schölkopf et al., 1996) . Theoretical study of data augmentation dates back to Chapelle et al. (2001) . Recently, Dao et al. (2018) proposed a theoretical framework for understanding data augmentation and showed data augmentation with a kernel classifier can have feature averaging and variance regularization effects. More recently, Chen et al. (2019) quantitatively shows in certain settings, data augmentation provably improves the classifier performance.

For more comprehensive discussion on data augmentation and its properties, we refer readers to Dao et al. (2018) ; Chen et al. (2019) and references therein.

CNN-GP and CNTK correspond to infinitely wide CNN with different training strategies (only training the top layer or training all layers jointly). The correspondence between infinite neural networks and kernel machines was first noted by Neal (1996) . More recently, this was extended to deep and convolutional neural networks (Lee et al., 2018; Matthews et al., 2018; Novak et al., 2019; Garriga-Alonso et al., 2019) . These kernels correspond to infinitely wide neural networks where only the last layer is trained. A recent line of work studied overparameterized neural networks where all layers are trained (Allen-Zhu et al., 2018; Du et al., 2019b; 2018; Li & Liang, 2018; Zou et al., 2018) . Their proofs imply the gradient kernel is close to a fixed kernel which only depends the training data and neural network architecture. These kernels thus correspond to infinitely wide neural networks where are all layers are trained. Jacot et al. (2018) named this kernel, neural tangent kernel (NTK). Arora et al. (2019) formally proved infinitely wide neural net predictor trained by gradient descent is equivalent to NTK predictor. Recently, NTKs induced by various neural network architectures are derived and shown to achieve strong empirical performance (Arora et al., 2019; Yang, 2019; Du et al., 2019a) .

Global Average Pooling (GAP) was first proposed in Lin et al. (2013) and is common in modern CNN design (Springenberg et al., 2014; He et al., 2016; Huang et al., 2017) . However, current theoretical understanding on GAP is still rather limited. It has been conjectured in Lin et al. (2013) that GAP reduces the number of parameters in the last fully-connected layer and thus avoids overfitting, and that GAP is more robust to spatial translations of the input since it sums out the spatial information. In this work, we study GAP from the CNN-GP and CNTK perspective, and draw an interesting connection between GAP and data augmentation.

Here we are interested in methods that are not trained neural networks. If the features are predefined before seeing the data, Oyallon & Mallat (2015) proposed the scattering network which achieves 82% classification accuracy on CIFAR-10. If one uses unsupervised learning methods to extract features, the method proposed in Coates et al. (2011) is one of the best-performing approaches on CIFAR-10 preceding modern CNNs. To our knowledge, the best result via unsupervised learning method in this line is by Mairal (2016) , who used the convolutional kernel network to achieve 86% accuracy on CIFAR-10. In this work we combine CNTK with LAP and the idea in Coates et al. (2011) to achieve the best performance for classifiers that are not trained neural networks.

3. PRELIMINARIES:



3.1. NOTATION:

We use bold-faced letters for vectors, matrices and tensors. For a vector a, let [a] i be its i-th entry; for a matrix A, let [A] i,j be its (i, j)-th entry; for an order 4 tensor T , let [T ] ij,i j be its (i, j, i , j )-th entry. For a symmetric tensor, wet let tr (T ) = i,j T ij,ij . For an order d tensor T ∈ R C1×C2×...×C d and an integer α ∈ [C d ], we use T (α) ∈ R C1×C2×...×C d-1 to denote the order d -1 tensor formed by fixing the coordinate of the last dimension of T to be α.

3.2. CNN, CNN-GP AND CNTK:

In this section we give formal definitions of CNN, CNN-GP and CNTK that we study in this paper.

Throughout the paper, we let P be the width and Q be the height of the image. We use q ∈ Z + to denote the filter size. In practice, q = 1, 3, 5 or 7.

Padding Schemes. In the definition of CNN, CNTK and CNN-GP, we may use different padding schemes. Let x ∈ R P ×Q be an matrix. For a given index pair (i, j) with i ≤ 0, i ≥ P + 1, j ≤ 0 or j ≥ Q + 1, different padding schemes define different value for [x] i,j . For circular padding, we define [x] i,j to be [x] i mod P,j mod Q . For zero padding, we simply define [x] i,j to be 0. Note the difference between circular padding and zero padding occurs only on the boundary of images. We will prove our theoretical results for the circular padding scheme to avoid boundary effects.

CNN. Now we describe CNN with and without GAP. For any input image x, after L intermediate layers, we obtain x (L) ∈ R P ×Q×C (L) where C (L) is the number of channels of the last layer. See Section A for the definition of x (L) . For the output, there are two choices: with and without GAP.

• Without GAP: the final output is defined as f (θ, x) =

C (L) α=1 W (L+1) (α) , x (L) (α) where x (L) (α) ∈ R P ×Q , and W (L+1) (α)

∈ R P ×Q is the weight of the last fully-connected layer.

• With GAP: the final output is defined as f (θ, x)

= 1 P Q C (L) α=1 W (L+1) (α) • (i,j)∈[P ]×[Q] x (L) (α) i,j where W (L+1) (α)

∈ R is the weight of the last fully-connected layer.

CNN-GP and CNTK. Now we describe CNN-GP and CNTK. Let x, x be two input images. We denote the L-th layer's CNN-GP kernel as Q] . See Section A for the precise definitions of Σ (L) (x, x ) and Θ (L) (x, x ). For the output kernel value, again, there are two choices, without GAP (equivalent to using a fully-connected layer) or with GAP.

Σ (L) (x, x ) ∈ R [P ]×[Q]×[P ]×[Q] and the L-th layer's CNTK kernel as Θ (L) (x, x ) ∈ R [P ]×[Q]×[P ]×[

• Without GAP: the output of CNN-GP is Σ FC (x, x ) = tr Σ (L) (x, x ) and the output of

CNTK is Θ FC (x, x ) = tr Θ (L) (x, x ) . • With GAP: the output of CNN-GP is Σ GAP (x, x ) = 1 P 2 Q 2 i,j,i ,j ∈[P ]×[Q]×[P ]×[Q] Σ (L) (x, x ) i,j,i ,j , and the output of CNTK is Θ GAP (x, x ) = 1 P 2 Q 2 i,j,i ,j ∈[P ]×[Q]×[P ]×[Q] Θ (L) (x, x ) i,j,i ,j .

Kernel Prediction. Lastly, we recall the formula for kernel regression. For simplicity, throughout the paper, we will assume all kernels are invertible. Given a kernel K (x, x ) and a dataset (X, y)

with data {(x i , y i )} N i=1 , define K X ∈ R N ×N where [K X ] i,j = K(x i , x j ). The prediction for unseen data x is N i=1 α i K(x , x i ), where α = K -1

X y.

3.3. DATA AUGMENTATION SCHEMES:

In this paper we consider two types of data augmentation schemes: translation and horizontal flip.

Translation. Given (i, j) ∈ [P ] × [Q],

we define the translation operator

T ij : R P ×Q×C → R P ×Q×C : for an image x ∈ R P ×Q×C , [T ij (x)] i ,j ,c = [x] i +i,j +j,c for (i , j , c) ∈ [P ] × [Q] × [C].

Here the precise definition of [x] i +i,j +j,c depends on the padding scheme. Given a dataset

D = {(x i , y i )} N i=1 , the full translation data augmentation scheme creates a new dataset D T = {(T ij (x i ) , y i )} (i,j,n)∈[P ]×[Q]×[N ] and training is performed on D T . Horizontal Flip. Flip operator F : R P ×Q×C → R P ×Q×C : for an image x ∈ R P ×Q×C , [F (x)] i,j,c = [x] P +1-i,j,c for (i, j, c) ∈ [P ] × [Q] × [C]. Given a dataset D = {(x i , y i )} N i=1 , the horizontal flip augmentation scheme creates a new dataset of the form D F = {(F (x i ) , y i )} N i=1

and training is performed on D F ∪ D.

4. EQUIVALENCE BETWEEN AUGMENTED KERNEL AND DATA AUGMENTATION:

In this section, we demonstrate the equivalence between using data augmentation and using a augmented kernel. To formally discuss the equivalence, we use group theory to describe translation and horizontal flip operators. We provide the definition of group in Section B for completeness.

It is easy to verify that {F, I}, {T i,j

} (i,j)∈[P ]×[Q] , {T i,j • F} (i,j)∈[P ]×[Q] ∪ {T i,j } (i,j)∈[P ]×[Q] are

groups, where I is the identity map. From now on, given a dataset (X, y)

with data {(x i , y i )} N i=1

and a group G, the augmented dataset

(X G , y G ) is defined to be {g(x i ), y i } g∈G,i∈[N ] .

For kernel prediction for unseen data x on the augmented dataset, we have the following formula:

i∈[N ],g∈G α i,g K(x , g(x i )), where α = K -1 X G y G .

To proceed, we define the concept of augmented kernel. Let G be a finite group. Define the augmented kernel

K G as K G (x, x ) = E g∈G E g ∈G K(g(x), g (x )

) where x, x are two inputs images.

A key observation is that for CNTK and CNN-GP, when circular padding and GAP is adopted, these are actually the augmented kernels with the group

G = {T i,j } (i,j)∈[P ]×[Q] . Formally, we have Σ GAP (x, x ) = 1 P Q Σ G FC (x, x ) and Θ GAP (x, x ) = 1 P Q Θ G FC (x, x ).

The proof for these two equations is just by checking the formula of these kernels and using definition of circular padding. By similar proof, one can observe the following invariance property of Σ GAP , Σ FC , Θ GAP and Θ FC , under all groups mentioned above, including {F, I} and {T i,j } (i,j)∈

[P ]×[Q] . Definition 4.1. A kernel K is invariant under a group G if and only if for any g ∈ G, K(g(x), g(x )) = K(x, x ).

Now the following theorem formally states the equivalence between using an augmented kernel on the dataset and using the kernel on the augmented dataset.

Theorem 4.1. Given a group G and a kernel K such that K is invariant under G, then the prediction of augmented kernel K G with dataset (X, y) is equal to that of kernel K and augmented dataset (X G , y G ). Namely, for any

x ∈ R P ×Q×C , N i=1 α i K G (x , x i ) = i∈[N ],g∈G α i,g K(x , g(x i )) where α = K G X -1 y, α = (K X G ) -1 y G .

The proof is deferred to Appendix B. Two corollaries are directly followed. Corollary 4.1.

For G = {T i,j } (i,j)∈[P ]×[Q] ,

for any given dataset D, the prediction of Σ GAP (or Θ GAP ) with dataset D is equal to the prediction of Σ FC (or Θ FC ) with augmented dataset D T . Corollary 4.2. For G = {F, I}, for any given dataset D, the prediction of Σ G GAP (or Θ G GAP ) with dataset D is equal to the prediction of Σ GAP (or Θ GAP ) with augmented dataset D F ∪ D. Now we discuss implications of Theorem 4.1 and its corollaries. Naively applying data augmentation, with full translation on CNTK or CNN-GP for example, one needs to create a P 2 Q 2 times larger kernel matrix since there are P Q translation operators, which is often computationally infeasible. Instead, we can directly use the augmented kernel (Σ GAP or Θ GAP for the case of full translation on CNTK or CNN-GP) for prediction, for which one only needs to create a kernel matrix that is as large as the original one. For horizontal flip, although the augmentation kernel is not as conveniently computed as full translation, Corollary 4.2 still provides a more efficient method for computing kernel value and solving kernel regression, since the augmented dataset is twice as large as the original dataset.

5. LOCAL AVERAGE POOLING:

In this section, we introduce a new operation called Local Average Pooling (LAP). As discussed in the introduction, full translation data augmentation can create unrealistic images. A natural idea is to do local translation data augmentation, i.e., restricting the distance of translation. More specifically, we only allow translation operations T ∆i,∆j (cf. Section 3.3) for

(∆ i , ∆ j ) ∈ [-c, c]×[-c, c]

where c is a parameter to control the amount of allowed translation. With a proper choice of the parameter c, translation data augmentation will not create unrealistic images (cf. Figure 2 ). However, naive local translation data augmentation is computationally infeasible for kernel methods, even for moderate choice of c. To remedy this issue, in this section we introduce LAP, which is inspired by the connection between full translation data augmentation and GAP on CNN-GP and CNTK. Here, for simplicity, we assume P = Q and derive the formula only for CNTK. Our formula can be generalized to CNN-GP in a straightforward manner.

Recall that for two given images x and x , without GAP, the formula for output of CNTK is tr (Θ(x, x )).

With GAP, the formula for output of CNTK is

1 P 4 i,j,i ,j ∈[P ] 4 [Θ (x, x )] i,j,i ,j .

With circular padding, the formula can be rewritten as 1

P 2 E ∆i,∆ i ,∆j ,∆ j ∼[P ] 4 i,j∈[P ]×[P ] [Θ (x, x )] i+∆i,j+∆j ,i+∆ i ,j+∆ j , which is again equal to 1 P 2 E ∆i,∆ i ,∆j ,∆ j ∼[P ] 4 tr Θ T ∆i,∆j (x), T ∆ i ,∆ j (x )

. We ignore the 1/P 2 scaling factor since it plays no role in kernel regression.

Now we consider restricted translation operations T ∆i,∆j with c ] and derive the formula for LAP. Assuming circular padding, we have

(∆ i , ∆ j ) ∈ [-c, c] × [-c,

EQUATION

)

Now we have derived the formula for LAP which is given in Equation 1. Notice that the formula in Equation 1 is a well-defined quantity for all padding schemes. In particular, assuming zero padding, when c = P , LAP is equivalent to GAP. When c = 0, LAP is equivalent to no pooling layer. Another advantage of LAP is that it does not incur significant additional computational cost, since the formula in Equation 1 can be rewritten as i,j,i ,j ∈[P ] 4 [w] i,j,i ,j • [Θ(x, x )] i,j,i ,j where each entry in the weight tensor w can be calculated in O(1) time.

Note that the GAP operation in CNN-GP and CNTK corresponds to the GAP layer in CNNs. Here we observe the following box filtering layer that corresponds to LAP in CNNs. Box filtering layer

(BF) is a function R P ×Q → R P ×Q such that [BF(x)] i,j = 1 (2c+1) 2 ∆i,∆j ∈[-c,c] 2 x i+∆i,j+∆j .

This is in fact a standard average pooling layer but with stride 1 and pooling size 2c + 1. We prove the equivalence between LAP and box filtering layer in Appendix C. In Section 6.3, we test BF on CNNs to verify its effectiveness.

6. EXPERIMENTS:

In this section we present our empirical findings on CIFAR-10 ( Krizhevsky, 2009) and Fashion-MNIST (Xiao et al., 2017) . The detailed experimental setup is reported in Appendix D. When reporting test accuracies, the best result on the test set is in boldface and the result that corresponds to the hyper-parameter chosen by cross-validation is underlined.

6.1. ABLATION STUDY ON CIFAR-10 AND FASHION-MNIST:

We perform experiments to study the effect of different values of the c parameter in LAP and horizontal flip data argumentation on CNTK and CNN-GP. For experiments in this section we set the bias term in CNTK and CNN-GP to be β = 0 (cf. Section A). We use the same architecture for CNTK and CNN-GP as in Arora et al. (2019) . I.e., we stack multiple convolutional layers before the final pooling layer. We use d to denote the number of convolutions layers, and in our experiments we set d to be 5, 8, 11 or 14, to study the effect of depth on CNTK and CNN-GP. For CIFAR-10, we set the c parameter in LAP to be 0, 4, . . . , 32, while for Fashion-MNIST we set the c parameter in LAP to be 0, 4, . . . , 28. Notice that when c = 32 for CIFAR-10 or c = 28 for Fashion-MNIST, LAP is equivalent to GAP, and when c = 0, LAP is equivalent to no pooling layer. Results on CIFAR-10 are reported in Tables 1 and 3 . Due to space constraint, results on Fashion-MNIST are reported in Tables 5 and 6 in Appendix E. In each table, for each combination of c and d, the first number is the test accuracy without horizontal flip data augmentation (in percentage), and the second number (in parentheses) is the test accuracy with horizontal flip data augmentation. To perform cross-validation to choose the hyper-parameters, we use the last 10000 samples in the training set of CIFAR-10 and Fashion-MNIST as the validation set and the rest samples as the training set. We then use the full training set to report the test accuracy. To perform cross-validation, we choose c, d, CNN or CNN-GP, and whether or not to adopt horizontal flip based on the validation accuracy (shown in Appendix F). With cross-validation, the resulting accuracy is 82.09% on CIFAR-10 and 94.07% on Fashion-MNIST.

We made the following observations regarding our experimental results.

• LAP with a proper choice of the parameter c significantly improves the performance of CNTK and CNN-GP. On CIFAR-10, the best-performing value of c is c = 12 or 16, while on Fashion-MNIST the best-performing value of c is c = 4. We suspect this difference is due to the nature of the two datasets: CIFAR-10 contains real-life images and thus allow more translation, while Fashion-MNIST contains images with centered clothes and thus allow less translation. For both datasets, the best-performing value of c is consistent across all settings (depth, CNTK or CNN-GP) that we have considered. norm, and finally perform ZCA transformation to the resulting patches. We use the resulting patches as 2048 filters of a convolutional layer with kernel size 5, stride 1 and no dilation or padding. For an input image x, we use conv(x) to denote the output of the convolutional layer. As in the implementation in Recht et al. (2019) , we use ReLU(conv(x) -β feature ) and ReLU(-conv(x) -β feature ) as the input feature for CNTK and CNN-GP. Here we fix β feature = 1 as in Recht et al. (2019) and the bias term β in CNTK and CNN-GP to be β = 1. To make the output kernel value invariant under horizontal flip (cf. Defintion 4.1), for each image patch, we horizontally flipped it and add the flipped patch into the convolutional layer as a new filter. Thus, for an input CIFAR-10 image of size 32 × 32, the dimension of the output feature is 8192 × 28 × 28. To isolate the effect of randomness in the choices of the image patches, we fix the random seed to be 0 throughout the experiment. In this experiment, we set the value of the c parameter in LAP to be 4, 8, 12, . . . , 20 to avoid small and large values of c. The results are reported in Tables 2 and 4 . Similar to the experiments in Section 6.1, again we set the hyper-parameters by cross-validation, and the resulting accuracy is 88.91%. See Appendix F for the validation accuracy for different hyper-parameters.

From our experimental results, it is evident that combining CNTK or CNN-GP with additional feature extractor can significantly improve upon the performance of using solely CNTK or CNN-GP, and that of using solely the feature extractor Coates et al. (2011) . Previously, it has been reported in Recht et al. (2019) that using solely the feature extractor Coates et al. (2011) (together with appropriate pooling layer) can only achieve a test accuracy of 84.2% using 256, 000 image patches, or 83.3% using 32, 000 image patches. Even with the help of horizontal data augmentation, the feature extractor Coates et al. (2011) can only achieve a test accuracy of 85.6% using 256, 000 image patches, or 85.0% using 32, 000 image patches. Here we use significantly less image patches (only 2048) but achieve a much better performance, with the help of CNTK and CNN-GP.

In particular, we achieve a performance of 88.91% on CIFAR-10, matching the performance of AlexNet on the same dataset. In the setting reported in Coates et al. (2011) , increasing the number of sampled image patches will further improve the performance. Here we also conjecture that in our setting, further increasing the number of sampled image patches can improve the performance and get close to modern CNNs. However, due the limitation on computational resources, we leave exploring the effect of number of sampled image patches as a future research direction.

6.3. EXPERIMENTS ON CNN WITH BOX FILTERING LAYER:

In Figure 1 , we verify the effectiveness of BF on a 10-layer CNN (with Batch Normalization) on CIFAR-10. The setting of this experiment is reported in Appendix G. Our network structure has no pooling layer except for the BF layer before the last fully-connected layer. The fully-connected layer is fixed during the training. Our experiment illustrates that even with a fixed last FC layer, using GAP could improve the performance of CNN. Our experiments also show that BF with appropriate choice of c achieves better performance than GAP. 

7. CONCLUSION:

In this paper, inspired by the connection between full translation data augmentation and GAP, we derive a new operation, LAP, on CNTK and CNN-GP, which consistently improves the performance on image classification tasks. Combining CNN-GP with LAP and the pre-processing technique proposed by Coates et al. (2011) , the resulting kernel achieves 89% accuracy on CIFAR-10, matching the performance of AlexNet and is the strongest classifier that is not a trained neural network.

Here we list a few future research directions. Is it possible to develop analogs of CNTK or CNN-GP incorporating modern techniques such as batch norm and residual layers, to further improve the performance? Moreover, it is an interesting direction to study other components in modern CNNs through the lens of CNTK and CNN-GP.

A FORMAL DEFINITIONS OF CNN-GP AND CNTK:

We add some additional notations. Let I be the identity matrix, and [n] = {1, 2, . . . , n}. Let e i be an indicator vector with i-th entry being 1 and other entries being 0, and let 1 denote the all-one vector. We use to denote the pointwise product and ⊗ to denote the tensor product. We use diag(•) to transform a vector to a diagonal matrix. We use σ (•) to denote the activation function, such as the rectified linear unit (ReLU) function: σ (z) = max{z, 0}, and σ (•) to denote the derivative of σ (•).

We set c σ = 2. Denote by N (µ, Σ) the Gaussian distribution with mean µ and covariance Σ.

Equation equation 2 shows patch [w * x] ij depends on [x] i-q-1 2 :i+ q-1 2 ,j-q-1 2 :j+ q-1 2 . For (i, j, i , j ) ∈ [P ] × [Q] × [P ] × [Q], define D ij,i j = {(i + a, j + b, i + a , j + b ) ∈ [P ] × [Q] × [P ] × [Q] | -(q -1)/2 ≤ a, b, a , b ≤ (q -1)/2} .

Now we define the convolution operation. For a convolutional filter w ∈ R q×q and an image x ∈ R P ×Q , the convolution operator is defined as

EQUATION

Now we formally define CNN.

• Let x (0) = x ∈ R P ×Q×C (0) be the input image where C (0) is the initial number of channels. • For h = 1, . . . , L, β = 1, . . . , C (h) , the intermediate outputs are defined as

EQUATION

EQUATION

where each W

(α),(β) ∈ R q×q is a filter with Gaussian initialization and b (β) is a bias term with Gaussian initialization scaled by γ.

CNN-GP and CNTK:

• For α = 1, . . . , C (0) , (i, j, i , j )

EQUATION

EQUATION

-Define Σ (h) (x, x ) ∈ R P ×Q×P ×Q , for (i, j, i , j )

∈ [P ] × [Q] × [P ] × [Q] Σ (h) (x, x ) ij,i j = 1 q 2 tr K (h) (x, x ) D ij,i j + β 2 .

Note that Σ(x, x ) and Σ(x, x ) share similar structures as their NTK counterparts (Jacot et al., 2018) . The only difference is that we have one more step, taking the trace over patches. This step represents the convolution operation in the corresponding CNN. Next, we can use a recursion to compute the final kernel value.

1. First, we define Θ (0) (x, x ) = Σ (0) (x, x ). 2. For h = 1, . . . , L and (i, j, i , j )

∈ [P ] × [Q] × [P ] × [Q], we define Θ (h) (x, x ) ij,i j = 1 q 2 tr K(h) (x, x ) Θ (h-1) (x, x ) + K (h) (x, x ) D ij,i j + β 2 .

B ADDITIONAL DEFINITION AND PROOF FOR SECTION 4

Definition B.1 (Group). (G, •) is a group, if and only if 1. each element g ∈ G is a operator: R

P ×Q×C → R P ×Q×C ; 2. ∀g 1 , g 2 ∈ G, g 1 • g 2 ∈ G, where (g 1 • g 2 )(x) is defined as g 1 (g 2 (x)). 3. ∀g 1 , g 2 , g 3 ∈ G, (g 1 • g 2 ) • g 3 = g 1 • (g 2 • g 3 ). 4. ∃e ∈ G, such that ∀g ∈ G, e • g = g • e = g. 5. ∀g 1 ∈ G, ∃g 2 ∈ G, such that g 1 • g 2 = g 2 • g 1 = e.

We denote g 2 as the inverse of g 1 , namely, g -1 1 .

Proof of Theorem 4.1. Since we assume K G X and K X G are invertible, both α and α are uniquely defined. Now we claim

α g = { α i,g } i∈[N ] ∈ R N is equal to α

|G| for all g ∈ G. By the invariance of K under G, for all j ∈ [N ] and g ∈ G,

i∈[N ],g∈G α i |G| K(g (x j ), g(x i )) = i∈[N ],g∈G α i |G| K((g -1 • g )(x j ), x i ) = i∈[N ] α i E g∈G K(g(x j ), x i ) = i∈[N ] α i K G (x j , x i ) = y j .

Note that α is defined as the unique solution of K X G α = y G , the claim has been verified.

Similarly, we have

i∈[N ],g∈G α i |G| K(x , g(x i )) = i∈[N ] α i E g∈G K(g -1 (x ), x i ) = i∈[N ] α i K G (x , x i ).

C EQUIVALENCE BETWEEN LAP AND BOX FILTERING LAYER.

For a CNN with a box filtering layer before the final fully-connected layer, the final output is defined as f (θ, x) =

C (L) α=1 W (L+1) (α) , BF x (L) (α)

, where x (L) (α) ∈ R P ×Q , and

W (L+1) (α)

∈ R P ×Q is the weight of the last fully-connected layer. Now we establish the equivalence between BF and LAP on CNTK. The equivalence on CNN-GP can be derived similarly. Let Θ BF (x, x ) ∈ R

[P ]×[Q]×[P ]×[Q] be the CNTK kernel of BF x (L) (α) .

Since BF is just a linear operation, we have

[Θ BF (x, x )] i,j,i ,j = 1 (2c + 1) 4 ∆i,∆j ,∆ i ,∆ j ∈[-c,c] 4 Θ (L) (x, x ) i+∆i,j+∆j ,i +∆ i ,j +∆ j .

By the formula of the output kernel value for CNTK without GAP, we obtain

tr (Θ BF (x, x )) = 1 (2c + 1) 4 ∆i,∆ i ,∆j ,∆ j ∈[-c,c] 4 i,j∈[P ]×[Q]

[Θ(x, x )] i+∆i,j+∆j ,i+∆ i ,j+∆ j . 

D EXPERIMENTAL SETUP IN SECTION 6:

For both CIFAR-10 and Fashion-MNIST we use the full training set and report the test accuracy on the full test set. Throughout this section we only consider 3×3 convolutional filters with stride 1 and no dilation. In the convolutional layers in CNTK and CNN-GP, we use zero padding with pad size 1 to ensure the input of each layer has the same size. We use zero padding for LAP throughout the experiment. We perform standard preprocessing (mean subtraction and standard deviation division) for all images.

In all experiments, we perform kernel ridge regression to utilize the calculated kernel values4 . We normalize the kernel matrices so that all diagonal entries are ones. Equivalently, we ensure all features have unit norm in RKHS. Since the resulting kernel matrices are usually ill-conditioned, we set the regularization term λ = 5 × 10 -5 , to make inverting kernel matrices numerically stable. We use one-hot encodings of the labels as regression targets. We use scipy.linalg.solve to solve the corresponding kernel ridge regression problem.

The kernel value of CNTK and CNN-GP are calculated using the CuPy package. We write native CUDA codes to speed up the calculation of the kernel values. All experiments are performed on Amazon Web Services (AWS), using (possibly multiple) NVIDIA Tesla V100 GPUs. For efficiency considerations, all kernel values are computed with 32-bit precision. G SETTING OF THE EXPERIMENT IN SECTION 6.3

The total number of training epochs is 80, and the learning rate is 0.1 initially, decayed by 10 at epoch 40 and 60 respectively. The momentum is 0.9 and the weight decay factor is 0.0005. In Figure 1 , the blue line reports the average test accuracy of the last 10 epochs, while the red line reports the best test accuracy of the total 80 epochs. Each experiment is repeated for 3 times. We use circular padding for both convolutional layers and the BF layer. The last data point with largest x-coordinate reported in Figure 1 corresponds to GAP.

:

For CIFAR 10, the bottleneck of using CNN-GP and CNTK is not solving least square but constructing kernel. The time complexity is O(p

n 2 ) where p is the number of pixels in each image and n is number of data point.2 See Section 6.2 for the precise procedure.

https://benchmarks.ai/cifar-10

We also tried kernel SVM but found it significantly degrading the performance, and thus do not include the results.

Figures and Tables:

Figure 1: Test accuracy of 10-layer CNN with various values for the c parameter in BF.

Figure 2: Randomly sampled images with full translation data augmentation and local translation data augmentation from CIFAR-10. Full translation data augmentation can create unrealistic images that harm the performance whereas local translation data augmentation creates more realistic images.

Horizontal flip data augmentation is less effective on Fashion-MNIST than on CIFAR-10. There are two possible explanations for this phenomenon. First, most images in Fashion-MNIST are nearly horizontally symmetric (e.g., T-shirts and bags). Second, CNTK and CNN-GP have already achieved a relatively high accuracy on Fashion-MNIST, and thus it is reasonable for horizontal flip data augmentation to be less effective on this dataset.

Table content: <table><tr><td>c</td><td>d</td><td>5</td><td>8</td><td>11</td><td>14</td></tr><tr><td>0</td><td/><td colspan="4">66.55 (69.87) 66.27 (69.87) 65.85 (69.37) 65.47 (68.90)</td></tr><tr><td>4</td><td/><td colspan="4">77.06 (79.08) 77.14 (78.96) 77.06 (78.98) 76.52 (78.74)</td></tr><tr><td>8</td><td/><td colspan="4">79.24 (80.95) 79.25 (81.03) 78.98 (80.94) 78.65 (80.35)</td></tr><tr><td>12</td><td/><td colspan="4">80.11 (81.34) 79.79 (81.28) 79.29 (81.14) 79.13 (80.91)</td></tr><tr><td>16</td><td/><td colspan="4">79.80 (81.21) 79.71 (81.40) 79.74 (81.09) 79.42 (81.00)</td></tr><tr><td>20</td><td/><td colspan="4">79.24 (80.67) 79.27 (80.88) 79.30 (80.76) 78.92 (80.39)</td></tr><tr><td>24</td><td/><td colspan="4">78.07 (79.88) 78.16 (79.79) 78.14 (80.06) 77.87 (80.07)</td></tr><tr><td>28</td><td/><td colspan="4">76.91 (78.69) 77.33 (79.20) 77.65 (79.56) 77.65 (79.74)</td></tr><tr><td>32</td><td/><td colspan="4">76.79 (78.53) 77.39 (79.13) 77.63 (79.51) 77.63 (79.74)</td></tr><tr><td colspan="6">• Finally, for CNTK, when c = 0 (no pooling layer) and c = 32 (GAP) our reported test accuracies</td></tr><tr><td colspan="6">are close to those in Arora et al. (2019) on CIFAR-10. For CNN-GP, when c = 0 (no pooling</td></tr><tr><td colspan="6">layer) our reported test accuracies are close to those in Novak et al. (2019) on CIFAR-10 and</td></tr><tr><td colspan="6">Fashion-MNIST. This suggests that we have reproduced previous reported results.</td></tr><tr><td colspan="6">6.2 IMPROVING PERFORMANCE ON CIFAR-10 USING RANDOM PATCHES LAYER</td></tr></table>

Test accuracy of CNTK on CIFAR-10.

Table content: <table><tr><td>c</td><td>d</td><td>5</td><td>8</td><td>11</td><td>14</td></tr><tr><td>4</td><td/><td colspan="4">84.63 (86.64) 84.07 (86.23) 83.29 (85.53) 82.57 (84.81)</td></tr><tr><td>8</td><td/><td colspan="4">86.36 (88.32) 85.80 (87.81) 85.01 (87.08) 84.57 (86.53)</td></tr><tr><td>12</td><td/><td colspan="4">86.74 (88.35) 86.20 (87.90) 85.60 (87.36) 84.95 (86.99)</td></tr><tr><td>16</td><td/><td colspan="4">86.77 (88.36) 86.17 (87.85) 85.60 (87.44) 84.92 (86.98)</td></tr><tr><td>20</td><td/><td colspan="4">86.17 (87.77) 85.71 (87.50) 85.14 (87.07) 84.59 (86.84)</td></tr></table>

Test accuracy of random patches layer + CNTK on CIFAR-10.

Table content: <table/>

Test accuracy of CNN-GP on CIFAR-10.

Table content: <table><tr><td>c</td><td>d</td><td>5</td><td>8</td><td>11</td><td>14</td></tr><tr><td>4</td><td/><td colspan="4">85.49 (87.32) 85.37 (87.22) 85.16 (87.11) 84.79 (86.81)</td></tr><tr><td>8</td><td/><td colspan="4">87.07 (88.64) 86.82 (88.68) 86.53 (88.40) 86.39 (88.15)</td></tr><tr><td>12</td><td/><td colspan="4">87.23 (88.91) 87.12 (88.92) 86.87 (88.66) 86.62 (88.29)</td></tr><tr><td>16</td><td/><td colspan="4">87.28 (88.90) 87.11 (88.66) 86.92 (88.61) 86.74 (88.24)</td></tr><tr><td>20</td><td/><td colspan="4">86.81 (88.26) 86.77 (88.24) 86.61 (88.14) 86.26 (87.84)</td></tr></table>

Test accuracy of random patches layer + CNN-GP on CIFAR-10.

Table content: <table/>

One unique advantage of the dynamic programming algorithm for calculating CNTK and CNN-GP is that we do not need repeat experiments for, say, different values of c in LAP and different depths. With our highly-optimized native CUDA codes, we spend roughly 1,000 GPU hours on calculating all kernel values for each dataset.E TEST ACCURACY OF CNTK AND CNN-GP ON FASHION-MNIST

Table content: <table><tr><td>c</td><td>d</td><td>5</td><td>8</td><td>11</td><td>14</td></tr><tr><td>0</td><td/><td colspan="4">92.25 (92.56) 92.22 (92.51) 92.11 (92.29) 91.76 (92.17)</td></tr><tr><td>4</td><td/><td colspan="4">93.76 (94.07) 93.69 (93.86) 93.55 (93.74) 93.37 (93.58)</td></tr><tr><td>8</td><td/><td colspan="4">93.72 (93.96) 93.67 (93.78) 93.50 (93.58) 93.32 (93.51)</td></tr><tr><td>12</td><td/><td colspan="4">93.59 (93.80) 93.58 (93.70) 93.35 (93.44) 93.21 (93.40)</td></tr><tr><td>16</td><td/><td colspan="4">93.50 (93.62) 93.42 (93.63) 93.27 (93.40) 93.10 (93.25)</td></tr><tr><td>20</td><td/><td colspan="4">93.10 (93.34) 93.17 (93.49) 93.20 (93.34) 92.99 (93.18)</td></tr><tr><td>24</td><td/><td colspan="4">92.77 (93.04) 93.07 (93.44) 93.11 (93.31) 93.02 (93.21)</td></tr><tr><td>28</td><td/><td colspan="4">92.80 (92.98) 93.08 (93.42) 93.12 (93.28) 92.97 (93.19)</td></tr></table>

Test accuracy of CNTK on Fashion-MNIST.

Table content: <table><tr><td>c</td><td>d</td><td>5</td><td>8</td><td>11</td><td>14</td></tr><tr><td>0</td><td/><td colspan="4">91.47 (91.81) 91.96 (92.37) 92.09 (92.60) 92.22 (92.72)</td></tr><tr><td>4</td><td/><td colspan="4">93.44 (93.60) 93.59 (93.79) 93.63 (93.76) 93.59 (93.64)</td></tr><tr><td>8</td><td/><td colspan="4">93.26 (93.16) 93.41 (93.51) 93.31 (93.52) 93.39 (93.46)</td></tr><tr><td>12</td><td/><td colspan="4">92.83 (92.94) 93.07 (93.20) 93.11 (93.15) 92.94 (93.09)</td></tr><tr><td>16</td><td/><td colspan="4">92.46 (92.51) 92.58 (92.83) 92.64 (92.92) 92.68 (93.07)</td></tr><tr><td>20</td><td/><td colspan="4">91.83 (91.72) 92.35 (92.42) 92.49 (92.79) 92.51 (92.69)</td></tr><tr><td>24</td><td/><td colspan="4">91.15 (91.40) 92.10 (92.18) 92.29 (92.60) 92.41 (92.77)</td></tr><tr><td>28</td><td/><td colspan="4">91.30 (91.37) 92.03 (92.27) 92.41 (92.79) 92.41 (92.74)</td></tr></table>

Test accuracy of CNN-GP on Fashion-MNIST. (79.69) 77.81 (79.81) 77.38 (79.55) 76.88 (79.46) 24 76.59 (78.12) 76.80 (78.63) 76.44 (78.79) 76.18 (78.73) 28 75.44 (77.08) 76.15 (78.20) 76.10 (78.30) 75.95 (78.37) 32 75.33 (76.99) 76.04 (78.09) 76.08 (78.27) 75.99 (78.32)

Table content: <table><tr><td colspan="6">F VALIDATION ACCURACY OF CNTK AND CNN-GP ON CIFAR-10 AND</td></tr><tr><td colspan="2">FASHION-MNIST</td><td/><td/><td/><td/></tr><tr><td>c</td><td>d</td><td>5</td><td>8</td><td>11</td><td>14</td></tr><tr><td>0</td><td colspan="5">64.26 (68.42) 64.47 (68.23) 63.94 (67.80) 63.29 (67.00)</td></tr><tr><td>4</td><td colspan="5">75.97 (78.87) 75.89 (78.99) 75.65 (78.56) 75.40 (78.19)</td></tr><tr><td>8</td><td colspan="5">77.93 (80.65) 77.90 (80.69) 77.65 (80.41) 76.92 (79.94)</td></tr><tr><td>12</td><td colspan="5">78.51 (80.73) 78.47 (80.85) 78.18 (80.57) 77.71 (80.19)</td></tr><tr><td>16</td><td colspan="5">78.47 (80.39) 78.69 (80.56) 78.34 (80.17) 77.74 (79.97)</td></tr><tr><td>20</td><td>77.86</td><td/><td/><td/><td/></tr></table>

Validation accuracy of CNTK on CIFAR-10. (66.63) 64.25 (68.20) 64.94 (69.01) 65.35 (69.29) 4 75.31 (78.59) 76.05 (79.20) 76.05 (79.17) 76.20 (79.09) 8 78.17 (81.02) 78.53 (81.29) 78.36 (81.20) 78.05 (80.98)

Table content: <table><tr><td>c</td><td>d</td><td>5</td><td>8</td><td>11</td><td>14</td></tr><tr><td colspan="6">0 62.49 12 79.19 (81.38) 79.08 (81.66) 79.13 (81.52) 78.90 (81.10)</td></tr><tr><td>16</td><td/><td colspan="4">79.26 (81.18) 79.24 (81.37) 78.85 (81.33) 78.82 (80.84)</td></tr><tr><td>20</td><td/><td colspan="4">78.72 (80.61) 78.72 (80.85) 78.45 (80.60) 78.08 (80.22)</td></tr><tr><td>24</td><td/><td colspan="4">77.31 (79.01) 77.59 (79.49) 77.41 (79.56) 77.26 (79.38)</td></tr><tr><td>28</td><td/><td colspan="4">76.01 (77.60) 76.60 (78.32) 76.57 (78.76) 76.86 (79.01)</td></tr><tr><td>32</td><td/><td colspan="4">75.72 (77.54) 76.42 (78.47) 76.56 (78.94) 76.63 (78.87)</td></tr></table>

Validation accuracy of CNN-GP on CIFAR-10. (85.76) 83.13 (85.40) 82.62 (84.95) 82.02 (84.43) 8 85.52 (87.59) 84.88 (87.12) 84.30 (86.69) 83.84 (86.10) 12 85.71 (87.85) 85.32 (87.42) 84.81 (87.02) 84.26 (86.58) 16 85.68 (87.76) 85.19 (87.30) 84.71 (86.83) 84.47 (86.40) 20 85.26 (87.11) 84.91 (86.67) 84.44 (86.40) 84.09 (86.17)

Table content: <table><tr><td>c</td><td>d</td><td>5</td><td>8</td><td>11</td><td>14</td></tr><tr><td>4</td><td>83.89</td><td/><td/><td/><td/></tr></table>

Validation accuracy of additional feature extractor + CNTK on CIFAR-10.

Table content: <table><tr><td>c</td><td>d</td><td>5</td><td>8</td><td>11</td><td>14</td></tr><tr><td>4</td><td/><td colspan="4">84.03 (86.16) 84.21 (86.38) 84.15 (86.33) 83.98 (86.04)</td></tr><tr><td>8</td><td/><td colspan="4">85.85 (87.94) 85.87 (88.03) 85.70 (87.87) 85.49 (87.62)</td></tr><tr><td>12</td><td/><td colspan="4">86.37 (88.33) 86.38 (88.25) 86.06 (88.12) 85.69 (87.82)</td></tr><tr><td>16</td><td/><td colspan="4">86.06 (88.27) 86.21 (88.05) 86.01 (87.87) 85.58 (87.74)</td></tr><tr><td>20</td><td/><td colspan="4">85.73 (87.71) 85.79 (87.60) 85.73 (87.54) 85.27 (87.21)</td></tr></table>

Validation accuracy of additional feature extractor + CNN-GP on CIFAR-10. (93.73) 93.39 (93.63) 93.34 (93.53) 93.21 (93.45) 20 93.24 (93.44) 93.29 (93.42) 93.26 (93.30) 93.19 (93.31) 24 93.16 (93.28) 93.21 (93.39) 93.30 (93.32) 93.22 (93.32) 28 93.11 (93.23) 93.21 (93.33) 93.29 (93.29) 93.28 (93.31)

Table content: <table><tr><td>c</td><td>d</td><td>5</td><td>8</td><td>11</td><td>14</td></tr><tr><td>0</td><td colspan="5">92.07 (92.30) 92.08 (92.21) 91.79 (91.99) 91.51 (91.72)</td></tr><tr><td>4</td><td colspan="5">93.84 (93.96) 93.82 (93.83) 93.58 (93.74) 93.40 (93.57)</td></tr><tr><td>8</td><td colspan="5">93.82 (93.96) 93.80 (93.77) 93.56 (93.71) 93.37 (93.57)</td></tr><tr><td>12</td><td colspan="5">93.71 (93.83) 93.60 (93.72) 93.45 (93.58) 93.41 (93.45)</td></tr><tr><td>16</td><td>93.59</td><td/><td/><td/><td/></tr></table>

Validation accuracy of CNTK on Fashion-MNIST. (91.43) 91.57 (91.77) 91.85 (91.92) 91.94 (92.08) 4 93.44 (93.55) 93.57 (93.54) 93.69 (93.68) 93.58 (93.64) 8 93.57 (93.67) 93.51 (93.68) 93.52 (93.72) 93.44 (93.58)

Table content: <table><tr><td>c</td><td>d</td><td>5</td><td>8</td><td>11</td><td>14</td></tr><tr><td colspan="6">0 91.13 12 93.15 (93.36) 93.49 (93.59) 93.25 (93.52) 93.23 (93.44)</td></tr><tr><td>16</td><td/><td colspan="4">92.83 (92.84) 93.01 (93.19) 93.01 (93.27) 92.95 (93.18)</td></tr><tr><td>20</td><td/><td colspan="4">92.29 (92.45) 92.60 (92.82) 92.60 (92.93) 92.78 (93.10)</td></tr><tr><td>24</td><td/><td colspan="4">91.76 (92.04) 92.28 (92.63) 92.57 (92.86) 92.58 (92.78)</td></tr><tr><td>28</td><td/><td colspan="4">91.79 (92.00) 92.32 (92.56) 92.56 (92.77) 92.70 (93.00)</td></tr></table>

Validation accuracy of CNN-GP on Fashion-MNIST.

Table content: <table/>

Peer review (iclr2020):
This paper shows that there is a one-to-one correspondence between pixel-shift based data augmentation and average pooling operations in CNN-NNGP/NTK based ridge regression. Interestingly, the authors show that standard average pooling + flatten can lead to a better performance than simple global average pooling. This paper further shows that using the data pre-processing step proposed in (Coates et al., 2011) can boost performance of CNN-NNGP/NTK based ridge regression by ~7% which allowed the authors to achieve classification accuracy in high 80s which is AFAIK SOTA on CIFAR-10 when not using learned representations. My current assessment of the paper is “weak accept”. There are two main reasons why I am on the verge of recommending rejection of this paper: (1) I believe that the experiment evaluation is not done entirely correctly leading to inflation of the reported results (my guesstimate is by ~0.5-2%)---please see my “Major comments”. If this is not fixed, I am very likely to downgrade my score. (2) While the observation of the relationship between pixel-shifts and average pooling is very nice (which is why my current score is “weak accept”), it seems that most of the improvement comes from application of the pre-processing step of Coates et al. (2011) (seems like a ~7% improvement!). Given the large computational cost of CNN-NNGP/NTK (authors say about 1000 GPU hours), I wonder whether a simpler algorithm like some of the newer variants of boosting combined with the Coates et al. algorithm wouldn’t also perform at around 87-88% like CNN-NNGP/NTK (given the baseline 85-86% accuracy of the Coates et al. (2011) algorithm reported by the authors). Major comments: - Can you please clarify why you decided to give a new name (Box Blur) to standard average pooling? Why not just use the existing name? - I believe that the way you report results in all the tables (i.e., tables 1-6) and the text based upon them is flawed. The right approach would be to select the hyperparameters “c” and “d” on a validation set, and then report the performance with these hyperparameters on the test set. While the experiments are somewhat rescued by the fact that you report results for (almost) all the possible hyperparameter settings (which allows us to see samples from the population distribution of the generalisation error), type-setting the best results in boldface and thus implying that these are valid estimates of the generalisation error is not appropriate since you are effectively selecting the best hyper-parameters on the test set! Unfortunately, I cannot accept these results to be published “as-is”. While re-running the experiments with hyperparameter selection on validation set is already a somewhat imperfect solution, I am not sure I can see a better way forward. However, I do understand that this could be prohibitively expensive in which case I would like to ask you to suggest an alternative solution please (of course, other reviewers are welcome to chime in as well)?! - While most of the paper is about Local Average Pooling (LAP) and the equivalence between averaging and pixel shifts, the experimental results seem to show that most of the improvement comes from the use of Coates et al.’s preprocessing step. Could you please run the experiments in tables 3 and 4 with c=0 and c=32 to see what the effect of the preprocessing is without LAP? - In sect.6.3, you say “Our experiment illustrates that even with a fixed last FC layer, using GAP could improve the performance of CNN, and challenges the conjecture that GAP reduces the number of parameters in the last fully-connected layer and thus avoids overfitting.” I am not sure I see why fixing the last FC layer should provide more convincing evidence than training it? I do not know the conjecture to which you refer but from your description, the overfitting without GAP should occur because the FC layer has more parameters than with GAP?! If this is true, then the overfitting would happen in the last layer (due to the large number of parameters) which you have (at least partially) prevented by not training it?! Can you clarify and also report the results of this experiment with all the layers trained please? - In Appendix D, you say that you have used lambda = 10^{-5} for all configurations. How have you selected this particular value please? Do you have a sense of how far from optimal this value is for all the different configurations (or at least for NTK vs NNGP models---in my experience, the optimal setting between the two can differ quite a bit)? Minor comments: - In the abstract and throughout the paper, you claim that the cost of kernel regression is quadratic. AFAIK without any approximations, the cost is cubic (or O(n^{2.67}) to be more precise). Please clarify. - In par.1 on p.1, you say “convolutional neural networks (CNNs) whose width (number of channels in convolutional layers) **goes to infinity**” (emphasis mine) and cite the Jacot et al. (2018) paper. AFAIK this paper only works with infinite networks but does not actually prove that **deep** networks of finite width (in each layer) converge to the NTK limit; IMHO you should cite the Allen-Zhu et al. (2018) and Du et al. (2018) papers from your references for that result. Based on p.2 (end of par.2 in sect.2), you seem to be aware of this distinction but cite Arora et al. (2019) instead of these two; I would suggest either citing Allen-Zhu et al. and Du et al. only, or citing all three as the Arora et al. paper came out later than the first versions of the other two paper which AFAIK already contained all the necessary derivations (even if the words “Neural Tangent Kernel” were not spelled out there). - Also in par.1 on p.1, you say that Arora et al. (2019) was the first to provide an algorithm to compute the CNTK kernel which is a bit of a stretch given that both Garriga-Alonso et al. (2019) and Novak et al. (2019) have implemented the CNTK kernel in their experiments. AFAIK the claim in (Arora et al., 2019) is that they provided first **efficient** implementation of the CNTK-GAP kernel which should be made clearer in the next revision of your paper. - On p.2, you say “These kernels correspond to neural networks where only the last layer is trained.” In reality, the correspondence is not exact for finite networks because the induced kernel will not be exactly equal to the one at the limit. - Bottom of p.2, “Global Average Pooling (GAP) is proposed” -> “... was proposed”. - Top of p.3, “..., and GAP is more robust” -> “..., and that GAP is more robust”. - On p.3 in the “Padding Schemes” paragraph, do you mean to assume that the input image has only a single channel (not necessary later)? - On p.4, I am slightly confused by your definition of the “augmented kernel”. Specifically, it does not seem K^G (x , x’) = K^G (x’, x) holds in general. Can you please clarify? If there’s no symmetry, I do not think it necessary to use a different name, but perhaps a clarifying note would be beneficial to the reader?! - On p.5, fig.1 is too small when printed and one needs to use the computer screen to see what is depicted; given the amount of white space around, can you please try to make the images larger (you can perhaps also only include 2 or 4 images instead of 16 which will give you additional space)? - On p.5, you say that for small “c”, circular padding will not create unrealistic images. Looking at fig.1b, it seems like the images are not as unrealistic as in fig.1a but human eye can still tell they are not realistic (potentially even more so with other images than the one selected for this figure). I am not sure whether there is a reason to assume this issue does not affect CNNs too?! Further, I am not convinced the motivation is correct in the first place given that the optimal “c” for CIFAR-10 is 12 which will presumably create clearly unrealistic images; perhaps it would be best to omit this motivation?! - On p.6, you claim “Another advantage of LAP is that it **does not incur any extra computational cost**” (emphasis mine) while at the next line you say that there is a constant additional computational cost. Perhaps say that the extra computational cost is relatively small? - It might be nice to swap tables 3 and 4 so at least the results for NNGP are next to each other. Even better would be the current table 3 was closer to table 1 to achieve the same effect for NTK. - I am not sure I fully understand the description in sect.6.3: isn’t the number of channels on the input irrelevant after computation of the kernel in the first layer? In other words, why have you opted to use only 2,048 patches in your experiments and not 32,000 or 256,000 as used by Recht et al. (2019)? Do you have an estimate of how different could the performance of NNGP/NTK be with the larger number of features? Do you know what is the performance of Coates et al.’s algorithm with only 2,048 features? Relatedly, do you know how AlexNet would perform if its PCA data augmentation was replaced by the Coates et al.’s feature extractor?