Title: FREQUENCY POOLING: SHIFT-EQUIVALENT AND ANTI-ALIASING DOWN SAMPLING

Abstract: Convolutional layer utilizes the shift-equivalent prior of images which makes it a great success for image processing. However, commonly used down sampling methods in convolutional neural networks (CNNs), such as max-pooling, averagepooling, and stride convolution, are not shift-equivalent. This destroys the shiftequivalent property of CNNs and degrades their performance. In this paper, we provide a formal definition of shift-equivalent when down sampling involved. We propose a strict shift equivalent and anti-aliasing pooling method. This is achieved by (inverse) Discrete Fourier Transform and we call our method frequency pooling. Experiments on image classifications show that frequency pooling improves accuracy and robustness w.r.t shifts of CNNs.

1. INTRODUCTION:

Convolutional neural networks (CNNs) have achieved great success on image processing Goodfellow et al. (2016) , natural language processing Yin et al. (2017) , game playing Mnih et al. (2013) and so on. One of the reasons is that convolutions utilize the shift-equivalent prior of signals. Modern CNNs include not only convolutional layers but also down sampling or pooling layers. As an important part of CNNs, pooling layers are used to reduce spatial resolution of feature maps, aggregate spatial information, and reduce computational and memory cost.

Based on classical Nyquist sampling theorem Nyquist (1928) , the sampling rate must be at least as twice as the highest frequency of a signal. Otherwise, frequency aliasing will appear, i.e. highfrequencies of the signal alias into low-frequencies. This leads sub-optimal when reconstruction the signals and misleads the following processing because orthogonal components are mixed again. To anti-alias, a traditional solution is that applying low-pass filter to the signal before down sampling it. Following the spirit of blurred down sampling, early CNNs use average pooling to achieve down sampling Lecun et al. (1989) . Later, empirical evidence suggests max-pooling Scherer et al. (2010) and stride convolutions Long et al. (2015) provide better performance. They are widely used in CNNs but they don't consider about anti-aliasing. Shift-equivalent is another expected property of pooling. Otherwise it will destroy the shiftequivalent of CNNs and thus the shift-equivalent prior of signals is not fully utilized. Unfortunately, most commonly used poolings are not shift-equivalent. Worse, small shifts in the input can drastically change the output when stacking multiple max-pooling or stride convolutions Engstrom et al. (2017) ; Azulay & Weiss (2018) ; Zhang (2019) .

Shift-equivalent is believed to be a fundamental property of CNNs. However, the fact that CNNs with poolings are not shift-equivalent has been ignored by the community. Until recently, Zhang (2019) propose anti-aliasing pooling (AA-pooling) by low-pass filtering before down sampling. They observe increased accuracy and better generalization on image classification when low-pass filtering is integrated correctly. Specifically, they decompose a pooling operator with down sampling factor s into two parts: a pooling operator with factor 1 and a blur filter with factor s. Although AApooling reduces the aliasing effects and makes the outputs more stable w.r.t input shifts, it is neither strict shift-equivalent nor anti-aliasing in theory.

In this paper, we propose a strict shift equivalent and anti-aliasing pooling in theory. We first transform a signal or image into frequency domain via Discrete Fourier Transform (DFT). Then we only retain its low frequencies, i.e. the frequencies which are smaller than Nyquist sampling rate. Finally, we transform the low frequencies back into time domain via inverse DFT. We call our method frequency pooling (F-pooling). Note that a similar method is proposed in Ryu et al. (2018) . However, they only focus on classification accuracy. Shift equivalent of their method is not evaluated in both theory and practice. Compared with previous works, the novelties and contributions of Fpooling are summarized as follows:

• We formally define shift-equivalent of functions which contain down sampling operations.

A suitable up sampling operation U must be involved in the definition. Without it, the definition for discrete signal is ill-posed. We believe a formal mathematical treatment has great value for further research. • We prove that F-pooling is the optimal anti-aliasing down sampling operation from the perspective of reconstruction. We also prove that F-pooling is shift equivalent. The up sampling operation U plays an important rule in our proofs. To best of our knowledge, F-pooling is the first pooling method which has those properties. • Experiments on CIFAR-100 and a subset of ImageNet demonstrate that F-pooling remarkably increases accuracy and robustness w.r.t shifts of commonly-used network architectures. Moreover, the shift consistency of F-pooling is improved more when we replace zero padding of convolutions with circular padding.

2. METHOD:

