Venue: ICLR 2017 conference

Reviews:

final_score: rating: null
review_content: - The explanation of how IHT is applied in Fig 4c-d, since it only inverts a single layer. From what I understand, IHT is applied to invert a single layer (conv5_1 to get pool4 activations), and then a trained decoder network is applied on pool4. Is this true ? If so, what happens if you apply IHT recursively on all layers ? Does this work ?

- The analysis seems to be about the invertibility of a single convolutional layer (+ non-linearity). In that sense, it's not very different from the standard sparse recovery setup.

But the surprising phenomenon is that deep neural "networks" are invertible, which consist of a cascade of such layers. To understand this invertibility, I feel one has to analyze whether the probability of failure blows up as you repeat the argument across multiple layers. Could you comment on how your analysis might extend to that ?
review_title: single vs multiple layers

final_score: rating: 5: Marginally below acceptance threshold
review_content: 


Summary of the paper

The paper studies the invertiblity of convolutional neural network in the random model. A reconstruction algorithm similar to IHT is proposed for layer-wise inversion of the network.
 

Clarity:

- The paper is confusing wrt to standard notations in deep learning.

Comments:

The paper makes two simplifications in the analysis of a CNN, that makes it map to a model based compressive sensing framework:

1-  The non linearity (RELU) is dropped. This is a big simplification, for random gaussian weights for instance we know by JL that we can preserve L_2 distance, when RELU is applied the metric changes (see for instance the kernel for n=1 in  http://cseweb.ucsd.edu/~saul/papers/nips09_kernel.pdf).

2- The pooling operation is modified to be shrinkage operator, that keeps the maximum value in a block  and sets to the zero other values, hence the dimensionality of the pooled representation is the same of the un-pooled representations. Note that in that cases the locations of where the maximum happens is known. This is not the case in the ’standard’ max pooling definition. IHT does not map to a forward of a CNN as described in the paper. (see next point)

3- It maybe that the notations  used in the paper are implying some confusions wrt to the standard notations in deep learning. 

  - Let z be the standard  pooled representation of dimension ‘k’. 
  - Define U as the unpooling  operation U(z, locations of maximum) :=  M(Wx,k).
Hence your model of inversion is assuming the knowledge of the ’standard’ pooling representation and the switches (max locations). Referring to M as a pooling operation is misleading and confusing, it is the ‘standard’ unpooling operation.
 - Under this notations W^{\top} U(z, locations of maximum) is a sensible reconstruction algorithm , with the simplification of ignoring the RELU.
- Under these notations,  IHT is similar to a backward of the encoding neural network not  a forward. It is known if you take the derivative with respect to the input in a neural network, you get the transpose convolution also known as ‘deconvolution’ (which is not a correct naming) , hence this IHT iteration is nothing else then the well known transposed convolution.

4- I suggest the authors to rewrite the paper taking into account standard definitions and notation in deep learning as discussed in point 3, and to clearly state that the recovery is done under the knowledge of the switches. 

=====
After reading the authors rebuttal and the revisions , the reviewer maintains his main concerns with the paper. Many improvements are still needed for the paper to be ready to be published in ICLR, at the notation , presentation and the theory levels. 
===== 

review_title: Inconsistent notations with DL, and room for improvements in the presentation and the theory  

final_score: rating: null
review_content: the paper presents theoretical results on inverting CNN in a random model .
 
There are several confusing notations in the paper, it is not clear at which level in the CNN the  invertibility is considered. Seems no pooling or non linearity is considered which is in fine a linear convolution invertibility in the sparse model.

- Section 2.2 , is not clear about the model, the activation h is a linear model, followed by RELU , then by max pooling. The final activation has therefore a dimension K. 
Seems that invertibility is tackled only for the linear model (of dimension nK), no non linear activation considered and no pooling throughout the paper. Which is deceiving, since the purpose of the paper is the invertibility of a non linear model .

-- In Section 3, ReLU is turned to a linear model with some motivation from concatenated RELU. why not consider concatenated RELU in section 2.2 and do the analysis based on that. 

-- what about the invertibility from the pooling operation as in showed in Bruna et al (2014)?

-- What is the motivation behind using M^2_{k} versus M_{k}?

review_title: notations 

final_score: rating: 7: Good paper, accept
review_content: 
The authors propose a theoretical framework to analyze the recoverability of sparse activations in intermediate layers of deep networks, using theoretical tools from compressed sensing. They relate the computations that are performed by a CNN and a particular recovery algorithm (Iterative Hard Thresholding, IHT). They present proofs of necessary conditions for recoverability to hold, and also show detailed empirical evidence of how they hold in practice.

This is a well-written paper that presents a new angle on why the current CNN architectures work so well. The authors give a brief but sufficient review of the fundamentals of compressed sensing, present their main result relating feed-forward networks and IHT (a surprising result), and progress naturally to a detailed experimental section. The introductory analysis at the beginning of Section 3, in particular, delivers the gist of why the method should work with very approachable and simple math, which is not common in theoretical papers. The increasing complexity of the experiments, done in small steps, shows a nice progression from artificial distributions to a realistic experiment.

A few aspects should be improved. First of all, although the treatment of ReLU non-linearities is sufficient, it is assumed with little discussion that max-pooling non-linearities shouldn't present a problem as well. A discussion of how this is inverted (e.g., with pooling switches) is needed.

The relationship between feed-forward nets and Algorithm 1 assumes tied weights. It might be worthwhile to mention that the result is stronger for the case of RNNs, where this is the case by design.

Although it might be obvious, it might help some readers to briefly note that the reconstruction algorithm is meant to be applied to each layer sequentially, basing the activations of each layer on the one above it (in back-propagation order).

Finally, the filter coherence measure must be defined either mathematically or with a proper reference.


review_title: Review

final_score: rating: 4: Ok but not good enough - rejection
review_content: The paper proposes to provide a theoretical explanation for why deep convolutional neural networks are invertible (at-least, when going back from certain intermediate layers to the image itself). It does so by considering the invertibility of a single layer, assuming the convolutional filters essentially correspond to incoherent measurements satisfying RIP.

In my opinion, while this is an interesting direction of research, the paper is not ready for publication. I feel the treatment does not go sufficiently towards explaining the phenomenon in deep neural networks. Even after reading the response from the authors, I feel the results are only a minor variation of the standard results from compressive sensing for sparse reconstruction with incoherent measurements.

A deep neural network is fundamentally different from a single layer---it is the "deep" part that makes the forward task work. As the authors note, there is significant deterioration when IHT is applied recursively----therefore, at best the theory explains the partial invertibility of a single layer. That a single layer is approximately invertible isn't surprising, that a cascade of layers *is*.

For any theoretical analysis of this phenomenon to be useful, I believe it must go beyond analyzing a single compressive measurement-type layer, and try to explain how much of the same theory holds for a cascade. I say this because it's entirely possible that the sparse recovery theory breaks down beyond a single layer, and invertibility ends up being a property caused by correlations between the weights of different layers. In other words, there is no way to tell from the current results for individual layers whether they are in fact a step towards explaining the invertibility of whole networks.

review_title: Official Review

Meta-review: While the reviewers found some interest in this work, I'm afraid I have to agree with the critique that the model studied is too simple that its relevance for deep learning is questionable.
Decision: Reject