A Deep Convolutional Auto-Encoder with Pooling - Unpooling Layers in
  Caffe
  This paper presents the development of several models of a deep convolutional
auto-encoder in the Caffe deep learning framework and their experimental
evaluation on the example of MNIST dataset. We have created five models of a
convolutional auto-encoder which differ architecturally by the presence or
absence of pooling and unpooling layers in the auto-encoder's encoder and
decoder parts. Our results show that the developed models provide very good
results in dimensionality reduction and unsupervised clustering tasks, and
small classification errors when we used the learned internal code as an input
of a supervised linear classifier and multi-layer perceptron. The best results
were provided by a model where the encoder part contains convolutional and
pooling layers, followed by an analogous decoder part with deconvolution and
unpooling layers without the use of switch variables in the decoder part. The
paper also discusses practical details of the creation of a deep convolutional
auto-encoder in the very popular Caffe deep learning framework. We believe that
our approach and results presented in this paper could help other researchers
to build efficient deep neural network architectures in the future.
