How do we predict what is in an image using unsupervised deep neural networks? From my understanding of unsupervised DNNs for image classification:


The input layer is a 4,096 dimension vector (for 64 x 64 images)
The hidden layers represent much lower "features" as identified by the back propagation
As the model is generative, the output layer is also a 64 x 64 image


Therefore, how do can we make a prediction that a new unseen image contains a specific image class (e.g. cat) if we lack labelled data?
After a lot of reading, I think I now understand. We really need to build 2 models.

Model 1


Unsupervised
Lots of unlabelled images
Used to 'learn features' (i.e. better that we have done manually through years of research e.g. edge detection, colour features etc).


Model 2


Supervised
Few labelled images
Use model 1 as the 'feature extractor'. i.e. pass a training image through model 1 and use the output layer as the feature vector.
Use the same approach to test images e.g. model 1 to extract features, then use the second model to output label predictions