In this section, we first define shift-equivalent for CNNs formally. Then we describe F-pooling in detail and prove its properties. Finally we discuss our implementation and some practical issues.

2.1. DEFINITION OF SHIFT-EQUIVALENT:

Denote X as an h 0 × w 0 × c tensor where h 0 , w 0 , and c are the height, width, and number of channels of X respectively. Denote Y as an h 1 × w 1 × c tensor. We suppose h 0 > h 1 and w 0 > w 1 . M : X → Y is a pooling operation and U : Y → X is a up sampling operation. We say M is shift-equivalent if and only if

Shif t h, w (UMX) =UMShif t h, w (X) (1) ∀( h, w), ∃U

That is, if there is a suitable up sampling operation U which makes UM and Shif t h, w commutable, then M is shift-equivalent. The shift operation is required to be circular or periodic. When a shifted element hits the edge, it rolls to other side. Shif t h, w (X a,b ) = X (a+ h)%h0,(b+ w)%w0

(2

)

where % is the modulus function. Our definition of shift-equivalent is similar with the one in Zhang (2019) . The difference is that we introduce an up sampling U to make this definition strict. Without introducing U, the definition of shift-equivalent for pooling is ill-posed. Suppose M down samples signals by a factor s. Without introducing U, one may define shift-equivalent as follows:

EQUATION

However, Shif t h/s, w/s is not operable for discrete signals when h%s = 0 or h%s = 0.

To make the shifted element which is not on lattice operable, one must interpolate or up sample the down sampled signals. This leads to the definition in equation 1.

As in equation 1, to make M shift-equivalent, one must find the corresponding up sampling operation U. For a given M, the first line in equation 1 may hold for some up sampling operations. But it may not hold for other up sampling operations.

2.2. F-POOLING:

The basic idea of F-pooling is removing the high frequencies of signals and reconstructing the signals only using the low frequencies. In this paper, high frequencies mean the frequencies which are beyond Nyquist frequency, i.e. half of signal resolution. And low frequencies mean the frequencies which are not higher than Nyquist frequency. To remove high frequencies, we first transform signals into frequency domain via DFT. Then only the low frequencies are retained. Finally, we transform the low frequencies back to time domain via inverse DFT (IDFT). Figure 2 gives an illustration of the forward process of F-pooling.

Since 2D (inverse) DFT can be decomposed into two 1D (inverse) DFT, we provide the formal representation of F-pooling in 1D case. Denote x ∈ R N as time domain signal and y ∈ C M as frequency domain signal. Without loss of generality, we suppose M is even. F N ∈ C N ×N is the so-called DFT-matrix:

EQUATION

where

ω N = e -2πi/N . F * N is the inverse DFT-matrix. By definition, 1 N F N F * N = I

where I is identity matrix. We denote T µ as a operation which selects the first µ rows and the last µ rows of a matrix.

T

µ (x) = [x 1:µ ; x N -µ+1:N ]

(5) That is we select the basis of frequencies ranged in [-µ, µ) , due to periodicity of DFT. When applying T µ to a signal, we obtain its lowest µ frequencies. Then the function of F-pooling for 1D signals is represented as:

EQUATION

where P ∈ C M ×N is the transform matrix of F-pooling.

Now we formalize F-pooling for CNNs. Recall that X is an h 0 ×w 0 ×c tensor and Y is an h 1 ×w 1 ×c tensor. We apply F-pooling to each channel of X. Y :,:,i = P h X :,:

EQUATION

where P h ∈ C h1×h0 and P w ∈ C w1×w0 are the transform matrices of F-pooling along vertical direction and horizontal direction respectively. Since F-pooling can be represented as two times matrix-matrix multiplications, its back propagation rule is easily derived.

As mentioned in section 2.1, the choice of up sampling operation U is important. In this paper, U is set to the inverse process of F-pooling. Specifically, we transform a signal into frequency domain.

Then we zero pad the transformed signal to match the resolution of output. Finally, we transform it back to time domain. This process can also be represented by matrix multiplications. For 1D signals, we have:

x = 1 M F * N Z M 2 F M y (8)

where is Z is the zero padding operation.

EQUATION

The formulations of F-pooling and U are easily extended to 2D case.

2.3. OPTIMAL ANTI-ALIASING DOWN SAMPLING:

In this section, we prove that F-pooling is the optimal anti-aliasing down sampling operation from the perspective of reconstruction given U. We focus on 1D case here. Given U, the optimal antialiasing down sampling is obtained by solving the following problem:

