So I am training a Stacked Denoising AutoEncoder with 3 layers per AutoEncoder. My goal is image classification through the use of stacked denoising autoencoders.
The method that I use to create the the image segments:
- Segment entire image into 8x8 blocks
- Resize the blocks into 1x64
- Randomly select blocks (eg: mod 7 or something) and insert into TrainingMatrix
Steps to train autoencoder:
- TrainingMatrix dimensions: [10000x64] (i.e. 10000 training samples of dimension 64)
- 3 Layer System: [64 -> 32 -> 64]
- Corrupt each training sample with gaussian noise
- Train a neural net with Input: [corrupted input], Output: [uncorrupted data] & then BACKPROP
For the next DAE do I use the weights from the last layer (i.e. layer 2->3) to train the next layer? Or would I have to run another sample through the network and then use that to train the next layer?If we use the weights from layer 2->3 wouldn't we only have one sample set to train the next autoencoder? If this is the case then would the weights just be the randomly generated initial values of the Weighting matrix?
Final Steps after stacked DAE layers:
- Run final DAE layer through a supervised layer such as an SVM
Sorry if this sounds like a trivial question.