0
$\begingroup$

I am trying to figure out as to how to stack a convolutional autoencoder (CAE)?

Consider a convolutional autoencoder (CAE) (using MNIST data, 28x28 input dimensions):

28x28(input) -- convolve with 5 filters, each filter 5x5 -->  5 @ 28 x 28 maps -- maxPooling --> 5 @ 14 x 14 (Hidden layer, H) -- reverse-maxPool --> 5 @ 28 x 28 -- convolve with 5 filters, each filter 5x5 --> 28x28 (output)

I have trained such a CAE, I ran training for over 1000 iterations and error appears to reducing as the iterations progress. At the end, I checked if input == output and it was.

Now,

  1. If I have to stack the CAE, I need to feed the "hidden layer" maps of current stack as "input" to next stack. Is my understanding right?
  2. If (1) is true. My next stack expects one map as input however there are 5-maps in my current stack's hidden layer. How do I collapse/calculate one map from 5-hidden maps ?
  3. Right now, I am doing this, I = max_across_all_maps(hidde layer maps) Something like a "high pass filter" to collapse all hidden-layer maps to one map. Is that a valid thing to do?
$\endgroup$
2
  • $\begingroup$ How did you get your feature maps to be of dimention 28x28 shouldnt it be like 24x24 ? $\endgroup$
    – user90586
    Sep 28, 2015 at 7:54
  • $\begingroup$ @vaibhav input is zero-padded, so 28x28 -> zero padding -> 32x32 $\endgroup$ Sep 28, 2015 at 11:57

1 Answer 1

0
$\begingroup$

After digging for a few weeks, I think I found answers to my questions. I am posting it here for completeness.

  1. yes
  2. consider, input I=3 channels and you have F=5 filters, then in the hidden layer you have activations A = 5 maps ( 5F X 3I -> for each filter sum filter-responses over all input channels). The activations (A) are the maps that needs to be passed onto next stack as inputs
  3. that is wrong, the traditional stacked-autoencoders don't do that.
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.