EQUATION

)

where A is a set of all possible anti-aliasing down sampling operations. That is, we hope to find an anti-aliasing down sampling which minimizes the reconstruction error. Based on Nyquist sampling theory, M must remove high frequencies of signals and this holds for F-pooling. We focus on the optimality of F-pooling. We decompose x into low frequencies part x l and high frequencies part x h , i.e.

x l = 1 N F * N D M 2 F N x and x h = x -x l .

D µ is a diagonal matrix whose the first µ and the last µ diagonal elements equal to 1 while others equal to 0.

||UMx -x|| 2 2 = ||UMx -x l -x h || 2 2 (11) = ||UMx -x l || 2 2 + ||x h || 2 2 + UMx, x h -x l , x h (12) = ||UMx -x l || 2 2 + ||x h || 2 2 (13)

equation 13 holds because the third term and the forth term of equation 12 equal to 0. M removes high frequencies and U doesn't introduce new frequencies. Thus UMx only contains low frequencies. Due to the orthogonality of frequency spectrum, UMx, x h = 0. Similarly, x l , x h = 0.

When M is F-pooling, we have

EQUATION

equation 16 holds due to the definition of operations T, Z, and D. See appendix A for proof. Since the fist term of equation 13 equals to 0, equation 10 is minimized. Thus, we have proved that Fpooling is the optimal anti-aliasing down sampling operation from the perspective of reconstruction.

We choose reconstruction optimality because: 1) we believe reconstruction optimality relates to the final performance, e.g. classification optimality for image classification. If we accept that the feature extracted by previous convolution layers is useful, then it is best to keep it as much as possible for the current pooling layer. Prior works have shown that using self reconstruction loss as an auxiliary is helpful for classification Rasmus et al. (2015) ; 2) It is difficult to directly define classification optimality for an intermediate layer. 

2.4. SHIFT-EQUIVALENT:

Based on shift theorem of Fourier transform, we have

EQUATION

where

S h ∈ C N whose kth element is e -2πk N

h and is element-wise multiplication. Combining with equation 16, we have

EQUATION

We have proved that F-pooling is shift-equivalent. Note that equation 22 is not hold if other up sampling operations are used, such as linear interpolation.

The proofs in section 2.3 and 2.4 can be easily extended for 2D signals.

2.5. TRANSITIVITY OF SHIFT-EQUIVALENT:

We study the transitivity of shift-equivalent for F-pooling. Denote f as a shift-equivalent function without down sampling or up sampling. It is straightforward to shown

EQUATION

That is shift-equivalent of F-pooling is transitive for any shift-equivalent function f without down sampling or up sampling. And it is transitive for F-pooling itself. For example, a stack of two F-pooling layers is still a shift-equivalent function.

Unfortunately, this transitivity of F-pooling is not hold for a shift-equivalent function with down sampling. For example, a function of F pooling → conv → relu → F pooling is not shiftequivalent. This prevents us to obtain strict shift-equivalent deep CNNs.

2.6. PRACTICAL ISSUES:

Dealing with imaginary part: generally, the output of F-pooling, i.e. Mx contains both real part and imaginary part. However, for commonly used CNNs, the feature maps must be real. Thus one must ignore the imaginary part of F-pooling. On the other hand, Mx is treated as complex in the proofs in section 2.3 and 2.4. If we ignore the imaginary part, F-pooling is no longer the optimal anti-aliasing down sampling (but still anti-aliasing) and F-pooling is no longer strict shift-equivalent.

Fortunately, this issue is easy to overcome. When the resolution of down sampled signals is odd, the imaginary part of Mx is zero. Suppose the resolution is 2µ + 1.

x-µ , . . . , x-1 , x0 , x1 . . . , xµ 

In this case, it contains imaginary part. But we can recover the symmetry and eliminate the imaginary part by setting xµ+1 to zero. We call this trick odd padding. We show the effects of odd padding in appendix B. A drawback of odd padding is that more information is lost during down sampling which may reduces accuracy. We don't use it in this paper.

Compared with equation 24 and equation 25, the imaginary part is introduced by xµ+1 . Thus, the error of ignoring the imaginary part is smaller than ||x µ+1 || 2 2 . In practice, we find this effect is small. Dealing with zero padding: F-pooling is designed to be circular shift equivalence. However, zero padding is commonly used in convolution layers. Convolutional layers with zero padding destroy circular shift-equivalence. Thus, one should expect that using circular padding in convolutional layers will greatly increase the shift consistency of F-pooling. In this paper, we evaluate the performance of F-pooling with both zero-padding and circular padding. We suggest one replaces zero padding with circular padding for better shift-equivalence.

