Implement the RBM layer to learn binary codes for large scale image retrieval

Using the Caffe reference ImageNet model, the features extracted for the training images of the ILSVRC 2013 image classification task are more than 25GB stored in leveldb. It is evident that the occupied space must be reduced for efficient and scalable large scale image retrieval. In recent years, Restricted 

Boltzmann Machine (RBM) has been successfully used to embed real-valued features into binary codes for computation and storage efficient document retrieval [1] and image retrieval [2][3][4]. Deep Belief Networks (DBN) consisted of stacked Multilayer RBM were able to map the floating point features of similar images or texts into neighborhoods in the Hamming space. Thus the dimensions were reduced at least 32 times. The final binary features of the ILSVRC 2013 training images would be less than 1GB and fit comfortably into a single CPU memory card or GPU card.

This work is in progress.

[1] Salakhutdinov R. R, and Hinton, G. E. Semantic Hashing. Proceedings of the SIGIR Workshop on Information Retrieval and Applications of Graphical Models, Amsterdam. 2007.
[2] A. Torralba, R. Fergus, and Y. Weiss. Small codes and large  image databases for recognition. In Proc. of CVPR, pages  1–8, 2008.
[3] Ranzato, M., Krizhevsky, A. and Hinton, G. E. Factored 3-way restricted Boltzmann machines for modeling natural images. Proc. Thirteenth International Conference on Artificial Intelligence and Statistics. 2010.
[4] Krizhevsky, A. and Hinton, G.E. Using Very Deep Autoencoders for Content-Based Image Retrieval. European Symposium on Artificial Neural Networks ESANN-2011, Bruges, Belgium. 2011.