2.7. IMPLEMENTATION:

We implement F-pooling in PyTorch Paszke et al. (2017) . Theoretically, it is best to implement F-pooling with fast Fourier transform (FFT) and inverse FFT. Suppose F-pooling down samples an h 0 × w 0 × c tensor to a h 1 × w 1 × c tensor. Then its time complexity is ch 0 w 0 log(w 0 h 0 )). Unfortunately, we find such a implementation in PyTorch is comparatively slow.

Instead, we implement F-pooling via 1 × 1 convolutions. As in equation 7, 2D F-pooling can be represented as two times matrix-matrix multiplications along vertical direction and horizontal direction respectively. This is equivalent to 1 × 1 convolutions along vertical direction and direction horizontal. Its time complexity is O(h 0 w 0 (h 1 + w 1 )) which is higher than the optimal complexity. F-pooling requires much more computational costs than average pooling or max-pooling. F-pooling is faster than a convolutional layer when the resolution of feature maps is smaller than the number of channels, as the situations of image classifications. Moreover, the number of pooling layers is limited compared with the number of convolutional layers. Thus, introducing F-pooling will not introduce too many computational costs into CNNs. Zhang (2019) claims that it is important to integrate anti-aliasing pooling into CNNs in a correct way. In this paper, we follow their settings. Specifically, a max-pooling with stride s is replaced with a max-pooling with stride 1 and an F-pooling with stride s. A convolution with stride s is replaced with a convolution with stride 1 and an F-pooling with stride s. An average pooling with stride s is replaced with an F-pooling with stride s. See the illustration in figure 3 .

3. EXPERIMENTS:



3.1. 1D SIGNALS:

We test the shift-equivalent of F-pooling on 1D signals. In figure 1 , the original signal is a randomly selected row of a 512 × 512 image. We apply max-pooling, average pooling, and F-pooling with stride 4 to those signals. As shown in figure 1 , F-pooling is perfectly shift-equivalent. And average pooling is better than max-pooling from shift-equivalent perspective. odd padding is used here. We train CIFAR-100 using resnet He et al. (2016) and densenet Huang et al. (2017) . We train sub-ImageNet using resnet, densenet, and mobilenet-v2 Sandler et al. (2018) . Those models are widely used as benchmarks. Max-pooling, average pooling, and stride convolution are covered in those models. We also compare F-pooling with AA-pooling Zhang (2019) . For a model trained on sub-ImageNet, its first down sampling operation is kept to reduce computational costs. This setting is also used in Zhang (2019) . The results on CIFAR-100 are averaged by 3 runs.

We study not only accuracy but also consistency. We follow the metric of consistency used in Zhang (2019): we check how often the network outputs the same classification, given the same image with two different shifts.

E h0,h1,w0,w1 1 {arg max p(Shif t h0,w0 ) = arg max p(Shif t h1,w1 )}

We only evaluate diagonal shifts in this paper. For CIFAR-100, the number of shifted pixels ranges from -7 to 7. For sub-ImageNet, it ranges from -63 to 63.

Zero padding: we keep the padding method of convolutions as zero padding. We measure accuracy and consistency of different pooling methods. Based on those results, we conclude that

• F-pooling is significantly and consistently better than original pooling methods in terms of accuracy and shift consistency. • F-pooling is comparable with AA-pooling in term of accuracy and shift consistency with zero padding. With circular padding, F-pooling is significantly better than AA-pooling. • Shift consistency of F-pooling is improved more when replacing zero padding with circular padding, especially on CIFAR-100. Recently, Zhang (2019) shows that CNNs will have better shift-equivalent and anti-aliasing properties when low-pass filtering is integrated correctly. However, their method is not strict shiftequivalent and anti-aliasing in theory. Williams & Li (2018) propose Wavelet-pooling. They decompose a signal via wavelet transform and retain the lowest sub-band. This process is repeated until the designed down sampling factor is met. The spirit of Wavelet-pooling is similar to F-pooling. However, they claim that Wavelet-pooling is better than others because it is a global transform instead of a local transform. Trabelsi et al. (2018) propose general deep complex CNNs. They adjust batch normalization and non-linear activations for complex CNNs. F-pooling can used in their method without worry about the imaginary part. F-pooling utilizes shift theorem of DFT and achieves shift-equivalent. This is a new success for the combination of complex transformations and neural networks.

5. CONCLUSIONS:

In this paper, we have proposed frequency pooling (F-pooling) for CNNs. F-pooling reduces the dimension of signals in frequency domain. We have defined shift-equivalent of functions which contain down sampling operations by introducing an up sampling operation. Under this definition, we have proved that F-pooling is the optimal anti-aliasing down sampling operation and F-pooling is shift-equivalent. We have integrated F-pooling into modern CNNs. We have verified that Fpooling remarkably increases accuracy and robustness w.r.t shifts of modern CNNs. We believe that F-pooling plays a more important role in applications where shift-equivalent is more serious, such as object detection and semantic segmentation. 

:

https://www.cs.toronto.edu/ kriz/cifar.html

https://github.com/pytorch/examples/tree/master/imagenet

Figures and Tables:

Figure 1: Simple tests of shift-equivalent. Blue lines are obtained by pooling, up sampling, and shift in order. Orange lines are obtained by shift, pooling, and up sampling in order. All Pooling operations down sample original signals by a factor 4. The shift operation shifts original signals by 2 pixels. The up sampling operation is set to equation 8. Best viewed on screen.

Figure 2: An illustration of the forward process of F-pooling. We assume the lowest frequencies are at center.

Figure3: An illustration of how to replace max-pooling, average pooling, and stride convolution with F-pooling. We follow the settings inZhang (2019).

Figure4: With odd padding, F-pooling is strict shift-equivalent. Without it, F-pooling is not strict shift-equivalent. But the error is acceptable. Best viewed on screen.

Accuracy and consistency on sub-ImageNet

Table content: <table><tr><td colspan="2">accuracy/consistency densenet-121</td><td>resnet-50</td><td>mobilenet-v2</td></tr><tr><td>Origin</td><td colspan="3">77.47/82.74 74.44/80.17 73.01/78.08</td></tr><tr><td>AA-pooling</td><td colspan="3">77.14/83.09 76.12/82.26 74.03/79.12</td></tr><tr><td>F-pooling</td><td colspan="3">77.56/84.10 76.05/82.63 74.72/80.34</td></tr><tr><td colspan="4">Due to its symmetry, it only contains real part when transforms back into time domain. If the</td></tr><tr><td>resolution is µ + 2</td><td/><td/></tr><tr><td/><td colspan="2">x-µ , . . . , x-1 , x0 , x1 . . . , xµ , xµ+1</td></tr></table>

Accuracy and consistency on CIFAR-100 : we test classification of low-resolution 32 × 32 color images. This dataset contains 50k images for training and 10k images for test. Images are classified into one of 100 categories.sub-ImageNet: we then test classification of high-resolution color images. Original ImageNet datasetRussakovsky et al. (2015) contains 1.28M training and 50k validation images, classified into one of 1,000 categories. To reduce the computational resources for training, we use a subset of ImageNet (sub-ImageNet) in this work. We randomly select 200 categories from 1,000 categories. For each category, we randomly select 500 images. Thus, we collect 100k images for training. And we select corresponding 10k validation images. All models are trained on a single GPU with batchsize 64 and 100 epochs. We decrease the initial learning rate by a factor 10 every 40 epochs. For other hyper-parameters, we follow PyTorch's official training script. 2

Table content: <table><tr><td colspan="3">accuracy/consistency shift argument densenet-41</td><td>resnet-18</td><td>resnet-34</td></tr><tr><td>Origin</td><td>with</td><td colspan="2">74.90/71.55 75.52/70.21 76.56/72.21</td></tr><tr><td>AA-pooling</td><td>with</td><td colspan="2">75.55/71.71 77.43/73.08 76.95/73.38</td></tr><tr><td>F-pooling</td><td>with</td><td colspan="2">75.45/71.91 77.36/73.43 77.68/73.54</td></tr><tr><td>Origin</td><td>without</td><td colspan="2">71.81/57.27 67.60/45.00 68.11/46.56</td></tr><tr><td>AA-pooling</td><td>without</td><td colspan="2">73.81/60.29 74.49/58.24 74.00/57.72</td></tr><tr><td>F-pooling</td><td>without</td><td colspan="2">73.19/60.51 73.93/57.48 73.51/56.54</td></tr><tr><td>3.2 IMAGE CLASSIFICATION</td><td/><td/></tr><tr><td>CIFAR-100 1</td><td/><td/></tr></table>

Results on sub-ImageNet is shown in table 1 and results on CIFAR-100 are shown in table 2 respectively. Circular padding: as mentioned earlier, circular padding may improve the consistency of Fpooling. Thus we replace the zero padding of convolutions with circular padding. To further evaluate the robustness w.r.t shifts, we use standard deviation (std) of probabilities of the correct label. Std and consistency on sub-ImageNet an CIFAR-100 are shown in table 3 and table 4 respectively.

Table content: <table/>

Std and consistency on sub-ImageNet with circular padding.

Table content: <table><tr><td colspan="2">std/consistency densenet-121</td><td>resnet-50</td><td>mobilenet-v2</td></tr><tr><td>Origin</td><td colspan="3">0.043/90.44 0.051/87.97 0.051/87.71</td></tr><tr><td>AA-pooling</td><td colspan="3">0.055/88.21 0.056/87.77 0.059/86.19</td></tr><tr><td>F-pooling</td><td colspan="3">0.035/91.88 0.037/91.01 0.041/90.32</td></tr></table>

Std and consistency on CIFAR-100 with circular padding without shift argument. which reduces the resolution of feature maps is an important part of CNNs. Early CNNsLecun et al. (1989) use average pooling which is good for anti-aliasing. Later empirical evidence suggests max-poolingScherer et al. (2010) and strided-convolutionsLong et al. (2015) provide better performance. However, small shifts in the input can drastically change the output when stacking multiple max-pooling or strided-convolutions Engstrom et al.

Table content: <table><tr><td colspan="2">std/consistency densenet-41</td><td>resnet-18</td><td>resnet-34</td></tr><tr><td>Origin</td><td colspan="3">0.111/77.62 0.176/59.93 0.183/58.94</td></tr><tr><td>AA-pooling</td><td colspan="3">0.166/66.97 0.164/65.67 0.180/60.53</td></tr><tr><td>F-pooling</td><td colspan="3">0.088/82.99 0.073/84.34 0.088/80.90</td></tr><tr><td>4 RELATED WORKS</td><td/><td/></tr></table>

They neither focus on shift-equivalent nor prove Wavelet-pooling is shift-equivalent or not. F-pooling is a complex transformation because DFT and IDFT are involved in it. Many works integrate complex transformations or complex values into neural networks. Amin & Murase (2009) study single-layered complex-valued neural networks for real-valued classification problems. Complex numbers represented in polar coordinates are more suitable to deal with rotations. Based on this,Cohen et al. (2018) propose spherical CNNs which are rotation-equivalent to deal with signals projected from spherical surface.

Table content: <table/>

Peer review (iclr2020):
This paper researches the pooling operation, which is an important component in convolutional neural networks (CNN) for image classification. Taking the perspective from signal processing, this paper proposes a pooling operation called frequency pooling (F-pooling). The key motivation is to make the pooling operation shift-equivalent and anti-aliasing. This paper gives an improved definition on shift-equivalent functions and shows that the proposed F-pooling is optimal in the sense of reconstructing the orignal signal. The F-pooling is then implemented with matrix multiplications and tested with recent convolutional neural networks for image classifiation on CIFAR-100 and a subset of ImageNet dataset. It is interesting to take the perspective from signal processing to give pooling operation in CNN a formal treatment. As indicated in the recent literature, enforcing shift-invariance does help to improve the performance of a CNN on classification accuracy and the robustness with respect to image shift. At the same time, this work can be further enhanced at the following aspects: 1. This work can make it clearer in principle how anti-aliasing contributes to improving the classification performance and robustness. This will help to make this paper more self-contained. 2. When showing the optimality of F-pooling in Section 2.3, the criterion is to reconstruct the original signal x. Considering that the ultimate goal is classification, the information to be maximally preserved through each operation through the layers shall be the information that relates to the class label y. In light of this, some justification and explanation shall be provided for using this criterion for optimality. 3. The experimental study is weak. Experiments could be conducted on more benchmark datasets with more CNN architectures to convincingly show the effectiveness of the proposed F-pooling. Also, from the three Tables in the experimental part, the improvement of F-pooling over AA-pooling (developed by the main reference of this work) does not seem to be significant or consistent. For example, in Table 2, the F-pooling only wins at either accuracy (marginally) or consistency, but not both. In Table 3, the F-pooling consistently shows inferior classification performance, although obtaining slightly higher consistency. This makes the advantage of F-pooling over the existing AA-pooling unclear.